curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling-4.0",
"prompt": "Волны у берега, плавное приближение камеры, закатный свет",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}'
{
"id": "task_example",
"object": "generation.task",
"model": "kling-4.0",
"status": "queued",
"created_at": 1792713600
}
Kling v4
Генерация видео Kling v4
Единая модель kling-4.0 для текста, референсов и начального/промежуточных/конечного кадров
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling-4.0",
"prompt": "Волны у берега, плавное приближение камеры, закатный свет",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}'
{
"id": "task_example",
"object": "generation.task",
"model": "kling-4.0",
"status": "queued",
"created_at": 1792713600
}
Все три режима используют
По умолчанию 5 секунд / 720p. Явно задавайте параметры для контроля результата. Фиксированные цены и соответствие сохранения звука старому тарифу Sound не обещаются. Оплата определяется котировкой аккаунта и полями usage / billing задачи.
kling-4.0. Путь генерации выбирается по переданным материалам. API асинхронный; после отправки запрашивайте результат по ID задачи платформы.
Используйте API-ключ платформы. В материковом Китае можно заменить
https://toapis.com на https://toapis.cn. Доступность зависит от развернутой конфигурации канала и прав аккаунта.Режимы ввода
| Режим | Содержимое запроса |
|---|---|
| Текст в видео | Передайте текст и параметры результата без медиа. |
| Референсы | Используйте image_urls / video_urls или материалы с reference-ролями. Изображения и видео можно сочетать. |
| Ключевые кадры | Явно задайте first_frame, keyframe, last_frame в image_with_roles. Не добавляйте референсные изображения или видео. |
Параметры запроса
string
обязательно
Авторизация:
Bearer YOUR_API_KEY.string
обязательно
Всегда
kling-4.0. Не меняйте ID модели при переключении режима.string
обязательно
Обязательный непустой текст, до 8000 символов Unicode. Опишите субъект, движение, камеру и связь между материалами.
integer
по умолчанию:"5"
Целое число от 3 до 30 секунд. По умолчанию 5.
string
по умолчанию:"720p"
720p или 1080p. По умолчанию 720p. Разрешение выбирается этим полем.string
auto, 16:9, 9:16, 1:1, 21:9. При отсутствии сохраняется значение провайдера; для автоматического соотношения можно явно передать auto.string[]
Массив URL референсных изображений, до 10. Позиция не означает начальный/конечный кадр. Количество суммируется с reference-ролями; не дублируйте материалы.
string[]
Массив URL референсных видео, до 5 вместе с
video_with_roles.object[]
Поля объекта:
url и role. reference / reference_image обозначают референс. first_frame, keyframe, last_frame обозначают начальный, промежуточный и конечный кадры.object[]
Поля объекта:
url и role. Поддерживаются reference / reference_video.object
Логическое поле
keep_original_sound сохраняет звук референсного видео, например {"keep_original_sound": true}. Только для референсного видео. В режиме ключевых кадров запрещено даже значение false.string
Необязательный бизнес-ID клиента, сохраняется в задаче и поддерживается тем же API статуса.
Правила материалов и валидация
- Используйте общедоступные HTTP(S) URL без имени пользователя и пароля. Локальные файлы сначала загрузите через загрузку изображений или видео. Не передавайте локальные пути или base64.
- Режим референсов допускает до 10 изображений и 5 видео. Обычные массивы и явные reference-роли суммируются; не отправляйте один материал дважды.
- Нужен хотя бы 1 ключевой кадр. До 1 начального, 1 конечного и 8 промежуточных. Всего не более
min(duration + 1, 10). Для 3 секунд до 4 кадров, для 5 до 6, для 9-30 до 10. - Промежуточные кадры идут в порядке элементов
keyframeв массиве. Начальный и конечный определяются ролью, а не позицией обычного изображения. Только начальный, только конечный или только промежуточные также включают режим ключевых кадров. - Ключевые кадры несовместимы с референсами. Не используйте старые Kling
mode,audio,video_listи структуры Omni.audio_with_roles,metadata.elements,metadata.voicesне поддерживаются. - Недопустимые параметры, роли, URL, количества и сочетания режимов отклоняются. Исправьте ошибку перед повторной отправкой. Страница не гарантирует пределы размера, кодеков или длины входного видео; учитывайте требования загрузки и провайдера.
Примеры запросов
Текст в видео
{
"model": "kling-4.0",
"prompt": "Волны у берега, плавное приближение камеры, закатный свет",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
Референсы
{
"model": "kling-4.0",
"prompt": "Сохранить персонажа с изображения и движение камеры из референсного видео",
"duration": 10,
"resolution": "1080p",
"aspect_ratio": "16:9",
"image_urls": [
"https://example.com/character.png"
],
"video_urls": [
"https://example.com/motion.mp4"
],
"metadata": {
"keep_original_sound": true
}
}
Ключевые кадры
{
"model": "kling-4.0",
"prompt": "Плавный переход от начального кадра через промежуточную сцену к конечному",
"duration": 5,
"resolution": "1080p",
"aspect_ratio": "16:9",
"image_with_roles": [
{
"url": "https://example.com/first.png",
"role": "first_frame"
},
{
"url": "https://example.com/middle-1.png",
"role": "keyframe"
},
{
"url": "https://example.com/middle-2.png",
"role": "keyframe"
},
{
"url": "https://example.com/last.png",
"role": "last_frame"
}
]
}
Отправка задачи
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling-4.0",
"prompt": "Волны у берега, плавное приближение камеры, закатный свет",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}'
{
"id": "task_example",
"object": "generation.task",
"model": "kling-4.0",
"status": "queued",
"created_at": 1792713600
}
Статус задачи и оплата
Полеid ответа является ID задачи платформы. Используйте API ниже вместо task_id провайдера. Статусы: queued, in_progress, completed, failed. См. статус видео и Webhook задач.
curl --request GET \
--url https://toapis.com/v1/videos/generations/YOUR_TASK_ID \
--header 'Authorization: Bearer YOUR_API_KEY'