Skip to main content
В этой статье будет представлена инструкция по интеграции API генерации видео SeeDance, который позволяет генерировать официальные видео SeeDance, вводя пользовательские параметры.

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

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

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

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

Как видно, мы настроили заголовки запроса, включая:
  • accept: в каком формате вы хотите получить ответ, здесь указано application/json, то есть в формате JSON.
  • authorization: ключ для вызова API, который можно выбрать из выпадающего списка после подачи заявки.
Также настроено тело запроса, включая:
  • 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, а по завершении задачи отправляет результат на этот адрес.
  • async: опционально, если установить в true, интерфейс немедленно возвращает task_id, не требуя предоставления callback_url, затем результаты можно получить через соответствующий интерфейс опроса задач.
После выбора можно увидеть, что справа также сгенерирован соответствующий код, как показано на изображении:

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

Внутренние параметры

В конце content[].text можно передать параметры генерации, добавив --parameter value (старый способ, слабая проверка, при ошибке автоматически используются значения по умолчанию). Полный список параметров:
Рекомендуемая практика: Используйте соответствующие верхние поля (например, 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.
  • Максимальное количество мультимедийных ссылок: image_url максимум 9 изображений; 2.0 также поддерживает audio_url (роль reference_audio, максимум 3 записи) и video_url (роль 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 довольно долгое (около 1-2 минут), вы можете использовать асинхронный режим через поле callback_url, чтобы избежать длительного удержания HTTP-соединения. Общий процесс: клиент инициирует запрос, указывая callback_url, API немедленно возвращает ответ с task_id; после завершения задачи платформа отправляет результаты в формате POST JSON на callback_url, результаты также содержат 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: Внутренняя ошибка сервера, что-то пошло не так на сервере.

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

Заключение

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