Видео генерируется по текстовому описанию, а иногда и по картинке, которую нужно оживить. Задача долгая — минуты, а не секунды, — поэтому работа устроена в три шага: создать задачу, дождаться готовности, забрать файл.

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

Разрешение, длительность, соотношение сторон и наличие звука задаются полями 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 г.