Генерация видео
Генерация видео — асинхронная: отправьте задачу и получите её ID, опрашивайте состояние, затем скачайте результат. Шлюз поддерживает два формата:
| Формат | Отправка | Запрос | Примечания |
|---|---|---|---|
| Формат OpenAI Sora | POST /v1/videos | GET /v1/videos/{video_id} | Стандартная структура API Sora |
| Универсальный формат задач | POST /v1/video/generations | GET /v1/video/generations/{task_id} | Универсальная видеозадача NewAPI |
Формат Sora
Отправка задачи
POST /v1/videoscurl https://test.kailin.com.cn/v1/videos \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-token" \
-d '{
"model": "sora-2",
"prompt": "An orange cat rolling in the snow, slow motion",
"seconds": "10",
"size": "1280x720"
}'
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
model | string | Да | Видеомодель, например sora-2, sora-2-pro |
prompt | string | Да | Описание сцены |
seconds | string | Нет | Длительность (например, "4" / "8" / "12", зависит от модели) |
size | string | Нет | Разрешение, например 1280x720 / 720x1280 |
input_reference | file | Нет | Референсное изображение / первый кадр (только multipart) |
Ответ (объект видео)
{
"id": "video_abc123",
"object": "video",
"created_at": 1730000000,
"status": "queued",
"model": "sora-2",
"prompt": "An orange cat rolling in the snow, slow motion",
"size": "1280x720",
"seconds": "10",
"progress": 0
}
Запрос задачи
GET /v1/videos/{video_id}curl https://test.kailin.com.cn/v1/videos/video_abc123 \
-H "Authorization: Bearer sk-your-token"
Смена статусов: queued → in_progress → completed / failed, при выполнении progress идёт от 0 до 100.
Скачивание видео
GET /v1/videos/{video_id}/contentПосле статуса completed скачайте бинарный MP4:
curl "https://test.kailin.com.cn/v1/videos/video_abc123/content" \
-H "Authorization: Bearer sk-your-token" \
--output result.mp4
Универсальный формат задач
Отпр авка задачи
POST /v1/video/generationscurl https://test.kailin.com.cn/v1/video/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-token" \
-d '{
"model": "kling-v1",
"prompt": "Shuttles flying over a cyberpunk city",
"duration": 5
}'
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
model | string | Да | Название видеомодели (см. список моделей) |
prompt | string | Да | Описание сцены |
image_url | string | Нет | Изображение первого кадра для image-to-video |
duration / size и др. | - | Нет | Прочие параметры передаются в зависимости от модели (длительность, разрешение, соотношение сторон…) |
Ответ
{ "task_id": "4f6a2b1c-xxxx-xxxx-xxxx" }
Запрос задачи
GET /v1/video/generations/{task_id}curl https://test.kailin.com.cn/v1/video/generations/4f6a2b1c-xxxx \
-H "Authorization: Bearer sk-your-token"
{
"task_id": "4f6a2b1c-xxxx",
"status": "SUCCESS",
"video_url": "https://oss.example.com/video/xxx.mp4",
"progress": "100%"
}
| Поле | Описание |
|---|---|
status | Статус задачи (SUBMITTED / IN_PROGRESS / SUCCESS / FAILURE, зависит от канала) |
video_url / url | URL результата (имя поля различается между каналами) |
progress | Прогресс |
Осторожно
Генерация видео занимает от десятков секунд до нескольких минут. Опрашивайте состояние с интервалом 10–30 секунд и сохраняйте ID задачи (записи задач шлюза хранятся ограниченное время). video_url временный — после завершения своевременно перезалейте файл на собственное хранилище.