MiniMax M3は、最大1,000,000トークンのコンテキストウィンドウを持つフロンティア推論およびコーディングモデルです。この数字が目玉です。1回の呼び出しで、リポジトリ全体、1週間分のログ、あるいは長大な設計ドキュメントを入力し、それら全体にわたって推論させることができます。このモデルが何であるか、そしてどのような役割を果たすかについての背景を知りたい場合は、まずMiniMax M3とは何かをお読みください。
このガイドは実践的なバージョンです。APIキーを取得し、3つの異なる方法で最初のリクエストを送信し、Apidogですべてのステップをテストして、独自のコードに組み込む前に生の要求と応答を確認できるようにします。一緒に作業を進めたい場合は、Apidogをダウンロードしてください。
公式リファレンスはMiniMax APIドキュメントにあります。タブで開いたままにしておいてください。

必要なもの
- platform.minimax.ioのMiniMaxアカウント。
- APIキー(以下で生成します)。
- 利用料金の支払い方法:従量課金クレジットまたはサブスクリプショントークンプラン。どちらも同じエンドポイントで機能します。
curlの例では、他に何もインストールする必要はありません。SDKの例では、Python 3.8+またはNode 18+が必要です。
ステップ1:APIキーを取得する
platform.minimax.ioにサインインし、アカウントのAPIキーセクションを開き、新しいキーを作成します。MiniMaxは2種類の認証情報を発行しており、その違いが重要です。
- 通常のAPIキーは、従量課金残高に請求されます。
- サブスクリプションキーは、プラン(Plus、Max、またはUltra)のトークンクレジットを使用します。プランのトークンがなくなると、プランが更新されるか、従量課金キーに切り替えるまで、そのキーでの呼び出しは停止します。
ご希望の請求方法に合った方を選択してください。キーを一度コピーして保存してください。再度表示されることはありません。
キーを直接ソースコードに貼り付けないでください。代わりに環境変数としてエクスポートしてください。
export MINIMAX_API_KEY="your-key-here"
これにより、秘密がGitの履歴や共有する可能性のあるファイルから除外されます。エディタ内でAPIキーを扱う場合も、同様の衛生ルールが適用されます。一般的な漏洩については、VS Code拡張機能のAPIキーセキュリティで説明しました。
ステップ2:最初のリクエストを送信する
ベースURLはhttps://api.minimax.io/v1で、チャットはPOST https://api.minimax.io/v1/chat/completionsにあります。認証はベアラートークンです:Authorization: Bearer $MINIMAX_API_KEY。モデルID文字列はMiniMax-M3です。
以下は、curlを使用した最小限で有用な呼び出しです。モデルに特定の関数のリファクタリングを依頼するという、実用的なタスクです。
curl https://api.minimax.io/v1/chat/completions \
-H "Authorization: Bearer $MINIMAX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"MiniMax-M3","messages":[{"role":"user","content":"Refactor this function to be async."}]}'
M3を呼び出す方法は3つあります。MiniMaxはAnthropic SDKを推奨していますが、OpenAI SDKと生のHTTPの両方が同じエンドポイントに対して機能します。ご自身のスタックで既に使用しているものを使ってください。
以下はPythonでのOpenAI SDKです。通常のOpenAIの設定からの唯一の変更点はbase_urlです。
from openai import OpenAI
client = OpenAI(
base_url="https://api.minimax.io/v1",
api_key="YOUR_API_KEY",
)
response = client.chat.completions.create(
model="MiniMax-M3",
messages=[
{"role": "user", "content": "Refactor this function to be async."}
],
)
print(response.choices[0].message.content)
Nodeでも同様に、ベースURLを再設定するだけです。
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.minimax.io/v1",
apiKey: process.env.MINIMAX_API_KEY,
});
const response = await client.chat.completions.create({
model: "MiniMax-M3",
messages: [
{ role: "user", content: "Refactor this function to be async." },
],
});
console.log(response.choices[0].message.content);
Qwen 3.7 APIを使用したことがあるなら、このパターンはお馴染みでしょう。ほとんどのフロンティアモデルは現在OpenAI互換のインターフェースを公開しているため、移行コストは1行の変更だけです。OpenAI Python SDKドキュメントとAnthropic SDKドキュメントは、クライアントのすべてのオプションを網羅しています。
ステップ3:Apidogでテストおよび検査する
この呼び出しをアプリケーション内に組み込む前に、手動で送信して生の応答を読んでください。そこでApidogがその価値を発揮します。

- 新しいHTTPリクエストを作成し、メソッドを
POST、URLをhttps://api.minimax.io/v1/chat/completionsに設定します。 - 環境パネルを開き、
MINIMAX_API_KEYという名前の変数を、あなたのキーを値として追加します。リクエストボディや共有コレクションに置かれることがないよう、環境変数として保存してください。 - リクエストヘッダーに、値
Bearer {{MINIMAX_API_KEY}}のAuthorizationを追加します。Apidogは送信時に変数を置き換えます。 - ボディをRAW JSONに設定し、curlの例と同じペイロードを貼り付けます。
- 送信ボタンをクリックし、応答パネルを確認します。
[スクリーンショット:ApidogでのMiniMax-M3のリクエストと応答]
トークンを環境変数として保存することで、秘密を漏洩させることなくチームメイトとリクエストを共有でき、1つの変数を変更するだけでキー(従量課金とサブスクリプション)を交換できます。後でストリーミングを有効にすると、Apidogはサーバー送信イベントが到着するたびに表示するため、解析コードを書く前にストリーム形式を確認できます。応答を手動で検査することで、スキーマの予期せぬ変更を早期に発見できます。これは、エンドポイントを信頼する前にテストすることの要点です。
ステップ4:思考のオン/オフを切り替える
M3は推論モデルです。デフォルトでは、最終的な回答を返します。中間推論を公開するよう要求することもでき、これはモデルがなぜその結論に至ったのかをデバッグしたり、その推論をレビュー段階に組み込んだりする場合に役立ちます。
OpenAI SDKを使用する場合、reasoning_splitをextra_body経由で渡します。
from openai import OpenAI
client = OpenAI(
base_url="https://api.minimax.io/v1",
api_key="YOUR_API_KEY",
)
response = client.chat.completions.create(
model="MiniMax-M3",
messages=[
{"role": "user", "content": "Refactor this function to be async."}
],
extra_body={"reasoning_split": True},
)
print(response.choices[0].message.reasoning_details[0]["text"]) # the thinking
print(response.choices[0].message.content) # the final answer
reasoning_splitがオンの場合、思考のテキストはresponse.choices[0].message.reasoning_details[0]["text"]で返され、最終的な回答はresponse.choices[0].message.contentに残ります。UIではこれら2つを分離してください。ユーザーには回答を表示し、推論はログまたは検証パスのために保持します。
多段階のリファクタリング、厄介なバグの特定、連鎖を監査したい場合など、難しい問題には思考をオンにしてください。余分な推論トークンが不要な時間と費用を要する、シンプルでレイテンシに敏感な呼び出しではオフにしてください。
ステップ5:1Mトークンのコンテキストを扱う
大規模なコンテキストウィンドウは、M3を使用する理由です。ログファイル全体を貼り付けて、その全体に対して1つの質問をすることができます。
with open("production-2026-05-30.log") as f:
log_text = f.read()
response = client.chat.completions.create(
model="MiniMax-M3",
messages=[
{
"role": "user",
"content": f"Find the root cause of the 502 spike at 14:20 UTC.\n\n{log_text}",
}
],
)
知っておくべき課金上の注意点です。MiniMaxは、512K入力トークン以下の呼び出しには標準料金を課し、入力が512Kトークンを超えると高額な長文コンテキスト料金を課します。したがって、400Kトークンのプロンプトから600Kトークンのプロンプトへの跳ね上がりは線形ではありません。それは料金のしきい値を超えます。
実用的な教訓:習慣的に何百万ものトークンをコンテキストに投入しないでください。モデルが必要とする部分だけを送信してください。エージェントで多くの呼び出しを連鎖させる場合、呼び出しごとにコンテキストをトリミングすることが、請求額を左右する最大の要素の1つです。これについては、エージェントのトークンコストを削減する方法で詳しく説明しています。
ステップ6:ツール呼び出しとマルチモーダル入力
M3はツール呼び出しとマルチモーダル入力に対応しているため、エージェントを駆動したり、テキストだけでなく画像を読み取ったりすることもできます。
ツール呼び出しの場合、モデルが呼び出しを許可するツールを宣言し、次にモデルが返す呼び出しを処理します。
tools = [
{
"type": "function",
"function": {
"name": "run_tests",
"description": "Run the test suite for a given module path.",
"parameters": {
"type": "object",
"properties": {
"module": {"type": "string"},
},
"required": ["module"],
},
},
}
]
response = client.chat.completions.create(
model="MiniMax-M3",
messages=[
{"role": "user", "content": "Fix the failing test in auth/session.py and confirm it passes."}
],
tools=tools,
)
モデルがツールを呼び出すことを決定すると、応答にはtool_calls配列が含まれます。あなたのコードが関数を実行し、結果をtoolメッセージとして追加し、モデルが処理を続行できるように再度APIを呼び出します。このハンドシェイクを正しく行うことが、ほとんどのエージェントのバグの原因となります。デプロイする前に、配線パターンと失敗モードを読む価値があります:エージェントワークフローのツール配線。
Apidogはここでも役立ちます。完全な複数ターンでのやり取り(最初の要求、ツール呼び出しの応答、ツールの結果、後続の処理)を個別の保存済みリクエストとして再生できるため、エージェントの実行環境内で推測するのではなく、各ホップをエンドツーエンドで検証できます。
マルチモーダル入力の場合、標準のコンテンツパーツの形式に従って、テキストプロンプトとともに画像コンテンツを同じメッセージ配列で渡します。正確なフィールド名についてはAPIリファレンスを確認してください。これらの機能はテキストエンドポイントよりも速く進化するためです。
料金とティア
支払い額とサービスの速度は、2つの異なる要素によって決まります。
トークンプランは、クレジット予算を設定します。サブスクリプションのティアは、Plusが20ドル、Maxが50ドル、Ultraが120ドルで、それぞれサブスクリプションキーによって消費される、より大きなトークンクレジットのプールが含まれています。従量課金は、残高に対して通常のAPIキーで請求されます。

サービスティアはスケジューリングの優先度を設定します。2つのティアがあります:standard(デフォルト)とpriorityです。Standardはほとんどのワークロードに適しています。Priorityは、他のすべてのトラフィックの後にキューで待機できない、レイテンシに敏感な、またはSLAに縛られたトラフィック向けです。
これにステップ5の標準と長文コンテキストの料金を考慮すると、実際のコストは入力サイズ、プラン、ティアによって決まります。現在のトークンあたりの料金については、公開されている料金が変更される可能性があるため、MiniMaxの料金とモデルページおよびAPIドキュメントを確認してください。
よくある質問
M3を無料で試す方法はありますか?はい、プランに加入せずにモデルをテストでき、いくつかの無料の方法があります。それらはMiniMax M3を無料で利用する方法にまとめました。
どのSDKがAPIで動作しますか?3つのオプションがあります:生のHTTP、Anthropic SDK、OpenAI SDKです。MiniMaxはAnthropic SDKを推奨していますが、3つすべてが同じhttps://api.minimax.io/v1/chat/completionsエンドポイントにアクセスします。OpenAIおよびAnthropicクライアントの場合、base_urlをMiniMaxを指すように変更するだけです。
応答をストリーミングするにはどうすればよいですか?リクエストボディに"stream": trueを追加します。APIはサーバー送信イベントを返し、両方のSDKはイベントが到着するたびにチャンクを読み取るためのイテレータを公開しています。Apidogで最初にストリームをテストして、解析する前にイベント形式を確認できるようにしてください。
レート制限は何ですか?制限はアカウントのティアと、standardまたはpriorityサービスのどちらを使用しているかによって異なります。429エラーが発生した場合は、バックオフして再試行するか、レイテンシに敏感なトラフィックを優先ティアに移動してください。現在の数値は、アカウントダッシュボードとAPIドキュメントに記載されています。
512Kのしきい値は私の請求にどう影響しますか?512Kトークン以下の入力での呼び出しは標準料金で請求されます。512K入力トークンを超えると、高額な長文コンテキスト料金が適用されます。特にコストが呼び出し全体で累積するエージェントループでは、モデルが実際に必要とするトークンまでプロンプトをトリミングしてください。
APIを呼び出す代わりに、モデルの重みをセルフホストできますか?ホスト型APIがこのガイドでカバーするパスであり、最も早く開始できる方法です。セルフホスティングは、MiniMaxがM3に関してその時点で公開している内容に依存するため、現在の重みとライセンスの状況についてはモデルページを確認してください。
まとめ
これでMiniMax M3を呼び出すために必要なすべてのものが揃いました。環境変数として保存されたAPIキー、動作するcurl、Python、Nodeのリクエスト、思考の切り替え、512Kの課金しきい値、およびツール呼び出しのハンドシェイクです。これを習得する最速の方法は、実際のリクエストを手動で1回実行することです。Apidogにエンドポイントをドロップし、ベアラートークンを環境変数として保存し、リファクタリングプロンプトを送信して、応答を読み取ります。生の形式を確認したら、それをコードに組み込むのは数分で完了します。
