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.metadata.url.
Вызов 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
Отправьте публичный URLhttps://.
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.
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 с двумя виртуальными ассетами
Поместите каждый URIasset://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.
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.