Введение
Seedance 2.0 reference-to-video сводит несколько разрешённых источников в один кадр: изображения отвечают за «кто и что», клипы — за движение и темп, аудио — за долю, на которую ложится склейка. Это отдельный контракт, стартовый кадр он не принимает.
Seedance 2.0 от ByteDance публикует text-to-video, image-to-video и reference-to-video: ролики 4–15 секунд от 480p до 4K, с родным звуком и кадрированием adaptive по умолчанию.
| Исходный материал | Подходящий режим |
|---|---|
| Сцена в тексте | Seedance 2.0 Текст в видео |
| Утверждённый начальный кадр | Seedance 2.0 Изображение в видео |
| Отдельные референсы | Seedance 2.0 Референсы в видео |
Ключевые возможности и особенности
Атмосфера помещения приходит в том же файле
generate_audio включён по умолчанию, поэтому лёд в шейкере, смех, приглушённый гул бара и сама комната выходят из того же прохода, что и картинка. Результат приходит уже синхронным, а не ждёт отдельного звукового прохода. Выключайте, если клип всё равно уходит к саунд-дизайнеру.
Девять референсов, один состав на всю серию
reference-to-video берёт до 9 изображений, 3 клипов и 3 аудиодорожек вместе. Три ракурса одного лица плюс кадр с костюмом держат персонажа по всей серии куда лучше девяти случайных кадров, а референсный клип несёт язык камеры, который ни одно прилагательное в prompt надёжно не воспроизводит.
Форма следует за материалом
На всех трёх эндпоинтах aspect_ratio по умолчанию adaptive. В image-to-video клип сохраняет форму стартового кадра, так что вертикальный снимок не обрезается в горизонталь; в text-to-video модель берёт форму из prompt; в reference-to-video находит кадр, в который помещаются все субъекты из референсов. Указывайте 16:9, 9:16 или 21:9, только когда площадка требует фиксированного формата.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
prompt | Да | Обязателен, и здесь он же занимается кастингом. |
reference_image_urls | Нет | До 9 референсных изображений, чтобы удержать персонажа, стиль или обстановку. Два-три ракурса одного персонажа обычно работают лучше стопки почти одинаковых кадров. Не более 9 элементов |
reference_video_urls | Нет | До 3 референсных клипов, каждый от 2 до 15 секунд, суммарной длиной не более 15 секунд, дающих движение, темп или язык камеры. Не более 3 элементов |
reference_audio_urls | Нет | До 3 референсных аудиофайлов, каждый от 2 до 15 секунд, суммарной длиной не более 15 секунд: они дают модели звуковую опору — подачу, темп, музыкальную фразу, — к которой подстр… Не более 3 элементов |
aspect_ratio | Нет | По умолчанию |
resolution | Нет | 480p, 720p, 1080p или 4k, по умолчанию 720p. Напрямую влияет на оплачиваемое количество. |
duration_seconds | Нет | От 4 до 15 секунд, по умолчанию 5; при -1 длину выбирает модель (оценка по максимуму в 15 секунд, списание по фактической длине). |
generate_audio | Нет | По умолчанию включён. Даёт родную дорожку, синхронную картинке. По умолчанию: |
seed | Нет | Целочисленный seed; уберите его — и каждый прогон возьмёт свой. Зафиксируйте при неизменном остальном, чтобы понять, что на самом деле изменила правка prompt. |
return_last_frame | Нет | Дополнительно возвращает последний кадр ролика отдельным изображением рядом с видео. По умолчанию: |
bitrate_mode | Нет | Битрейт выдаваемого файла: |
watermark | Нет | Добавляет в видео видимый водяной знак «AI generated» самой модели. По умолчанию: |
Стоимость
Референсные клипы добавляются к оплачиваемым секундам. Поскольку измерить ваши клипы до запуска невозможно, мы сначала резервируем сумму за максимальные 15 секунд, а неиспользованную часть возвращаем сразу при расчёте — оплачиваются только фактически использованные секунды.
| Разрешение | With video: Да | With video: Нет |
|---|---|---|
| $0.0431 / секунду | $0.07 / секунду |
| $0.0928 / секунду | $0.152 / секунду |
| $0.2284 / секунду | $0.374 / секунду |
| $0.778 / секунду | $0.778 / секунду |
Сценарии использования
Назначьте роль каждой референции
Seedance 2.0 reference-to-video сводит несколько разрешённых источников в один кадр: изображения отвечают за «кто и что», клипы — за движение и темп, аудио — за долю, на которую ложится склейка. Это отдельный контракт, стартовый кадр он не принимает. Используйте этот режим, когда отдельные изображения, клипы или аудио должны направлять разные части нового кадра. Укажите вклад каждого материала до описания действия, которое их связывает.
Ночная жизнь и барные сцены со своим звуком
Взбиваемый коктейль, стекло о стойку, приглушённый разговор под красным фонарём: опишите помещение в prompt и оставьте generate_audio включённым. Seedance 2.0 отрисовывает атмосферу под картинку, и склейка приходит с воздухом, а не немой заготовкой.
Кампания, которая держится от склейки к склейке
Загрузите товар в трёх ракурсах и модель в двух в reference-to-video, а затем меняйте только prompt для каждой склейки. Та же бутылка, то же лицо и та же куртка едут вместе с запросом, поэтому набор держится без ручной цветокоррекции.
Костюмированная и ролевая работа без цензуры
Кружево и атлас, реквизит с хвостами и ушами, кадр от первого лица, пары любого пола — ничего из этого с нашей стороны не проверяется. Собственный слой Seedance отклоняет часть формулировок, поэтому такие такты ведите от первого кадра в image-to-video, а не из prompt.
Руководство по промптам и практические советы
Выберите эндпоинт по тому, что уже есть
Одно описание идёт в text-to-video. Снимок, который обязан уцелеть, — в image-to-video. Состав, товар или движение, которое должно повторяться из склейки в склейку, — в reference-to-video. Вызов по имени семейства выбирает эндпоинт по тем полям, которые вы прислали.
Опишите план как раскадровку
Субъект, действие, камера, свет, звук — по одной мысли на предложение. Клип на этой странице вырос ровно из такого текста: «Photorealistic live-action, not animation. A real adult woman in a chocolate satin robe works behind a dim neon bar, a large fluffy faux fox tail accessory clipped at the small of her back. She shakes a cocktail, turns to set the glass on the counter and the tail sways with the movement, then she looks back at camera with a teasing smile. Warm red lantern light, 35mm grain, slow push-in, ice rattling and low bar chatter.» Пять секунд, 720p, 16:9, звук включён.
Адаптируйте опубликованный пример
Начните с опубликованного примера и сохраните входные данные этого режима. Меняйте только тему и творческое направление, затем сравнивайте следующий дубль с ясной визуальной целью.
The woman from @Image1, in the same sheer black robe, steps out onto the rooftop from @Image2 at sunset. She walks slowly between the drying white sheets; the wind lifts one sheet across her body and lets it fall away. She stops at the parapet, the robe sliding off one shoulder, and glances back over her shoulder into camera. Warm golden backlight, slow tracking shot, no cuts.
Один референс задаёт человека, другой — место: в промпте сказано, какое изображение за что отвечает. Поэтому женщина со свечного портрета выходит на крышу на закате в том же халате, а развешанные простыни становятся тем, сквозь что она проходит.
Проверьте результат и итерируйте осознанно
Проверьте, выполняет ли каждая референсная работа свою роль: персонажа, среды, движения или звука. При конфликте сначала удалите противоречивый источник, а не перегружайте prompt.
Определите отправную точку и результат
До генерации решите, что должно быть видно в начале, в момент изменения и в конце. Тогда последовательность можно оценивать по конкретной цели, а не по общему впечатлению.
Отдельно оценивайте источник и движение
Исходное изображение закрепляет узнаваемые детали, а инструкция описывает то, что произойдёт дальше. Проверяйте оба решения вместе, чтобы движение не стёрло начальную композицию.
Быстрый старт API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "bytedance/seedance-2.0/reference-to-video",
"input": {
"aspect_ratio": "adaptive",
"bitrate_mode": "standard",
"duration_seconds": 5,
"generate_audio": true,
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p",
"reference_image_urls": [
"https://example.com/reference.png"
]
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Аутентификация, полная схема, опрос статуса и обработка ошибок описаны в справочнике API.
















