MiniMax H3 Image
Генерация или редактирование изображения по тексту и не более чем 16 референсам в 1K, 2K или 4K либо в точном размере в пикселях; оплата по токенам, которые потратил каждый рендер.
- Асинхронная обработка: запрос создания быстро возвращает ID задачи. Изображение будет доступно после её успешного завершения.
- Одна задача создаёт одно изображение. Для нескольких изображений создайте несколько задач.
- Генерация по тексту либо редактирование и объединение до 16 референсных изображений по общедоступным HTTPS-ссылкам.
- Выберите кадр через
resolutionиaspect_ratioлибо одним точнымsize, например2720x1536. Вместе — нельзя. По умолчаниюaspect_ratioравенauto: кадр выбирает модель по промпту и изображениям, если они есть. - Оплата по токенам: ввод текста (промпт, включая улучшение промпта MiniMax), ввод референсов и вывод изображения — каждый по своей цене за 1 млн токенов. Цены за изображение ниже — оценки. По умолчанию
resolutionравен4K;1Kи2Kтратят одинаковое число выходных токенов и стоят одинаково. - Результат — файл
png(по умолчанию),jpegилиwebp, формат задаётoutput_format. Неудавшаяся задача ничего не стоит.
MiniMax H3 Image — модель изображений MiniMax; оплата по токенам по прайсу MiniMax со скидкой 30%. Для линии Highspeed, которая принимает тот же запрос, но берёт больше за токены ввода и вывода изображений, используйте minimax-h3-image-highspeed.
Открывает модель в API Explorer. Введите свой API-ключ BeatAPI, чтобы создать задачу. Это настоящий запрос: его стоимость спишется с вашего баланса.
Идентификаторы моделей
Обе модели MiniMax H3 Image используют этот эндпоинт и принимают одни и те же поля. Значения ниже взяты прямо из контракта шлюза.
Адрес API и авторизация
POST https://api.beatapi.io/v1/images/tasks
Authorization
string
Обязательно
Передавайте API-ключ BeatAPI как Bearer <BEATAPI_API_KEY>. Создать ключ можно в панели управления. Храните ключи на сервере, а не в коде браузерного или мобильного приложения.
Передавайте тело запроса в JSON с заголовком Content-Type: application/json. Idempotency-Key необязателен. Для каждого логического запроса используйте уникальное значение длиной не более 255 символов и повторно используйте его только для отправки точно такого же тела. В течение 24 часов повтор с тем же ключом и телом возвращает первый ответ с заголовком Idempotent-Replayed: true. Тот же ключ с другим телом возвращает 409 idempotency_conflict. Ответы, отличные от 2xx, не сохраняются, поэтому повтор после 400 или 402 выполняется заново.
Как выполняется запрос
Создайте задачу
Отправьте перечисленные ниже параметры методом POST на указанный адрес. Ответ 201 означает, что задача принята, а её стоимость зарезервирована на балансе. Обработка идёт в фоновом режиме. Сохраните data.id.
Дождитесь завершения
Вызывайте GET /v1/tasks/{task_id}, выдерживая между вызовами data.poll_after_seconds (5 с для изображений, 8 с для видео), пока status не станет succeeded или failed. Можно также настроить вебхук для событий task.succeeded и task.failed. Сохраняйте опрос как резервный способ проверки: задача, остановленная по тайм-ауту обработки, не отправляет событие.
Сохраните результат
При succeeded скачайте файлы по всем ссылкам data.output.media[].url и сохраните нужные результаты у себя. BeatAPI не гарантирует срок доступности этих ссылок. При failed прочитайте data.error_code и data.error_message: зарезервированная сумма возвращена на баланс, а data.retryable показывает, может ли повтор того же запроса завершиться успешно.
Режимы ввода
Параметры запроса
model
string
Обязательно
Модель, которую нужно вызвать.
Значение: minimax-h3-image
Если значение неверно
- Поле отсутствует:
"model" is required - Неизвестный ID модели:
"model" minimax-image-9 is not catalogued - На этот адрес API отправлена видеомодель:
"model" seedance-2.5 is served by POST /v1/videos/tasks, not this endpoint
prompt
string
Обязательно
Что нарисовать либо изменить в референсных изображениях. Лучше писать обычным языком: объект, стиль, освещение, композиция и текст, который должен появиться на изображении.
Длина: 1–5000 символов
- Длина измеряется в символах. Иероглиф CJK считается одним символом.
- При передаче
imagesукажите назначение каждого изображения, например «Используй первое изображение для товара, а второе — для фона». - Улучшение промпта MiniMax включено в каждом заказе. Оно добавляет к вводу текстовые токены, которые оплачиваются по цене ввода текста.
Если значение неверно
- Поле отсутствует:
"prompt" is required - Пустое значение или превышена допустимая длина:
"prompt" has an unsupported length - Значение не является строкой:
"prompt" must be a string
images
string[]
Необязательно
Референсные изображения для редактирования или объединения. Это поле переключает запрос с генерации по тексту на редактирование изображений.
Число элементов: 1–16
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Каждая ссылка должна возвращать сам файл PNG, JPEG или WebP по общедоступному HTTPS, не более 50 MB. До создания задачи шлюз скачивает первые байты по каждой ссылке и определяет тип по ним, а не имени файла или
Content-Type. - Ссылки на веб-страницы, страницы входа, просроченные подписанные ссылки или серверы с защитой от прямого скачивания отклоняются, поскольку не возвращают изображение.
- Индексы в сообщениях об ошибках начинаются с 0:
images[0]— первая ссылка. - Референсы оплачиваются как ввод изображений по отдельной цене за 1 млн токенов (см. раздел цен).
Если значение неверно
- Превышено максимальное число элементов:
"images" accepts at most 16 items - Пустой массив:
"images" requires at least 1 item - Ссылка не начинается с https://:
"images[0]" must be a public HTTPS URL - Закрытый или небезопасный адрес:
"images[0]" must be a publicly reachable HTTPS image URL - Сервер возвращает ошибку 4xx:
"images[0]" could not be downloaded: the URL returned HTTP 404 - Ссылка возвращает не PNG, JPEG или WebP:
"images[0]" is not a PNG, JPEG or WebP image: the URL returned text/html - Размер больше 50 MB:
"images[2]" is 63.4 MB; images must be 50 MB or smaller
Пример
aspect_ratio
string
НеобязательноПо умолчанию: auto
Соотношение ширины и высоты изображения. Передайте вместе с resolution либо не задавайте оба поля и используйте size.
Допустимые значения: auto, 1:1, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5, 16:9, 9:16, 2:1, 1:2, 3:1, 1:3, 21:9, 9:21
По умолчанию: auto
- По умолчанию
auto: кадр выбирает модель по промпту и по референсам, если они есть. Если форма важна, укажите соотношение сторон. - Поддерживаются панорамные пропорции
2:1,1:2,3:1,1:3,21:9,9:21. Максимальное отношение длинной стороны к короткой — 3:1. - Нельзя сочетать с
size.
Если значение неверно
- Значение отсутствует в списке допустимых:
"aspect_ratio" must be one of: [auto 1:1 3:2 2:3 4:3 3:4 5:4 4:5 16:9 9:16 2:1 1:2 3:1 1:3 21:9 9:21] - Передано вместе с
size:"size" already fixes the output; do not send "aspect_ratio" with it
resolution
string
НеобязательноПо умолчанию: 4K
Класс размера изображения: 1K, 2K или 4K. Чем выше класс, тем больше изображение; точный размер в пикселях зависит от aspect_ratio и определяется моделью.
Допустимые значения: 1K, 2K, 4K
По умолчанию: 4K
- Если поле не указано, используется
4K. 1Kи2Kтратят одинаковое число выходных токенов, поэтому стоят одинаково.4Kтратит примерно вчетверо больше и стоит дороже (см. раздел цен).- Используйте заглавную K:
2kотклоняется. - Для размерного класса точные размеры в пикселях не гарантируются. Если нужен точный кадр, передайте
size. - Нельзя вместе с
size, у которого свой размер.
Если значение неверно
- Значение отсутствует в списке допустимых:
"resolution" must be one of: [1K 2K 4K] - Передано вместе с
size:"size" already fixes the output; do not send "resolution" with it
size
string
Необязательно
Точный кадр на выходе в виде WIDTHxHEIGHT в пикселях, например 2720x1536. Заменяет resolution и aspect_ratio.
- Всего должно быть от 655 360 до 20 000 000 пикселей, а длинная сторона — не более чем втрое длиннее короткой. Кратность сторон не требуется.
- Кадр рендерится ровно таким, как запрошен, без округления.
- Разделитель —
x,Xили×; пробелы вокруг него игнорируются. - Оплата идёт по токенам, потраченным рендером: чем больше кадр, тем больше выходных токенов и выше цена (см. раздел цен).
- Не передавайте вместе с ним
resolutionилиaspect_ratio, даже со значениями по умолчанию.
Если значение неверно
- Значение не является строкой:
"size" must be a string - Не в формате WIDTHxHEIGHT: одно число,
autoили разделение запятой:"size" must be WIDTHxHEIGHT in pixels, for example 2720x1536 - Слишком мало или слишком много пикселей:
"size" must have between 655,360 and 20,000,000 pixels; 512x512 has 262,144 - Отношение ширины к высоте или высоты к ширине превышает 3:1:
"size" must not be wider or taller than 3:1 - Передано вместе с
resolution:"size" already fixes the output; do not send "resolution" with it - Передано вместе с
aspect_ratio:"size" already fixes the output; do not send "aspect_ratio" with it
Пример
output_format
string
НеобязательноПо умолчанию: png
Тип файла изображения: png, jpeg или webp.
Допустимые значения: png, jpeg, webp
По умолчанию: png
- По умолчанию
png. - Формат не влияет на цену.
- Тип сохранённого файла смотрите в
mime_typeна выходе.
Если значение неверно
- Значение отсутствует в списке допустимых:
"output_format" must be one of: [png jpeg webp]
Пример
Перед созданием задачи шлюз также проверяет следующие сочетания параметров:
sizeзадаётся какШxВи заменяетresolutionиaspect_ratio: всего от 655 360 до 20 000 000 пикселей, не шире и не выше 3:1; кадр рендерится ровно как задан и не округляется.- Оплата по токенам по указанным ценам за токены, которые потратил каждый рендер (ввод текста с улучшением промпта, референсы, вывод изображения); указанные цены за изображение — оценки;
1Kи2Kтратят одинаковое число выходных токенов. aspect_ratio: auto— кадр выбирает модель по промпту и изображениям, если они есть.
Ограничения входных материалов
До создания задачи шлюз проверяет каждый входной материал. Если ограничение нарушено, возвращается 400 bad_request с указанием материала. Средства не списываются.
- Референсные изображения: PNG, JPEG или WebP с определением формата по содержимому; до 50 MB каждый (десятичные мегабайты; проверяется, если сервер сообщает размер), от 1 до 16 ссылок. GIF, HEIC и SVG отклоняются.
- Для самих референсных изображений ограничения числа пикселей и соотношения сторон не проверяются.
- Если сервер не ответил вовремя, ссылка не отклоняется при создании. Шлюз скачивает её повторно при запуске обработки. Если скачать по-прежнему нельзя, задача завершается ошибкой с возвратом средств.
- Файл находится на вашем устройстве? Загрузите его через
POST /v1/filesи передайте полученныйdata.url.
Размер кадра: resolution и aspect_ratio либо size
Задать размер и ширину изображения можно двумя способами, они взаимоисключающие:
- Класс и соотношение. Передайте
resolution(1K,2Kили4K) и, если нужна форма,aspect_ratio. Если не указать ни то, ни другое, будут4Kиauto: кадр выбирает модель. - Точный размер. Передайте только
size, например2720x1536: от 655 360 до 20 000 000 пикселей, не шире и не выше 3:1, рендерится ровно как задано.
Если отправить size вместе с resolution или aspect_ratio, запрос будет отклонён с ошибкой "size" already fixes the output; do not send "resolution" with it (или "aspect_ratio"). Проверка срабатывает, даже если другое поле равно значению по умолчанию.
На чём основана оценка
Цены за изображение в таблице ниже — оценки. Каждая рассчитана на 3 000 текстовых токенов (промпт и улучшение промпта MiniMax) и выходные токены класса, без референсов. Итоговая плата рассчитывается по токенам, которые рендер реально потратил.
Параметры, которые модель не принимает
Эндпоинт изображений знает несколько полей, которые используют другие модели изображений. Здесь их отправка отклоняется, а не игнорируется, поэтому вы не платите за настройку, которая ни на что не повлияла:
background,quality,seed,enhance_prompt→field "background" is not supported by model minimax-h3-image(с отправленным полем и вызванной моделью).- Любое другое неизвестное поле, например
nилиmoderation→unknown field: n. Поляnнет: одна задача создаёт одно изображение.
Примеры запросов
Изображение по тексту
Горизонтальное изображение в 2K по промпту, с указанием класса и пропорций.
Пусть кадр выберет модель
Только промпт: resolution равен 4K, а aspect_ratio равен auto, поэтому кадр выбирает модель.
Редактирование одного изображения
Меняем фон и сохраняем товар.
Объединение нескольких изображений
Укажите каждый референс в промпте по его порядку.
Точный размер
Кадр 2720x1536 в формате WebP. size передаётся один: без resolution и без aspect_ratio.
Ответы
Создание задачи (201)
Объект задачи. Поле output равно null, пока задача не завершится успешно. Поля с пометкой «во время выполнения» исчезают после завершения задачи.
Успешно завершённая задача
GET /v1/tasks/{task_id} возвращает HTTP 200 со status: "succeeded" и результатом в data.output.
Поля результата
Задача, завершившаяся ошибкой
Если задача завершилась ошибкой, GET /v1/tasks/{task_id} всё равно возвращает HTTP 200: сведения об ошибке находятся в теле ответа. Зарезервированная сумма возвращается полностью, поэтому списания нет.
Полный пример
Создайте задачу, дождитесь её завершения с интервалом опроса, указанным сервером, и выведите ссылки на результаты. Задайте BEATAPI_API_KEY в переменной окружения и установите requests.
Оплата
- Оплата по токенам по ценам за 1 млн токенов из таблицы ниже: ввод текста (промпт, включая улучшение промпта MiniMax), ввод изображений (референсы в
images) и вывод изображения. Токены считает модель; число токенов меняютresolutionилиsize, промпт и референсы. - Цены за изображение — оценки для одного рендера каждого
resolutionбез референсов при 3 000 текстовых токенов и выходных токенах из таблицы выше.1Kи2Kтратят одинаковое число выходных токенов, поэтому оценка у них одна. - При создании задачи оценка для её класса резервируется с вашего баланса и с квоты ключа, если она есть. При успешном завершении списание уточняется по токенам, которые рендер реально потратил, поэтому итоговый
data.usageможет отличаться от резерва. Запрос, отклонённый до создания задачи, ничего не стоит. - Неудавшаяся задача возвращается полностью.
Текущие базовые цены совпадают с указанными на странице цен. Если для аккаунта согласована скидка, стоимость будет ниже. Фактически списанная сумма всегда указана в data.usage задачи.
Частые ошибки
Краткий справочник HTTP-ошибок
Ошибки до создания задачи возвращаются с HTTP-статусом, отличным от 2xx, без списания средств. Обрабатывайте error.code или error.retryable; причина указана в message. Полный список и правила повторов приведены в разделе ошибок.
Аутентификация
Передавайте API-ключ в виде Authorization: Bearer <BEATAPI_API_KEY>.
Заголовки
Передавайте тело запроса в JSON с заголовком Content-Type: application/json. Idempotency-Key необязателен. Для каждого логического запроса используйте уникальное значение длиной не более 255 символов и повторно используйте его только для отправки точно такого же тела. В течение 24 часов повтор с тем же ключом и телом возвращает первый ответ с заголовком Idempotent-Replayed: true. Тот же ключ с другим телом возвращает 409 idempotency_conflict. Ответы, отличные от 2xx, не сохраняются, поэтому повтор после 400 или 402 выполняется заново.
Запрос
Модель, которую нужно вызвать.
Значение: minimax-h3-image
Если значение неверно
- Поле отсутствует:
"model" is required - Неизвестный ID модели:
"model" minimax-image-9 is not catalogued - На этот адрес API отправлена видеомодель:
"model" seedance-2.5 is served by POST /v1/videos/tasks, not this endpoint
Что нарисовать либо изменить в референсных изображениях. Лучше писать обычным языком: объект, стиль, освещение, композиция и текст, который должен появиться на изображении.
Длина: 1–5000 символов
- Длина измеряется в символах. Иероглиф CJK считается одним символом.
- При передаче
imagesукажите назначение каждого изображения, например «Используй первое изображение для товара, а второе — для фона». - Улучшение промпта MiniMax включено в каждом заказе. Оно добавляет к вводу текстовые токены, которые оплачиваются по цене ввода текста.
Если значение неверно
- Поле отсутствует:
"prompt" is required - Пустое значение или превышена допустимая длина:
"prompt" has an unsupported length - Значение не является строкой:
"prompt" must be a string
Соотношение ширины и высоты изображения. Передайте вместе с resolution либо не задавайте оба поля и используйте size.
Допустимые значения: auto, 1:1, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5, 16:9, 9:16, 2:1, 1:2, 3:1, 1:3, 21:9, 9:21
По умолчанию: auto
- По умолчанию
auto: кадр выбирает модель по промпту и по референсам, если они есть. Если форма важна, укажите соотношение сторон. - Поддерживаются панорамные пропорции
2:1,1:2,3:1,1:3,21:9,9:21. Максимальное отношение длинной стороны к короткой — 3:1. - Нельзя сочетать с
size.
Если значение неверно
- Значение отсутствует в списке допустимых:
"aspect_ratio" must be one of: [auto 1:1 3:2 2:3 4:3 3:4 5:4 4:5 16:9 9:16 2:1 1:2 3:1 1:3 21:9 9:21] - Передано вместе с
size:"size" already fixes the output; do not send "aspect_ratio" with it
Референсные изображения для редактирования или объединения. Это поле переключает запрос с генерации по тексту на редактирование изображений.
Число элементов: 1–16
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Каждая ссылка должна возвращать сам файл PNG, JPEG или WebP по общедоступному HTTPS, не более 50 MB. До создания задачи шлюз скачивает первые байты по каждой ссылке и определяет тип по ним, а не имени файла или
Content-Type. - Ссылки на веб-страницы, страницы входа, просроченные подписанные ссылки или серверы с защитой от прямого скачивания отклоняются, поскольку не возвращают изображение.
- Индексы в сообщениях об ошибках начинаются с 0:
images[0]— первая ссылка. - Референсы оплачиваются как ввод изображений по отдельной цене за 1 млн токенов (см. раздел цен).
Если значение неверно
- Превышено максимальное число элементов:
"images" accepts at most 16 items - Пустой массив:
"images" requires at least 1 item - Ссылка не начинается с https://:
"images[0]" must be a public HTTPS URL - Закрытый или небезопасный адрес:
"images[0]" must be a publicly reachable HTTPS image URL - Сервер возвращает ошибку 4xx:
"images[0]" could not be downloaded: the URL returned HTTP 404 - Ссылка возвращает не PNG, JPEG или WebP:
"images[0]" is not a PNG, JPEG or WebP image: the URL returned text/html - Размер больше 50 MB:
"images[2]" is 63.4 MB; images must be 50 MB or smaller
Пример
"images": [
"https://cdn.beatapi.io/samples/smart-bottle.png",
"https://cdn.beatapi.io/samples/neon-singer.png"
]
Тип файла изображения: png, jpeg или webp.
Допустимые значения: png, jpeg, webp
По умолчанию: png
- По умолчанию
png. - Формат не влияет на цену.
- Тип сохранённого файла смотрите в
mime_typeна выходе.
Если значение неверно
- Значение отсутствует в списке допустимых:
"output_format" must be one of: [png jpeg webp]
Пример
"output_format": "webp"
Класс размера изображения: 1K, 2K или 4K. Чем выше класс, тем больше изображение; точный размер в пикселях зависит от aspect_ratio и определяется моделью.
Допустимые значения: 1K, 2K, 4K
По умолчанию: 4K
- Если поле не указано, используется
4K. 1Kи2Kтратят одинаковое число выходных токенов, поэтому стоят одинаково.4Kтратит примерно вчетверо больше и стоит дороже (см. раздел цен).- Используйте заглавную K:
2kотклоняется. - Для размерного класса точные размеры в пикселях не гарантируются. Если нужен точный кадр, передайте
size. - Нельзя вместе с
size, у которого свой размер.
Если значение неверно
- Значение отсутствует в списке допустимых:
"resolution" must be one of: [1K 2K 4K] - Передано вместе с
size:"size" already fixes the output; do not send "resolution" with it
Точный кадр на выходе в виде WIDTHxHEIGHT в пикселях, например 2720x1536. Заменяет resolution и aspect_ratio.
- Всего должно быть от 655 360 до 20 000 000 пикселей, а длинная сторона — не более чем втрое длиннее короткой. Кратность сторон не требуется.
- Кадр рендерится ровно таким, как запрошен, без округления.
- Разделитель —
x,Xили×; пробелы вокруг него игнорируются. - Оплата идёт по токенам, потраченным рендером: чем больше кадр, тем больше выходных токенов и выше цена (см. раздел цен).
- Не передавайте вместе с ним
resolutionилиaspect_ratio, даже со значениями по умолчанию.
Если значение неверно
- Значение не является строкой:
"size" must be a string - Не в формате WIDTHxHEIGHT: одно число,
autoили разделение запятой:"size" must be WIDTHxHEIGHT in pixels, for example 2720x1536 - Слишком мало или слишком много пикселей:
"size" must have between 655,360 and 20,000,000 pixels; 512x512 has 262,144 - Отношение ширины к высоте или высоты к ширине превышает 3:1:
"size" must not be wider or taller than 3:1 - Передано вместе с
resolution:"size" already fixes the output; do not send "resolution" with it - Передано вместе с
aspect_ratio:"size" already fixes the output; do not send "aspect_ratio" with it
Пример
"size": "2720x1536"
Ответ
Объект задачи. Поле output равно null, пока задача не завершится успешно. Поля с пометкой «во время выполнения» исчезают после завершения задачи.

