HiAPI
Блог

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

Veo 3.1 Lite 图像转视频: превратите фотографию в короткий ролик через API hiapi

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

Sep 6, 2026
Veo 3.1 Lite 图像转视频: превратите фотографию в короткий ролик через API hiapi

Кратко

  • Что это: реальный сквозной рабочий процесс, в котором с помощью veo-3.1-lite/image-to-video на API hiapi одно статичное фото превращается в вертикальный короткий ролик с нативной аудиодорожкой. Каждое изображение, каждый промпт и каждый вызов API на этой странице — это реальный вывод показанных запросов.
  • Почему для коротких видео подходит преобразование изображения в видео: вы полностью контролируете композицию, подачу бренда и кадрирование продукта на статичном изображении, а затем позволяете модели добавить движение и атмосферный звук — вместо того чтобы надеяться, что промпт для генерации видео из текста случайно создаст нужный вам кадр.
  • Проверенные факты об API: задача принимает ровно пять входных полей — prompt, image_url (один публичный URL, а не массив), duration (4, 6 или 8 секунд), resolution (720p или 1080p) и generate_audio (логическое значение). Схема строгая — любые другие поля будут отклонены.
  • Реальная стоимость: 4-секундный ролик в 720p с нативной аудио стоит $0.40 ($0.10/сек); при отключённом аудио цена снижается до $0.24 ($0.06/сек). Актуальные тарифы смотрите на странице pricing.
  • Реальное время рендеринга: встроенному ниже 4-секундному ролику потребовалось около 55 секунд от отправки задачи до появления файла, готового к скачиванию.

Почему преобразование изображения в видео подходит для коротких видео

Ролики в стиле TikTok и Reels решаются по первому кадру — то есть по миниатюре, по которой люди решают, нажимать или нет. Генерация видео из текста — это лотерея в плане композиции: вы описываете сцену и надеетесь, что модель снимет её так, как вам нужно. Преобразование изображения в видео переворачивает всё это. Сначала вы фиксируете точный кадр статичной картинкой — расположение продукта, свет, соотношение сторон, — а затем отдаёте модели только движение: что должно парить, дымиться, колыхаться или слегка смещаться, пока камера неподвижна.

Именно для такого разделения труда и предназначен veo-3.1-lite/image-to-video: дайте ему фотографию и промпт с движением, и он вернёт MP4 с нативной поддержкой 9:16 и синхронным звуком — без необходимости прикасаться к видеоредактору.

Демонстрация: статичное фото, а затем — движение

Чтобы сделать всё конкретнее, мы сами прогнали весь процесс на простом объекте: стакан холодного матча-латте, снятый так, как это сделал бы аккаунт рецептов напитков или кафе для вертикальной ленты.

Шаг 1 — исходная фотография

Это статичное изображение было сгенерировано с помощью gpt-image-2/text-to-image в соотношении сторон 9:16 по следующему точному промпту:

A vertical 9:16 studio product photograph of an iced matcha latte in a clear glass
on a white marble countertop, visible ice cubes and vivid green matcha layered against
milk, soft warm morning sunlight streaming in from the left casting a long soft shadow,
a small bamboo matcha whisk and a light wooden scoop with loose matcha powder resting
beside the glass, fine condensation droplets on the glass exterior, a blurred
cream-and-beige kitchen background with shallow depth of field, warm natural color
grade, high-resolution commercial beverage photography, no text, no watermark,
no hands, no logos

Подойдёт любое статичное изображение, если у него есть публичный URL — реальное фото продукта, скриншот или, как здесь, статичное изображение, сгенерированное ИИ.

Шаг 2 — оживите его

Вот реальный вывод — 4-секундный MP4 в 720p, 9:16 с синхронным аудио, созданный из приведённого выше статичного изображения и следующего промпта с движением:

Camera holds a slow, steady static shot with no camera movement or zoom. Gentle
wisps of steam rise from the iced matcha latte, fine condensation droplets slowly
trickle down the glass, and the ice cubes shift subtly with a soft clink. Warm
morning sunlight flickers gently as if from a light breeze outside a nearby window.
Soft ambient cafe background sound with a faint ceramic clink and quiet room tone.

Обратите внимание: этот промпт почти ничего не говорит о самом объекте — фотография уже определила его. Он описывает только то, что должно двигаться и что должно быть слышно, — и в этом весь смысл использования преобразования изображения в видео вместо генерации видео из текста для уже скомпонованного кадра.

Вызов API

В основе своей каждая модель на hiapi — для изображений или видео — работает по одной и той же асинхронной схеме задач: отправить, опрашивать, скачать. Для veo-3.1-lite/image-to-video запрос выглядит так:

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo-3.1-lite/image-to-video",
    "input": {
      "prompt": "Camera holds a slow, steady static shot with no camera movement or zoom. Gentle wisps of steam rise from the iced matcha latte...",
      "image_url": "https://your-cdn.example.com/still.jpg",
      "duration": 4,
      "resolution": "720p",
      "generate_audio": true
    }
  }'

Он сразу возвращает taskId. Опрашивайте его, пока статус не станет success, затем получите файл из output[0].url — эта ссылка истекает, поэтому скачайте файл сразу, а не ссылайтесь на неё напрямую:

import subprocess, json, time

def animate_still(token, image_url, prompt, duration=4, resolution="720p", audio=True):
    def curl(args):
        r = subprocess.run(
            ["curl", "-s", "--max-time", "60", *args,
             "-H", f"Authorization: Bearer {token}"],
            capture_output=True, check=True,
        )
        return json.loads(r.stdout)

    payload = {
        "model": "veo-3.1-lite/image-to-video",
        "input": {
            "prompt": prompt,
            "image_url": image_url,
            "duration": duration,
            "resolution": resolution,
            "generate_audio": audio,
        },
    }
    task = curl(["-X", "POST", "https://api.hiapi.ai/v1/tasks",
                 "-H", "Content-Type: application/json",
                 "-d", json.dumps(payload)])
    task_id = task["data"]["taskId"]

    while True:
        status = curl([f"https://api.hiapi.ai/v1/tasks/{task_id}"])["data"]
        if status["status"] in ("success", "fail"):
            break
        time.sleep(5)

    if status["status"] != "success":
        raise RuntimeError(status.get("error"))
    return status["output"][0]["url"]  # download immediately — this link expires

Это та же схема, что задокументирована для любой модели на основе задач на hiapi, — её мы и использовали для рендеринга ролика выше.

Что на самом деле принимает схема

Мы вручную проверили это на живом эндпоинте, так что считайте это фактом, а не догадкой:

  • prompt — строка, описывающая движение (а если generate_audio включён — и звук).
  • image_url — один публичный URL. Не массив, как у некоторых других i2v-моделей на платформе — передача списка здесь приведёт к ошибке.
  • duration — целое число, только 4, 6 или 8 секунд. Другие значения не принимаются.
  • resolution — "720p" или "1080p".
  • generate_audio — логическое значение. Включает или отключает нативное синхронное аудио.
  • Схема строгая: при отправке нераспознанного поля запрос будет отклонён сразу, а не проигнорирован молча.

Сколько на самом деле стоит один ролик

Цена рассчитывается по выходным секундам и зависит от разрешения и включённого аудио (по состоянию на сентябрь 2026 года — перед масштабным бюджетированием проверьте актуальную страницу цен):

  • 720p с аудио: $0.10/сек — 4-секундный ролик стоит $0.40.
  • 720p без аудио: $0.06/сек — тот же ролик дешевеет до $0.24.
  • 1080p с аудио: $0.14/сек.
  • 1080p без аудио: $0.10/сек.

Для контент-календаря коротких видео именно эта арифметика и даёт реальный рычаг: партия из десяти 4-секундных роликов 720p со звуком обойдётся примерно в $4.00; та же партия без аудио — в $2.40. Если звуковой дизайн важен для поста (фоновый шум кафе, тактильный щелчок продукта, шаги), оставьте аудио включённым — это и есть разница между демонстрационным роликом и работой, будто снятой на месте.

Если вам нужно больше 8 секунд на ролик или независимый контроль движения камеры при большей длительности, на hiapi также есть veo-3.1-fast (более высокая точность, от $0.25/сек) и флагманский уровень veo-3.1 (от $0.57/сек) — оба поддерживают генерацию видео как из текста, так и из изображения. Однако для большинства коротких социальных роликов lite — правильный выбор по умолчанию: стоимость в разы ниже, а вывод уже настроен под вертикальные ролики длиной до 10 секунд.

Мы также посчитали другой подход к той же задаче короткого видео — более длинные ролики и больше ручного контроля над первым и последним кадром — в материале о создании рабочего процесса коротких видео с seedance-2.0-mini: он даёт длительность до 15 секунд и более низкую посекундную ставку ценой нативного аудио из фото.

Частые вопросы

Принимает ли veo-3.1-lite/image-to-video несколько референсных изображений? Нет. image_url принимает только один публичный URL. Если вам нужна модель, способная объединять несколько референсных изображений, это другой вызов — прежде чем предполагать, что он такой же, как здесь, проверьте точную входную схему на странице той модели.

Можно ли за один вызов получить ролик длиннее 8 секунд? На lite — нет. Поле duration принимает только 4, 6 или 8. Для более длинного одиночного видео обратите внимание на другие видеомодели в коллекции видео API платформы — многие из них поддерживают длительность свыше 15 секунд.

В выводе уже есть нативное аудио, или мне нужно добавлять звук на постпродакшене? Если generate_audio равно true, возвращаемый MP4 уже содержит синхронную дорожку AAC — отдельный этап звукового дизайна не нужен. Если вы планируете сами озвучивать ролик или вам не нужен атмосферный звук, установите значение false.

Нужна ли мне вообще видеомодель, или вывод gpt-image-2 уже можно публиковать? Многие ленты коротких видео смешивают статичный и динамичный контент, так что статичное изображение, созданное gpt-image-2/text-to-image, само по себе — неплохой пост. Преобразование изображения в видео нужно, когда платформе (или текущей ситуации) требуется движение — детали продукта, тонкие сравнения «до и после», циклы — без повторной съёмки.

Что будет, если передать недопустимое значение duration (например, 5)? Запрос будет отклонён до создания какой-либо задачи — вы сразу получите ошибку схемы, а не потратите рендер впустую.

Готовы попробовать? На странице модели veo-3.1-lite/image-to-video есть интерактивная песочница, где можно загрузить свою фотографию и промпт, ещё не написав ни строчки кода.

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

Все статьи →

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

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

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