HiAPI
ブログ

チュートリアル

LTX 2.5 Fast テキストto動画 API の使い方:5分で最初の一本

テキストから2~20秒の音声付き動画へ:curl/Python サンプル、パラメータ表、注意点。

Oct 23, 2026
LTX 2.5 Fast テキストto動画 API の使い方:5分で最初の一本

TL;DR

  • LTX 2.5 Fast Text to Video(ltx-2.5-fast/text-to-video)は、テキストを2~20秒の動画に変換し、720p / 1080p、横・縦画面、ネイティブ音声をまとめて生成します。モデルページを開くだけで試せて、新規ユーザー登録で200クレジットが付与されます。
  • 料金は秒単位:720p は毎秒 $0.043(6秒で $0.258)、1080p は毎秒 $0.086。generate_audio のオン・オフは料金に影響しません。
  • 呼び出しは HiAPI の /v1/tasks インターフェース経由:タスクを送信して taskId を取得し、結果を問い合わせます。成功したら output から動画アドレスを取得します(一時的なアドレスなので早めに保存)。

できること

  • ひと言で音声付きのカットを生成:シーン、動き、カメラワーク、音を同じプロンプトに書けば、音声が映像と一緒に生成されます。
  • 2~20秒、12段階の長さ:duration は 2、3、4、5、6、8、10、12、14、16、18、20 を指定でき、デフォルトは6秒。
  • 横・縦画面と2段階の解像度:16:9 / 9:16、720p / 1080p。フレームレートは固定 25fps の MP4。
  • 同シリーズに画像to動画もあり:ltx-2.5-fast/image-to-video は最初のフレーム(必要なら最後のフレームも)をアップロードして静止画を動かします。料金ルールは同じです。画像to動画モデルページをご覧ください。

2つのインターフェースの選び方:

ltx-2.5-fast/text-to-video(本ページ) ltx-2.5-fast/image-to-video
入力 テキスト 1~2枚の画像+動きの説明文
向いている用途 ゼロからカットを探る、広告アイデア、絵コンテ 製品画像・写真があり、それを動かしたい
制御できるポイント プロンプト、解像度、長さ、アスペクト比 最初のフレーム(+最後のフレーム)、プロンプト、解像度、長さ

ひと言で言えば:映像内容が決まらないならテキストto動画、映像がすでにあるなら画像to動画。2つのインターフェースは組み合わせ可能——テキストto動画で確定版の最初のフレームを生成し、それを画像to動画に渡してカメラワークを加える。

以下は実際の完成動画です(720p・6秒、ネイティブ音声付き):

A barista pours steamed milk into a latte, creating a leaf pattern, close-up, soft morning light through a café window, gentle clinking cups and café ambience

(日本語の意味:バリスタがスチームミルクをラテに注ぎ、葉の模様を作る。クローズアップ、カフェの窓から差し込む柔らかな朝の光、カップが軽く触れ合う音とカフェの環境音。パラメータはデフォルト:720p、6秒、16:9、音声オン。)

ltx-2.5-fast/text-to-video、720p、6秒、16:9、1280×720、音声付き、$0.258。完成動画を見る →

このプロンプトで生成 →

2つの始め方

ブラウザで3ステップ:モデルページを開く → プロンプトを貼り付け、長さと解像度を選ぶ → 生成をクリック。720p 6秒で1本 $0.258、生成後はそのままオンラインプレビューできます。

APIで3ステップ: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/text-to-video",
  "input": {
    "prompt": "A barista pours steamed milk into a latte, creating a leaf pattern, close-up, soft morning light through a café window, gentle clinking cups and café ambience",
    "resolution": "720p",
    "duration": 6,
    "aspect_ratio": "16:9",
    "generate_audio": true
  }
}'

この 720p × 6秒は $0.258 です。

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/text-to-video",
    "input": {
        "prompt": "A barista pours steamed milk into a latte, creating a leaf pattern, close-up, soft morning light through a café window, gentle clinking cups and café ambience",
        "resolution": "720p",
        "duration": 6,
        "aspect_ratio": "16:9",
        "generate_audio": True,
    },
}

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")
    video_url = video["url"]   # 一時アドレスなので早めにダウンロードして保存
    mp4 = requests.get(video_url, timeout=120)
    with open("output.mp4", "wb") as f:
        f.write(mp4.content)
    print("saved output.mp4")

パラメータ表

フィールド 必須 値 説明
prompt はい 1~5000文字 シーン、動き、カメラワーク、音をひと言にまとめて書く
resolution いいえ 720p / 1080p、デフォルト 720p 1080p の毎秒料金は 720p の約2倍
duration いいえ 2/3/4/5/6/8/10/12/14/16/18/20、デフォルト 6 これらの列挙値のみ指定可能(7、9はない)
aspect_ratio いいえ 16:9 / 9:16、デフォルト 16:9 縦画面のショート動画なら 9:16
generate_audio いいえ デフォルト true ネイティブ音声。オフにしても安くならない

リクエストボディに表外のフィールドがあると直接 400 になります。

遭遇するエラー

ステータスコード 意味 対処方法
400 INVALID_REQUEST リクエストボディが不正(prompt 不足、duration に 7 などの列挙値以外を指定、表外フィールドの指定) パラメータ表に照らしてリクエストボディを修正
402 INSUFFICIENT_QUOTA 残高不足(課金なし) チャージ後に再試行
429 RATE_LIMITED レート制限に到達 送信頻度を下げる
409 / 422 IDEMPOTENCY_KEY_* 同じ冪等キーで重複送信 新しい Idempotency-Key に変更

タスクの終態失敗には CONTENT_POLICY_VIOLATION、TASK_FAILED、TASK_TIMEOUT などもあります。失敗時は課金されません。

本番運用前の注意

  • コールバック:リクエストボディのトップレベルに "callback": {"url": "https://..."} を渡すと、終態を自動通知します。動画タスクは時間がかかるため、利用を推奨します。
  • 早めに転送保存:output 内の動画アドレスは一時的なものです。取得したらすぐダウンロードしてください。
  • duration と resolution を明示的に指定:この2つのフィールドが請求額を決めます。デフォルト値に頼らず、本番前にこの2つの値をログに出しておけば、照合時にも明確です。
  • バッチのペース:6秒の動画1本は送信から完成までしばらく待ちます。バッチ処理ではキューに送信+コールバックで結果を受け取ることを推奨し、同期的に待ち続けないでください。
  • 静止画を動かしたい:同シリーズの画像to動画モデルページを使い、最初のフレームをアップロードするほうが制御しやすいです。

よくある質問

  • はい、音声は映像と一緒に生成されます:generate_audio はデフォルトでオン。プロンプトに音(風の音、カップの軽い音)を書くと、音声が映像により合います。
  • はい、長さは12段階のみ:2~20秒の間の列挙値で、7秒や9秒などを指定すると 400 になります。
  • はい、料金 = 毎秒料金 × 秒数:720p 6秒は $0.258、1080p 6秒は $0.516。音声をオフにしても安くなりません。
  • はい、$10 で約38本生成可能:720p 6秒1本で計算。
  • はい、縦版は 9:16 を選ぶだけ:出力は 720×1280(720p)または 1080×1920(1080p)で、ショート動画プラットフォームに投稿する際も再トリミング不要。
  • はい、解像度はまず低く、後から高く:プロンプトや構図を調整するときは 720p を使い、決まったら 1080p に上げて同じプロンプトで再実行。毎秒料金は2倍ですが、完成品は1本だけです。
  • はい、音声をオフにしても節約にならない:後から声やBGMを付けるなら generate_audio: false を渡して、クリーンな映像を取得します。

次のステップ:ラテアートのプロンプトでモデルページで最初の一本を生成。4つのシーンテンプレートはテキストto動画プロンプト大全をご覧ください。

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

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

APIドキュメントを読む