Перейти к основному содержанию
В этой статье будет представлена инструкция по интеграции SeeDance Videos Generation API — с его помощью можно генерировать официальные видео SeeDance, вводя пользовательские параметры.

Процесс подачи заявки

Чтобы использовать SeeDance Videos Generation API, сначала получите ваш API Token в консоли Ace Data Cloud и сохраните его для дальнейшего использования. Если вы ещё не вошли в систему или не зарегистрировались, вы будете автоматически перенаправлены на страницу входа, где вам будет предложено зарегистрироваться и войти; после завершения вы автоматически вернётесь на текущую страницу. Один API Token позволяет вызывать все сервисы платформы, не нужно подавать отдельную заявку для каждого сервиса. При первой заявке будут предоставлены бесплатные квоты, позволяющие попробовать сервис бесплатно; при недостатке квот вы можете пополнить универсальный баланс в консоли.
📘 Полная документация: SeeDance Videos Generation API →

Базовое использование

Сначала ознакомьтесь с базовым способом использования: достаточно ввести промпт content.text, тип content.type=text и модель model, чтобы получить обработанный результат; конкретное содержимое выглядит следующим образом:

Можно увидеть, что здесь мы настроили Request Headers, включая:
  • accept: в каком формате вы хотите получить результат ответа; здесь указывается application/json, то есть формат JSON.
  • authorization: ключ для вызова API, после получения можно напрямую выбрать из выпадающего списка.
Также настроен Request Body, включающий:
  • model: модель для генерации видео.
    • Серия Seedance 1.x: doubao-seedance-1-0-pro-250528, doubao-seedance-1-0-pro-fast-251015, doubao-seedance-1-5-pro-251215, doubao-seedance-1-0-lite-t2v-250428, doubao-seedance-1-0-lite-i2v-250428.
    • Серия Seedance 2.0 (поддерживает мультимодальные референсы персонажей и аудио/видео): doubao-seedance-2-0-260128 (стандартная), doubao-seedance-2-0-fast-260128 (быстрая), doubao-seedance-2-0-mini-260615 (облегчённая).
    • Seedance 2.5: doubao-seedance-2-5-260628, поддерживает до 30 секунд, референсы только по аудио, больше материалов, редактирование и продление видео.
  • content: массив входного содержимого; type может быть text (промпт), image_url (референсное изображение), audio_url (референсное аудио), video_url (референсное видео). Для изображения можно указать назначение через role: first_frame (первый кадр) / last_frame (последний кадр) / reference_image (референс персонажа / объекта).
  • resolution: выходное разрешение; доступны 480p / 720p / 1080p / 4k. 2.5 поддерживает 480p, 720p, 1080p; 2.0 Fast/Mini поддерживают 480p, 720p; 2.0 Standard поддерживает до 4k.
  • ratio: соотношение сторон; доступны 16:9 / 4:3 / 1:1 / 3:4 / 9:16 / 21:9 / adaptive.
  • duration: длительность видео (секунды, целое число). Серия 1.0: 2–12; 1.5 Pro: 4–12; серия 2.0: 4–15; 2.5: 4–30. 1.5/2.x поддерживают -1 (автоматическая длительность).
  • seed: случайное зерно, целое число от -1 до 4294967295.
  • camerafixed: фиксировать ли камеру, true / false.
  • watermark: добавлять ли водяной знак, true / false.
  • generate_audio: генерировать ли видео со звуком, true / false, поддерживается Seedance 1.5 Pro и серией 2.x.
  • return_last_frame: возвращать ли в результате URL изображения последнего кадра видео.
  • omni_reference_task_type: только для 2.5; auto / reference / edit / extend.
  • output_format: только для 2.5; mp4 / mov, по умолчанию mp4.
  • tools: только для 2.5; в настоящее время поддерживается инструмент онлайн-поиска web_search, с помощью которого можно ограничить количество результатов, количество ключевых слов и источники поиска.
  • priority: необязательный приоритет задачи для 2.5, целое число 0–9, по умолчанию 0.
  • safety_identifier: стабильный анонимный идентификатор конечного пользователя длиной до 64 символов; используйте хеш или внутренний анонимный ID, не передавайте имя, электронную почту или номер телефона.
  • execution_expires_after: время ожидания задачи (секунды), диапазон 3600–259200.
  • callback_url: адрес асинхронного обратного вызова; после настройки API немедленно возвращает task_id, а по завершении задачи отправляет результат методом POST на этот адрес.
  • async: необязательно; при установке значения true интерфейс немедленно возвращает task_id, без необходимости предоставлять callback_url, после чего результат можно получить путём опроса соответствующего интерфейса запроса задач.
После выбора можно заметить, что справа также сгенерирован соответствующий код, как показано на изображении:

Нажмите кнопку «Try», чтобы выполнить тест; как показано на изображении выше, здесь мы получили следующий результат:
Возвращаемый результат содержит несколько полей, описание которых следующее:
  • success: статус задачи генерации видео в данный момент.
  • task_id: ID задачи генерации видео в данный момент.
  • trace_id: ID отслеживания генерации видео в данный момент.
  • data: список результатов задачи генерации видео в данный момент.
    • task_id: серверный ID задачи генерации видео в данный момент.
    • video_url: ссылка на видео задачи генерации видео в данный момент.
    • status: статус задачи генерации видео в данный момент.
      • model: модель, использованная для генерации видео.
Можно увидеть, что мы получили удовлетворительную информацию о видео; нам нужно лишь получить сгенерированное видео SeeDance по адресу ссылки на видео в data результата. Кроме того, если вы хотите сгенерировать соответствующий код интеграции, его можно напрямую скопировать, например, код CURL выглядит следующим образом:

Описание встроенных параметров

В конце промпта content[].text можно передавать параметры генерации, добавляя их в формате --parameter value (старый способ, слабая валидация; при ошибочном заполнении автоматически используются значения по умолчанию). Полный список параметров выглядит следующим образом:
Рекомендуемый способ: напрямую использовать соответствующие поля верхнего уровня в Request Body (например, resolution, ratio и т. д.); это режим строгой валидации, при ошибочном заполнении параметров возвращаются явные сообщения об ошибках, что упрощает поиск проблем.

Генерация видео со звуком

Seedance 1.5 Pro и серия 2.x поддерживают генерацию видео с аудио через параметр generate_audio:
Серия 1.0 не поддерживает этот параметр.

Полномодальная генерация, редактирование и продление Seedance 2.5

doubao-seedance-2-5-260628 поддерживает 480p / 720p / 1080p, 4–30 секунд или автоматическую длительность, а также повышает лимит материалов до 30 эталонных изображений, 10 эталонных видео и 10 эталонных аудио (всего не более 50). 2.5 также поддерживает передачу только эталонного аудио, больше не требуя одновременного предоставления изображения или видео. Для обычной полномодальной генерации можно опустить omni_reference_task_type, установить его в auto или явно установить в reference. Для редактирования и продления видео необходимо передать reference_video:
  • reference: передайте как минимум один reference_image, reference_video или reference_audio; 2.5 поддерживает передачу только эталонного аудио.
  • edit: необходимо использовать ratio: adaptive и duration: -1; выходная длительность тарифицируется по фактическому результату.
  • extend: необходимо использовать ratio: adaptive; duration может быть от 4 до 30 или -1.
  • auto: модель автоматически выбирает генерацию, редактирование или продление на основе промпта и материалов.
  • Когда тип задачи не соответствует материалам или промпту, задача завершится с ошибкой и вернёт локализуемую ошибку параметра; пожалуйста, скорректируйте согласно указанным выше ограничениям и отправьте повторно.

Первый кадр видео из изображения

Если требуется задача генерации видео из изображения, сначала параметр content должен содержать элемент с type, равным image_url, а поле image_url должно быть в объектном формате: {"url": "https://..."} или в формате Base64: {"url": "data:image/png;base64,..."}.
Примечание: image_url не поддерживает прямую передачу строкового формата (например, "image_url": "https://cdn.acedata.cloud/e724d7f13d.png"), необходимо использовать объектный формат "image_url": {"url": "https://..."}, иначе будет возвращена ошибка 400.
Соответствующий код:
Нажав запуск, можно обнаружить, что сразу будет получен результат, как показано ниже:
Можно увидеть, что сгенерированный эффект представляет собой создание видео из изображения, результат аналогичен приведённому выше.

Первый и последний кадры видео из изображения

Если требуются первый и последний кадры видео из изображения, сначала параметр content должен передавать тип image_url, а также отдельно установить role в first_frame и last_frame, тогда можно указать следующее содержимое:
  • role: указывает первый или последний кадр.
  • image_url
    • url Ссылка на изображение Одновременно в content также необходимо ввести тип text в качестве промпта
Соответствующий код:
Нажмите «Выполнить», и можно увидеть, что результат будет получен немедленно, как показано ниже:
Можно увидеть, что результатом генерации является видео с персонажем, аналогичное описанному выше.

Мультимодальные референсы персонажей, аудио и видео (Seedance 2.0)

Серия Seedance 2.0 (doubao-seedance-2-0-260128, doubao-seedance-2-0-fast-260128, doubao-seedance-2-0-mini-260615) поддерживает reference_image, reference_audio и reference_video. Можно использовать собственные или лицензированные материалы для сохранения согласованности персонажей, субъектов, действий, движения камеры, звука и ритма.
Загружайте только собственные или лицензированные материалы с реальными людьми и персонажами. Разные модели по-разному поддерживают материалы с реальными людьми; формат запроса остается неизменным, а при несоответствии материала требованиям будет возвращена явная ошибка.
Ключевые моменты использования:
  • Только модели серии Seedance 2.0 поддерживают reference_image; для моделей 1.x используйте first_frame / last_frame (первый и последний кадры для генерации видео из изображения).
  • Первый кадр, первый и последний кадры при генерации видео из изображения, а также полные мультимодальные референсы — это три взаимоисключающих сценария: first_frame / last_frame нельзя использовать вместе с reference_image / reference_video / reference_audio.
  • Если вы хотите указать первый и последний кадры в полном мультимодальном референсе, пометьте изображения как reference_image и укажите в промпте «изображение 1 как первый кадр» или «изображение 2 как последний кадр»; если необходимо строго зафиксировать первый и последний кадры, используйте только first_frame / last_frame.
  • Максимальное количество мультимодальных референсов: до 9 изображений image_url; 2.0 также поддерживает audio_url (role — reference_audio, до 3 элементов) и video_url (role — reference_video, до 3 элементов).
  • Требования к материалам референсного аудио (audio_url): формат wav / mp3; длительность каждого файла 2–15 секунд, не более 3 файлов и общая длительность не более 15 секунд; каждый файл не более 15 МБ. При выходе за пределы длительности обработка материала завершится ошибкой.
  • Требования к материалам референсного видео (video_url): формат mp4 / mov; длительность каждого файла 2–15 секунд, не более 3 файлов и общая длительность не более 15 секунд.
  • Для референсных изображений рекомендуется использовать фотографии одного человека, анфас, четкие, без перекрытий; чем четче лицо, тем выше сходство.

Пример 1: крупный план с сохранением внешности человека

Передайте фотографию лица, чтобы этот человек улыбнулся и помахал рукой в камеру. Соответствующий код:
Результат возвращается следующим образом, человек в сгенерированном видео сохраняет сходство с референсной фотографией:

Пример 2: поместить того же человека в совершенно новую сцену

Сила reference_image заключается в том, что сохраняется только идентичность человека, тогда как сцена, одежда и действия полностью определяются промптом. Ниже используется та же фотография лица, чтобы человек в бежевом пальто гулял в осеннем парке:
Результат возвращается следующим образом: внешность человека сохранена, а сцена уже переключена на осенний парк:
💡 Если вы хотите, чтобы персонаж точно воспроизводил композицию на фотографии (а не был «тем же человеком в другой сцене»), можно использовать first_frame (первый кадр видео, созданного из изображения), чтобы видео начинало движение с этой фотографии.

Асинхронный обратный вызов

Поскольку API генерации видео SeeDance Videos Generation требует длительного времени для генерации (около 1–2 минут), можно использовать асинхронный режим через поле callback_url, чтобы избежать длительного удержания HTTP-соединения. Общий процесс: клиент указывает callback_url при отправке запроса, API немедленно возвращает ответ, содержащий task_id; после завершения задачи платформа отправляет результат генерации на callback_url в виде POST JSON, при этом результат также содержит task_id для сопоставления.
После завершения задачи платформа отправляет на callback_url следующее содержимое:
Поле task_id в результате совпадает с возвращённым при запросе, и через это поле можно выполнить сопоставление задачи.

Обработка ошибок

При вызове API, если возникает ошибка, API возвращает соответствующий код ошибки и информацию. Например:
  • 400 token_mismatched:Неверный запрос, возможно, из-за отсутствующих или недопустимых параметров.
  • 400 api_not_implemented:Неверный запрос, возможно, из-за отсутствующих или недопустимых параметров.
  • 401 invalid_token:Не авторизовано, недопустимый или отсутствующий токен авторизации.
  • 429 too_many_requests:Слишком много запросов, вы превысили ограничение скорости.
  • 500 api_error:Внутренняя ошибка сервера, на сервере что-то пошло не так.

Пример ответа с ошибкой

Заключение

С помощью этого документа вы уже узнали, как использовать Seedance Videos Generation API для генерации видео из текста, генерации по первому и последнему кадрам и мультимодальным референсам, а также как использовать Seedance 2.5 для редактирования или продления видео. Надеемся, этот документ поможет вам выполнить интеграцию API; если у вас есть вопросы, обратитесь в техническую поддержку.