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.0)».
  • content: масив вхідного контенту, type може бути text (підказка), image_url (посилальна картинка), audio_url (посилання на аудіо, 2.0), video_url (посилання на відео, 2.0). Зображення можна вказати за допомогою role: first_frame (перша рамка) / last_frame (остання рамка) / reference_image (посилання на обличчя / персонаж / об’єкт).
  • resolution: вихідна роздільна здатність, доступні варіанти 480p / 720p / 1080p (стандартна модель 2.0 також підтримує 4k; швидка / міні версії 2.0 підтримують максимум 720p).
  • ratio: співвідношення сторін, доступні варіанти 16:9 / 4:3 / 1:1 / 3:4 / 9:16 / 21:9 / adaptive.
  • duration: тривалість відео (секунди), для 1.x в межах 2–12, для 2.0 в межах 2–15.
  • seed: випадкове насіння, ціле число, від -1 до 4294967295.
  • camerafixed: чи фіксувати камеру, true / false.
  • watermark: чи додавати водяний знак, true / false.
  • generate_audio: чи генерувати відео з аудіо, true / false, тільки doubao-seedance-1-5-pro-251215 підтримується.
  • return_last_frame: чи повертати URL останньої рамки відео в результатах.
  • 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 (старий спосіб, слабка перевірка, при помилці автоматично використовуються значення за замовчуванням). Повний список параметрів наведено нижче:
Рекомендована практика: безпосередньо в Request Body використовуйте відповідні верхні поля (наприклад, resolution, ratio тощо), для режиму жорсткої перевірки, при неправильному заповненні параметрів буде повернено чітке повідомлення про помилку, що полегшує виявлення проблем.

Генерація відео з аудіо

doubao-seedance-1-5-pro-251215 підтримує генерацію відео з аудіо через параметр generate_audio:
Інші моделі не підтримують цей параметр, передача його буде проігнорована.

Генерація відео з зображення на першому кадрі

Якщо ви хочете згенерувати відео з зображення, спочатку параметр content повинен містити елемент з type рівним image_url, поле image_url повинно бути у форматі об’єкта: {"url": "https://..."} або у форматі Base64 {"url": "data:image/png;base64,..."}.
Увага: image_url не підтримує пряме передавання у форматі рядка (наприклад, "image_url": "https://..."), обов’язково використовуйте формат об’єкта "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) підтримує передачу «реальних / персонажних» референсних матеріалів: додайте в content елемент з type рівним image_url, role рівним reference_image, щоб використовувати фотографії людей як референс, модель буде зберігати риси обличчя цієї особи у згенерованому відео, таким чином «поміщаючи» ту ж людину в абсолютно нові сцени, дії або кадри.
📌 Фотографії реальних людей будуть автоматично зареєстровані платформою як базові матеріали, а потім використані для генерації, весь процес для виклику повністю прозорий: формат запиту та відповіді залишається незмінним, не потрібно жодних додаткових параметрів, лише при першій генерації знадобиться кілька секунд для обробки матеріалів.
Основні моменти використання:
  • Лише Seedance 2.0 серії моделі підтримують reference_image; моделі 1.x будь ласка, використовуйте first_frame / last_frame (перша та остання рамка відео).
  • reference_image не може використовуватися разом з first_frame / last_frame, обирайте один з варіантів.
  • Максимальна кількість мультимедійних посилань: image_url не більше 9 зображень; 2.0 також підтримує audio_url (роль reference_audio, максимум 3 записи) та video_url (роль reference_video, максимум 3 записи).
  • Рекомендується використовувати одиночні, фронтальні, чіткі, без перешкод фотографії для посилань, чим чіткіше обличчя, тим вища схожість.

Приклад 1: Збереження зовнішності персонажа в крупному плані

Передайте фотографію обличчя, щоб персонаж усміхався та махав рукою в камеру. Відповідний код:
Повернене значення виглядає так, персонаж у згенерованому відео відповідає фотографії:

Приклад 2: Помістіть ту ж саму людину в нову сцену

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

Асинхронний зворотний виклик

Оскільки час генерації API SeeDance Videos може бути довгим (приблизно 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.0 для створення відео. Сподіваємося, цей документ допоможе вам краще інтегрувати та використовувати цей API. Якщо у вас є будь-які питання, будь ласка, звертайтеся до нашої технічної підтримки.