Перейти к основному содержанию

Краткий ответ

У Seedance 2.5 нет отдельного переключателя «референс-в-видео». Как только content содержит референсное видео, модель анализирует намерение вашего prompt, чтобы определить, является ли задача референс-в-видео, редактированием видео или расширением видео:
  • prompt изменяет исходное видео (добавляет, удаляет, изменяет, заменяет, сохраняет что-либо без изменений) → редактирование видео
  • prompt продолжает исходное видео вперёд или назад (расширяет, продолжает) → расширение видео
  • prompt только заимствует из материалов персонажа, движение или стиль для создания нового клипа → референс-в-видео
Если задача классифицируется как редактирование, ratio должен быть adaptive, а duration должен быть -1. Передача конкретного соотношения сторон или длительности возвращает ошибку 400, обычно с упоминанием TaskTypeConstraint.
Эта страница относится только к Seedance 2.5 (doubao-seedance-2-5-260628). В семействе Seedance 2.0 нет задач редактирования видео или расширения видео, поэтому эта проблема там не возникает.

Ключевое различие: попадает ли ресурс в итоговый результат?

Быстрая проверка: видите ли вы само исходное видео в результате? Если да, это редактирование (или расширение). Если сохраняется только его «ощущение», это режим из референса в видео. Расширение видео похоже на редактирование: соотношение сторон зафиксировано в соответствии с исходным видео, но вы по-прежнему можете задать длительность.

Как модель принимает решение

Принятие решения проходит в два этапа: сначала ассет role, затем prompt.
Список триггерных слов не является исчерпывающим. Модель оценивает смысл, а не точные формулировки. Фраз вроде «сохранить всё в видео без изменений», «повысить разрешение видео 1 до HD» или «оставить одежду прежней» нет в списке, но все они описывают обработку исходных материалов, поэтому также могут быть классифицированы как редактирование видео.
Запрос с референсными изображениями, но без референсного видео никогда не классифицируется как редактирование или продление. Обращать на это внимание нужно только тогда, когда присутствует reference_video.

Список рискованных ключевых слов

Следующие слова с высокой вероятностью приведут к тому, что модель классифицирует задачу как редактирование видео. Если вам на самом деле требуется задача генерации видео по референсу, перепишите prompt: Китайские эквиваленты (替换、换成、增加、删除、修改、保持……不变、高清化、延长 и т. д.) приводят к такой же классификации. Если ваш бизнес-сценарий действительно требует замены или изменения исходного видео, это задача редактирования. Отправляйте запрос с ratio: adaptive и duration: -1 вместо попыток обойти классификацию.

Реальный случай

В этом запросе требовалось «увеличить разрешение видео», одновременно задав 4:3 и 15 секунд:
Он был немедленно отклонён с ошибкой 400:
«Увеличить разрешение» вместе с «оставить без изменений» означает работу с исходным видеоматериалом, поэтому модель классифицировала это как редактирование, а задачи редактирования не принимают пользовательское соотношение сторон или длительность. Поскольку этот запрос действительно является редактированием, правильное исправление:
После изменения результат соответствует соотношению сторон и длительности исходного видео.

Может ли параметр принудительно задать режим референс-в-видео?

Нет. В 2.5 omni_reference_task_type принимает только три значения: Значения «референс-в-видео» не существует. Кроме того, edit / extend лишь выполняют проверку раньше; они не принудительно задают тип задачи. Если объявленный тип отличается от типа, который модель определяет по prompt, задача всё равно завершится с ошибкой InvalidParameter.TaskTypeMismatch. Кратко: тип задачи определяет prompt. Параметры могут только соответствовать ему.

Три надёжных подхода

Универсальная настройка, рекомендуемая в документации провайдера. При наличии референсных материалов отправляйте следующее. Независимо от того, какую подзадачу выберет модель, запрос не завершится ошибкой из-за ограничений параметров.
Компромисс: если задача классифицируется как преобразование референса в видео, модель выбирает длительность (в наших тестах — 10 секунд или больше), и стоимость зависит от неё. Не рекомендуется для задач, чувствительных к стоимости.

Когда появляется ошибка

Для этих двух ошибок требуются разные исправления: для TaskTypeConstraint измените параметры; для TaskTypeMismatch измените prompt (или снова установите omni_reference_task_type в auto).

Примечания по стоимости

  • Результат редактирования видео имеет ту же длительность, что и исходное видео, а не ту, которую вы хотели. За исходное видео длительностью 25 секунд взимается плата примерно как за 25 секунд.
  • В задачах с референсным видео кадры входного видео также преобразуются в тарифицируемые tokens. Более длинные источники с более высоким разрешением стоят дороже.
  • При использовании duration: -1 в задаче преобразования референса в видео модель выбирает длительность, которая может оказаться больше ожидаемой.
Проверка длительности исходного видео перед отправкой позволяет избежать большинства неожиданностей. Чтобы проверить фактическую стоимость задачи, см. Как найти фактическую стоимость видео Seedance по task_id?.

Связанная документация

API генерации видео

Типы задач и ограничения параметров, полные параметры запроса

Обзор Seedance 2.0 / 2.5

Различия между 2.5 и 2.0, полное использование редактирования и расширения