GLM Responses
1 つの BeatAPI キーで、OpenAI Responses API から GLM 5.3、5.3 Flash、5.3 FlashXを呼び出せます。
- 1 つのエンドポイント
POST /v1/responsesで、現行の GLM モデルすべてを呼び出せます。modelを変えるだけで切り替わります。 - 3 つのモデルすべてがストリーミングに対応し、コンテキストは 100 万トークン、最大出力は 128,000 トークンです。
- コンテキストウィンドウ全体で同じトークン単価です。長文コンテキスト向けの別料金や、ピーク時間帯の割増はありません。キャッシュ入力はより低い料金で課金されます。
- OpenAI SDK で使えます。base URL を変え、BeatAPI のキーを使うだけです。既存の Chat Completions 連携については Chat Completions を参照してください。
- サーバー側では会話の状態を保存しません。毎ターン、履歴全体を
inputに入れて送ってください。
テキストリクエストの base URL には https://direct.beatapi.io を推奨します。Cloudflare の 100 秒制限を受けないため、長時間のノンストリーミングリクエストが途中で切れません。https://api.beatapi.io も使え、ネットワークから direct.beatapi.io に届かない場合の代替になります。キー、モデル、価格はどちらも同じです。画像・動画 API は https://api.beatapi.io のみを使います。
このエンドポイントをテスト画面で開きます。BeatAPI の API キーを入力して送信してください。実際に呼び出され、ご自身の残高から課金されます。
モデル
次の ID のいずれかを model として送ります。それぞれ別のモデルで、互いのエイリアスではありません。
- 価格は基本ティアで、割引適用後です。長文コンテキストのティア、キャッシュ入力価格、キャッシュ書き込み価格はこの表に含まれません。価格表を参照してください。
—はカタログが数値を公開していないことを示します。
クイックスタート
サーバーに openai パッケージをインストールし、キーは BEATAPI_API_KEY に置いてください。ブラウザのコードには書かないでください。output_text は、SDK が回答テキストを取り出すためのショートカットです。以下はリクエスト例であり、実際のモデル出力の記録ではありません。
回答は output_text(または output 内の output_text パート)から読み取り、続けて status と usage を確認します。HTTP 200 だけでは回答がタスクを満たす証拠になりません。内容はアプリケーション側で検証してください。テキストのリクエストは直接結果を返すので、/v1/tasks をポーリングする必要はありません。
エンドポイントと認証
POST https://direct.beatapi.io/v1/responses
Authorization
string
必須
Bearer <BEATAPI_API_KEY>。キーは sk- プレフィックスの有無どちらでも使えます。
リクエストパラメーター
OpenAI Responses の標準フィールドを受け付けます。リクエスト形式が互換でも、すべてのモデルがあらゆるオプションやホスト型ツールに対応するわけではありません。依存するオプションは自分で試してください。
model
string
必須
正確なモデル ID。
指定できる値:glm-5.3, glm-5.3-flash, glm-5.3-flashx
- 各 ID は独立したモデルで、他のモデルの別名ではありません。
- キーで
GET /v1/modelsを呼ぶと、そのキーで有効なモデルを確認できます。
input
string | object[]
必須
プロンプト。文字列、またはメッセージ、関数呼び出し、その出力などの入力項目の配列。
サーバー側では会話の状態を保存しません。previous_response_id、conversation、prompt、context_management には対応していません。毎ターン、履歴全体を input に入れて送ってください。
instructions
string
任意
input の前に置かれるシステムレベルの指示。
max_output_tokens
integer
任意
生成するトークン数の上限。推論の分も含みます。
- ゲートウェイは、指定値を上の表の最大出力と照合しません。その数値以下に収めてください。
- この値は、リクエストに必要な残高の見積もりにも使われます。極端に大きい値だと、実際の出力が短くても
402 insufficient_creditsで拒否されることがあります。必要な分だけ指定してください。
推論型モデルは先に推論を出力します。max_output_tokens が小さすぎると推論で使い切られ、回答テキストが空になるか途中で切れます。推論と本文の両方に余裕を持たせ、そうなったら値を増やしてください。
stream
boolean
任意デフォルト: false
回答をサーバー送信イベント(SSE)として返します。下の「ストリーミング」を参照してください。
デフォルト:false
temperature
number
任意
サンプリング温度。top_p とはどちらか一方だけ調整してください。
top_p
number
任意
nucleus sampling のしきい値。
tools
object[]
任意
モデルが呼び出せる関数ツール。モデルは function_call の出力項目で応答します。結果は、同じ call_id を付けた function_call_output の入力項目として返してください。ホスト型ツール(Web 検索、ファイル検索など)はここに含まれません。
tool_choice
string | object
任意
モデルがツールを呼び出してよいか、必ず呼ぶか、呼ばないかを指定します。依存する値は使うモデルで試してください。
レスポンス
非ストリーミングの呼び出しは JSON オブジェクトを 1 つ返します。以下は省略した例です。
レスポンスのフィールド
ストリーミング
"stream": true を指定します。ストリームは response.created で始まり、回答は response.output_text.delta イベントで順に届き、response.completed で終わります。
- レスポンスは
text/event-streamです。ストリーミングしない場合はapplication/jsonです。 - 関数呼び出しは独立した出力項目として届き、その引数は
response.function_call_arguments.deltaイベントで順に届きます。 - モデルを呼び出す前に失敗した場合は、ストリームイベントではなく、HTTP ステータス付きの通常の JSON エラーが返ります。
- 明示的なタイムアウトを設定し、ストリーミングの再接続は安全に行ってください。
エラー
HTTP エラー早見表
認証、ルーティング、レート制限、存在しないモデルの失敗はモデルを呼ぶ前に起き、BeatAPI のエンベロープ(error.code、error.message、retryable、request_id)で返ります。それ以外の失敗は OpenAI SDK の形式 {"error": {"message", "type", "code"}} のままで、コードは error.code、request id は message の末尾にあります。詳しくはエラーを参照してください。
全エラーコード表と再試行ポリシーはエラーを参照してください。
注意事項
- GLM モデルは Chat Completions と Anthropic Messages でも呼び出せます。
- GLM のモデルは、実測では既定で推論内容を返します。推論トークンは出力として課金されます。そのため
max_output_tokensは推論と回答の両方を見込んで設定してください。 glm-5.3-flashxは無料クレジットでは使えません。一度もチャージしていないアカウントは403 forbiddenになります。チャージすると使えます。- 無料版の
glm-5.3-freeとglm-5.3-flash-freeは/v1/responsesでは呼び出せません。Chat Completions で呼び出してください。 - API キーは信頼できるサーバーにだけ置き、レスポンスのリクエスト ID を記録し、再試行は
429、500、503に限ってください。
認証
Send your API key as Authorization: Bearer <BEATAPI_API_KEY>.
リクエスト
正確なモデル ID。
各 ID は独立したモデルで、他のモデルの別名ではありません。
キーで GET /v1/models を呼ぶと、そのキーで有効なモデルを確認できます。
glm-5.3, glm-5.3-flash, glm-5.3-flashx
プロンプト。文字列、またはメッセージ、関数呼び出し、その出力などの入力項目の配列。
サーバー側では会話の状態を保存しません。previous_response_id、conversation、prompt、context_management には対応していません。毎ターン、履歴全体を input に入れて送ってください。
input の前に置かれるシステムレベルの指示。
生成するトークン数の上限。推論の分も含みます。
ゲートウェイは、指定値を上の表の最大出力と照合しません。その数値以下に収めてください。
この値は、リクエストに必要な残高の見積もりにも使われます。極端に大きい値だと、実際の出力が短くても 402 insufficient_credits で拒否されることがあります。必要な分だけ指定してください。
推論型モデルは先に推論を出力します。max_output_tokens が小さすぎると推論で使い切られ、回答テキストが空になるか途中で切れます。推論と本文の両方に余裕を持たせ、そうなったら値を増やしてください。
回答をサーバー送信イベント(SSE)として返します。下の「ストリーミング」を参照してください。
サンプリング温度。top_p とはどちらか一方だけ調整してください。
nucleus sampling のしきい値。
モデルが呼び出せる関数ツール。モデルは function_call の出力項目で応答します。結果は、同じ call_id を付けた function_call_output の入力項目として返してください。ホスト型ツール(Web 検索、ファイル検索など)はここに含まれません。
モデルがツールを呼び出してよいか、必ず呼ぶか、呼ばないかを指定します。依存する値は使うモデルで試してください。
レスポンス
非ストリーミングの呼び出しは JSON オブジェクトを 1 つ返します。以下は省略した例です。
レスポンス ID。サポート対応や請求の照合のため、リクエスト ID と合わせて記録してください。
実際に回答したモデル。
completed は回答が完了したことを示します。
出力項目:message、reasoning、function_call。SDK の output_text がテキストパートをまとめて返します。
トークン数。呼び出しは実際のトークン使用量で計量されます。

