MiniMax H3 Normal
Создавайте видео со звуком длительностью 5–15 секунд в 480p, 768p или 1080p по тексту, одному-двум кадрам либо референсам — до 4 изображений и 1 видео, за половину тарифа Fast.
- Асинхронная обработка: запрос создания возвращает ID задачи, видео появляется после её успешного завершения. Normal генерирует медленнее Fast.
- Половина тарифа Fast при том же разрешении; помимо 768p доступны 480p и 1080p.
- Каждое видео содержит сгенерированный звук. Отключить его нельзя, входное аудио не поддерживается.
- Четыре варианта ввода: только текст, первый кадр, первый и последний кадры либо до 4 референсных изображений и 1 референсного видео.
seedнеобязателен. - Оплата за секунду видео. Задача, завершившаяся ошибкой, не оплачивается.
Открывает модель в API Explorer. Введите свой API-ключ BeatAPI, чтобы создать задачу. Это настоящий запрос: его стоимость спишется с вашего баланса.
Идентификаторы моделей
Пять моделей MiniMax H3 используют один адрес API, но принимают разные входные данные. Значения ниже взяты непосредственно из контракта шлюза.
Адрес API и авторизация
POST https://api.beatapi.io/v1/videos/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-normal
Если значение неверно
- Поле отсутствует:
"model" is required - На этот адрес API отправлена модель изображений:
"model" nano-banana-2 is served by POST /v1/images/tasks, not this endpoint
prompt
string
Обязательно
Что должно происходить в видео: объект, действие, движение камеры, стиль и звук. Если используете референсы, укажите назначение каждого материала.
Длина: 1–5000 символов
- Длина измеряется в символах. Иероглиф CJK считается одним символом.
- Ссылайтесь на материалы по их порядку, например «первое референсное изображение».
Если значение неверно
- Поле отсутствует:
"prompt" is required - Пустое значение или превышена допустимая длина:
"prompt" has an unsupported length
images
string[]
Необязательно
Первый кадр либо первый и последний кадры.
Число элементов: 1–2
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Одна ссылка: видео начинается с этого изображения. Две ссылки:
images[0]задаёт первый кадр,images[1]— последний. - Для изображений, которые должны направлять генерацию, но не служить кадрами, используйте
reference_images.
Если значение неверно
- Больше двух ссылок:
"images" accepts at most 2 items - Передано вместе с любым полем reference_*:
Cannot combine "images" with reference inputs in one task - Ссылка не начинается с https://:
"images[0]" must be a public HTTPS URL
reference_images
string[]
Необязательно
Изображения, определяющие содержание, персонажей, товары или стиль видео.
Число элементов: 1–4
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- В промпте ссылайтесь на них по порядку.
Если значение неверно
- Превышено максимальное число элементов:
"reference_images" accepts at most 4 items - Передано вместе с
images:Cannot combine "images" with reference inputs in one task
reference_videos
string[]
Необязательно
Одно видео, из которого нужно взять движение, работу камеры или содержание.
Число элементов: 1–1
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Не более 15 секунд с частотой 23.976–60 кадров/с; см. ограничения ниже.
- Длительность референсного видео на цену не влияет.
Если значение неверно
- Больше одной ссылки:
"reference_videos" accepts at most 1 items - Превышена допустимая длительность:
The reference videos run 20 seconds in total; this model takes at most 15. - Частота кадров вне допустимого диапазона:
reference_videos[0] runs at 12 frames per second; this model takes 23.976 to 60.
duration
integer
НеобязательноПо умолчанию: 5
Длительность видео в секундах, целое число.
По умолчанию: 5
Диапазон: 5–15
- Если параметр не указан, используется
5. - От этого значения зависит цена (см. раздел об оплате).
Если значение неверно
- Значение вне диапазона или не является целым числом:
"duration" is outside its supported range
aspect_ratio
string
НеобязательноПо умолчанию: 16:9
Соотношение ширины и высоты видео.
Допустимые значения: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
По умолчанию: 16:9
- Если параметр не указан, используется
16:9. Это значение передаётся и при наличииimagesили референсов, поэтому задайтеaspect_ratio, соответствующее входному материалу, например9:16для вертикального кадра. - Эта модель не поддерживает
adaptive. Задайте фиксированное соотношение сторон.
Если значение неверно
- Недопустимое значение, например
adaptive:"aspect_ratio" must be one of: [16:9 9:16 1:1 4:3 3:4 21:9]
resolution
string
НеобязательноПо умолчанию: 768p
Разрешение результата. Чем оно выше, тем дороже секунда видео.
Допустимые значения: 480p, 768p, 1080p
По умолчанию: 768p
- Регистр букв не важен:
768pи768Pравнозначны. - Normal не поддерживает 2K и 4K. Для 2K используйте
minimax-h3-fast.
Если значение неверно
- Недопустимое значение, например
2Kили4K:"resolution" must be one of: [480p 480P 768p 768P 1080p 1080P]
seed
integer
Необязательно
Фиксированное число для инициализации генерации. Для случайного seed не передавайте параметр.
Диапазон: 0–9007199254740991
- Целое число от 0 до 9007199254740991.
Если значение неверно
- Значение вне диапазона или не является целым числом:
"seed" is outside its supported range
Перед созданием задачи шлюз также проверяет следующие сочетания параметров:
imagesнельзя сочетать с полями референсных материалов.- Normal генерирует медленнее и стоит вдвое дешевле Fast при том же разрешении. Доступны только 480p, 768p и 1080p.
- Референсный режим принимает до четырёх изображений и одного видео. Референсное аудио не поддерживается; результат содержит сгенерированный звук.
Ограничения входных материалов
До создания задачи шлюз проверяет каждый входной материал. Если ограничение нарушено, возвращается 400 bad_request с указанием материала. Средства не списываются.
- Ограничения относятся к
imagesиreference_imagesдля изображений и кreference_videosдля видео. Эта модель не принимает референсное аудио, поэтому строка аудио к ней не относится. - Материалы проверяются по одному в порядке
images,reference_images,reference_videos. Для каждого сначала проверяются длительность, стороны, соотношение сторон и частота кадров; суммарная длительность референсных видео проверяется последней. В сообщении указаны список и индекс с 0, как в ошибках полей:images[0] is 200x200 pixels; this model takes images 256 to 5760 pixels on each side. - Длительность измеряется с допуском 0,1 секунды. Размер файла проверяется только тогда, когда сервер его сообщает.
- При создании задачи ссылка отклоняется только тогда, когда сервер возвращает HTTP 4xx или пустой файл, например
reference_videos[0] could not be downloaded: the URL returned HTTP 404.. Остальные проблемы с материалом выявляются после отправки и завершают задачу ошибкой с возвратом средств. - Файл находится на вашем устройстве? Загрузите его через
POST /v1/filesи передайте полученныйdata.url.
Звук и неподдерживаемые параметры
Каждое видео содержит сгенерированный звук. Поля generate_audio нет, входное аудио не поддерживается.
Неподдерживаемый параметр не игнорируется, а отклоняется до списания средств:
reference_audios,generate_audio,watermark,quality,soundи другие поля видеомоделей →field "reference_audios" is not supported by model minimax-h3-normal(с именем переданного поля).- Любое другое неизвестное поле →
unknown field: <name>.
Примеры запросов
Видео по тексту
Горизонтальный ролик со звуком длительностью 5 секунд в 768p.
Первый кадр
Видео начинается с изображения; aspect_ratio соответствует его вертикальным пропорциям.
Первый и последний кадры
Видео переходит от первого изображения ко второму, в 1080p.
Референсные изображения с фиксированным seed
Два референсных изображения, фиксированный seed и самое дешёвое разрешение.
Референсные изображение и видео
Замените ссылку собственным MP4 или MOV длительностью не более 15 секунд с частотой 23.976–60 кадров/с.
Ответы
Создание задачи (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.
Оплата
- Оплата посекундная: запрошенная
durationумножается на тариф выбранного разрешения. В таблице ниже указаны цены за 8 секунд, что соответствует примерно 0.02 в 768p и $0.025 в 1080p. - При том же разрешении это половина тарифа Fast: у
minimax-h3-fast768P стоит $0.04 за секунду. - Соотношение сторон, число референсов,
seedи длительность референсного видео на цену не влияют. - Цена резервируется при создании задачи. Оплаченная длительность указана в
usage.billable_duration_secondsзадачи. - Если задача завершилась ошибкой, в том числе из-за модерации после отправки, средства возвращаются полностью.
Текущие базовые цены совпадают с указанными на странице цен. Если для аккаунта согласована скидка, стоимость будет ниже. Фактически списанная сумма всегда указана в 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-normal
Если значение неверно
- Поле отсутствует:
"model" is required - На этот адрес API отправлена модель изображений:
"model" nano-banana-2 is served by POST /v1/images/tasks, not this endpoint
Что должно происходить в видео: объект, действие, движение камеры, стиль и звук. Если используете референсы, укажите назначение каждого материала.
Длина: 1–5000 символов
- Длина измеряется в символах. Иероглиф CJK считается одним символом.
- Ссылайтесь на материалы по их порядку, например «первое референсное изображение».
Если значение неверно
- Поле отсутствует:
"prompt" is required - Пустое значение или превышена допустимая длина:
"prompt" has an unsupported length
Соотношение ширины и высоты видео.
Допустимые значения: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
По умолчанию: 16:9
- Если параметр не указан, используется
16:9. Это значение передаётся и при наличииimagesили референсов, поэтому задайтеaspect_ratio, соответствующее входному материалу, например9:16для вертикального кадра. - Эта модель не поддерживает
adaptive. Задайте фиксированное соотношение сторон.
Если значение неверно
- Недопустимое значение, например
adaptive:"aspect_ratio" must be one of: [16:9 9:16 1:1 4:3 3:4 21:9]
Длительность видео в секундах, целое число.
По умолчанию: 5
Диапазон: 5–15
- Если параметр не указан, используется
5. - От этого значения зависит цена (см. раздел об оплате).
Если значение неверно
- Значение вне диапазона или не является целым числом:
"duration" is outside its supported range
Первый кадр либо первый и последний кадры.
Число элементов: 1–2
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Одна ссылка: видео начинается с этого изображения. Две ссылки:
images[0]задаёт первый кадр,images[1]— последний. - Для изображений, которые должны направлять генерацию, но не служить кадрами, используйте
reference_images.
Если значение неверно
- Больше двух ссылок:
"images" accepts at most 2 items - Передано вместе с любым полем reference_*:
Cannot combine "images" with reference inputs in one task - Ссылка не начинается с https://:
"images[0]" must be a public HTTPS URL
Изображения, определяющие содержание, персонажей, товары или стиль видео.
Число элементов: 1–4
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- В промпте ссылайтесь на них по порядку.
Если значение неверно
- Превышено максимальное число элементов:
"reference_images" accepts at most 4 items - Передано вместе с
images:Cannot combine "images" with reference inputs in one task
Одно видео, из которого нужно взять движение, работу камеры или содержание.
Число элементов: 1–1
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Не более 15 секунд с частотой 23.976–60 кадров/с; см. ограничения ниже.
- Длительность референсного видео на цену не влияет.
Если значение неверно
- Больше одной ссылки:
"reference_videos" accepts at most 1 items - Превышена допустимая длительность:
The reference videos run 20 seconds in total; this model takes at most 15. - Частота кадров вне допустимого диапазона:
reference_videos[0] runs at 12 frames per second; this model takes 23.976 to 60.
Разрешение результата. Чем оно выше, тем дороже секунда видео.
Допустимые значения: 480p, 768p, 1080p
По умолчанию: 768p
- Регистр букв не важен:
768pи768Pравнозначны. - Normal не поддерживает 2K и 4K. Для 2K используйте
minimax-h3-fast.
Если значение неверно
- Недопустимое значение, например
2Kили4K:"resolution" must be one of: [480p 480P 768p 768P 1080p 1080P]
Фиксированное число для инициализации генерации. Для случайного seed не передавайте параметр.
Диапазон: 0–9007199254740991
- Целое число от 0 до 9007199254740991.
Если значение неверно
- Значение вне диапазона или не является целым числом:
"seed" is outside its supported range
Ответ
Объект задачи. Поле output равно null, пока задача не завершится успешно. Поля с пометкой «во время выполнения» исчезают после завершения задачи.

