MiniMax シリーズ
MiniMax のテキストモデルで、MiniMax M3、M2.7、M2.7 HighSpeed があります。OpenAI 互換 API で呼び出せるほか、Anthropic ネイティブ API にも対応しており、Claude Code で使えます。MiniMax の動画モデルは Hailuo(MiniMax) を参照してください。
目的別ガイド
モデル
モデルの全一覧とリアルタイム価格はモデルページ を参照してください。モデル ID のプレフィックスは minimax/ で、省略できます。公式名の MiniMax-M3 と書くと 404 を返します。
minimax/minimax-m3約 1.1M コンテキスト、画像入力に対応minimax/minimax-m2.7200K コンテキスト、テキストのみminimax/minimax-m2.7-highspeed200K コンテキスト、テキストのみ上記のモデルは MiniMax 公式(minimax)から提供されており、Chat Completions、Responses、Anthropic ネイティブ API に対応しています。
呼び出し例
Python
import os
import re
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"])
resp = client.chat.completions.create(
model="minimax/minimax-m3",
messages=[{"role": "user", "content": "冪等性とは何かを一文で説明してください。"}],
)
content = resp.choices[0].message.content
answer = re.sub(r"<think>.*?</think>\s*", "", content, flags=re.S)
print(answer)思考内容
MiniMax モデルはデフォルトで思考が有効です。OpenAI 互換 API で呼び出すと、message.content の先頭に <think>…</think> で囲まれた思考内容があり、その後に回答が続きます。ストリーミングのレスポンスでも同様に delta.content で返されます。上の例では正規表現でこの部分を取り除いています。
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"])
resp = client.chat.completions.create(
model="minimax/minimax-m3",
messages=[{"role": "user", "content": "ある数にその 3 倍を足し、さらに 12 を引くと 36 になります。この数はいくつですか?数字だけで答えてください。"}],
extra_body={"thinking": {"type": "disabled"}},
)
print(resp.choices[0].message.content)- MiniMax M3 の
thinking.typeはadaptiveとdisabledのみを受け付け、enabledを渡すと 400 を返します。 - 思考トークンは
max_tokensに含まれます。上限が小さすぎると、回答が思考内容の途中で止まり、finish_reasonがlengthになることがあります。 - 思考トークンは出力単価で課金され、トークン数は
usage.completion_tokens_details.reasoning_tokensで確認できます。
Claude Code で使う
MiniMax モデルは Anthropic ネイティブ API に対応しています。URL は https://api.ofox.io/anthropic です。この API で呼び出すと、思考内容は独立した thinking ブロックとして返され、回答は text ブロックに入るため、think タグを自分で取り除く必要はありません。
https://api.ofox.io/anthropicminimax/minimax-m3import os
import anthropic
client = anthropic.Anthropic(base_url="https://api.ofox.io/anthropic", api_key=os.environ["OFOX_API_KEY"])
resp = client.messages.create(
model="minimax/minimax-m2.7",
max_tokens=4096,
messages=[{"role": "user", "content": "ある数にその 3 倍を足し、さらに 12 を引くと 36 になります。この数はいくつですか?"}],
)
for block in resp.content:
print(block.type, ":", getattr(block, "thinking", None) or block.text)- MiniMax M2.7 と M2.7 HighSpeed は常に
thinkingブロックを返します。 - MiniMax M3 は
"thinking": {"type": "adaptive"}または{"type": "enabled", "budget_tokens": 2000}を渡すとthinkingブロックを返し、{"type": "disabled"}を渡すとtextブロックのみを返します。
Claude Code の設定手順の詳細は Claude Code の設定を参照してください。
画像入力
画像入力に対応しているのは MiniMax M3 のみで、標準の image_url コンテンツブロックを使います。書き方は画像理解を参照してください。MiniMax M2.7 と M2.7 HighSpeed はテキストのみに対応しているため、画像を認識させたい場合は M3 を使ってください。
その他の機能
- ツール呼び出し:標準の
toolsパラメーターを使い、tool_callsを返します。 - キャッシュ:重複するリクエストのプレフィックスを自動でキャッシュします。ヒット量は
usage.prompt_tokens_details.cached_tokensで確認できます。実測では、約 5600 トークンの同じプレフィックスで、2 回目のリクエストのキャッシュヒットが 5000 トークンを超えました。 - 構造化出力:実測では、
response_formatにjson_schemaを渡しても回答は通常のテキストのままでした。JSON が必要な場合は、プロンプトでフィールドを指定し、自分でパースしてください。
よくあるエラー
その他の共通エラーは Error Handling を参照してください。
公式ドキュメント
よくある質問
MiniMax のモデル ID はどう書けばよいですか?
標準表記は minimax/minimax-m3 です。プレフィックスを省略して minimax-m3 と書くこともできます。公式名の MiniMax-M3 と書くと 404 を返します。
MiniMax の回答の先頭に think タグがあるのはなぜですか?
MiniMax はデフォルトで思考が有効で、OpenAI 互換 API で呼び出すと、思考内容が think タグで囲まれて回答の先頭に置かれます。正規表現で取り除くことができます。MiniMax M3 では thinking の type に disabled を渡して思考を無効にすることもできます。また、Anthropic API を使って独立した思考ブロックを取得する方法もあります。
MiniMax M2.7 の思考は無効にできますか?
できません。MiniMax M2.7 と M2.7 HighSpeed は disabled を渡しても思考を行います。思考を無効にしたい場合は MiniMax M3 を使ってください。
Claude Code で MiniMax を使えますか?
使えます。ANTHROPIC_BASE_URL を https://api.ofox.io/anthropic に設定し、モデルに minimax/minimax-m3 または minimax/minimax-m2.7 を指定してください。
MiniMax は画像を認識できますか?
画像入力に対応しているのは MiniMax M3 のみです。MiniMax M2.7 と M2.7 HighSpeed はテキストのみに対応しています。