HiAPI
Блог

Руководство по использованию

Создание коротких видео с Kling 3.0 «изображение в видео» через API HiAPI

Oct 8, 2026
Создание коротких видео с Kling 3.0 «изображение в видео» через API HiAPI

Короткие видео — это формат, который в итоге должна поддерживать любая контент-конвейерная система, а самый дешёвый способ надёжно производить их массово — это «изображение в видео»: взять статичный кадр, который вы уже контролируете (фотографию продукта, дизайн персонажа, сгенерированный ключевой кадр), и позволить видеомодели его оживить. Точка входа «изображение в видео» модели Kling 3.0 на HiAPI отлично справляется с этой задачей и предлагает функцию, которую пропускает большинство i2v-моделей: вы можете одновременно задать первый и последний кадры, так что модель будет анимировать между двумя состояниями, а не просто экстраполировать движение из одного кадра.

Этот учебник строит полный, скриптуемый рабочий процесс: сгенерировать первый кадр, отправить его в асинхронный API задач Kling 3.0, опрашивать до завершения и скачать готовый клип с нативно синхронизированным звуком — всё через обычные HTTP-вызовы, которые можно сразу поместить в пакетное задание.

Почему «изображение в видео», а не «текст в видео»

«Текст в видео» каждый раз преподносит сюрприз. «Изображение в видео» даёт вам отправную точку, которую вы уже одобрили — это важно, когда этот кадр является фотографией продукта, брендовым персонажем или чем-то, что должно выглядеть определённым образом до начала движения. Модель «изображение в видео» Kling 3.0 развивает это дальше с помощью управления первым и последним кадром: передайте одно референсное изображение, и модель использует его только как начало; передайте два, и второе станет целевым конечным состоянием, а модель интерполирует движение между ними. Это по сути программируемая покадровая анимация через один вызов API, без необходимости в каком-либо редакторе временной шкалы.

Структура запроса

Kling 3.0 «изображение в видео» работает на единой точке входа асинхронных задач HiAPI — POST /v1/tasks, затем опрос GET /v1/tasks/{id} до завершения. Входная схема модели намеренно минимальна:

{
  "model": "kling-3.0/image-to-video",
  "input": {
    "prompt": "фонарь медленно загорается, пока камера наезжает, тёплое кинематографичное свечение",
    "image_urls": ["https://static.hiapi.ai/blog/kling-3-0-image-to-video-short-form-workflow/first-frame-v2.jpg"],
    "duration": 3,
    "resolution": "720p",
    "sound": true
  }
}

Прежде чем строить вокруг этого, стоит знать несколько вещей:

  • image_urls принимает 1 или 2 элемента. Одно изображение означает «анимировать, начиная с этого кадра». Два изображения означают «анимировать от первого ко второму» — это и есть упомянутое управление первым и последним кадром. Отдельного поля tail_image_url нет; всё выражается через позицию в массиве.
  • duration — целое число от 3 до 15 секунд. Платформы коротких видео в основном хотят клипы в диапазоне 3–8 секунд, поэтому для одной сцены обычно нужен нижний край этого диапазона.
  • resolution — до 4K, выше, чем у родственной модели kling-3.0-turbo (максимум 1080p). Цена — стоимость, см. цены ниже — поэтому 720p или 1080p покрывают большинство случаев коротких видео без переплаты за разрешение, которое никто не заметит на экране телефона.
  • sound — логическое значение, и это настоящая синхронная генерация звука, а не беззвучный клип с музыкой, добавленной постфактум. Включайте его, когда движение в сцене разумно порождает звук (закрытие двери, ветер, шаги) — результат будет заметно убедительнее беззвучного рендера.
  • Поля aspect_ratio нет — выходное изображение сохраняет соотношение сторон вашего входного изображения.

Сквозной скрипт

Это полный поток на Python: создать задачу, опрашивать до завершения, скачать результат.

import requests
import time

API_KEY = "YOUR_HIAPI_KEY"
BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}

def submit_i2v(image_url, prompt, duration=3, resolution="720p", sound=True):
    payload = {
        "model": "kling-3.0/image-to-video",
        "input": {
            "prompt": prompt,
            "image_urls": [image_url],
            "duration": duration,
            "resolution": resolution,
            "sound": sound,
        },
    }
    resp = requests.post(BASE, headers=HEADERS, json=payload, timeout=60)
    resp.raise_for_status()
    return resp.json()["data"]["taskId"]

def wait_for_result(task_id, poll_interval=5, timeout_s=600):
    deadline = time.time() + timeout_s
    while time.time() < deadline:
        resp = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30)
        resp.raise_for_status()
        task = resp.json()["data"]
        if task["status"] == "success":
            return task["output"][0]["url"]
        if task["status"] == "fail":
            raise RuntimeError(task.get("error"))
        time.sleep(poll_interval)
    raise TimeoutError(f"task {task_id} did not finish in {timeout_s}s")

task_id = submit_i2v(
    image_url="https://static.hiapi.ai/blog/kling-3-0-image-to-video-short-form-workflow/first-frame-v2.jpg",
    prompt="фонарь медленно загорается, пока камера наезжает, тёплое кинематографичное свечение",
)
video_url = wait_for_result(task_id)
print(video_url)  # временный подписанный URL — скачайте сразу, не сохраняйте его как постоянную ссылку

Есть одна деталь, на которой легко споткнуться, когда вы подключаете это к реальному конвейеру: output[0].url, который вы получаете, — это временная ссылка, которая истекает. Скачайте байты немедленно и переместите их в собственное хранилище, а не сохраняйте выходной URL задачи куда-либо надолго.

Вот первый кадр, использованный в этом примере, и клип, сгенерированный из него моделью Kling 3.0 с sound: true:

Клип длительностью 3 секунды, 720p, со звуком, как выше, стоит чуть больше $0.40 — достаточно дёшево, чтобы несколько раз итерировать промпт, прежде чем остановиться на версии, которую хотите выпустить.

Цены: разрешение и звук влияют на стоимость

Kling 3.0 «изображение в видео» тарифицируется за секунду выходной длительности, и разрешение с переключателем звука влияют на тариф:

Разрешение Без звука Со звуком
720p $0.10/s $0.143/s
1080p $0.129/s $0.193/s
4K $0.479/s —

Пример расчёта: клип длительностью 3 секунды, 720p, со звуком — около $0.43. Клип длительностью 5 секунд, 1080p, без звука — $0.645; тот же клип со звуком — $0.965. Для коротких видео, где большинство готовых клипов попадают в диапазон 3–8 секунд, 720p или 1080p почти всегда правильный выбор — цена 4K оправдана только тогда, когда вы компонуете в что-то ниже по потоку, что действительно выиграет от дополнительного разрешения. Прежде чем запускать что-либо в масштабе, проверьте текущие цены, поскольку такие детали, как ставка за секунду, стоит сверять с актуальной страницей, а не кэшировать по памяти.

Пакетная обработка в реальный рабочий процесс

Для короткого видео любого масштаба вы не хотите отправлять одну задачу и постоянно смотреть на неё — вы хотите отправить пачку задач сразу и собирать результаты по мере поступления. Поскольку каждая задача независима и идентифицируется своим taskId, шаблон прост: сначала отправьте все запросы «изображение в видео», сохраните возвращённые ID задач, затем опрашивайте их в цикле, действуя только когда каждая задача переходит в success или fail. Так ваш конвейер будет работать на реальной пропускной способности платформы, а не сериализоваться на самой медленной генерации.

Несколько привычек, которые стоит завести с самого начала:

  • Проверяйте доступность исходного изображения перед отправкой. API задач с радостью примет URL, а затем задача позже провалится, если изображение недоступно — проверка HEAD-запросом заранее сэкономит одну потраченную впустую генерацию.
  • Считайте статус fail нормальным результатом, а не исключением. Вывод модели иногда отклоняет определённую комбинацию промпта и изображения; залогируйте ошибку и переходите к следующему элементу, а не прерывайте всю пачку.
  • Где возможно, переиспользуйте клипы между вариантами. Если вы тестируете несколько субтитров или звуковых дорожек на одной и той же сгенерированной анимации, нет нужды заново генерировать само видео — это чисто этап редактирования ниже по потоку.

Если вы впервые настраиваете API-ключ и аутентификацию, краткое руководство HiAPI охватывает основы получения ключа и выполнения первого аутентифицированного вызова, после чего вы сможете строить на этом полный пакетный конвейер.

Итог

Модель «изображение в видео» Kling 3.0 превращает один статичный кадр — или два, если нужно управление первым и последним кадром — в короткий видеоклип с синхронным звуком за один HTTP-вызов, а цена предсказуемо масштабируется по длительности, разрешению и необходимости звука. Для конвейера коротких видео сочетание такого контроля, низкой стоимости за клип в 720p/1080p и прямолинейного асинхронного API задач позволяет легко перейти от «одной статичной картинки» к «пачке готовых клипов», не открывая видеоредактор.

Похожие статьи

Все статьи →

Начните работать с постоянными артефактами ИИ

Получите API-ключ и вызывайте модели изображений, видео и аудио через один API на основе tasks.

Читать документацию API