MiniMax Hailuo(海螺) H3 動画 API
MiniMax-H3 と高速版の H3-Max — テキスト、画像、マルチモーダル参照による動画生成。課金は完成した出力に対してのみ発生します。
HopBase は MiniMax 公式の v2 契約を通じて MiniMax Hailuo(海螺) H3 を提供します。これは非同期 API です。まずタスクを送信し、その後 HopBase のタスク ID をポーリングします。MiniMax プランが有効なキーを使用し、課金対象の処理を送信する前に GET /v1/models で利用可能かどうかを確認してください。
エンドポイント
| メソッド | パス | 用途 |
|---|---|---|
| POST | /v1/video/generate | MiniMax H3 の動画タスクを送信 |
| GET | /v1/video/tasks/{task_id} | 1 件のタスクを照会 |
| GET | /v1/video/tasks | 現在のユーザーのタスク一覧を取得 |
すべてのリクエストは Authorization: Bearer sk-your-key と Content-Type: application/json を使用します。ボディは MiniMax 公式の POST /v2/video_generation リクエストをそのまま反映しており、厳格にデコードされます。未知のフィールドと 2 つ目の JSON 値は、リクエストが送信される前に拒否されます。
モデル
| モデル ID | 長さ | 解像度 | 参照入力 |
|---|---|---|---|
MiniMax-H3 | 4〜15 秒の整数 | 768P / 2K | 画像最大 9 枚、動画クリップ最大 3 本、音声トラック最大 3 本 |
MiniMax-H3-Max | 5〜15 秒の整数 | 480P / 768P | 非対応 — テキストおよび先頭/末尾フレームのみ |
正確な ID である MiniMax-H3 / MiniMax-H3-Max を使用してください。エイリアスは登録されておらず、未知のモデル名は拒否されます。H3-Max は高速生成バリアントです(5 秒のクリップは通常数秒でレンダリングされます)。送信時に reference_image / reference_video / reference_audio を拒否し、2K も提供しません。
リクエスト契約
content はマルチモーダルな配列です。空でない text 要素(プロンプト、最大 7,000 文字)をちょうど 1 つ含む必要があります。メディア要素は role を明示的に宣言します。
| 要素 | role | 上限 |
|---|---|---|
image_url | first_frame(省略時のデフォルト)、last_frame、reference_image | 先頭フレーム 1 枚 + 末尾フレーム 1 枚、または参照画像最大 9 枚 |
video_url | reference_video(明示的に必須) | 最大 3 本 |
audio_url | reference_audio(明示的に必須) | 最大 3 本 |
先頭/末尾フレームの要素と reference_* 要素は、同じリクエスト内では互いに排他的です。
音声参照は、少なくとも 1 つの画像または動画の参照とあわせて指定する必要があり、音声のみの参照入力は拒否されます。混在する参照入力は、合計最大 12 ファイルまでです。
メディアの url には、パブリックな絶対 http(s) URL、または data: URI(base64 埋め込み)を指定できます。mm_file:// のロケーターは拒否されます。そのファイルはお客様自身の MiniMax アカウントに属するものであり、ゲートウェイからはアクセスできません。callback_url には対応していないため、代わりにタスクをポーリングしてください。
入力・出力仕様
- 出力:24 FPS。すべてのクリップにネイティブなステレオ音声が付属します。セリフとナレーションはモデル内で生成され、TTS は 11 言語(中国語、英語、日本語、韓国語、フランス語、ドイツ語、スペイン語など)に対応します。
2Kは 16:9 から 9:16 の比率において短辺 1440 ピクセルを意味します(それより横長の比率では総画素数約 370 万を維持します。例:21:9 → 2976×1248)。768Pも同じルールで、短辺 768 ピクセル / 総画素数約 100 万です。 - 画像:JPG / JPEG / PNG / WEBP / HEIC / HEIF、各 30MB 以下、各辺 256〜5760 px、アスペクト比 5:2〜2:5。
- 参照動画:H.264 / H.265、各 50MB 以下、1 本あたり 2〜15 秒、合計 15 秒以下。
- 参照音声:WAV / MP3、各 15MB 以下、1 本あたり 2〜15 秒、合計 15 秒以下。
- サイズ制限は素材ごとに適用されます。リクエストボディ全体の上限は 64MB のため、大きなメディアには
data:埋め込みよりも URL 参照を優先してください。
アスペクト比
- テキストから動画生成:
ratioは必須で、adaptiveは指定できません。21:9、16:9、4:3、1:1、3:4、9:16から選択してください。 - 画像から動画生成(先頭/末尾フレーム):出力は常に入力画像に従います。有効な
ratioの値はどれを指定しても受け付けられ、公式の挙動と同様にadaptiveに正規化されます。特定の比率にしたい場合は、先にフレーム画像をその比率にクロップしてください。 - マルチモーダル参照:
ratioは任意で、デフォルトはadaptiveです。
例 — テキストから動画生成
curl https://api.hop-base.com/v1/video/generate \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-H3",
"content": [{ "type": "text", "text": "Aerial drone shot over snow mountains above a sea of clouds at sunrise" }],
"resolution": "2K",
"duration": 4,
"ratio": "16:9"
}'送信すると 202 と HopBase のタスク ID が返ります。
{ "id": "mmt60x430684635582774", "object": "video.generation.task", "model": "MiniMax-H3", "status": "queued", "billing_bucket": "2k" }例 — 画像から動画生成
{
"model": "MiniMax-H3",
"content": [
{ "type": "text", "text": "The camera slowly pushes in, light drifting across the scene" },
{ "type": "image_url", "image_url": { "url": "data:image/jpeg;base64,..." }, "role": "first_frame" }
],
"resolution": "768P",
"duration": 4
}安定したメディアホスティングか data: 埋め込みを使用してください
参照メディアは HopBase ではなく MiniMax 側でダウンロードされます。データセンターの IP をブロックする画像ホスティングサービス(多くの無料画像 CDN がこれに該当します)を使うと、送信の数分後にタスクが失敗します。data: 埋め込み、またはお客様自身の OSS / CDN の利用を推奨します。
タスクのライフサイクル
GET /v1/video/tasks/{task_id} をポーリングしてください。status は queued → processing → completed | failed と遷移し、終了状態はこの最後の 2 つのみです。それ以外の値は実行中として扱ってください。通常、1 本のクリップは 1.5〜3 分で完成します。完了すると、レスポンスに出力 URL が含まれます。
{
"id": "mmt60x430684635582774",
"status": "completed",
"outputs": ["https://api.hop-base.com/..."],
"usage": { "bucket": "2k", "billed_seconds": 4, "input_seconds": 0, "extra_input_images": 0 }
}outputs は api.hop-base.com 上の署名付き URL で、タスク完了時点から 6 時間有効です。再度照会しても同じ URL が返るだけで有効期限は延長されず、期限切れの URL は 410 を返すため、この時間内に結果をダウンロードしてください。
MiniMax はどちらのモデルについても、トークンではなく出力解像度に応じたレートで動画の秒数単位で課金します。課金額は usage.billed_seconds に usage.bucket のレートを掛けたものです。参照動画は、その入力の長さに対して同じレートで別途課金されます(MiniMax 自身の input_seconds)。参照画像には無料の割り当てがあり、usage.extra_input_images がその割り当てを超えた枚数を示します。H3-Max では、MiniMax は出力動画のみを課金対象とし、入力素材には課金しません。
共通の残高・タイムアウト・取り消しルール
MiniMax のタスクを送信する際は、「利用可能残高 − 実行中タスクの見積もり額 − 今回のリクエストの見積もり額」で判定され、不足している場合は code が insufficient_balance の 402 が返ります。見積もり額はタスク終了時に自動的に解放されます。作成から 24 時間経っても完了しないタスクは自動的に失敗扱いになり、MiniMax のタスクを取り消すことはできません。失敗したタスクは一切課金されません。すべての動画ファミリーに共通する詳細は動画生成を参照してください。
プラン
MiniMax-H3 と MiniMax-H3-Max は別々の 2 つのモデルであり、それぞれ別のプラン(MiniMax H3 官方直連(MiniMax H3 公式直結)と MiniMax H3 Max 官方直连(MiniMax H3 Max 公式直結))から提供されます。そのため、一方に紐づいたキーは他方のモデルには到達しません。GET /v1/models で、お使いのキーがどちらのプランに到達するかを確認してください。
料金
公式のリスト価格は料金ページに掲載されています。実際の適用レートはログイン後のモデルカタログに表示され、各リクエストの実際の課金額は利用量レコードで確認できます。