Перейти к навигации

BeatAPI Video API

Video API

Создайте одну асинхронную задачу генерации видео, указав постоянный ID модели BeatAPI.

МодельВходные данныеОбязательные поляОсновные настройки
minimax-h3Исходный ID с контрактом и ценами Fastmodel, prompt4–15 с, до 2K
minimax-h3-fastЯвный псевдоним Fast для minimax-h3model, promptТе же входные ограничения и цены, что у исходного ID
minimax-h3-normalБолее медленная модель за половину цены: текст, кадры или визуальные референсыmodel, prompt5–15 с; 480p/768p/1080p; генерация звука, без входного аудио
grok-imagine-video-1.5Текст, первый кадр, до семи изображений-референсовmodel, prompt1–15 с, 480p/720p/1080p; в 1080p не больше одного изображения
seedance-2Текст, первый/последний кадры, мультимодальные референсыmodel, prompt4–15 с, до 4K, генерация звука
seedance-2-fastТекст, первый/последний кадры, мультимодальные референсыmodel, prompt4–15 с, 480p/720p, генерация звука
seedance-2-miniТекст, первый/последний кадры, мультимодальные референсыmodel, prompt4–15 с, 480p/720p, поля generate_audio нет
veo-3.1Текст, первый/последний кадры, изображения-референсыmodel, promptПоля duration нет; quality: Quality/Fast/Lite; 720p/1080p/4K
seedance-2.5Текст, первый/последний кадры, больше мультимодальных референсовmodel, prompt4–30 с, 480p/720p/1080p, генерация звука и seed
kling-v3Текст, первый/последний кадры, несколько сцен, повторно используемые элементыmodel, prompt3–15 с, std (720p) или pro (1080p), необязательный звук
kling-v4Текст, кадры по времени, изображения, видео и голоса-референсы, именованные элементыmodel, prompt3–30 с, 720p/1080p, звук генерируется всегда
kling-2.6-motion-controlОдно загруженное изображение персонажа и одно видео движенияmodel, images, reference_videosВидео движения 3–30 с, 720p/1080p, посекундная оплата
kling-3-motion-controlПеренос движения с настройками ориентации и фонаmodel, images, reference_videosВидео движения 3–30 с, 720p/1080p, посекундная оплата
wan-3.0Текст, первый кадр, видео и аудио-референсыmodel, prompt2–30 с, 480p/720p/1080p
wan-3.0-primeТе же входные данные, что у Wan 3.0, но отдельный ID модели и собственная ценаmodel, prompt4–30 с, 480p/720p/1080p
happyhorse-1.0Только изображение в видео, до девяти исходных ракурсовmodel, prompt, images3–15 с, 720p/1080p
happyhorse-1.1Контракт как у 1.0, ниже цена за секундуmodel, prompt, images3–15 с, 720p/1080p
minimax-h3-maxТекст, первый кадр, первый и последний кадрыmodel, promptОт 5 с, 480P/768P, seed
minimax-h3-max-turboКонтракт как у H3 Maxmodel, promptОт 5 с, 480P/768P, вдвое ниже цена за секунду

На странице выбранной модели описаны все поля, значения по умолчанию, допустимые значения, сочетания параметров, примеры запросов, ответы и ошибки.

Список доступных моделей

GET /v1/media/models

ПараметрГде передаётсяТипОбязателенДопустимые значения
media_typeСтрока запросаstringНетimage, video

Этот общедоступный метод не требует авторизации.

curl "https://api.beatapi.io/v1/media/models?media_type=video"
{
"data": {
"object": "list",
"data": [
{
"id": "minimax-h3",
"object": "generation_model",
"name": "MiniMax H3",
"media_type": "video",
"input_modes": ["text", "frames", "reference"]
}
]
}
}
ПолеТипЗначение
idstringПостоянный публичный ID модели
objectstringgeneration_model
namestringОтображаемое название
media_typestringimage или video
input_modesstring[]Любые из text, image, frames, reference

Внутренняя маршрутизация к поставщикам не входит в публичный контракт.

Общие правила создания задачи

POST /v1/videos/tasks

ЗаголовокТипОбязателенПравила
AuthorizationstringДаBearer <BEATAPI_API_KEY>
Content-TypestringДаapplication/json
Idempotency-KeystringНет, рекомендуетсяДо 255 символов; один ключ на одну логическую операцию создания

Тело запроса должно соответствовать ровно одной схеме модели. Поле model определяет схему; неизвестные поля отклоняются.

curl https://api.beatapi.io/v1/videos/tasks \
-X POST \
-H "Authorization: Bearer $BEATAPI_API_KEY" \
-H "Idempotency-Key: video-seedance-2-5-001" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5",
"prompt": "A cinematic tracking shot through a rain-lit night market.",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p"
}'

Корректный запрос возвращает 201 Created с data.id, task_kind="video", выбранной model, status="queued", данными об использовании и request_id. Проверяйте GET /v1/tasks/{task_id} каждые 5–10 секунд до succeeded или failed. Готовое видео доступно в data.output.media[] и data.output.r2_url.

Точный повтор с тем же ключом идемпотентности возвращает уже принятую задачу. Тот же ключ с другим телом запроса даёт 409 idempotency_conflict.

Общие ошибки

HTTPТипичный кодЧто делать
400bad_requestИсправьте поля, значения, сочетания параметров, количество файлов или URL медиа
400content_policy_violationИзмените промпт или входные данные; не отправляйте повтор без изменений
401missing_api_key / invalid_api_keyПередайте Bearer-ключ либо замените неверный, просроченный, отключённый или исчерпавший лимит
402insufficient_creditsПополните баланс перед созданием новой задачи
403forbiddenКлючу или аккаунту запрещена операция, например модель недоступна за счёт бонуса
409idempotency_conflictПовторно используйте ключ только с тем же телом запроса
429rate_limit_exceededПодождите время из Retry-After
500internal_errorПовторите один раз после задержки
503processing_unavailable / processing_timeout / processing_failed / result_transfer_failedПовторите позже с увеличивающейся задержкой; средства не списаны

Ответ с ошибкой содержит error.code, английское error.message, error.retryable, error.request_id, а при 429 — error.retry_after_seconds. Если уже принятая задача завершилась ошибкой, запрос статуса всё равно возвращает 200: проверьте data.error_code. Все коды и правила повторов описаны в разделе ошибок. Страницы отдельных моделей ниже содержат полные контракты для рабочей среды.