Генерация видео
Отправляйте задачи генерации видео, отслеживайте статус задачи и передавайте расширенные параметры Seedance/Doubao через TENSORAXIS.
Генерация видео выполняется асинхронно: отправьте задачу, чтобы получить task_id, отслеживайте статус задачи, а затем прочитайте URL видео после завершения.
Для видеомоделей Seedance/Doubao используйте поля запроса TENSORAXIS prompt, images и metadata. Не отправляйте тело запроса в стиле Volcengine с верхнеуровневым content[] напрямую в /v1/video/generations; TENSORAXIS не найдёт поле prompt и вернёт 400 prompt is required.
Страницы для отдельных моделей
Эта страница описывает общий процесс отправки, получения и опроса задач. Матрицу возможностей, поля запроса, примеры для каждой возможности и таблицы параметров для каждого семейства видео см. на отдельных страницах:
- Генерация видео SeeDance — Volcengine Ark Doubao Seedance (текст/изображение в видео, первый/последний кадр, референс видео/продолжение)
- Генерация видео HappyHorse — Alibaba Cloud Bailian DashScope (текст/изображение/референс в видео, редактирование видео)
Эндпоинты
| Метод | Путь | Назначение | Рекомендуемое использование |
|---|---|---|---|
POST | /v1/video/generations | Отправка задачи генерации видео | Общая точка входа TENSORAXIS для видеозадач Seedance/Doubao |
GET | /v1/video/generations/{task_id} | Получение задачи генерации видео | Используется в паре с эндпоинтом отправки выше |
POST | /v1/videos | Отправка задачи в стиле OpenAI/Sora | Клиенты, совместимые с Sora/OpenAI |
GET | /v1/videos/{task_id} | Получение задачи в стиле OpenAI/Sora | Клиенты, совместимые с Sora/OpenAI |
GET | /v1/videos/{task_id}/content | Проксирование скачивания содержимого видео | Получение содержимого завершённого видео |
Для новых интеграций Seedance/Doubao предпочтительно использовать /v1/video/generations.
Тело запроса
POST /v1/video/generations
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
model | string | Да | Название модели для вызова |
prompt | string | Да | Промпт для видео; при пустом значении возвращается 400 prompt is required |
image | string | Нет | URL одного референсного изображения; сервер нормализует его в images |
images | string[] | Нет | URL референсных изображений для генерации видео из изображения |
metadata | object | Нет | Специфичные для модели или провайдера параметры; сюда помещаются расширенные параметры Seedance/Doubao |
seconds | string | Нет | Поле совместимости; положительное целое число преобразуется в вышестоящее поле duration для Doubao/Seedance |
duration | integer | Нет | Общее поле задачи; для Seedance/Doubao предпочтительнее использовать metadata.duration |
size | string | Нет | Поле размера, используемое некоторыми видеомоделями |
mode | string | Нет | Поле режима, используемое некоторыми видеомоделями |
input_reference | string | Нет | Входной референс, используемый в некоторых потоках, совместимых с OpenAI/Sora; не используется в примерах Seedance/Doubao |
Примеры правильного и неправильного использования
Неправильно: отправка вышестоящего тела запроса с верхнеуровневым content[] напрямую в TENSORAXIS.
{
"model": "doubao-seedance-2-0-260128",
"content": [
{
"type": "text",
"text": "An old man wearing a hat smiles and walks forward"
}
]
}Правильно: используйте поля запроса TENSORAXIS и позвольте релею преобразовать их.
{
"model": "doubao-seedance-2-0-260128",
"prompt": "An old man wearing a hat smiles and walks forward",
"images": ["https://example.com/reference.jpg"],
"metadata": {
"resolution": "1080p",
"ratio": "16:9",
"duration": 5,
"camera_fixed": true,
"watermark": false
}
}Отправка задачи
curl https://api.tensoraxis.ai/v1/video/generations \
-H "Authorization: Bearer $TENSORAXIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-0-260128",
"prompt": "An old man wearing a hat smiles and walks forward",
"images": ["https://example.com/reference.jpg"],
"metadata": {
"resolution": "1080p",
"ratio": "16:9",
"duration": 5,
"camera_fixed": true,
"watermark": false
}
}'Успешный ответ на отправку возвращает публичный идентификатор задачи. Поля могут немного отличаться в зависимости от видеоканала, но обычно включают:
{
"id": "task_xxxxx",
"task_id": "task_xxxxx",
"object": "video",
"model": "doubao-seedance-2-0-260128",
"status": "queued",
"progress": 0,
"created_at": 1760000000
}Сохраните id или task_id для последующего опроса.
Получение задачи
Если вы отправляете задачу через общий эндпоинт видеозадач, опрашивайте её так:
curl https://api.tensoraxis.ai/v1/video/generations/task_xxxxx \
-H "Authorization: Bearer $TENSORAXIS_API_KEY"Общий ответ на получение использует обёртку задачи следующего вида:
{
"code": "success",
"message": "",
"data": {
"task_id": "task_xxxxx",
"status": "SUCCESS",
"progress": "100%",
"result_url": "https://example.com/video.mp4",
"fail_reason": ""
}
}Значения общих статусов:
| Статус | Значение |
|---|---|
SUBMITTED / QUEUED | Отправлено или в очереди |
IN_PROGRESS | Генерируется |
SUCCESS | Завершено; читайте result_url |
FAILURE | Ошибка; читайте fail_reason |
Путь получения в стиле OpenAI/Sora:
curl https://api.tensoraxis.ai/v1/videos/task_xxxxx \
-H "Authorization: Bearer $TENSORAXIS_API_KEY"Этот путь возвращает ответ object: "video" и при успехе предоставляет URL видео в полях url, video_url и metadata.url.
Seedance/Doubao metadata
Для каналов Doubao/Seedance TENSORAXIS преобразует prompt, images и metadata в форму задачи генерации контента Volcengine:
| Поле запроса TENSORAXIS | Передаётся вышестоящему как |
|---|---|
prompt | content[].text |
images[] | content[].image_url.url |
seconds | duration |
metadata.resolution | resolution |
metadata.ratio | ratio |
metadata.duration | duration |
metadata.frames | frames |
metadata.seed | seed |
metadata.camera_fixed | camera_fixed |
metadata.watermark | watermark |
metadata.generate_audio | generate_audio |
metadata.draft | draft |
metadata.service_tier | service_tier |
metadata.return_last_frame | return_last_frame |
metadata.execution_expires_after | execution_expires_after |
metadata.callback_url | callback_url |
metadata.tools | tools |
Примечания:
metadata.modelудаляется и не может переопределить оплачиваемую модель.- Поля
metadata, которые не соответствуют текущей структуре адаптера, как правило, не пересылаются вышестоящему API. metadata.content— это расширенное внутреннее поле совместимости, которое может переопределить список содержимого, сгенерированный изimages; публичные интеграции не должны его использовать.- Допустимые значения, перечисления и фактическое поведение вышестоящего API определяются официальной документацией Volcengine для выбранной модели. Эта страница описывает только то, как текущий релей TENSORAXIS принимает и пересылает поля.
Рекомендации по опросу
- Подождите 2-5 секунд перед первым опросом после отправки задачи.
- Опрашивайте каждые 5-10 секунд, пока задача генерируется.
- Не используйте высокочастотный опрос вместо колбэков; ставьте большие пакеты задач в очередь в вашем приложении.
- Если вы получаете
429, снизьте параллелизм и повторяйте запрос с экспоненциальной задержкой.
Реранжирование
Переранжирование документов-кандидатов по релевантности запросу.
Генерация видео SeeDance
Вызов моделей Volcengine Ark Doubao Seedance через TENSORAXIS — текст-в-видео, изображение-в-видео, первый/последний кадр, видео-референс/продолжение, а также расширенные параметры metadata и тарификация.