Видео генерируется по текстовому описанию, а иногда и по картинке, которую нужно оживить. Задача долгая — минуты, а не секунды, — поэтому работа устроена в три шага: создать задачу, дождаться готовности, забрать файл.
POST /v1/videos принимает модель и описание. В ответ приходит не видео, а идентификатор задачи и её текущий статус.
curl "https://api.proxyapi.ru/v1/videos" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <КЛЮЧ>" \ -d '{ "model": "bytedance/seedance-2.0", "prompt": "Дрон летит над осенним лесом на рассвете", "resolution": "720p", "duration": 5 }'
Ответ выглядит так:
{ "id": "job-abc123", "status": "pending", "polling_url": "https://api.proxyapi.ru/v1/videos/job-abc123" }
id — то, по чему дальше отслеживается задача. Рядом лежит polling_url — готовый адрес для проверки статуса, собирать его вручную не нужно.
Статус запрашивается по тому же идентификатору. Пока видео готовится, значение остаётся рабочим; в конце оно становится completed либо failed.
curl "https://api.proxyapi.ru/v1/videos/job-abc123" \ -H "Authorization: Bearer <КЛЮЧ>"
У готовой задачи в ответе появляются ссылки на файлы:
{ "id": "job-abc123", "status": "completed", "unsigned_urls": ["https://api.proxyapi.ru/v1/videos/job-abc123/content?index=0"] }
Видео скачивается по этой ссылке — или тем же запросом напрямую:
curl "https://api.proxyapi.ru/v1/videos/job-abc123/content" \ -H "Authorization: Bearer <КЛЮЧ>" \ --output video.mp4
Уведомления о готовности не поддерживаются: поле callback_url вернёт ошибку 400. Статус нужно опрашивать самостоятельно, раз в несколько секунд.
Разрешение, длительность, соотношение сторон и наличие звука задаются полями resolution, duration, aspect_ratio и generate_audio; вместо разрешения можно указать точный размер полем size. Если ничего не передать, подставятся значения по умолчанию для этой модели.
Каждое значение сверяется с возможностями конкретной модели ещё до начала генерации. Неподдерживаемое сочетание — например, длительность, которой у модели нет, — вернёт ошибку 400, и деньги при этом не списываются.
Модели, которые умеют работать с картинкой на входе, принимают её в frame_images или input_references. Если модель этого не умеет, запрос тоже отклоняется.
Какие модели доступны для видео, отдаёт отдельный эндпоинт:
curl "https://api.proxyapi.ru/v1/videos/models" \ -H "Authorization: Bearer <КЛЮЧ>"
Цена зависит от разрешения, длительности и того, генерируется ли звук: секунда в 1080p стоит заметно дороже секунды в 720p. Списание происходит за готовое видео.
Если для запрошенного сочетания параметров цены нет, запрос отклоняется с ошибкой 400 — раньше, чем начнётся генерация.
- Генерация изображений — если движение не нужно.
- Модели — что доступно и по какой цене.
Частые вопросы
Почему в ответе нет видео?
Генерация занимает минуты, поэтому запрос лишь создаёт задачу и возвращает её идентификатор. Готовность проверяется отдельным запросом, файл забирается третьим.
Можно ли получить уведомление о готовности?
Нет. Поле callback_url не поддерживается и вернёт ошибку 400 — статус задачи нужно опрашивать самостоятельно.
Почему приходит ошибка на разрешение или длительность?
Значения проверяются по возможностям выбранной модели до начала генерации. Если модель не умеет запрошенное сочетание, запрос отклоняется и деньги не списываются.
От чего зависит стоимость?
От разрешения, длительности и наличия звука. Оплачивается готовое видео, а не сама попытка: если параметры отвергнуты на входе, списания нет.
Последняя редакция: 3 сентября 2026 г.