Skip to main content
Базовый URL: https://router.flatkey.ai Это руководство даёт вам готовый к копированию путь для использования Seedance через Flatkey. Начните с задачи “текст в видео”, опрашивайте задачу до завершения, затем скачайте сгенерированный MP4. Если вам нужны переиспользуемые ссылки на продукт, фон, аудио или реального человека, переходите к разделам о библиотеке ассетов.

Готовые к копированию примеры

Используйте иконку копирования на любом блоке команд, затем замените YOUR_FLATKEY_API_KEY, task_..., ast_... и rph_... на собственные значения.

Один асинхронный воркфлоу

Создайте задачу через POST /v1/videos, опрашивайте её через GET /v1/videos/{task_id} и скачайте MP4 из metadata.url.
Используйте этот заголовок авторизации в каждом API-запросе этого руководства. Единственное исключение — URL скачивания видео, возвращаемый в metadata.url.
Держите свой API-ключ в тайне. Не вставляйте его в публичные логи, страницы или тикеты поддержки.

Вызов Seedance

Начните здесь, если вы просто хотите создать задачу “текст в видео” и скачать готовое видео.

1. Создайте задачу “текст в видео”

Отправьте POST /v1/videos с моделью seedance-2.0 и текстовым промптом.
Скопируйте возвращённое значение task_.... Сохраните его в вашей базе данных или заметках, так как оно понадобится для проверки видео.

2. Опросите задачу

Используйте этот эндпоинт с сохранённым ID задачи:
Опрашивайте, пока status не станет completed, затем прочитайте URL скачивания из metadata.url. Если статус failed, прочитайте error.message, исправьте запрос и создайте новую задачу.
После завершения задачи metadata.url позволяет скачать MP4-файл без заголовка авторизации. Относитесь к этому URL как к приватному и не публикуйте его.

Использование библиотеки ассетов

Используйте библиотеку ассетов, когда хотите зарегистрировать ссылку один раз, дождаться её готовности и повторно использовать в запросах Seedance. Есть два типа ассетов: Используйте URI asset://ast_..., возвращаемый Flatkey, в ваших запросах к Seedance.

Виртуальные ассеты

Виртуальные ассеты не требуют верификации реального человека. Создавайте их из публичного URL или загружайте локальный файл, затем повторно используйте возвращённый URI ассета Flatkey.

1. Создайте виртуальный ассет из публичного HTTPS URL

Отправьте публичный URL https://.
Ответ включает id, например ast_1234567890abcdef1234567890abcdef, и статус, например Processing. Постройте переиспользуемый URI, добавив asset:// перед ID:
Не отправляйте model при создании, загрузке или запросе ассета. Flatkey определяет соответствующие модели Seedance из API-ключа, использованного для запроса.

2. Загрузите локальный виртуальный ассет

Для локального файла изображения, видео или аудио отправьте multipart/form-data на POST /v1/assets/upload. Используйте одно поле file. asset_type может быть Image, Video или Audio.
Ответ имеет ту же форму ассета, что и при создании из URL. Сохраните его id или asset_url для опроса и последующих запросов на видео.

3. Опрашивайте, пока выбранная модель не станет доступна

Запрашивайте каждый ассет с тем же API-ключом, который будет создавать задачу на видео. Например, проверьте два ассета изображений отдельно:
Каждый ответ ассета включает available_models. available_models — это всегда массив, содержащий модели, которые могут использовать этот ассет прямо сейчас. Частично готовый ассет может выглядеть так:
status — это агрегированное состояние по соответствующим моделям Seedance для данного API-ключа: Вам не нужно ждать агрегированного статуса Active, если выбранная вами модель уже указана в списке. Перед созданием задачи убедитесь, что выбранная модель присутствует в available_models каждого ассета. Для быстрого режима используйте seedance-2.0-fast; для профессионального — seedance-2.0. Запрос на создание задачи заново проверяет готовность, поэтому повторите опрос, если маршрутизация изменилась между GET- и POST-запросами. URI asset:// идентифицирует ассет, но сам по себе не подтверждает готовность. Deleting означает, что удаление в процессе и ассет не может быть использован для новой задачи. После завершения удаления GET /v1/assets/{asset_id} возвращает 404 asset_not_found; не ждите опрашиваемого статуса Deleted.

4. Вызовите Seedance с двумя виртуальными ассетами

Поместите каждый URI asset://ast_... в поле медиа, соответствующее типу ассета: image_url.url для Image, video_url.url для Video или audio_url.url для Audio. Запросу Seedance нужен текст или хотя бы одно изображение/видео; одного аудио недостаточно. Этот пример запускается только после того, как оба ассета указывают seedance-2.0-fast в available_models.
Скопируйте возвращённый task_... и используйте GET /v1/videos/{task_id} из первого раздела, чтобы скачать готовое видео из metadata.url.

Ассеты реального человека

Ассеты реального человека предназначены для лица, голоса или видео конкретного человека. Эта возможность имеет ограниченный доступ. Используйте её только после того, как Flatkey включит её для вашей учётной записи. Вы создадите профиль, отправите verification_url человеку, дождётесь, пока профиль станет active, создадите ассет, дождётесь, пока status ассета станет Active, затем вызовете Seedance с asset://ast_.... Ограничения размера файла: Запросы на запись в этом разделе требуют Idempotency-Key. Заменяйте каждый плейсхолдер YOUR_UNIQUE_KEY_... новым UUID для каждого нового запроса на запись. Повторно используйте ключ только при повторе точно такого же запроса.

1. Создайте профиль реального человека

Ответ включает id профиля, status и одноразовый verification_url. Отправьте verification_url реальному человеку и попросите его открыть эту ссылку самостоятельно. Не публикуйте эту ссылку. Если ссылка истекла или человеку нужна другая ссылка, создайте новую сессию верификации:
После того как человек завершит страницу верификации, переходите к следующему шагу.

2. Опрашивайте, пока профиль не станет активным

Подождите, пока статус профиля станет active, прежде чем создавать ассеты. Если он pending_verification или verifying, подождите и опросите снова. Если он failed или expired, создайте новую сессию верификации.

3. Создайте ассет реального человека из публичного URL

4. Загрузите локальный файл

Локальная загрузка использует multipart/form-data и доступна только для ассетов реального человека. Используйте одно поле file и позвольте curl установить границу multipart.
Ответ создания включает ID ассета или asset_uri, например asset://ast_1234567890abcdef1234567890abcdef.

5. Опросите готовность и вызовите Seedance

Ответы ассетов реального человека не включают available_models. Получайте список ассетов под профилем, пока status ассета не станет Active:
Если указанный ассет всё ещё Processing, подождите и опросите снова. Если он Failed, создайте новый ассет из более качественной ссылки. После того как ассет станет Active, вызовите Seedance с URI asset://ast_....
Скопируйте возвращённый task_... и используйте GET /v1/videos/{task_id} из первого раздела, чтобы скачать готовое видео из metadata.url.

6. Удалите ассет, когда он больше не нужен

Запрос на удаление возвращает 204 No Content. После завершения удаления GET /v1/assets/{asset_id} возвращает 404 asset_not_found.