Генерация видео
greenrouter предоставляет генерацию видео (doubao-seedance-2-0-260128) через
асинхронный API на основе задач: вы отправляете промпт, опрашиваете задачу, затем
скачиваете готовый файл. Все маршруты активны и используют ключ sk-ru-…, как
и чат.
Поток
- Отправьте задачу —
POST /v1/videos, возвращаетidзадачи. - Опрашивайте задачу —
GET /v1/videos/{id}, покаstatusне станет завершённым. - Скачайте результат —
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" }Настройки
| Поле | Тип | Описание |
|---|---|---|
model | string | doubao-seedance-2-0-260128. |
prompt | string | Текстовое описание ролика. |
seconds | string | Длительность ролика: "5" или "10". По умолчанию: "5". |
metadata.resolution | string | "720p" или "1080p". По умолчанию: "720p". |
metadata.ratio | string | Соотношение сторон: 16:9, 9:16, 1:1, 4:3, 3:4 или 21:9. |
metadata.seed | integer | Сид для воспроизводимого результата. |
metadata.watermark | boolean | Добавить водяной знак. По умолчанию: false. |
metadata.camera_fixed | boolean | Зафиксировать камеру (без движения). |
metadata.generate_audio | boolean | Сгенерировать аудиодорожку. По умолчанию: true. |
metadata.content | array | Опорные изображения или опорное видео — см. ниже. |
Опорное изображение / видео
Передавайте опорные ассеты в 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×;1080p—2.25×(в 2.25 раза больше пикселей). - аудио —
generate_audio: true—1.20×;false—1.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. |