Создание и редактирование видео
https://api.aisetup.ru/v1/video/generationsAuthorization: Bearer YOUR_KEY| Параметр | Тип | Описание |
|---|---|---|
| model | string | "kling-3-0-turbo" | "kling-3-0" | "kling-2-6" | "kling-motion" |
| webhook_url* | string | URL для webhook (необязателен), поллинг: GET /v1/requests/{id} |
| input | object | Параметры запроса. |
| ↳ prompt* | string | Текстовое описание видео. Обязателен для kling-3-0 / kling-3-0-turbo / kling-2-6. Для kling-motion описывает движение. |
| ↳ duration* | number | Длительность в секундах. kling-3-0: 5 | 10 | 15 (по умолчанию 10). kling-3-0-turbo: 3–15, свободное значение (по умолчанию 5). kling-2-6 / kling-motion: 5 | 10 (по умолчанию 5). |
| ↳ aspect_ratio* | string | Соотношение сторон: "16:9" | "9:16" | "1:1". По умолчанию "16:9". Не применяется, если передан image_url (соотношение берётся из кадра). |
| ↳ resolution* | string | Разрешение: "720" | "1080". По умолчанию "720". |
| ↳ audio* | boolean | Генерировать аудиодорожку. По умолчанию false. Не поддерживается в kling-3-0-turbo (параметр игнорируется). |
| ↳ image_url* | string | kling-3-0 / kling-3-0-turbo / kling-2-6: опорный кадр (img2video, опционально). kling-motion: фото персонажа (обязательно). |
| ↳ image_tail_url* | string | Последний кадр (только kling-3-0 / kling-2-6). Не поддерживается в kling-3-0-turbo и kling-motion. |
| ↳ video_url* | string | URL видео с движением. Обязателен для kling-motion (вместе с image_url). Не поддерживается в kling-3-0 / kling-3-0-turbo / kling-2-6. |
# text-to-video (Kling 3.0)
curl -s "https://api.aisetup.ru/v1/video/generations" \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"kling-3-0","input":{"prompt":"A lone surfer riding a massive wave at sunset","duration":5,"aspect_ratio":"16:9","audio":true}}'
# text-to-video (Kling 3.0 Turbo)
curl -s "https://api.aisetup.ru/v1/video/generations" \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"kling-3-0-turbo","input":{"prompt":"A lone surfer riding a massive wave at sunset","duration":5,"aspect_ratio":"16:9"}}'
# img2video (опорный кадр)
curl -s "https://api.aisetup.ru/v1/video/generations" \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"kling-3-0","webhook_url":"https://your.site/hook","input":{"prompt":"Wind blows through the hair, cinematic","image_url":"https://example.com/portrait.jpg","duration":5}}'
# motion: фото персонажа + видео с движением (оба обязательны)
curl -s "https://api.aisetup.ru/v1/video/generations" \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"kling-motion","input":{"prompt":"the character starts dancing","image_url":"https://example.com/character.png","video_url":"https://example.com/motion.mp4"}}'Структура ответа
| Поле | Тип | Описание |
|---|---|---|
| id | string | ID запроса для polling / webhook. |
| status | string | running — генерация запущена. |
Пример тела ответа (JSON)
{
"id": "REQUEST_ID",
"status": "running"
}Webhook или polling, подробнее в карточке «Проверка статуса видео-запроса»
При успехе result.type = "video_generation", массив result.videos:
{
"id": "REQUEST_ID",
"status": "success",
"result": {
"type": "video_generation",
"videos": [
"https://cdn.aisetup.ru/.../result.mp4"
]
}
}