- MiniMax H3 JavaScript API は非同期の動画生成タスクを使用します。
- 認証 には、Authorization ヘッダーに MiniMax API キーが必要です。
- コアフロー: タスクを作成し、ステータスをポーリングし、完了したファイルを取得して、ダウンロード URL を保存します。
- ベストプラクティス: API キーはサーバー側で管理し、一時的な失敗はバックオフ付きで再試行します。
MiniMax H3 JavaScript API の概要
MiniMax H3 は、2026 年にリリースされたマルチモーダル AI 動画モデルです。自然言語のプロンプトを受け付け、選択したワークフローに応じて画像、動画、音声の参照と連携できます。ホスト型 API は、即時の動画応答ではなく非同期生成向けに設計されています。
JavaScript アプリケーションでは、実際の流れはシンプルです。動画タスク作成リクエストを送信し、返された task_id を保存し、タスクが終了ステータスに達するまで問い合わせを行い、file_id を使って生成結果のファイルを取得します。エンドポイントのパラメータが変更された場合は、必ず公式の video generation guide と API reference を確認してください。
作成
モデル、プロンプト、継続時間、解像度、および対応する入力設定を送信します。応答にはタスク識別子が含まれます。
監視
一定間隔で問い合わせエンドポイントをポーリングします。Success と Fail は終了ステータスとして扱ってください。
取得
返されたファイル識別子をファイル取得エンドポイントで使用し、その結果を永続ストレージにコピーします。
| API ステージ | 必要な値 | 結果 |
|---|---|---|
| 認証 | Bearer API キー | 認可済みリクエスト |
| 作成 | モデルとプロンプト | task_id |
| 問い合わせ | task_id | 処理ステータス |
| 取得 | file_id | ダウンロード URL |
API はバックエンド、サーバーレス関数、または保護されたワーカーから使用してください。MINIMAX_API_KEY をユーザーに配布するブラウザー JavaScript に露出させないでください。
JavaScript API のセットアップ手順
リクエストを書く前に、サーバーサイドの Node.js 環境を用意し、キーを環境変数として保存してください。以下のワークフローは、MiniMax が 2026 年に文書化した非同期パターンに対応しています。
API キーを作成する
MiniMax プラットフォームのダッシュボードを開き、API キーを作成して、保護されたシークレットストアに保存します。ローカル開発では、MINIMAX_API_KEY のような環境変数を使用してください。
生成設定を選ぶ
H3 モデルを選択し、焦点を絞ったプロンプトを書き、利用可能な継続時間と解像度を選びます。参考データには、768P や 6 秒のクリップなどの一般的な例が掲載されています。
タスクを作成する
POST リクエストを https://api.minimax.io/v1/video_generation に送信します。返された task_id を保存してください。リクエストが受理されたあともレンダリングは継続します。
ポーリングして取得する
タスクが成功するまで https://api.minimax.io/v1/query/video_generation?task_id=... を問い合わせます。その後、返された file_id を使って /files/retrieve を呼び出します。
| 設定 | 例 | ガイダンス |
|---|---|---|
| 環境変数 | MINIMAX_API_KEY | ソースファイルやクライアントバンドルの外に保持する |
| モデル | MiniMax-H3 | 現在のモデル名は API リファレンスで確認する |
| プロンプト | 音付きの映画的なシーン | 被写体、動作、カメラ、台詞、音声を記述する |
| 継続時間 | 6 | 選択した H3 ワークフローでサポートされる値を使用する |
| 解像度 | 768P | 選択したホスト機能が対応していれば 2K を使用する |
セットアップチェックリスト:
- MiniMax API キーを作成して安全に保存する
- 現在の H3 エンドポイントとモデル名を確認する
- プロンプトと対応する参照アセットを準備する
- サーバー側のポーリングハンドラを作成する
- 完了したファイルを一時的な API ストレージの外に保存する
タスク作成、ステータスポーリング、ファイル取得を独立した関数に分けてください。これにより再試行がより安全になり、各失敗の原因を切り分けやすくなります。
Node.js による MiniMax H3 API の例
以下の JavaScript 例では、最新の Node.js ランタイムで利用できる組み込みの fetch を使用しています。タスクを作成し、10 秒ごとにポーリングし、成功または失敗で停止し、完了したファイルを取得します。
const apiKey = process.env.MINIMAX_API_KEY;
const baseUrl = "https://api.minimax.io/v1";
if (!apiKey) throw new Error("MINIMAX_API_KEY is not configured");
const headers = {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json"
};
async function createVideo() {
const response = await fetch(`${baseUrl}/video_generation`, {
method: "POST",
headers,
body: JSON.stringify({
model: "MiniMax-H3",
prompt:
"A cinematic product reveal on black glass, soft violet lighting, slow camera movement, subtle mechanical sound.",
duration: 6,
resolution: "768P"
})
});
if (!response.ok) {
throw new Error(`Create failed with HTTP ${response.status}`);
}
const data = await response.json();
return data.task_id;
}
async function queryVideo(taskId) {
const response = await fetch(
`${baseUrl}/query/video_generation?task_id=${encodeURIComponent(taskId)}`,
{ headers }
);
if (!response.ok) {
throw new Error(`Query failed with HTTP ${response.status}`);
}
return response.json();
}
async function retrieveVideo(fileId) {
const response = await fetch(
`${baseUrl}/files/retrieve?file_id=${encodeURIComponent(fileId)}`,
{ headers }
);
if (!response.ok) {
throw new Error(`File retrieval failed with HTTP ${response.status}`);
}
const data = await response.json();
return data.file?.download_url || data.download_url;
}
async function main() {
const taskId = await createVideo();
while (true) {
const task = await queryVideo(taskId);
if (task.status === "Success") {
const downloadUrl = await retrieveVideo(task.file_id);
console.log({ taskId, fileId: task.file_id, downloadUrl });
break;
}
if (task.status === "Fail") {
throw new Error(task.error_message || "Video generation failed");
}
await new Promise(resolve => setTimeout(resolve, 10000));
}
}
main().catch(console.error);
生成されたダウンロード URL は、プロジェクトで長期保存が必要な場合、速やかにアプリケーションのストレージへコピーしてください。現在のファイル API ドキュメントで別段の定義がない限り、この URL は一時的なものとして扱ってください。
| ステータス | 意味 | 推奨アクション |
|---|---|---|
400 | ペイロードが無効、または未対応のオプション | モデル、継続時間、解像度、入力を検証する |
401 / 403 | 認証または権限の問題 | シークレットと Authorization ヘッダーを確認する |
429 | レート制限またはクォータの問題 | 一時停止し、指数バックオフ付きで再試行する |
500–599 | 一時的なサービス障害 | 回数を限定して再試行する |
Fail | タスクが有効な結果なしに終了した | エラーを読み、修正したタスクを送信する |
API キーをフロントエンドのソース、ブラウザーのローカルストレージ、公開ログ、または一般ユーザーに返されるエラーメッセージに絶対に入れないでください。
プロンプト、モード、入力の選択
JavaScript のリクエストはタスクを制御しますが、プロンプトの品質によって H3 が意図したシーンをどれだけ明確に解釈できるかが決まります。時系列に沿った指示を使い、矛盾するカメラワークは避けてください。
有効なプロンプト構成は、被写体と場所、動作とタイミング、カメラの動き、照明とスタイル、台詞、効果音、雰囲気、最終的な構図、です。
| 生成モード | 主な入力 | 最適な用途 |
|---|---|---|
| テキストから動画 | テキストプロンプト | 新しいシーンと素早いコンセプト検証 |
| 最初のフレームの画像から動画 | 1 枚の開始画像とプロンプト | 用意した構図のアニメーション化 |
| 最初と最後のフレーム | 順序付けられた 2 枚の画像と遷移プロンプト | 制御された変形 |
| 参照から動画 | ビジュアル参照とシーンプロンプト | 製品、キャラクター、スタイルの一貫性 |
| モーション転送 | 被写体参照とモーション動画 | 動きとタイミングの一致 |
| 動画再生成 | 元動画と編集プロンプト | 既存映像のスタイル変更や修正 |
参照ベースのリクエストでは、各アセットが何を制御するのかを明示してください。たとえば、1 枚の画像をキャラクター参照として、動画を動きの参照として指定します。これにより曖昧さが減り、最も重要な詳細を保ちやすくなります。
主な動作を 1 つ、主要なカメラワークを 1 つ、明確な音響プランを 1 つ記述してください。短いクリップでは、関係のない多数の出来事よりも、焦点を絞った指示の方が有効です。
ベストプラクティスと FAQ
段階的な制作ワークフローを使ってください。短い 768P の下書きでテストし、動きと音声を確認し、弱い指示だけを修正し、より高解像度の出力は選定した結果にのみ適用します。公式の pricing documentation では、コストは継続時間、解像度、ワークフロー、適用される参照料金によって決まると説明されています。
ホスト型 API とローカル H3 重みは別々の選択肢です。公式の MiniMax H3 Hugging Face repository ではオープンウェイト版が提供されており、一方でホスト型サービスはインフラ、タスクキュー、ファイル配信を管理します。参考資料では H3-Base 重みが利用可能である一方、ホスト型の一部の Context-IR や 2K 再生成機能は別サービスとして扱われています。
| ワークフロー | 強み | 主なトレードオフ |
|---|---|---|
| ホスト型 API | 高速な統合と管理された提供 | API アクセスと利用枠が必要 |
| MiniMax CLI | 便利なターミナルワークフロー | 対応する CLI コマンドに依存する |
| ローカル重み | インフラとストレージの制御 | 対応ハードウェアとセットアップが必要 |
| 参照生成 | アイデンティティや製品の制御性が高い | 明確で対応済みの入力アセットが必要 |
元のプロンプト、タスク ID、入力アセット、API 応答、最終ファイルパスをまとめて保存してください。これにより、成功した生成結果を再現しやすくなり、監査もしやすくなります。
Q: MiniMax H3 JavaScript API のワークフローとは何ですか?
非同期の動画タスクを作成し、task_id を保存し、問い合わせエンドポイントをポーリングし、file_id でファイルを取得し、返されたダウンロード URL を保存します。
Q: MiniMax H3 API をブラウザーの JavaScript から直接呼び出せますか?
ブラウザーコードでは API キーが露出するため、バックエンドまたはサーバーレスのプロキシの方が安全です。認証は自分で管理するインフラ上で行ってください。
Q: 失敗した H3 タスクはどう扱うべきですか?
タスクのエラーメッセージを読み、プロンプトと入力制約を確認し、リクエストを修正して、新しいタスクを作成してください。失敗したタスクを繰り返しポーリングし続けるべきではありません。
Q: ローカルの H3 重みはホスト型 API と同じですか?
いいえ。ダウンロードした重みは自己管理の推論をサポートしますが、ホスト型サービスは別の管理機能、最適化、ファイル配信、Context-IR ワークフローを提供する場合があります。