ナビゲーションにスキップ

MiniMax Messages

1 つの BeatAPI キーで、Anthropic Messages 形式から MiniMax M3 を呼び出せます。

  • 1 つのエンドポイント POST /v1/messages で MiniMax M3 を呼び出せます。
  • ストリーミングとツール使用に対応し、100 万トークンのコンテキストウィンドウを備えています。プロンプトが 512,000 トークンを超えると料金が 2 倍になります。
  • Anthropic SDK で使えます。base URL を変え、BeatAPI のキーを使うだけです。すべてのリクエストに anthropic-version ヘッダーを付けてください。
  • tool_choice はモデルに渡されますが、すべてのモデルが従うわけではありません。thinking は効きません。下のパラメーター一覧を参照してください。

テキストリクエストの base URL には https://direct.beatapi.io を推奨します。Cloudflare の 100 秒制限を受けないため、長時間のノンストリーミングリクエストが途中で切れません。https://api.beatapi.io も使え、ネットワークから direct.beatapi.io に届かない場合の代替になります。キー、モデル、価格はどちらも同じです。画像・動画 API は https://api.beatapi.io のみを使います。

POST/v1/messages試してみる

このエンドポイントをテスト画面で開きます。BeatAPI の API キーを入力して送信してください。実際に呼び出され、ご自身の残高から課金されます。

モデル

次の ID を model として送ります。

モデル IDコンテキスト(トークン)最大出力(トークン)位置づけ入力、USD / 100 万トークン出力、USD / 100 万トークン備考
MiniMax-M31,048,576128,000MiniMax のマルチモーダルモデル。長文コンテキストのコーディング、知覚、エージェントの計画向け$0.21$0.84MiniMax のマルチモーダルモデル。長文コンテキストのコーディング、知覚、エージェントの計画向け。プロンプトが 512,000 トークンを超えると料金が 2 倍になります。
  • 価格は基本ティアで、割引適用後です。長文コンテキストのティア、キャッシュ入力価格、キャッシュ書き込み価格はこの表に含まれません。価格表を参照してください。
  • — はカタログが数値を公開していないことを示します。

クイックスタート

サーバーに @anthropic-ai/sdk または anthropic パッケージをインストールし、キーは BEATAPI_API_KEY に置いてください。ブラウザのコードには書かないでください。SDK は anthropic-version ヘッダーを自動で付けます。以下はリクエスト例であり、実際のモデル出力の記録ではありません。

回答は content の text ブロックから読み取り、続けて stop_reason と usage を確認します。HTTP 200 だけでは回答がタスクを満たす証拠になりません。内容はアプリケーション側で検証してください。テキストのリクエストは直接結果を返すので、/v1/tasks をポーリングする必要はありません。

curl --request POST \
--url https://direct.beatapi.io/v1/messages \
--header "x-api-key: $BEATAPI_API_KEY" \
--header 'anthropic-version: 2023-06-01' \
--header 'Content-Type: application/json' \
--data '{
"model": "MiniMax-M3",
"max_tokens": 2000,
"messages": [
{
"role": "user",
"content": "Design a resilient webhook retry strategy for a payments API."
}
]
}'

エンドポイントと認証

POST https://direct.beatapi.io/v1/messages

x-api-key string 必須

BeatAPI のキー。Authorization: Bearer <BEATAPI_API_KEY> も使えます。

すべてのリクエストに anthropic-version ヘッダー(例:2023-06-01)を付けてください。Anthropic SDK は自動で付けます。認証は x-api-key でも Authorization: Bearer <BEATAPI_API_KEY> でも使えます。

リクエストパラメーター

リクエストは Anthropic Messages の形式です。以下のフィールドは有効です。最後の 2 つは SDK から送れますが、結果は変わりません。このページに載っていないフィールドは、効果があるとは限りません。

model string 必須

正確なモデル ID。

指定できる値:MiniMax-M3

  • 各 ID は独立したモデルで、他のモデルの別名ではありません。
  • キーで GET /v1/models を呼ぶと、そのキーで有効なモデルを確認できます。
  • ID は大文字と小文字を区別します。minimax-m3 ではなく MiniMax-M3 を送ってください。

max_tokens integer 必須

生成するトークン数の上限。推論の分も含みます。

  • ゲートウェイは、指定値を上の表の最大出力と照合しません。その数値以下に収めてください。
  • max_tokens は、リクエストに必要な残高の見積もりにも使われます。極端に大きい値だと、実際の出力が短くても 402 insufficient_credits で拒否されることがあります。必要な分だけ指定してください。

推論型モデルは先に推論を出力します。max_tokens が小さすぎると推論で使い切られ、text ブロックが空になって stop_reason が max_tokens になります。推論と本文の両方に余裕を持たせ、max_tokens が出たら値を増やしてください。

messages object[] 必須

会話の内容。古いメッセージが先頭です。各メッセージには role(user または assistant)と content(文字列、またはブロックの配列)があります。

  • テキストブロック(text)、モデルのツール要求(tool_use)、あなたが返す結果(tool_result)が有効です。
  • tool_result ブロックには、応答先の tool_use ブロックの tool_use_id を付ける必要があります。

system string | object[] 任意

システムプロンプト。文字列、またはテキストブロックの配列。複数のテキストブロックは 1 つのシステムプロンプトに連結されます。

stream boolean 任意デフォルト: false

回答をサーバー送信イベント(SSE)として返します。下の「ストリーミング」を参照してください。

デフォルト:false

temperature number 任意

サンプリング温度。top_p とはどちらか一方だけ調整してください。

top_p number 任意

nucleus sampling のしきい値。

stop_sequences string[] 任意

生成を止める文字列の配列。

tools object[] 任意

モデルが呼び出せるツールの定義。各ツールは name、description、input_schema で有効になります。モデルは tool_use ブロックで応答します。結果は次の user メッセージの tool_result ブロックで返してください。

tool_choice object 任意

モデルが tools をどう使うかを指定します。{"type": "auto"} はモデルに任せ(既定)、{"type": "any"} はいずれかのツールを、{"type": "tool", "name": "..."} は指定したツールを必ず呼ばせ、{"type": "none"} はツールを呼ばせません。disable_parallel_tool_use: true で 1 回の回答につき呼び出しを 1 つに限ります。tools がないときは無視されます。この設定はモデルに渡されますが、すべてのモデルが従うわけではありません。実測(2026-10-15)では DeepSeek は無視し、Qwen は any には従い、ツール指定には従いませんでした。呼び出しがあるかは回答の tool_use ブロックで確認してください。

thinking object 任意

効きません。推論のオンとオフを切り替えず、推論の予算も設定しません。もともと推論するモデルは推論を続け、その内容は thinking ブロックとして返ります。

長文コンテキストの料金

MiniMax-M3 は、プロンプトが 512,000 トークン を超えると、より高い料金区分に入ります。高い料金はリクエスト全体に適用され、入力、キャッシュ入力、出力のすべてが 2 倍になります。段階的に上がるのではなく、しきい値を 1 トークン超えただけのリクエストでも、全体が高い料金で課金されます。

上のモデル表と料金表の価格は、しきい値以下のプロンプトに適用される基本料金です。長い履歴を送る前に、プロンプト全体の長さを見積もってください。

レスポンス

非ストリーミングの呼び出しは JSON オブジェクトを 1 つ返します。以下は省略した例です。

{
"id": "msg_example",
"type": "message",
"role": "assistant",
"model": "MiniMax-M3",
"content": [
{
"type": "text",
"text": "Retry with exponential backoff and jitter, and make every handler idempotent."
}
],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 19,
"output_tokens": 16
}
}

レスポンスのフィールド

フィールド型説明
idstringメッセージ ID。サポート対応や請求の照合のため、リクエスト ID と合わせて記録してください。
modelstring実際に回答したモデル。
content[]object[]コンテンツブロック:thinking(推論型モデルが回答の前に返す)、text、tool_use。
content[].textstringtext ブロックの回答テキスト。
stop_reasonstringend_turn は回答が完結、tool_use はツール呼び出しの要求、max_tokens は max_tokens に達したこと、stop_sequence は停止文字列に一致したことを示します。
usageobjectinput_tokens と output_tokens。推論は出力に数えます。呼び出しは実際のトークン使用量で計量されます。

ストリーミング

"stream": true を指定します。ストリームは message_start で始まり message_stop で終わります。間のブロックは content_block_start、content_block_delta、content_block_stop イベントで届き、message_delta が stop_reason を運びます。

  • レスポンスは text/event-stream です。ストリーミングしない場合は application/json です。
  • テキストは text_delta イベントで届きます。推論型モデルは、テキストブロックの前に thinking_delta イベントで thinking ブロックを送ります。ツールの引数は input_json_delta イベントで届きます。
  • モデルを呼び出す前に失敗した場合は、ストリームイベントではなく、HTTP ステータス付きの通常の JSON エラーが返ります。
  • 明示的なタイムアウトを設定し、ストリーミングの再接続は安全に行ってください。
event: message_start
data: {"type":"message_start","message":{"id":"msg_example","type":"message","role":"assistant","content":[],"usage":{"input_tokens":19,"output_tokens":1}}}
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Retry"}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" with backoff"}}
event: content_block_stop
data: {"type":"content_block_stop","index":0}
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":16}}
event: message_stop
data: {"type":"message_stop"}

エラー

エラーまたは症状原因対処
text ブロックが空で、stop_reason が max_tokens推論型モデルが max_tokens の枠をすべて推論に使いました。モデルの最大出力の範囲内で max_tokens を増やします。
402 insufficient_credits残高がリクエストの料金に足りません。max_tokens が非常に大きいことが多い原因です。チャージするか、max_tokens を小さくします。
403 forbiddenアカウントが無料クレジットのみでそのモデルが無料リストにない、またはモデルがキーのグループの範囲外です。チャージする、無料モデルを使う、またはそのモデルに届くグループのキーを使います。
404 not_foundモデル ID が存在しない、またはこのキーで有効になっていません。GET /v1/models で有効なモデルを一覧します。
429 rate_limit_exceededアカウントまたは無料モデルの上限に達しました。Retry-After の時間だけ待ってから再試行します。

HTTP エラー早見表

認証、ルーティング、レート制限、存在しないモデルの失敗はモデルを呼ぶ前に起き、BeatAPI のエンベロープ(error.code、error.message、retryable、request_id)で返ります。それ以外の失敗は Anthropic の形式 {"type": "error", "error": {"type", "message"}} のままで、コードは error.type、request id は message の末尾にあります。詳しくはエラーを参照してください。

HTTP ステータスエラーコード対応
400bad_request、content_policy_violationリクエストか入力を直してください。そのまま再送しないでください。
401missing_api_key、invalid_api_keyキーを確認してください。再試行しないでください。
402insufficient_creditsチャージするか、キーの上限を上げてください。max_tokens が非常に大きい場合も発生します。
403forbiddenモデルがキーのグループまたは IP 許可リストの範囲外、または無料クレジットでは呼べないモデルです。
404not_foundモデルが存在しません。GET /v1/models で有効なモデルを確認してください。
429rate_limit_exceededRetry-After または retry_after_seconds だけ待ち、バックオフして再試行してください。
500internal_error、temporary_errorバックオフして 1~2 回再試行してください。
503model_unavailable、upstream_timeout、temporary_errorバックオフして再試行するか、別のモデルを使ってください。

全エラーコード表と再試行ポリシーはエラーを参照してください。

注意事項

  • MiniMax は Chat Completions と OpenAI Responses でも呼び出せます。
  • このページでは MiniMax のテキストモデルを扱います。MiniMax H3 の動画モデルは Video API を使います。
  • すべてのリクエストに anthropic-version を付けてください。thinking には頼らないでください。効果がありません。
  • API キーは信頼できるサーバーにだけ置き、レスポンスのリクエスト ID を記録し、再試行は 429、500、503 に限ってください。

認証

AuthorizationBearer

Send your API key as Authorization: Bearer <BEATAPI_API_KEY>.

リクエスト

This endpoint expects an object.
modelenum必須

正確なモデル ID。

各 ID は独立したモデルで、他のモデルの別名ではありません。

キーで GET /v1/models を呼ぶと、そのキーで有効なモデルを確認できます。

ID は大文字と小文字を区別します。minimax-m3 ではなく MiniMax-M3 を送ってください。

MiniMax-M3

許可された値:
max_tokensinteger必須

生成するトークン数の上限。推論の分も含みます。

ゲートウェイは、指定値を上の表の最大出力と照合しません。その数値以下に収めてください。

max_tokens は、リクエストに必要な残高の見積もりにも使われます。極端に大きい値だと、実際の出力が短くても 402 insufficient_credits で拒否されることがあります。必要な分だけ指定してください。

推論型モデルは先に推論を出力します。max_tokens が小さすぎると推論で使い切られ、text ブロックが空になって stop_reason が max_tokens になります。推論と本文の両方に余裕を持たせ、max_tokens が出たら値を増やしてください。

messageslist of objects必須

会話の内容。古いメッセージが先頭です。各メッセージには role(user または assistant)と content(文字列、またはブロックの配列)があります。

テキストブロック(text)、モデルのツール要求(tool_use)、あなたが返す結果(tool_result)が有効です。

tool_result ブロックには、応答先の tool_use ブロックの tool_use_id を付ける必要があります。

systemstring or list of objectsオプション

システムプロンプト。文字列、またはテキストブロックの配列。複数のテキストブロックは 1 つのシステムプロンプトに連結されます。

streambooleanオプションデフォルト値 false

回答をサーバー送信イベント(SSE)として返します。下の「ストリーミング」を参照してください。

temperaturedoubleオプション

サンプリング温度。top_p とはどちらか一方だけ調整してください。

top_pdoubleオプション

nucleus sampling のしきい値。

stop_sequenceslist of stringsオプション

生成を止める文字列の配列。

toolslist of objectsオプション

モデルが呼び出せるツールの定義。各ツールは name、description、input_schema で有効になります。モデルは tool_use ブロックで応答します。結果は次の user メッセージの tool_result ブロックで返してください。

tool_choiceobjectオプション

モデルが tools をどう使うかを指定します。{"type": "auto"} はモデルに任せ(既定)、{"type": "any"} はいずれかのツールを、{"type": "tool", "name": "..."} は指定したツールを必ず呼ばせ、{"type": "none"} はツールを呼ばせません。disable_parallel_tool_use: true で 1 回の回答につき呼び出しを 1 つに限ります。tools がないときは無視されます。この設定はモデルに渡されますが、すべてのモデルが従うわけではありません。実測(2026-10-15)では DeepSeek は無視し、Qwen は any には従い、ツール指定には従いませんでした。呼び出しがあるかは回答の tool_use ブロックで確認してください。

thinkingobjectオプション

効きません。推論のオンとオフを切り替えず、推論の予算も設定しません。もともと推論するモデルは推論を続け、その内容は thinking ブロックとして返ります。

レスポンス

非ストリーミングの呼び出しは JSON オブジェクトを 1 つ返します。以下は省略した例です。

idstringオプション

メッセージ ID。サポート対応や請求の照合のため、リクエスト ID と合わせて記録してください。

modelstringオプション

実際に回答したモデル。

contentlist of objectsオプション

コンテンツブロック:thinking(推論型モデルが回答の前に返す)、text、tool_use。

stop_reasonstringオプション

end_turn は回答が完結、tool_use はツール呼び出しの要求、max_tokens は max_tokens に達したこと、stop_sequence は停止文字列に一致したことを示します。

usageobjectオプション

input_tokens と output_tokens。推論は出力に数えます。呼び出しは実際のトークン使用量で計量されます。

エラー

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error