MiniMax H3
MiniMax H3 で、768P または 2K の音声付き 4〜15 秒クリップを生成。テキストから動画・最初と最後のフレームから動画・参照から動画に対応し、MiniMax の公式リクエスト形式でタスクとして受け取れます。
MiniMax H3(Hailuo 03)は MiniMax のマルチモーダル動画モデルです。1 回のリクエストで映像と音を一緒に生成します。生成されるのは、セリフ・環境音・効果音付きの 768P または 2K、4〜15 秒のクリップです。リクエストボディは MiniMax の公式形式で、モデル ID は minimax-h3 です。リクエストを送信し、返されたタスク ID を保持して、完成した動画をタスクから読み取ってください。フレームと参照は URL で渡します。
モデル ID
| モデル ID | 入力 | 解像度 | 長さ |
|---|---|---|---|
minimax-h3 | テキスト、最初と最後のフレーム、参照画像・動画・音声 | 768P、2K | 4〜15 秒 |
現在の料金はモデルページをご覧ください。
クイックサンプル
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-h3",
"content": [
{"type": "text", "text": "A small sailboat glides across a calm turquoise bay at sunrise, seagulls in the distance, the sound of water and wind. No text, no logos."}
],
"resolution": "768P",
"duration": 5,
"ratio": "16:9"
}'エンドポイント
POST https://api.seedrouter.ai/v1/videos/generations| ヘッダー | 値 |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
レスポンスはタスク({"id": "task_...", "status": "processing"})であり、完成した動画ではありません。結果は GET /v1/tasks/{task_id} をポーリングして取得してください。API キーはサーバー側のコードに保管してください。
パラメータ
| フィールド | 型 | デフォルト | 備考 |
|---|---|---|---|
model | string | 必須 | minimax-h3 |
content | array | 必須 | プロンプトとメディア。下で説明する項目として渡します。空でない text 項目がちょうど 1 つ必要です。 |
resolution | enum | 必須 | 768P または 2K。 |
duration | integer | 必須 | 4〜15 秒の任意の整数。 |
ratio | enum | 入力による | adaptive、21:9、16:9、4:3、1:1、3:4、9:16。テキストのみの場合は必須で、adaptive は受け付けません。 |
content_filter | boolean | true | SeedRouter のコンテンツフィルター(後述)。モデルには送信されません。 |
スキーマは厳格です。未知のフィールドは無視されず、拒否されます。callback_url は利用できません。代わりにタスクをポーリングしてください。extra は MiniMax-H3-Max 用のもので、このモデルでは受け付けません。
Content の項目
type | 項目 | role |
|---|---|---|
text | {"type": "text", "text": "..."}、最大 7,000 文字 | なし |
image_url | {"type": "image_url", "image_url": {"url": "https://..."}, "role": "..."} | first_frame、last_frame または reference_image |
video_url | {"type": "video_url", "video_url": {"url": "https://..."}, "role": "reference_video"} | reference_video |
audio_url | {"type": "audio_url", "audio_url": {"url": "https://..."}, "role": "reference_audio"} | reference_audio |
role のない画像が 1 枚だけなら、それが最初のフレームになります。画像が 2 枚以上ある場合は、すべての画像に role が必要です。
モード
モードは content の項目で決まります。モード用のフィールドはありません。
| モード | content の中身 | ratio |
|---|---|---|
| テキストから動画 | text 項目 1 つ | 必須、adaptive は不可 |
| 画像から動画 | text に加えて、first_frame と last_frame のどちらかまたは両方の画像 | どの値も adaptive として扱われ、画像が形を決めます |
| 参照から動画 | text に加えて、最大 9 個の reference_image、3 個の reference_video、3 個の reference_audio 項目を自由に組み合わせ | 任意、デフォルトは adaptive |
1 つのリクエストでフレームと参照を組み合わせることはできません。
{
"model": "minimax-h3",
"content": [
{"type": "text", "text": "The person in the photo speaks to camera: Follow the wind. Voice follows the reference audio."},
{"type": "image_url", "image_url": {"url": "https://example.com/person.jpg"}, "role": "reference_image"},
{"type": "audio_url", "audio_url": {"url": "https://example.com/voice.mp3"}, "role": "reference_audio"}
],
"resolution": "2K",
"duration": 6
}メディア入力
画像、動画、音声の項目はすべて公開 HTTP(S) URL です。Base64 のデータ URI と mm_file:// ID は受け付けません。ファイルを自分のストレージにアップロードし、その URL を渡してください。
| 入力 | 形式 | 制限 |
|---|---|---|
| 画像 | JPG、JPEG、PNG、WebP、HEIC、HEIF | 30 MB 以下、各辺 256〜5760 px、幅 / 高さ 0.4〜2.5 |
| 動画 | MP4、MOV(H.264 または H.265) | 50 MB 以下、各 2〜15 秒で合計 15 秒、各辺 256〜5760 px、幅 / 高さ 0.4〜2.5、23.976〜60 fps |
| 音声 | WAV、MP3 | 15 MB 以下、各 2〜15 秒で合計 15 秒 |
参照動画はリクエストの受理時に計測されます。長さを読み取れない動画は拒否され、課金されません。その他の制限は生成前にチェックされ、いずれかに違反したリクエストは課金なしで失敗します。
コンテンツフィルター
指定しない限り、content_filter は true です。フィルターがオンのとき、モデルの実行前に、テキスト、すべての画像、各参照動画の 3 フレーム(最初・中間・最後)がチェックされます。フラグが立ったリクエストはコード 60001 で失敗し、課金されません。チェックできなかったリクエストも同様です。参照音声はチェックされません。content_filter を false にするとチェックを省略できます。Web サイトの Playground では常にオンのままです。
課金に影響する要素
現在のレートはモデルの料金セクションで確認してください。MiniMax H3 は動画 1 秒単位で課金され、レートは出力解像度で決まります。加えて、最初の 5 枚を超える入力画像が課金されます:
billed seconds = duration + ceil(Σ each reference video's seconds)
extra images = max(0, number of images − 5)
cost = billed seconds × rate per second + extra images × rate per image最初のフレーム、最後のフレーム、参照画像はいずれも画像として数えられます。参照音声は課金されません。どちらの数量もリクエストの受理時に確定するため、確保される金額がそのまま課金額になります。最終的な課金額はアカウントの利用履歴で確認できます。失敗したタスクは課金されません。
出力スキーマ
送信するとタスクが返されます:
{"id": "task_...", "model": "minimax-h3", "status": "processing", "created_at": 1789689600}タスクを取得する
GET https://api.seedrouter.ai/v1/tasks/{task_id}status が completed または failed になるまで、10〜20 秒ごとにポーリングしてください。ポーリング中のネットワークタイムアウトは生成の失敗を意味しません。タスク ID を保持して確認を再開してください。進捗確認のために別のタスクを作成しないでください。
完了したタスク
{
"id": "task_...",
"model": "minimax-h3",
"status": "completed",
"created_at": 1789689600,
"finished_at": 1789689740,
"output": {
"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4",
"resolution": "768P",
"ratio": "16:9",
"duration": 5
}
}ratio はクリップが作られたアスペクト比で、adaptive で選ばれたものも含みます。私たちのテストでは、16:9 の 4 秒・768P クリップが MP4(H.264)、1344 × 768、24 fps で返り、32 kHz のステレオ AAC トラックが付いていました。
エラー
タスク作成前に拒否されたリクエストは、HTTP エラーと error オブジェクトを返し、課金されません。受理後に失敗したタスクは、照会時に HTTP 200 と status: "failed"、そして error オブジェクトを返します。
コード・HTTP ステータス・リトライの指針は共通エラーカタログを参照してください。
{
"id": "task_...",
"model": "minimax-h3",
"status": "failed",
"error": {
"code": 60001,
"message": "the request was blocked by content moderation"
}
}送信自体がタイムアウトした場合は、再送信の前にタスクを確認してください。最初のリクエストが受理されている可能性があります。
ヒント
- ショットとその音を一緒に記述してください。被写体、場所、カメラ、光、セリフ、効果音です。
- セリフはプロンプトに書き、声を合わせたい場合は参照音声を添付してください。
768Pで下書きし、最終ショットは同じリクエストを2Kでレンダリングしてください。- ショットの始まりと終わりは最初と最後のフレームで、商品・人物・動きを保つには参照で制御してください。
- 勝手なマークが入らないよう、
no text, no logosを加えてください。
