Руководство
Как использовать LTX 2.5 Fast Image to Video API? Оживите статичное изображение
Из первого кадра (можно добавить последний) в видео длиной 2–20 секунд: примеры на curl/Python, работа с первым и последним кадром и таблица параметров.
TL;DR
- LTX 2.5 Fast Image to Video (
ltx-2.5-fast/image-to-video) оживляет статичные изображения: загрузите 1 изображение первого кадра (можно добавить ещё 1 изображение последнего кадра), и модель сгенерирует видео 720p / 1080p длиной 2–20 секунд с нативным звуком. Откройте страницу модели, загрузите изображение и попробуйте — новым пользователям при регистрации дают 200 кредитов. - Цены по тем же правилам, что и для text-to-video: 720p — $0.043 за секунду, 1080p — $0.086 за секунду, оплата по количеству секунд в
duration; переключатель звука на цену не влияет. - Вызов идёт через интерфейс HiAPI
/v1/tasks: вimage_urlsпередаются 1–2 изображения (первый кадр / первый + последний кадр), после успеха видео берётся изoutput.
Что он умеет
- Оживление первого кадра: одно статичное фото + описание движения — субъект в кадре остаётся неизменным, добавляются движение, работа камеры и звук.
- Первый кадр + последний кадр: передайте два изображения, и модель достроит переход от первого кадра к последнему (например, от домика днём к домику под звёздным небом).
- Вертикальный формат: формат вывода определяется
aspect_ratio(16:9 / 9:16); рекомендуется совпадать с первым кадром, чтобы избежать обрезки или полей. - Text-to-video из той же серии: генерация с нуля описана в руководстве по подключению text-to-video, правила цен у обоих интерфейсов полностью одинаковые.
Ниже реальный результат (фото статичного маяка → 6-секундный ролик со звуком):
Waves crash against the rocks below the lighthouse, seagulls glide across the golden sky, the camera slowly pushes in, sound of surf and gulls
(По-китайски означает: волны разбиваются о скалы под маяком, чайки скользят по золотому небу, камера медленно наезжает, звук прибоя и чаек. В качестве первого кадра используется фото маяка из материалов; параметры: 720p, 6 секунд, 16:9.)
→ 
ltx-2.5-fast/image-to-video, 720p, 6 секунд, 16:9, 1280×720, со звуком, $0.258.Смотреть полный ролик →
Сгенерировать с этим промптом →
Как передавать первый кадр / первый + последний кадр
| Ввод | image_urls |
Результат |
|---|---|---|
| 1 шт. | ["изображение первого кадра"] |
Движение начинается с этого изображения, субъект не меняется |
| 2 шт. | ["изображение первого кадра", "изображение последнего кадра"] |
Переход от первого кадра к последнему, модель достраивает промежуточный процесс |
Поддерживаются публичные адреса изображений JPG / PNG / WebP; у двух изображений рекомендуется одинаковый формат, aspect_ratio задавайте таким же, как у первого кадра.
Два пути к началу работы
3 шага в браузере: откройте страницу модели → загрузите изображение первого кадра, напишите описание движения → нажмите «Сгенерировать» и сразу просмотрите результат.
3 шага через API: POST /v1/tasks — отправить → получить taskId → GET /v1/tasks/<taskId> — дождаться success и скачать.
curl: первый запрос (один первый кадр)
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: your-unique-key-001" \
-d '{
"model": "ltx-2.5-fast/image-to-video",
"input": {
"prompt": "Waves crash against the rocks below the lighthouse, seagulls glide across the golden sky, the camera slowly pushes in, sound of surf and gulls",
"image_urls": ["https://static.hiapi.ai/gallery/2026/10/0ca26560398eae72.jpg"],
"resolution": "720p",
"duration": 6,
"aspect_ratio": "16:9"
}
}'
Первый + последний кадр (домик днём → домик под звёздным небом): меняется только image_urls:
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "ltx-2.5-fast/image-to-video",
"input": {
"prompt": "Time passes from bright winter day to starry night, the sky darkens, the cabin windows light up warmly and smoke rises from the chimney, an aurora appears, fixed camera",
"image_urls": [
"https://static.hiapi.ai/gallery/2026/10/7756ea1a228b0b88.jpg",
"https://static.hiapi.ai/gallery/2026/10/16e267619aa1b003.jpg"
],
"resolution": "720p",
"duration": 5,
"aspect_ratio": "16:9"
}
}'
Python: отправка, опрос, скачивание
import time, uuid, requests
BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"model": "ltx-2.5-fast/image-to-video",
"input": {
"prompt": "Waves crash against the rocks below the lighthouse, seagulls glide across the golden sky, the camera slowly pushes in, sound of surf and gulls",
"image_urls": ["https://example.com/your-first-frame.jpg"],
"resolution": "720p",
"duration": 6,
"aspect_ratio": "16:9",
},
}
resp = requests.post(
BASE,
headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
json=payload,
timeout=30,
)
resp.raise_for_status()
task_id = resp.json()["taskId"]
while True:
task = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30).json()
print(task["status"])
if task["status"] in ("success", "fail"):
break
time.sleep(5)
if task["status"] == "success":
video = next(o for o in task["output"] if o.get("type") == "video")
mp4 = requests.get(video["url"], timeout=120) # временный адрес, сохраняйте как можно скорее
with open("output.mp4", "wb") as f:
f.write(mp4.content)
print("saved output.mp4")
Таблица параметров
| Поле | Обязательно | Значения | Описание |
|---|---|---|---|
image_urls |
Да | 1–2 публичных адреса | 1-е — первый кадр; 2-е — последний кадр (JPG/PNG/WebP) |
prompt |
Да | 1–5000 символов | Описывайте движение, камеру и звук; не нужно повторно описывать то, что уже есть в кадре |
resolution |
Нет | 720p / 1080p, по умолчанию 720p | Цена 1080p за секунду примерно в 2 раза выше, чем у 720p |
duration |
Нет | 2/3/4/5/6/8/10/12/14/16/18/20, по умолчанию 6 | Перечислимое значение |
aspect_ratio |
Нет | 16:9 / 9:16, по умолчанию 16:9 | Рекомендуется совпадать с первым кадром, чтобы избежать обрезки или полей |
generate_audio |
Нет | По умолчанию true | Нативный звук; отключите, если хотите добавить свою музыку на постпродакшене |
Если в теле запроса есть поля вне таблицы, вернётся 400.
Ошибки, которые вы можете встретить
| Код статуса | Значение | Что делать |
|---|---|---|
| 400 INVALID_REQUEST | Некорректное тело запроса (отсутствует image_urls или prompt, передано 3 изображения, duration не из перечислимых значений) |
Исправьте тело запроса по таблице параметров |
| 402 INSUFFICIENT_QUOTA | Недостаточно средств (списание не происходит) | Пополните баланс и повторите |
| 429 RATE_LIMITED | Сработало ограничение частоты | Снизьте частоту отправки |
| 409 / 422 IDEMPOTENCY_KEY_* | Повторная отправка с тем же ключом идемпотентности | Укажите новый Idempotency-Key |
При неудачном завершении задачи также возможны CONTENT_POLICY_VIOLATION, TASK_FAILED, TASK_TIMEOUT и др.; за неудачу плата не списывается.
Что учесть перед запуском
- Callback: задачи с видео выполняются долго — передайте на верхнем уровне тела запроса
"callback": {"url": "https://..."}, чтобы не опрашивать вручную. - Своевременно сохраняйте: адрес видео в
outputвременный, скачивайте сразу после получения. - Одинаковый формат первого и последнего кадра: если пропорции двух изображений сильно различаются, переход может деформироваться; задавайте
aspect_ratioтаким же, как у первого кадра. - Своя музыка на постпродакшене: передайте
generate_audiofalse, чтобы получить чистое изображение; цена не меняется. - Качество первого кадра определяет качество ролика: если первый кадр размыт или имеет слишком низкое разрешение, при движении он не станет чётче; сначала возьмите чёткое большое изображение, а затем дайте модели добавить динамику.
Частые вопросы
- Да, максимум 2 изображения: 1 первый кадр или первый + последний кадр; 3-е изображение вызовет 400.
- Да, формат не наследуется от изображения: он определяется
aspect_ratio, поэтому рекомендуется вручную задать его таким же, как у первого кадра. - Да, цена такая же, как у text-to-video: 720p — $0.043 за секунду, 6 секунд — $0.258.
- Да, переход по последнему кадру хорошо подходит для «течения времени»: от дня к ночи, от пустой сцены к сцене с продуктами — достаточно двух изображений и одного промпта.
- Да, оживление изображений товаров — его сильная сторона: главное изображение товара как первый кадр, в промпте — движение камеры (orbit, push in) и декоративные элементы, и демонстрационное видео готово.
- Да, для вертикальных фото — 9:16: на выходе 720×1280, можно сразу публиковать на платформах коротких видео; для горизонтальных фото оставляйте 16:9.
Дальше: возьмите изображение своего товара и оживите его на странице модели; четыре сценария image-to-video смотрите в сборнике промптов.
Похожие статьи
Все статьи →-
Руководство
Как вызвать hailuo-2.3-fast/image-to-video через HiAPI API: практика с curl и Python
Первый рабочий запрос к быстрому и недорогому уровню генерации видео по изображению — от ID модели до загрузки MP4
-
Руководство
Как вызывать hailuo-2.3/text-to-video через API HiAPI: curl, Python и рабочие примеры запросов
-
Руководство
Использование Kandinsky 6.0 Pro для преобразования текста в видео на HiAPI: руководство по curl и Python
Практическая демонстрация с упором на запросы: построение вызова от промпта до видеоклипа, отправка запроса, опрос статуса завершения и скачивание результата