Перейти к содержимому

Генерация видео

greenrouter предоставляет генерацию видео (doubao-seedance-2-0-260128) через асинхронный API на основе задач: вы отправляете промпт, опрашиваете задачу, затем скачиваете готовый файл. Все маршруты активны и используют ключ sk-ru-…, как и чат.

Поток

  1. Отправьте задачуPOST /v1/videos, возвращает id задачи.
  2. Опрашивайте задачуGET /v1/videos/{id}, пока status не станет завершённым.
  3. Скачайте результатGET /v1/videos/{id}/content отдаёт MP4 потоком.

1. Отправка

Окно терминала
curl https://api.ru-llm.relay2.xyz/v1/videos \
-H "Authorization: Bearer sk-ru-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-0-260128",
"prompt": "A timelapse of clouds over a mountain range at sunrise",
"seconds": "5",
"metadata": {
"resolution": "720p",
"ratio": "16:9",
"generate_audio": true
}
}'

Ответ на отправку совместим с OpenAI Sora — дескриптор задачи с id, который вы опрашиваете:

{ "id": "video_abc123", "status": "queued" }

Настройки

ПолеТипОписание
modelstringdoubao-seedance-2-0-260128.
promptstringТекстовое описание ролика.
secondsstringДлительность ролика: "5" или "10". По умолчанию: "5".
metadata.resolutionstring"720p" или "1080p". По умолчанию: "720p".
metadata.ratiostringСоотношение сторон: 16:9, 9:16, 1:1, 4:3, 3:4 или 21:9.
metadata.seedintegerСид для воспроизводимого результата.
metadata.watermarkbooleanДобавить водяной знак. По умолчанию: false.
metadata.camera_fixedbooleanЗафиксировать камеру (без движения).
metadata.generate_audiobooleanСгенерировать аудиодорожку. По умолчанию: true.
metadata.contentarrayОпорные изображения или опорное видео — см. ниже.

Опорное изображение / видео

Передавайте опорные ассеты в metadata.content. Используйте кадры-изображения (first_frame / last_frame) или одно опорное видео — оба вида нельзя смешивать в одном запросе. Опорное изображение может быть URL http(s) или base64-URI data:image/…; опорное видео должно быть URL http(s).

{
"model": "doubao-seedance-2-0-260128",
"prompt": "Pan across the scene as the sun rises",
"seconds": "5",
"metadata": {
"resolution": "1080p",
"content": [
{ "type": "image_url", "image_url": { "url": "https://example.com/start.png" }, "role": "first_frame" }
]
}
}

2. Опрос

Окно терминала
curl https://api.ru-llm.relay2.xyz/v1/videos/video_abc123 \
-H "Authorization: Bearer sk-ru-YOUR_KEY"
{ "id": "video_abc123", "status": "completed" }

Статус-ответ передаётся от рендерера без изменений; опрашивайте каждые несколько секунд до завершения (или ошибки). Задачу может опрашивать только тот аккаунт, который её отправил — другой ключ получит 404.

3. Скачивание

Готовый рендер отдаётся потоком прямо с эндпоинта content — отдельной подписанной ссылкой управлять не нужно:

Окно терминала
curl -L https://api.ru-llm.relay2.xyz/v1/videos/video_abc123/content \
-H "Authorization: Bearer sk-ru-YOUR_KEY" \
-o out.mp4

Оценка стоимости (необязательно)

Нужна цена до отправки? POST /v1/videos/cost возвращает точную стоимость для заданного тела настроек, не создавая задачу и не затрагивая баланс:

Окно терминала
curl https://api.ru-llm.relay2.xyz/v1/videos/cost \
-H "Authorization: Bearer sk-ru-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "model": "doubao-seedance-2-0-260128", "seconds": "10", "metadata": { "resolution": "1080p" } }'
{ "cost_nano_usd": 2160000000, "model": "doubao-seedance-2-0-260128" }

Тарификация

Seedance тарифицируется за секунду видео, с учётом настроек генерации:

стоимость = тариф_за_секунду × секунды × множитель_разрешения × множитель_аудио
  • разрешение720p — базовый 1.0×; 1080p2.25× (в 2.25 раза больше пикселей).
  • аудиоgenerate_audio: true1.20×; false1.0×.
  • секунды5 или 10; пропущенное значение тарифицируется как 5.

Списание происходит один раз, при приёме задачи на отправке — не по завершении. Именно там находится блокировка средств по принципу fail-closed, поэтому счёт с нулевым балансом отклоняется с кодом 402 ещё до начала рендеринга. Запрос, отклонённый на этапе отправки (например, некорректный), не тарифицируется; маршруты опроса и скачивания всегда бесплатны. Текущий тариф за секунду — на странице Модели и цены и странице цен в консоли.

Устранение неполадок

СимптомПричинаРешение
404 not found при опросеНеверный id задачи или задача отправлена другим ключомОпрашивайте отправившим ключом; проверьте id из ответа на отправку.
Задача висит в queued/in_progressДолгий рендерингПродолжайте опрос; рендеринг занимает минуты.
400 не видео-модельID не является видео-модельюИспользуйте doubao-seedance-2-0-260128.
400 опорные ассеты отклоненыСмешаны изображения и видео или видео-URL не http(s)Используйте кадры-изображения или одно опорное видео; видео — только http(s).
402 Payment RequiredНулевой баланс при отправкеПополните в консоли → Billing.