Изображение → видео

Kling 2.6 Pro — картинка в видео

Оживляет изображение, 5 или 10 секунд.

kling-video/v2.6/pro/image-to-video
Цена
9,59 ₽
за секунду видео

Со звуком — 19,18 ₽ за секунду.

Длительность 5–10 с; ролик 5 с — 47,95 ₽.

Списывается при постановке задачи в очередь, возвращается, если генерация не удалась.

Пример результата

Попробовать

Стартовый кадр
Последний кадр
Дополнительные настройки
Стоимость
≈ 47,95 ₽

Результат появится здесь. Плейграунд использует тот же API, что и код ниже, и списывает стоимость с вашего баланса.

Параметры запроса

Поля JSON-тела запроса. Другие поля модель не принимает: запрос с ними вернёт ошибку 400.

  • promptстрокаобязательный

    Описание сцены и движения.

    До 2 500 символов
  • start_image_urlссылкаобязательный

    Ссылка на первый кадр (https:// или data:).

  • durationстроканеобязательный

    Длительность ролика в секундах.

    По умолчанию:
    5
    Значения:
    5, 10
    Цена:
    За каждую секунду ролика.
  • generate_audiotrue / falseнеобязательный

    Сгенерировать звук (речь — только на английском и китайском).

    По умолчанию:
    true
    Цена:
    Без звука — 9,59 ₽, со звуком — 19,18 ₽ за секунду.
  • end_image_urlссылканеобязательный

    Ссылка на последний кадр (https:// или data:).

  • negative_promptстроканеобязательный

    Чего не должно быть в кадре.

    По умолчанию:
    blur, distort, and low quality
    До 2 500 символов

Подключение по API

Ключ создаётся в личном кабинете. Подробности — в документации.

curl

curl -X POST https://themegabrain.ru/api/gateway/v1/queue/kling-video/v2.6/pro/image-to-video \
  -H "Authorization: Bearer $MEGABRAIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"дрон медленно пролетает над заснеженной тайгой на рассвете","start_image_url":"https://example.com/frame.jpg","duration":"5","generate_audio":false}'

# Затем опрашивайте status_url и заберите результат по response_url:
curl https://themegabrain.ru/api/gateway/v1/queue/requests/$REQUEST_ID -H "Authorization: Bearer $MEGABRAIN_API_KEY"

Python

import os, time, requests

BASE = "https://themegabrain.ru/api/gateway/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['MEGABRAIN_API_KEY']}"}

job = requests.post(f"{BASE}/queue/kling-video/v2.6/pro/image-to-video", headers=HEADERS, json={
  "prompt": "дрон медленно пролетает над заснеженной тайгой на рассвете",
  "start_image_url": "https://example.com/frame.jpg",
  "duration": "5",
  "generate_audio": False
}).json()

while requests.get(job["status_url"], headers=HEADERS).json()["status"] not in ("COMPLETED", "FAILED"):
    time.sleep(2)

print(requests.get(job["response_url"], headers=HEADERS).json())

JavaScript

const BASE = 'https://themegabrain.ru/api/gateway/v1';
const headers = {
  Authorization: `Bearer ${process.env.MEGABRAIN_API_KEY}`,
  'Content-Type': 'application/json',
};

const job = await fetch(`${BASE}/queue/kling-video/v2.6/pro/image-to-video`, {
  method: 'POST',
  headers,
  body: JSON.stringify({
    "prompt": "дрон медленно пролетает над заснеженной тайгой на рассвете",
    "start_image_url": "https://example.com/frame.jpg",
    "duration": "5",
    "generate_audio": false
  }),
}).then(r => r.json());

let status = job.status;
while (status !== 'COMPLETED' && status !== 'FAILED') {
  await new Promise(r => setTimeout(r, 2000));
  ({ status } = await fetch(job.status_url, { headers }).then(r => r.json()));
}
console.log(await fetch(job.response_url, { headers }).then(r => r.json()));