OneKeyModel LogoOneKeyModel

Генерация видео Seedance

Справочник по API генерации видео Seedance 2.0 и библиотеки ассетов.

Базовый URL и аутентификация

Все запросы используют единый Base URL с API-ключом в заголовке Authorization.

Base URL
https://api.onekeymodel.com/v1
Формат заголовка Authorization
Authorization: Bearer YOUR_API_KEY

Поддерживаемые модели

Следующие модели Seedance 2.0 доступны через API генерации видео:

seedance2_0seedance2_0_fastseedance2_0_mini

API генерации видео

Генерация видео состоит из двух шагов: отправка задачи и опрос результата. Через шлюз параметры Seedance передаются в metadata, prompt автоматически преобразуется в текстовый элемент content.

Шаг 1: Создание видеозадачиPOST /v1/video/generations
Отправьте параметры генерации. Вернётся запись задачи с id.

Текст в видео

bash
curl -X POST https://api.onekeymodel.com/v1/video/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -d '{
    "model": "seedance2_0",
    "prompt": "一只猫在海边奔跑,电影感镜头,阳光,慢动作",
    "metadata": {
      "ratio": "16:9",
      "duration": 5,
      "resolution": "720p",
      "generate_audio": true,
      "bitrate_mode": "standard",
      "watermark": false
    }
  }'

Изображение в видео

bash
curl -X POST https://api.onekeymodel.com/v1/video/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -d '{
    "model": "seedance2_0",
    "prompt": "让图片中的人物向镜头微笑并挥手",
    "metadata": {
      "content": [
        {
          "type": "image_url",
          "image_url": { "url": "https://example.com/input.png" },
          "role": "first_frame"
        }
      ],
      "ratio": "adaptive",
      "duration": 5,
      "resolution": "720p",
      "watermark": false
    }
  }'

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

bash
curl -X POST https://api.onekeymodel.com/v1/video/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -d '{
    "model": "seedance2_0",
    "prompt": "基于参考素材生成一段产品展示视频",
    "metadata": {
      "content": [
        {
          "type": "image_url",
          "image_url": { "url": "asset://Asset-2026xxxx" },
          "role": "reference_image"
        }
      ],
      "ratio": "16:9",
      "duration": 5,
      "resolution": "720p"
    }
  }'

Пример ответа

json
{ "id": "task_xxx" }
Шаг 2: Запрос статуса видеозадачиGET /v1/video/generations/:task_id
Опрашивайте статус по id каждые несколько секунд. При статусе SUCCESS получите URL видео из result_url.
bash
curl -X GET "https://api.onekeymodel.com/v1/video/generations/task_xxx" \
  -H "Authorization: Bearer $YOUR_API_KEY"

Пример ответа

json
{
  "code": "success",
  "data": {
    "task_id": "task_xxx",
    "status": "SUCCESS",
    "result_url": "https://example.com/video.mp4"
  }
}

Параметры запроса

Через шлюз OneKeyModel параметры (кроме model и prompt) передаются в metadata.

Шлюз автоматически добавляет prompt как элемент type=text в content. Если передан metadata.content, prompt всё равно добавляется как текст.

Параметры запроса

ПараметрТипОбязательноОписание
modelstringДаНазвание модели. Поддерживаются seedance2_0, seedance2_0_fast, seedance2_0_mini
promptstringДаТекстовый промпт. Шлюз автоматически преобразует в type=text в content
metadata.contentarrayНетМассив входного контента: изображения, видео, аудио
metadata.generate_audiobooleanНетГенерировать ли аудио
metadata.bitrate_modestringНетРежим битрейта, напр. standard, high
metadata.resolutionstringНетРазрешение, напр. 480p, 720p, 1080p, 4k. Зависит от модели
metadata.ratiostringНетСоотношение сторон. Частые: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, adaptive
metadata.durationintegerНетДлительность видео, обычно 4–15 секунд
metadata.watermarkbooleanНетДобавлять ли водяной знак

Элементы массива content

content — массив для изображений, видео и аудио. Для ассетов библиотеки используйте адреса asset://.

json
// Image
{ "type": "image_url", "image_url": { "url": "https://example.com/image.png" }, "role": "reference_image" }

// Video
{ "type": "video_url", "video_url": { "url": "https://example.com/video.mp4" }, "role": "reference_video" }

// Audio
{ "type": "audio_url", "audio_url": { "url": "https://example.com/audio.mp3" }, "role": "reference_audio" }

// Asset library
{ "type": "image_url", "image_url": { "url": "asset://Asset-2026xxxx" }, "role": "reference_image" }

Распространённые значения role

roleОписание
first_frameПервый кадр
last_frameПоследний кадр
reference_imageРеференс-изображение
reference_videoРеференс-видео
reference_audioРеференс-аудио

Статус задачи

statusОписание
QUEUEDВ очереди или отправлена
IN_PROGRESSВ обработке
SUCCESSУспешно
FAILUREОшибка

API библиотеки ассетов

Единый endpoint с параметром Action. Version можно опустить, по умолчанию 2024-01-01.

Единый endpointPOST /v1/seedance_asset
https://api.onekeymodel.com/v1/seedance_asset?Action={Action}&Version=2024-01-01

Общие параметры

ПараметрТипОбязательноОписание
ActionqueryДаНазвание операции (query). Поддерживается нижний регистр action
VersionqueryНетВерсия OpenAPI, по умолчанию 2024-01-01. Поддерживается нижний регистр version
ProjectNamebodyНетИмя проекта Ark, опционально (body)

Поддерживаемые Action

CreateAssetGroupCreateAssetListAssetGroupsListAssetsGetAssetGetAssetGroupUpdateAssetGroupUpdateAssetDeleteAssetDeleteAssetGroup
CreateAssetGroup — Создать группу ассетов
Создайте группу ассетов для организации загруженных материалов.
bash
curl -X POST "https://api.onekeymodel.com/v1/seedance_asset?Action=CreateAssetGroup&Version=2024-01-01" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -d '{
    "Name": "seedance-demo-group",
    "Description": "Seedance demo assets",
    "GroupType": "AIGC"
  }'
CreateAsset — Создать ассет
Создайте ассет по URL. Обычно переходит в статус Processing и становится доступным после обработки.
bash
curl -X POST "https://api.onekeymodel.com/v1/seedance_asset?Action=CreateAsset&Version=2024-01-01" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -d '{
    "GroupId": "group-2026xxxx",
    "URL": "https://example.com/input.png",
    "Name": "demo-image",
    "AssetType": "Image",
    "Moderation": { "Strategy": "Skip" }
  }'
json
{ "Result": { "Id": "Asset-2026xxxx" } }
ListAssetGroups — Список групп ассетов
Запрос списка групп ассетов с пагинацией.
bash
curl -X POST "https://api.onekeymodel.com/v1/seedance_asset?Action=ListAssetGroups&Version=2024-01-01" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -d '{
    "Filter": { "GroupType": "AIGC" },
    "PageNumber": 1,
    "PageSize": 10,
    "SortBy": "CreateTime",
    "SortOrder": "Desc"
  }'
ListAssets — Список ассетов
Запрос списка ассетов с пагинацией, фильтрация по группе и статусу.
bash
curl -X POST "https://api.onekeymodel.com/v1/seedance_asset?Action=ListAssets&Version=2024-01-01" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -d '{
    "Filter": {
      "GroupType": "AIGC",
      "GroupIds": ["group-2026xxxx"],
      "Statuses": ["Active"]
    },
    "PageNumber": 1,
    "PageSize": 10,
    "SortBy": "CreateTime",
    "SortOrder": "Desc"
  }'
GetAsset — Детали ассета
Получите детали ассета по Asset ID.
bash
curl -X POST "https://api.onekeymodel.com/v1/seedance_asset?Action=GetAsset&Version=2024-01-01" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -d '{ "Id": "Asset-2026xxxx" }'

Статус ассета

StatusОписание
ActiveГотов к использованию в генерации видео
ProcessingПредобработка, пока недоступен
FailedОшибка обработки

Также поддерживаются GetAssetGroup, UpdateAssetGroup, UpdateAsset, DeleteAsset, DeleteAssetGroup.

Рекомендуемый процесс

Типичный процесс с библиотекой ассетов и генерацией видео:

  • 1. Создайте группу ассетов (CreateAssetGroup)
  • 2. Загрузите ассеты (CreateAsset), дождитесь статуса Active, получите Asset ID
  • 3. Отправьте задачу на видео и опрашивайте до получения итогового URL