Справочник API/Генерация видео

API генерации видео

Отправьте асинхронную задачу в /v1/videos, опрашивайте её статус и скачайте MP4. Стоимость — цена за секунду, умноженная на длительность.

На этой страницеexpand_more

Быстрые примерыlink

/v1/videos — асинхронный API задач. Принимая запрос, платформа резервирует стоимость задачи и возвращает ID задачи; опрашивайте задачу до завершения, затем скачайте готовый MP4.

cURL
curl https://api.wokey.ai/v1/videos \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Idempotency-Key: video-demo-0001" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jimeng-seedance-2.0-mini",
    "prompt": "A paper boat drifting through a neon-lit rainy street, cinematic tracking shot",
    "duration_seconds": 5,
    "ratio": "16:9",
    "video_resolution": "720p"
  }'

Запрос возвращает 202 и ID задачи; после завершения скачайте MP4 по content_url.

Параметры создания задачиlink

ПараметрОбязательныйОписание
modelДаID видеомодели, например jimeng-seedance-2.0-mini. Доступные сейчас сочетания модели, разрешения и длительности смотрите в актуальном каталоге Studio: видео.
promptДаНепустой промпт для видео.
duration_secondsДаДлительность в целых секундах. У каждой модели и ценового SKU свой допустимый диапазон. Также принимается duration.
ratioДаСоотношение сторон: 1:1, 3:4, 4:3, 9:16, 16:9 или 21:9.
video_resolutionДаРазрешение результата, зависит от модели; сейчас одно из 480p, 720p, 1080p или 4k. Также принимается resolution.
modeНетПо умолчанию text_to_video. В зависимости от модели также доступны image_to_video, first_last_frames и multimodal_reference. При передаче медиафайлов используйте multipart/form-data.
image / first_frame / last_frame / video / audioУсловноПоля multipart для режимов с медиа. image_to_video требует одно изображение; first_last_frames — по одному кадру в каждом поле; multimodal_reference принимает до 9 изображений, 3 видео и 3 аудиофайлов.
Idempotency-KeyРекомендуетсяЗаголовок запроса длиной 8-160 безопасных символов. При повторе после сетевого таймаута используйте тот же ключ, чтобы избежать дублирования задач и резервов.

Жизненный цикл задачиlink

Не держите запрос на создание открытым в ожидании видео. Сохраните ID задачи и опрашивайте её с разумным интервалом, пока status не станет completed, failed или cancelled.

POST/v1/videosСоздать задачу

Возвращает HTTP 202 и object: "video". Начальный status — in_progress.

GET/v1/videos/{id}Получить статус

Возвращает параметры задачи, статус, цену, сведения об ошибке и content_url. Пока задача в очереди апстрима, также возвращаются queue.position, queue.length и рекомендуемое время следующего запроса next_poll_at.

GET/v1/videos/{id}/contentСкачать видео

После завершения возвращает video/mp4. Скачайте его как можно скорее: файлы не хранятся бессрочно.

GET/v1/videos?limit=20Список задач

Возвращает видеозадачи текущего аккаунта с пагинацией через limit и before.

DELETE/v1/videos/{id}Отменить или удалить

Отменяет задачу в очереди или удаляет сохранённый результат завершённой задачи. После начала генерации на стороне апстрима принудительно отменить задачу нельзя.

price_usd — зарезервированная или списанная сумма за эту задачу. После завершения content_url указывает на маршрут скачивания, требующий авторизации тем же API-ключом. queue со значением null означает, что подтверждённой позиции в очереди апстрима сейчас нет; это не означает, что задача завершилась ошибкой.

Оплатаlink

Стоимость видео зависит от модели, разрешения и длительности: итоговая цена = текущая цена за секунду × duration_seconds. Сумма резервируется при создании задачи и списывается при успехе; при ошибке или отмене до отправки резерв снимается. Текущие цены и доступные SKU в реальном времени показаны на странице подключения API и в Studio: видео.

Примечанияlink

  • Видеозадачи могут выполняться несколько минут. В продакшене сохраняйте ID задачи и используйте опрос с увеличивающимся интервалом.
  • При повторе запроса на создание используйте исходный Idempotency-Key. Один и тот же ключ нельзя использовать с другими параметрами.
  • Скачивайте готовые видео своевременно. После удаления результата content_url становится недоступен.