Skip to main content
POST
右側のインタラクティブなPlaygroundで、リアルタイムにテストを行えます。AuthorizationにAPI Keyを入力し(形式はBearer sk-xxx)、contentにテキスト項目を1つ追加して(必要に応じて画像、動画、音声項目も追加)、durationとratioを選択して送信してください。レスポンスはtask_idです。後述のクエリエンドポイントを使用して動画を取得してください。
1つのエンドポイント、4つのモード: テキストのみ = テキストから動画生成、first_frame / last_frame 画像を追加 = キーフレーム動画、reference_image / reference_video / reference_audio を追加 = 参照動画。モードはcontent[]から推測されるため、エンドポイントを切り替える必要はありません。全体像についてはMiniMax-H3の概要をご覧ください。
⚠️ 最もよくある4つの間違い
  1. パスは/hailuoで始まります: POST /hailuo/v2/video_generationで作成し、GET /hailuo/v2/query/video_generation/{task_id}でクエリします。単なる/v2/...パスはJSONではなくWebページを返します
  2. durationは4から15の整数である必要があります: 文字列"5"や5.5のような小数は拒否されます
  3. resolutionは大文字の768Pである必要があります: 768pと2Kはどちらも拒否されます
  4. テキストのみおよび音声のみのリクエストではratio: "adaptive"を使用できません。固定の比率を選択してください。adaptiveはリクエストに画像または動画が含まれている場合にのみ機能します

コード例

Python (requests · 送信 + ポーリング + ダウンロード)

Python (ファーストフレーム動画 · リクエストボディ)

Python (混合リファレンス · リクエストボディ)

cURL

Node.js (ネイティブ fetch)

ブラウザ JavaScript

すでに task_id をお持ちですか? 1 回の cURL 呼び出し

status が succeeded の場合、task.content.url は MP4 URL となり、直接ダウンロードできます:

パラメータリファレンス

アスペクト比と出力サイズ(実測値)

メディア要件

すべてのメディアは、直接ダウンロード可能な公開HTTPS URLである必要があります。Base64、データURI、http://リンク、およびプライベートネットワークのアドレスはサポートされていません。直リンク防止(ホットリンク保護)やログインが必要なリンクの場合、メディアのダウンロード試行時にタスクが失敗します。

レスポンス形式

タスクの作成

タスクのクエリ(進行中)

タスクのクエリ(成功)

タスクのクエリ(失敗)

⚠️ レスポンスに関する注意点
  • クエリ結果はトップレベルではなく、task オブジェクト内にラップされています
  • 成功時に保証されるのは id、status、progress、content.url のみです。usage、model、ratio などのフィールドは常に返されるとは限らないため、防御的にパースしてください
  • ステータスは queued → running → succeeded / failed と遷移します。ピーク時にはタスクが running から開始される場合があります
  • progress は 0 と 1 の間でのみ切り替わるため、プログレスバーとしては利用できません
  • 動画の URL は task.content.url であり、認証ヘッダーは不要です。HEAD リクエストに対しては 403 を返しますが、GET では動作するため、確認には GET を使用してください
  • URL を取得したら、速やかにお客様側で動画をダウンロードして保存してください
課金: タスクが受け入れられると duration × \$0.03 が事前課金され、参照メディアに対する追加料金は発生しません。失敗したタスクは自動的に全額返金されます。送信時に 4xx / 5xx を返したリクエストは課金されず、クエリやダウンロードは無料です。詳細は概要ページの料金をご覧ください。

承認

Authorization
string
header
必須

API Key from the APIYI console

ボディ

application/json
model
enum<string>
デフォルト:MiniMax-H3
必須

Always MiniMax-H3 (case-sensitive)

利用可能なオプション:
MiniMax-H3
content
object[]
必須

Exactly one text item plus 0–12 media items. Media item types:

  • image_url: role first_frame / last_frame / reference_image; up to 9 reference images. A single image without role is treated as the first frame
  • video_url: role reference_video; up to 3 clips, MP4/MOV, 50MB max, at least 2 seconds each, 15 seconds total at most
  • audio_url: role reference_audio; up to 3 clips, WAV/MP3/M4A/AAC, 15MB max, at least 2 seconds each
Required array length: 1 - 13 elements
resolution
enum<string>
デフォルト:768P
必須

Resolution. This channel supports 768P only (uppercase; 768p and 2K are rejected)

利用可能なオプション:
768P
duration
integer
デフォルト:5
必須

Output length in seconds, an integer from 4 to 15. Billed per second; the finished clip is usually 0.1–0.5 s longer than requested

必須範囲: 4 <= x <= 15
ratio
enum<string>
デフォルト:16:9
必須

Aspect ratio and output size: 21:9=1536×672, 16:9=1344×768, 4:3=1024×768, 1:1=768×768, 3:4=768×1024, 9:16=768×1344. adaptive follows the input image's ratio and only works for requests with images or videos; text-only and audio-only requests need a fixed ratio.

利用可能なオプション:
16:9,
9:16,
21:9,
4:3,
1:1,
3:4,
adaptive

レスポンス

Task accepted; returns task_id

task_id
string

Task ID for GET /hailuo/v2/query/video_generation/{task_id}

例:

"task_Clo9iKPCM46sRwRsMFcmJG6pGNSL1ygx"