curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "MiniMax-H3-Max",
"prompt": "雨のネオン街でトレンチコートの探偵が振り返る。カメラがゆっくり近づき、路面の反射が揺らめく。",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/videos/generations",
headers={"Authorization": "Bearer <token>", "Content-Type": "application/json"},
json={
"model": "MiniMax-H3-Max",
"prompt": "雨のネオン街で探偵が振り返り、カメラがゆっくり近づく。",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9",
},
)
print(response.json())
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
}
]
}
{
"error": {
"code": 400,
"message": "リクエストパラメータが無効です",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "認証に失敗しました。API キーを確認してください。",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "アカウント残高が不足しています",
"type": "payment_required"
}
}
MiniMax-H3
MiniMax-H3-Max 動画生成
- MiniMax 動画生成 V2 の高速版、非同期でタスクを送信
- テキストから動画、先頭・末尾フレーム制御、マルチモーダル参照生成に対応
- 480P / 768P / 1080P、5~15 秒の音声付き動画に対応
- 参照画像・動画・音声に対応。2K と中間フレームは非対応
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "MiniMax-H3-Max",
"prompt": "雨のネオン街でトレンチコートの探偵が振り返る。カメラがゆっくり近づき、路面の反射が揺らめく。",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/videos/generations",
headers={"Authorization": "Bearer <token>", "Content-Type": "application/json"},
json={
"model": "MiniMax-H3-Max",
"prompt": "雨のネオン街で探偵が振り返り、カメラがゆっくり近づく。",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9",
},
)
print(response.json())
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
}
]
}
{
"error": {
"code": 400,
"message": "リクエストパラメータが無効です",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "認証に失敗しました。API キーを確認してください。",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "アカウント残高が不足しています",
"type": "payment_required"
}
}
モデル選択:
MiniMax-H3-Max は、速度を優先するテキストから動画、先頭・末尾フレーム制御、マルチモーダル参照生成に適しています。480P、768P、1080P に対応。2K や中間フレームには MiniMax-H3 を使用してください。curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "MiniMax-H3-Max",
"prompt": "雨のネオン街でトレンチコートの探偵が振り返る。カメラがゆっくり近づき、路面の反射が揺らめく。",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/videos/generations",
headers={"Authorization": "Bearer <token>", "Content-Type": "application/json"},
json={
"model": "MiniMax-H3-Max",
"prompt": "雨のネオン街で探偵が振り返り、カメラがゆっくり近づく。",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9",
},
)
print(response.json())
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
}
]
}
{
"error": {
"code": 400,
"message": "リクエストパラメータが無効です",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "認証に失敗しました。API キーを確認してください。",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "アカウント残高が不足しています",
"type": "payment_required"
}
}
認証
モデルの選択
| 機能 | MiniMax-H3 | MiniMax-H3-Max |
|---|---|---|
| 解像度 | 2K / 768P、既定 2K | 480P / 768P / 1080P、既定 768P |
| 長さ | 4~15 秒 | 5~15 秒 |
| テキストから動画 | 対応 | 対応 |
| 先頭 / 末尾フレーム | 対応 | 対応 |
| 中間フレーム | 対応 | 非対応 |
| マルチモーダル参照 | 画像・動画・音声 | 画像・動画・音声 |
| 入力画像料金 | 最初の 5 枚は無料 | 最初の 2 枚は無料。超過分は画像ごとに課金 |
| 参照動画料金 | 入力時間に応じて課金。同じ解像度の出力動画と同単価 | 入力時間に応じて別単価で課金 |
| AIGC ウォーターマーク | 対応 | 480P / 768P は対応、1080P は非対応 |
MiniMax-H3-Max は 2K に対応せず、出力を Regeneration の元タスクとして使用することもできません。生成モード
リクエストフィールドからモードが自動判定されます。mode は送信しないでください。
| モード | 条件 | 動作 |
|---|---|---|
| テキストから動画(T2V) | prompt と共通フィールドのみ | テキストから生成 |
| 画像から動画(I2V) | first_frame_image / last_frame_image、または image_with_roles の対応ロール | 先頭、末尾、または両方を制御 |
| マルチモーダル参照(R2V) | image_urls / video_urls / audio_urls、または image_with_roles の reference_image | 参照画像・動画・音声から生成。1080P も対応 |
先頭・末尾フレームと参照素材は併用できません。参照音声には参照画像または参照動画が少なくとも 1 つ必要です。不正な組み合わせは同期的に HTTP 400 を返し、タスク作成・課金は行われません。
リクエストパラメータ
string
必須
固定値:
MiniMax-H3-Max。大文字小文字は区別されず、minimax-h3-max も使用できます。string
必須
空でない動画説明。すべてのモードで必須です。最大
7000 文字。integer
デフォルト:"5"
動画の長さ(秒)。
5~15 の整数、既定値 5。4 秒には対応しません。string
デフォルト:"768P"
出力解像度:
480P、768P(既定)、1080P。1080P では watermark と別名の aigc_watermark を省略してください。値が false でも送信しないでください。2K、1440P、2048P は使用できません。不正な値は HTTP 400 になり、自動的なダウングレードは行われません。string
出力アスペクト比。
size と ratio も使用できます。T2V の値:21:9、16:9、4:3、1:1、3:4、9:16。- T2V で省略または
adaptive:16:9にフォールバック - I2V:入力画像から決まり、このフィールドは無視
- マルチモーダル参照:省略可能。既定は
adaptive。具体的な比率も指定可能
string
動画の先頭フレームに使う公開画像 URL。
string
末尾フレームに使う公開画像 URL。単独でも
first_frame_image と組み合わせても使用できます。object[]
first_frame_image / last_frame_image / image_urls の代わりに使えるロール付き画像配列。表示 image_with_roles 要素
表示 image_with_roles 要素
image_urls の参照画像は合計 9 枚まで。フレームロールと参照画像ロールは併用できません。string[]
参照画像の公開 URL 配列。
image_with_roles の参照画像と合計 9 枚まで。すべて参照画像として処理し、先頭・末尾フレームには自動判定しません。先頭フレームには first_frame_image または first_frame ロールを使用してください。string[]
参照動画の公開 URL 配列。1 本の場合は
video_url(string)も使用可能。最大 3 本、各 2~15 秒、参照動画の合計時間は 15 秒以内。送信時に課金用の参照動画時間を読み取ります。読み取れない場合は同期的に HTTP 400 を返し、タスク作成・課金は行われません。string[]
参照音声の公開 URL 配列。1 本の場合は
audio_url(string)も使用可能。最大 3 本、各 2~15 秒、参照音声の合計時間は 15 秒以内。参照画像または参照動画が少なくとも 1 つ必要で、音声だけでは使用できません。boolean
デフォルト:"false"
AIGC ウォーターマークを追加するかどうか。別名:
aigc_watermark。ウォーターマークは 480P / 768P のみ対応します。 1080P では watermark と別名の aigc_watermark を省略してください。値が false でも送信しないでください。string
タスクが成功または失敗で終了したときに通知を受信します。
MiniMax の
callback_url ではなく webhook を使用してください。callback_url はゲートウェイ内部用です。パラメータ制約
次の不正なパラメータや組み合わせは、タスク作成・課金前に HTTP 400 を返します。| パラメータ / 値 | 理由 |
|---|---|
| 先頭・末尾フレームと参照素材の併用 | I2V と R2V は排他的 |
参照画像が 9 枚超、または参照動画・参照音声が 3 本超 | 素材数の上限超過 |
| 参照音声のみ | 参照画像または参照動画が必要 |
resolution: "2K" | 480P、768P、1080P のみ対応 |
duration: 4 または 15 超 | 5~15 秒のみ |
1080P では watermark と別名の aigc_watermark を省略してください。値が false でも送信しないでください。2K、中間フレーム、4 秒動画には MiniMax-H3 を使用し、パラメータを調整してください。
入力メディアの制限
リクエスト本文全体は 64 MB 以下。画像・動画・音声は公開 URL を使用し、Base64 は使用しないでください。画像
| 項目 | 制限 |
|---|---|
| 形式 | JPG / JPEG / PNG / WEBP / HEIC / HEIF |
| 1 ファイル | ≤ 30 MB |
| 幅・高さ | 256~5760 px |
| アスペクト比 | 0.4~2.5 |
| 枚数 | 先頭 1 枚、末尾 1 枚、参照画像 9 枚まで。フレーム画像と参照画像は併用不可 |
参照動画
| 項目 | 制限 |
|---|---|
| 形式 | MP4 / MOV, H.264 / H.265 |
| 1 ファイル | ≤ 50 MB |
| 枚数 | ≤ 3 |
| 1 本の長さ | 2–15 s |
| 合計時間 | ≤ 15 s |
| 幅・高さ | 256–5760 px |
| アスペクト比 | 0.4–2.5 |
| フレームレート | 23.976–60 fps |
参照音声
| 項目 | 制限 |
|---|---|
| 形式 | WAV / MP3 |
| 1 ファイル | ≤ 15 MB |
| 枚数 | ≤ 3 |
| 1 本の長さ | 2–15 s |
| 合計時間 | ≤ 15 s |
例
先頭フレーム指定
{
"model": "MiniMax-H3-Max",
"prompt": "湯気が立ち、カメラがゆっくり近づく。",
"first_frame_image": "https://cdn.example.com/ramen.png",
"duration": 5,
"resolution": "480P"
}
先頭・末尾フレーム指定
{
"model": "MiniMax-H3-Max",
"prompt": "朝から夕焼けへゆっくり移り変わる。",
"first_frame_image": "https://cdn.example.com/morning.png",
"last_frame_image": "https://cdn.example.com/sunset.png",
"duration": 8,
"resolution": "768P"
}
1080P テキストから動画
1080P では watermark と別名の aigc_watermark を省略してください。値が false でも送信しないでください。
{
"model": "MiniMax-H3-Max",
"prompt": "海辺の夕日、砂浜に穏やかに寄せる波、ゆっくり近づくカメラ、映画のような質感。",
"duration": 5,
"resolution": "1080P",
"aspect_ratio": "16:9"
}
マルチモーダル参照生成
参照動画・参照音声は各 2~15 秒。動画と音声の合計時間は別々に計算し、それぞれ 15 秒以内です。超過する素材は有効な入力ではないため、送信前に切り取ってください。{
"model": "MiniMax-H3-Max",
"prompt": "参照画像のキャラクターが参照動画の場面を走り、参照音声のリズムに合わせる。",
"image_urls": [
"https://cdn.example.com/role.png"
],
"video_urls": [
"https://cdn.example.com/scene.mp4"
],
"audio_urls": [
"https://cdn.example.com/beat.mp3"
],
"duration": 6,
"resolution": "1080P",
"aspect_ratio": "16:9"
}
タスクの照会
送信後にtask_id が返ります。タスク状態を 5~10 秒ごとに照会し、クライアントのタイムアウトは 15 分を推奨します。
status | 意味 |
|---|---|
pending | 送信済みまたは待機中 |
processing | 生成中 |
completed | 動画 URL は result.videos[0].url |
failed | error.message を確認。自動返金 |
生成された動画 URL は通常約 24 時間で失効します。早めに保存してください。
料金
総額は生成動画、超過入力画像、参照動画の料金を含みます。総額 = 生成動画の秒単価 × 出力時間
+ 超過画像単価 × max(0, 入力画像数 − 2)
+ 参照動画の秒単価 × 参照動画の合計時間
| 項目 | 単価 |
|---|---|
| 1080P 動画 | モデルの料金設定に準拠 |
| 768P 動画 | モデルの料金設定に準拠 |
| 480P 動画 | モデルの料金設定に準拠 |
| 入力画像 | 最初の 2 枚は無料。超過分は画像ごとに課金; モデルの料金設定に準拠 |
| 参照動画 | 入力秒数に応じて課金。単価はモデルの料金設定に準拠し、出力解像度によって異なり、生成単価とは別です。 |
| 参照音声 | 無料 |
| 例 | 料金 |
|---|---|
| 768P / 5s | 768P 生成単価 × 5 |
| 768P / 10s | 768P 生成単価 × 10 |
| 480P / 10s | 480P 生成単価 × 10 |
| 480P / 15s | 480P 生成単価 × 15 |
| 768P / 5s + 画像 × 3 | 768P 生成単価 × 5 + 超過画像単価 × 1 |
| 480P / 10s + 参照動画 (12s) | 480P 生成単価 × 10 + 480P 参照動画単価 × 12 |
| 1080P / 5s + 画像 × 2 + 参照音声 | 1080P 生成単価 × 5 |
cost が基準です。
エラー
| 場面 | 結果 |
|---|---|
空または 7000 文字超の prompt | 400、タスクなし |
duration が 5~15 の範囲外 | 400、タスクなし |
非対応の resolution | 400、タスクなし |
| 先頭・末尾フレームと参照素材の併用 / 参照音声のみ | 400、タスクなし |
参照画像が 9 枚超、または参照動画・参照音声が 3 本超 | 400、タスクなし |
| 参照動画の長さを読み取れない | 400、タスクなし |
| 不正な画像ロール、または先頭・末尾フレームの同一ロールに複数画像 | 400、タスクなし |
| 残高不足 | 402 |
| コンテンツ安全性で拒否 | 422 |
| レート制限 | 429、バックオフして再試行 |
status = failed と error.message を返し、自動返金されます。
Response
integer
レスポンスコード。成功時は 200