SD Video
Генерируйте с SD Video ролики на 5–15 секунд с подходящими диалогами и звуком: текст в видео, изображение в видео и референсы в видео в 480p или 768p, с выдачей через задачу.
SD Video — модель генерации видео от SeedRouter, построенная на MiniMax H3. Один запрос создаёт всю сцену — картинку и звук вместе: ролик на 5–15 секунд с собственными диалогами, фоновым звуком и эффектами. Отправьте запрос, сохраните возвращённый идентификатор задачи и получите готовое видео из задачи. Первые кадры и референсы передаются как URL.
ID моделей
| ID модели | Режимы | Разрешения | Длительность |
|---|---|---|---|
sd-video | text_to_video, image_to_video, reference_to_video | 480p, 768p | 5–15 секунд |
Актуальные цены — на странице модели.
Краткий пример
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd-video",
"mode": "text_to_video",
"prompt": "A lighthouse keeper in a wool coat stands on a wet stone pier at dawn and says, \"The fog lifts at seven.\" Locked-off shot, waves slapping the stones, no music.",
"duration": 5,
"resolution": "768p",
"aspect_ratio": "16:9"
}'Конечная точка
POST https://api.seedrouter.ai/v1/videos/generations| Заголовок | Значение |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
В ответе приходит задача ({"id": "task_...", "status": "processing"}), а не готовое видео. Результат получайте опросом GET /v1/tasks/{task_id}. Храните API-ключи в серверном коде.
Параметры
| Поле | Тип | По умолчанию | Примечания |
|---|---|---|---|
model | string | обязательно | sd-video |
mode | enum | reference_to_video | text_to_video, image_to_video, reference_to_video. Принимаются и короткие формы t2v, i2v и ref2va. |
prompt | string | обязательно | От 1 до 32 000 символов. Описывает картинку и звук. |
duration | integer | 5 | Любое целое число от 5 до 15 секунд. |
resolution | enum | 768p | 480p или 768p. |
aspect_ratio | enum | зависит от режима | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, а в reference_to_video ещё и adaptive. image_to_video следует первому кадру. |
prompt_enhancement | enum | turbo | turbo, quality или disabled. |
seed | integer | случайный | Беззнаковое 32-битное. Задайте его, чтобы повторить план. |
image | reference | Только для image_to_video, где обязателен. Первый кадр. | |
reference_images | array | [] | Только для reference_to_video. До 9. |
reference_videos | array | [] | Только для reference_to_video. До 3. |
reference_audio | array | [] | Только для reference_to_video. До 3. |
Схема строгая: неизвестные поля отклоняются, а не игнорируются. callback_url и callback_id недоступны; вместо этого опрашивайте задачу.
Режимы
mode определяет, чем обусловливается генерация. У каждого режима свои поля; поле из другого режима возвращает 400, если в нём передано значение (пустой список или null проходят).
| Режим | Требует | Принимает |
|---|---|---|
text_to_video | prompt | общие поля |
image_to_video | prompt и image | image как первый кадр |
reference_to_video (по умолчанию) | prompt и хотя бы одно референсное изображение или видео | reference_images, reference_videos, reference_audio |
image_to_video использует изображение буквально как первый кадр, поэтому ролик начинается ровно так, как выглядит этот кадр. Чтобы поместить товар или человека в собственную сцену, используйте reference_to_video и опишите сцену вокруг него.
Референсы и метки в промпте
В reference_to_video порядок в списке становится меткой, которую вы используете в промпте. Первый элемент reference_images — это <Picture 1>, второй — <Picture 2>; первый элемент reference_videos — <Video 1>, и так далее. Изображения, видео и аудио нумеруются независимо. Улучшение промпта может переформулировать остальной текст, но не эти метки; задайте prompt_enhancement равным disabled, чтобы текст остался в точности как написан.
{
"model": "sd-video",
"mode": "reference_to_video",
"prompt": "A supervisor wearing the harness in <Picture 1> stands still and speaks to camera.",
"reference_images": [{ "type": "url", "url": "https://example.com/harness.jpg" }],
"duration": 10
}Медиавходы
Каждый референс, а также первый кадр для image_to_video, — это объект с публичным URL по HTTP(S):
{ "type": "url", "url": "https://example.com/photo.jpg" }| Вход | Максимальный размер |
|---|---|
| Изображение | 16 МБ |
| Видео или аудио | 32 МБ |
Не более 9 изображений, 3 видео и 3 аудиоклипов, всего 12 референсов. Данные в base64 и идентификаторы ассетов не принимаются: загрузите файл в собственное хранилище и передайте его URL. URL должен открываться без перенаправлений.
Факторы стоимости
Актуальные тарифы смотрите в разделе цен модели. SD Video тарифицируется за секунду видео по тарифу, который зависит от режима и разрешения результата:
billed seconds = duration (text_to_video, image_to_video)
billed seconds = duration + ceil(Σ min(each reference video's seconds, 5)) (reference_to_video)
cost = billed seconds × rate per secondКаждое референсное видео добавляет свою длину, но не более 5 секунд; более длинный ролик всё равно добавляет 5. Референсные изображения и референсное аудио не тарифицируются. Референсные видео измеряются при приёме запроса, поэтому зарезервированная сумма равна списанной. Итоговые списания смотрите в истории использования своей учётной записи. Неуспешные задачи не тарифицируются.
Схема вывода
При отправке возвращается задача:
{"id": "task_...", "model": "sd-video", "status": "processing", "created_at": 1789689600}Получение задачи
GET https://api.seedrouter.ai/v1/tasks/{task_id}Опрашивайте каждые 10–20 секунд, пока status не станет completed или failed. Сетевой тайм-аут во время опроса не означает, что генерация завершилась сбоем: сохраните идентификатор задачи и продолжите проверку. Не создавайте другую задачу, чтобы узнать ход выполнения.
Выполненная задача
{
"id": "task_...",
"model": "sd-video",
"status": "completed",
"created_at": 1789689600,
"finished_at": 1789689720,
"output": {
"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4",
"duration": 5,
"width": 1344,
"height": 768,
"aspect_ratio": "16:9",
"seed": 42
}
}Видео выдаётся в MP4 (H.264) с частотой 24 fps и стереозвуком AAC 32 кГц. При явно заданном aspect_ratio размер фиксирован:
aspect_ratio | 768p | 480p |
|---|---|---|
21:9 | 1536 × 672 | 960 × 416 |
16:9 | 1344 × 768 | 832 × 480 |
4:3 | 1024 × 768 | 640 × 480 |
1:1 | 768 × 768 | 480 × 480 |
3:4 | 768 × 1024 | 480 × 640 |
9:16 | 768 × 1344 | 480 × 832 |
text_to_video по умолчанию использует 16:9. reference_to_video по умолчанию использует adaptive: форму первого референсного изображения, а если изображений нет — первого референсного видео. image_to_video всегда следует первому кадру, включая его EXIF-ориентацию; чтобы изменить форму, обрежьте изображение. Ролик с adaptive сохраняет форму источника, масштабируется по короткой стороне разрешения с округлением каждой стороны до кратного 32 и сообщает aspect_ratio как сокращённое соотношение пикселей, например 23:15.
Выполненная задача сообщает использованный seed. Один и тот же промпт с тем же seed возвращает тот же ролик; без seed каждый запрос выбирает новый.
Ошибки
Запросы, отклонённые до создания задачи, возвращают HTTP-ошибку вместе с объектом error и не тарифицируются. Задача, которая завершилась сбоем уже после приёма, при запросе возвращает HTTP 200 с status: "failed" и объектом error.
Коды, HTTP-статусы и рекомендации по повторным попыткам приведены в общем каталоге ошибок.
{
"id": "task_...",
"model": "sd-video",
"status": "failed",
"error": {
"code": 60001,
"message": "The request was rejected by the content policy. Please revise the prompt or input images."
}
}Если тайм-аут произошёл при самой отправке, сначала проверьте свои задачи и только потом отправляйте повторно: первый запрос мог быть уже принят.
Советы
- Пишите длинные промпты. От нескольких сотен символов результат лучше; за детали штрафа нет.
- Называйте камеру, а не настроение: корпус, объектив и диафрагма меняют картинку, а «кинематографично» почти ничего не даёт.
- Описывайте звук: фон помещения, эффекты и их удалённость. Напишите
no music, если музыкальная подложка не нужна. Диалог укладывается примерно в 2,5 слова в секунду. - Добавьте
no logos, brand names, printed words or badges anywhere in frame, чтобы в кадре не появлялись выдуманные знаки. - Делайте надписи короткими и прописывайте их дословно, указывая, что это единственная надпись в кадре.
- Предпочитайте статику: один объект, одно место, статичная камера. Крупные планы работы руками и мягкое движение вроде волос или бумаги — самые слабые места.
- Зафиксируйте
seedи меняйте по одной фразе за раз, чтобы дорабатывать план.
