Video
Kling 3.0
Генерируйте с Kling 3.0 ролики на 3–15 секунд из текста или из первого и последнего кадра, с нативным звуком по желанию, многоплановыми промптами и повторно используемыми элементами, с выдачей через задачу.
Kling 3.0 — модель генерации видео от Kuaishou. Один запрос создаёт ролик на 3–15 секунд из промпта или из первого кадра и необязательного последнего кадра в трёх режимах качества (std, pro, 4K), с нативным звуком, если вы его запросите. Ролик также может быть последовательностью до пяти планов, у каждого из которых свой промпт и своя длина. Отправьте запрос, сохраните возвращённый идентификатор задачи и получите готовое видео из задачи. Изображения передаются как URL.
ID моделей
| ID модели | Входные данные | Режимы | Длительность |
|---|---|---|---|
kling-3-0 | текст, первый и последний кадр, элементы | std, pro, 4K | 3–15 секунд |
Актуальные цены — на странице модели.
Краткий пример
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-3-0",
"prompt": "A red paper boat drifting on a calm pond at sunrise, soft mist on the water, slow push-in, no text, no logos.",
"mode": "pro",
"duration": 5,
"aspect_ratio": "16:9"
}'Конечная точка
POST https://api.seedrouter.ai/v1/videos/generations| Заголовок | Значение |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
В ответе приходит задача ({"id": "task_...", "status": "processing"}), а не готовое видео. Результат получайте опросом GET /v1/tasks/{task_id}. Храните API-ключи в серверном коде.
Параметры
| Поле | Тип | По умолчанию | Примечания |
|---|---|---|---|
model | string | обязательно | kling-3-0 |
prompt | string | обязательно для одного плана | До 2 500 символов. Необязательно в многоплановом режиме. |
image_urls | array of URLs | нет | До 2 изображений: первое — первый кадр, второе — последний кадр. Без изображений ролик создаётся из текста. |
mode | enum | pro | std, pro или 4K (K заглавная). |
duration | integer | 5 | 3–15 секунд. |
aspect_ratio | enum | 16:9 | 16:9, 9:16 или 1:1. |
sound | boolean | false | Генерировать нативный звук вместе с видео. |
multi_shots | boolean | false | Собрать ролик из планов в multi_prompt. |
multi_prompt | array | нет | До 5 планов, каждый {"prompt", "duration"}: промпт длиной до 500 символов и целое число секунд от 1 до 12. Обязательно, если multi_shots равен true. |
kling_elements | array | нет | До 3 элементов, каждый {"name", "description", "element_input_urls"} с 2–4 URL изображений. |
Схема строгая: неизвестные поля отклоняются, а не игнорируются. callback_url недоступен; вместо этого опрашивайте задачу.
Многоплановые ролики
Задайте multi_shots равным true и опишите каждый план в multi_prompt. В сумме длительности планов должны давать 3–15 секунд; эта сумма и есть длина ролика, а duration не используется. prompt можно не указывать или использовать для того, что общее у всех планов.
{
"model": "kling-3-0",
"mode": "pro",
"multi_shots": true,
"multi_prompt": [
{"prompt": "A red paper boat on a calm pond at sunrise, wide shot", "duration": 3},
{"prompt": "The boat drifts under a small wooden bridge, low angle", "duration": 3}
]
}Элементы
Элемент — это объект, который модель сохраняет неизменным на протяжении всего ролика: человек, товар или персонаж. Задайте ему name, короткое description и 2–4 его изображения, а затем упомяните его по имени в промпте (например, @hero).
{
"model": "kling-3-0",
"prompt": "@hero slowly turns toward the camera in soft window light",
"kling_elements": [
{
"name": "hero",
"description": "a young woman with short black hair and a yellow raincoat",
"element_input_urls": ["https://example.com/hero-front.png", "https://example.com/hero-side.png"]
}
]
}Медиавходы
Каждое изображение — это публичный URL по HTTP(S). Data URI в base64 не принимаются: загрузите файл в собственное хранилище и передайте его URL. Используйте изображения JPG или PNG размером до 10 МБ.
Факторы стоимости
Актуальные тарифы смотрите в разделе цен модели. Kling 3.0 тарифицируется за секунду видео по тарифу, который зависит от режима и от того, включён ли sound:
billed seconds = duration (single shot)
billed seconds = Σ multi_prompt[].duration (multi_shots: true)
cost = billed seconds × rate per secondОплачиваемые секунды известны при приёме запроса, поэтому зарезервированная сумма равна списанной. Итоговые списания смотрите в истории использования своей учётной записи. Неуспешные задачи не тарифицируются.
Схема вывода
При отправке возвращается задача:
{"id": "task_...", "model": "kling-3-0", "status": "processing", "created_at": 1789689600}Получение задачи
GET https://api.seedrouter.ai/v1/tasks/{task_id}Опрашивайте каждые 10–20 секунд, пока status не станет completed или failed. Сетевой тайм-аут во время опроса не означает, что генерация завершилась сбоем: сохраните идентификатор задачи и продолжите проверку. Не создавайте другую задачу, чтобы узнать ход выполнения.
Выполненная задача
{
"id": "task_...",
"model": "kling-3-0",
"status": "completed",
"created_at": 1789689600,
"finished_at": 1789689710,
"output": {
"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"
}
}В наших тестах ролик std на 3 секунды пришёл в MP4 (H.264) с разрешением 1280 × 720, а ролик pro на 5 секунд с sound — в 1920 × 1080 со звуковой дорожкой, каждый примерно за две-три минуты.
Ошибки
Запросы, отклонённые до создания задачи, возвращают HTTP-ошибку вместе с объектом error и не тарифицируются. Задача, которая завершилась сбоем уже после приёма, при запросе возвращает HTTP 200 с status: "failed" и объектом error.
Коды, HTTP-статусы и рекомендации по повторным попыткам приведены в общем каталоге ошибок.
{
"id": "task_...",
"model": "kling-3-0",
"status": "failed",
"error": {
"code": 60001,
"message": "The request was rejected by the content policy. Please revise the prompt or input images."
}
}Если тайм-аут произошёл при самой отправке, сначала проверьте свои задачи и только потом отправляйте повторно: первый запрос мог быть уже принят.
Советы
- Описывайте объект, место, движение камеры и свет — по одному предложению на каждое; Kling понимает операторский язык вроде «медленный наезд» и «нижний ракурс».
- Делайте черновик в
std, а затем рендерите финальный план вproили4Kтем же запросом. - Используйте первый и последний кадр, чтобы задать начало и конец плана.
- Разбивайте сцену на планы с помощью
multi_prompt, вместо того чтобы описывать несколько склеек в одном промпте. - Добавьте
no text, no logos, чтобы в кадре не появлялись выдуманные знаки.
