Руководство
Руководство по Hailuo 2.3 API: текст в видео, изображение в видео и версия Fast
Одно руководство охватывает все три эндпоинта Hailuo 2.3: цена за ролик, реальные результаты, подвох со строковым duration, а также готовые к запуску curl и Python.
TL;DR
- Hailuo 2.3 — это видеомодель от MiniMax. В HiAPI у неё три эндпоинта:
hailuo-2.3/text-to-video,hailuo-2.3/image-to-videoи более дешёвыйhailuo-2.3-fast/image-to-video. - Оплата за ролик, а не за секунды: 6-секундное видео — $0.40, 10-секундное — $0.80. Fast image-to-video — $0.27 и $0.46.
- Входных параметров немного:
prompt,duration(строка"6"или"10"),prompt_optimizer, а для image-to-video ещёimage_url. Нет параметров разрешения, соотношения сторон или seed. Откройте страницу модели текст-в-видео, чтобы попробовать; новым аккаунтам даётся 200 бесплатных кредитов.
Какой эндпоинт использовать
| Текст в видео | Изображение в видео | Fast изображение в видео | |
|---|---|---|---|
| ID модели | hailuo-2.3/text-to-video |
hailuo-2.3/image-to-video |
hailuo-2.3-fast/image-to-video |
| Обязательные параметры | prompt |
prompt + image_url |
prompt + image_url |
| 6-секундное видео | $0.40 | $0.40 | $0.27 |
| 10-секундное видео | $0.80 | $0.80 | $0.46 |
| Входное изображение | Нет | Один первый кадр | Один первый кадр |
Актуальные цены HiAPI, проверено 20 октября 2026 г. За неудачные задачи плата не взимается.
Начинайте с текста, когда исследуете сцену; начинайте с изображения, когда первый кадр должен быть точным (например, существующий продукт или персонаж). В сценариях изображение-в-видео Fast дешевле на треть при тех же входных данных, поэтому можно сначала набросать черновик на Fast, а затем переключиться на стандартную модель, когда какому-то кадру нужно больше деталей движения.
Текст в видео: реальный результат
Это пример со страницы модели, длительность 6 секунд:
a kung fu master practicing forms in heavy rain, water droplets scattering in slow motion, smooth natural motion, stable cinematic camera movement, consistent lighting across frames, cinematic composition, dramatic directional lighting, rich cohesive color grade, ultra-detailed, premium commercial finish
Сгенерировать с этим промптом →
hailuo-2.3/text-to-video, 6 секунд, 1366×768, без аудио, $0.40.
За шесть секунд мастер последовательно выполняет несколько стоек и ударов руками, а дождь продолжает идти позади него. Камера остаётся стабильной. Несмотря на то что в запросе нет поля соотношения сторон, результат получается горизонтальным; для текст-в-видео нельзя указать вертикальную ориентацию.
Изображение в видео: реальный результат
Image-to-video сохраняет ваш кадр и оживляет его. Оба примера ниже используют первый кадр 16:9, результат возвращается в размере 1364×768.
Первый кадр:

steam bursts from the locomotive as it slowly starts moving, wheels turning, smooth natural motion, stable cinematic camera movement, consistent lighting across frames, cinematic composition, dramatic directional lighting, rich cohesive color grade, ultra-detailed, premium commercial finish
Сгенерировать с этим промптом →
hailuo-2.3/image-to-video, 6 секунд, 1364×768, без аудио, $0.40.
Станция, вагоны и закат остаются такими же, как на изображении. Паровоз трогается вперёд, а пар стелется низко над платформой.
Тот же подход, но с Fast и более спокойной сценой:

boats rocking gently, seagulls gliding through the morning mist, smooth natural motion, stable cinematic camera movement, consistent lighting across frames, cinematic composition, dramatic directional lighting, rich cohesive color grade, ultra-detailed, premium commercial finish
Сгенерировать с этим промптом →
hailuo-2.3-fast/image-to-video, 6 секунд, 1364×768, без аудио, $0.27.
Движение минимальное: лодки слегка покачиваются, туман медленно плывёт, ближе к концу появляется чайка. Для таких тихих атмосферных кадров Fast вполне достаточно.
В промптах для image-to-video пишите, что произойдёт дальше. Модель уже видит изображение, поэтому фраза «чёрный паровоз стоит на станции» не добавляет никакой информации; а «пар вырывается наружу, когда он начинает движение» говорит ей, что делать.
curl
curl -s -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "hailuo-2.3/text-to-video",
"input": {
"prompt": "A glass of iced tea tips over in slow motion, tea splashing across a wooden table, ice cubes tumbling, macro shot",
"duration": "6",
"prompt_optimizer": true
}
}'
Вы получите taskId. Опрашивайте GET https://api.hiapi.ai/v1/tasks/{taskId}, пока data.status не станет success, затем скачайте data.output[0].url. Видео занимает минуты, а не секунды.
Для image-to-video смените модель и добавьте изображение:
{
"model": "hailuo-2.3-fast/image-to-video",
"input": {
"prompt": "The cat stretches, hops off the windowsill and walks toward the camera",
"image_url": "https://your-cdn.example.com/first-frame.jpg",
"duration": "6"
}
}
Python: отправка, опрос, загрузка
# pip install requests; export HIAPI_KEY=your-key first
import os, time, requests
API = "https://api.hiapi.ai/v1/tasks"
H = {"Authorization": f"Bearer {os.environ['HIAPI_KEY']}"}
def generate(model, timeout_s=900, **inp):
r = requests.post(API, json={"model": model, "input": inp}, headers=H, timeout=30).json()
if r.get("code") != 200:
raise RuntimeError(r) # a 400 lists every invalid field at once
task_id = r["data"]["taskId"] # save this; if your script dies, poll it again instead of resubmitting
deadline = time.time() + timeout_s
while time.time() < deadline:
d = requests.get(f"{API}/{task_id}", headers=H, timeout=30).json()["data"]
if d["status"] == "success":
return d["output"][0]["url"]
if d["status"] == "fail":
raise RuntimeError(d.get("error"))
time.sleep(10)
raise TimeoutError(task_id)
url = generate("hailuo-2.3/image-to-video",
prompt="Steam bursts from the locomotive as it slowly starts moving, wheels turning",
image_url="https://your-cdn.example.com/train.jpg",
duration="10") # a string, not 10
with open("hailuo.mp4", "wb") as f:
f.write(requests.get(url, timeout=120).content)
Ссылки на результат истекают примерно через 7 дней после завершения задачи, поэтому сохраняйте файл, а не только ссылку.
Параметры
| Поле | Обязательно | Значения | Описание |
|---|---|---|---|
prompt |
Да | Текст | Описывает движение и движение камеры |
image_url |
Только для image-to-video | Публичный URL | Одна строка, не массив. jpeg, png или webp |
duration |
Нет | "6" (по умолчанию) или "10" |
Должно быть строкой |
prompt_optimizer |
Нет | true (по умолчанию) / false |
Расширяет короткие промпты перед генерацией |
Движение и движение камеры задаются в промпте. Нет полей motion_strength, camera_movement, resolution, aspect_ratio или seed.
Ошибки, с которыми вы столкнётесь
Эти ошибки возвращаются при отправке как HTTP 400, поэтому задача не создаётся и плата не взимается:
duration: got number, want string: вы передали6. Передавайте"6".duration: value must be one of '6', '10': доступны только две длительности.image_url: missing required field "image_url": для image-to-video нужен первый кадр. Имя поля — единственное числоimage_url.additional properties 'resolution' not allowed(илиaspect_ratio,image_urls,seed): удалите это поле.
Если задача завершается со статусом fail, прочитайте data.error. В сценариях image-to-video частая причина — сервер не может получить изображение по URL, например из приватного бакета или по истёкшей подписанной ссылке.
Частые вопросы
Сколько стоит секунда Hailuo 2.3?
Оплата не посекундная. Вы платите за ролик: для стандартной модели 6 секунд — $0.40, 10 секунд — $0.80; для Fast — $0.27 и $0.46. В пересчёте 6-секундное видео стандартной модели стоит около $0.067 за секунду, а Fast — около $0.045 за секунду.
Можно ли генерировать вертикальные видео?
Для текст-в-видео нельзя: у него нет поля соотношения сторон, результат горизонтальный. У image-to-video также нет поля соотношения сторон; в документации не сказано, даст ли вертикальный первый кадр вертикальное видео, поэтому прежде чем строить на этом что-то, протестируйте одну 6-секундную Fast-видео за $0.27.
Стоит ли отключать prompt_optimizer?
Для коротких промптов оставляйте включённым. Отключайте его, когда вы тщательно продумали формулировку и хотите, чтобы модель строго следовала ей.
Есть ли звук?
У всех трёх примеров видео выше нет звуковой дорожки, и нет поля, позволяющего включить звук.
Fast хуже?
Входные данные те же, а цена на треть ниже. В примере с лодками выше движение мягкое и чистое. Для кадров с большим количеством быстрых действий сначала сгенерируйте по одному 6-секундному черновику на обеих моделях для сравнения, а затем рендерите 10-секундную версию.
Больше сравнений видеомоделей: Самые дешёвые API для генерации изображений и видео в HiAPI. Чтобы попробовать Hailuo без кода, откройте страницу модели изображение-в-видео.
Похожие статьи
Все статьи →-
Руководство
Как вызвать 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
Практическая демонстрация с упором на запросы: построение вызова от промпта до видеоклипа, отправка запроса, опрос статуса завершения и скачивание результата