HiAPI
ブログ

チュートリアル

Hailuo 2.3 API ガイド:テキストから動画、画像から動画、そして Fast 版

Hailuo 2.3 の3つのエンドポイントすべてを1つのガイドで:1本あたりの価格、実際の出力、duration 文字列の落とし穴、そしてそのまま実行できる curl と Python。

Jul 10, 2026
Hailuo 2.3 API ガイド:テキストから動画、画像から動画、そして Fast 版

TL;DR

  • Hailuo 2.3 は MiniMax の動画モデルです。HiAPI では3つのエンドポイントがあります:hailuo-2.3/text-to-video、hailuo-2.3/image-to-video、そしてより安価な hailuo-2.3-fast/image-to-video。
  • 秒単位ではなく1本単位で課金されます:6秒動画は $0.40、10秒動画は $0.80。Fast 画像から動画は $0.27 と $0.46。
  • 入力パラメータは非常に少ないです:prompt、duration(文字列 "6" または "10")、prompt_optimizer。画像から動画の場合はさらに image_url を1つ追加します。解像度、アスペクト比、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
画像入力 なし 最初のフレーム1枚 最初のフレーム1枚

HiAPI のリアルタイム価格、2026年10月20日時点で確認。失敗したタスクは課金されません。

シーンを探索するときはテキストから始め、最初のフレームが正確でなければならないとき(既存の製品やキャラクターなど)は画像から始めます。画像から動画の場合、Fast は入力が同じで3分の1安いため、まず 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。

6秒の間に、この達人はいくつかの立ち姿勢と腕の打撃動作を順にこなし、背後では雨が降り続いています。カメラは安定したままです。リクエストにアスペクト比のフィールドがないにもかかわらず、出力は横向きです。テキストから動画では縦向きを指定できません。

画像から動画:実際の出力

画像から動画はあなたの画面を保ったまま動かします。以下の2つの例はどちらも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。

動きは非常に小さいです:船がかすかに揺れ、霧がゆっくり漂い、終わり近くにカモメが1羽現れます。このような静かで雰囲気のあるショットなら、Fast で十分です。

画像から動画のプロンプトには、次に何が起こるかを書きます。モデルはすでに画面を見ているので、「黒い機関車が駅に停まっている」と書いても情報は増えません。「動き出したときに蒸気が噴き出す」と書いて初めて、何をすべきかを伝えられます。

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 をダウンロードします。動画には数秒ではなく数分かかります。

画像から動画の場合はモデルを変更し、画像を1枚追加します:

{
  "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 画像から動画のみ パブリック URL 1つ 単一の文字列で、配列ではありません。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':長さは2種類だけです。
  • image_url: missing required field "image_url":画像から動画には最初のフレームが必要です。フィールド名は単数形の image_url です。
  • additional properties 'resolution' not allowed(または aspect_ratio、image_urls、seed):そのフィールドを削除してください。

タスクが最終的に fail で終了した場合は、data.error を読んでください。画像から動画の場合、よくある原因はサーバー側が画像 URL を取得できないことです(プライベートバケットや期限切れの署名付きリンクなど)。

よくある質問

Hailuo 2.3 は1秒あたりいくらですか?

秒単位の課金ではありません。1本単位で支払います:標準モデルは6秒 $0.40、10秒 $0.80、Fast は $0.27 と $0.46 です。換算すると、標準モデルの6秒動画は1秒あたり約 $0.067、Fast は1秒あたり約 $0.045 になります。

縦向き動画は生成できますか?

テキストから動画ではできません。アスペクト比のフィールドがなく、横向きで返されます。画像から動画にもアスペクト比のフィールドはありません。縦向きの最初のフレームが縦向き動画を生成するかはドキュメントに記載がないため、これを前提に開発する前に、$0.27 で6秒の Fast 動画を1本試してください。

prompt_optimizer はオフにすべきですか?

短いプロンプトではオンのままにしてください。文言を慎重に練り上げ、モデルに厳密にその通り実行してほしいときだけオフにします。

音声はありますか?

上記の3つのサンプル動画には音声トラックがなく、音声を有効にするフィールドもありません。

Fast は劣りますか?

入力は同じで、価格は3分の1です。上記の船の例では、動きは柔らかくクリーンでした。速い動きを多く含むショットでは、まず両方のモデルで6秒の下書きを1本ずつ生成して比較し、それから10秒版をレンダリングしてください。

その他の動画モデルの比較:HiAPI で最も安い画像・動画 API。コードなしで Hailuo を試したい場合は、画像から動画のモデルページを開く。

永続的なAIアーティファクトで開発を始める

APIキーを取得して、タスクベースの1つのAPIで画像・動画・音声モデルを呼び出せます。

APIドキュメントを読む