形式の選び方
- 新規プロジェクト、またはOpenAI SDKやOpenAI形式のクライアント:OpenAI互換のChat Completionsを使います。OpenAIプロトコルのリファレンスを参照してください。
- Anthropic SDK、Claude Code、その他のMessagesクライアント:Anthropic Messagesを使います。Claudeプロトコルのリファレンスを参照してください。
- Google Gen AI SDK、またはGemini独自のフィールドに依存するコード:Gemini形式を使います。Geminiプロトコルのリファレンスを参照してください。
https://api.laozhang.ai/v1 に設定します。Anthropic SDKとGoogle Gen AI SDKは、ホストのルート https://api.laozhang.ai を指定してください。パスはSDKが付け足します。
Anthropic Messagesのエンドポイントは、料金設定でこの形式に対応しているモデルを提供します。主なモデルは次のとおりです。
- Claudeモデル:2026年10月18日から再び提供しています。切り替える前に、ClaudeプロトコルのリファレンスにあるClaudeモデルの制限を確認してください。
glm-5.2(defaultトークングループ)deepseek-v4-prodeepseek-v4-flash
gemini-3.8-flash(Chat CompletionsとGeminiネイティブ)のように2つの形式に対応するモデルは、どちらの形式でも呼び出せますが、1つのリクエストでは1つの形式のフィールドだけを使ってください。
主なテキストモデル
次の料金は、LaoZhang APIの2026年10月18日時点の公開料金です。default トークングループの掲載料金で、100万トークンあたりの米ドルです。キャッシュ読み取りの料金、ほかのモデル、ほかのトークングループはモデルと料金にあります。
- GPT-6の各モデル、GPT-5.6の各モデル、
gpt-5.4、claude-haiku-5-5は、長い入力に対して高い料金区分が適用されます。しきい値と料金は、カタログの段階料金の表にあります。 - GPT-6の3つのモデルの選び方や、Chat CompletionsでのパラメーターとツールコールについてのOpenAIのルールは、GPT-6のリリースのお知らせを参照してください。
- 表のOpenAIモデルは、Responsesエンドポイント
POST /v1/responsesでも使えます。o3-proシリーズはResponsesのみ対応です。 - GPT-6 AstraまたはGPT-6.1 Solでツールコールを使うにはResponsesが必要です。GPT-6.1 Solのほかのパラメーターの違いは、GPT-6.1 Solのリリースのお知らせを参照してください。例はLaoZhang APIでOpenAIモデルを使うにあります。
- Gemini 4 Argonで深く推論させたいときは、思考レベルに
highを指定します。思考レベルとリリース時の料金は、Gemini 4 Argonのリリースのお知らせを参照してください。 - ビジョンモデルに画像を送る方法は、画像理解APIを参照してください。
最初のリクエストを送る
トークン管理でAPIキーを作成します。課金方式は従量優先(コンソールの表示は「按量优先」、推奨)か従量課金(「按量计费」)にし、使いたいモデルをそのトークンのグループで呼び出せることを確認してください。そのうえで、キーを環境変数に設定します。gpt-5.4-mini に1件のメッセージを送ります。実行する前に、SDKをインストールしてください。
- Python:
python -m pip install openaiを実行します。 - Node.js:
npm install openaiを実行し、コードをchat.mjsとして保存して、node chat.mjsで実行します。
- cURL
- Python
- Node.js
connected になります。別のモデルを試すには、エンドポイントにOpenAI互換が含まれるモデルIDに model を変更してください。SDKの例では自動リトライを無効にしています。リクエストを再送するタイミングは、アプリケーション側で決めるためです。
返信をストリーミングで受け取る
"stream": true を追加すると、モデルが書いている途中の返信を、サーバー送信イベント(SSE)で受け取れます。ストリーミングの扱いは形式ごとに少し異なります。
- OpenAI互換:
choices[0].delta.contentを順に連結し、choicesやcontentを持たないチャンクは読み飛ばします。ストリームはdata: [DONE]で終わります。cURLとPythonの完全な例と生のイベントは、OpenAIプロトコルのリファレンスにあります。 - Anthropic Messages:テキストは
content_block_deltaイベントのdelta.textで届き、message_stopの後に返信が完了します。詳しくはClaudeプロトコルのリファレンスを参照してください。 - Geminiネイティブ:
generateContentをstreamGenerateContentに置き換え、?alt=sseを付けます。各イベントにはcandidatesを含む部分的なレスポンスが入ります。詳しくはGeminiプロトコルのリファレンスを参照してください。 - 終了マーカーが届く前に接続が閉じた場合、受信したテキストは不完全です。リクエストを失敗として扱うか、再送してください。cURLでは、出力のバッファリングを無効にするために
-Nを付けます。
よくあるエラーの対処
- URLに
/v1/v1を含む404:SDKのベースURLにパスの一部が重複しています。OpenAI SDKにはhttps://api.laozhang.ai/v1、Anthropic SDKとGoogle Gen AI SDKにはhttps://api.laozhang.aiを使ってください。 - モデルが利用できない、403、404:カタログから正確なモデルIDをコピーし、次の2点を確認します。詳しくはモデルの利用可否を参照してください。
- APIキーのトークングループに、そのモデルが含まれていること。
- 送っている形式にモデルが対応していること。たとえば、
o3-proはResponsesでのみ使え、gpt-6-astraのツールコールにはResponsesが必要で、GPTモデルはGeminiネイティブのリクエストを受け付けません。
- 400:Messagesのリクエストに
max_tokensがないことがよくある原因です。そうでなければ、最小のリクエストに戻し、任意のフィールドを1つずつ追加して、エラーが示すフィールドを修正します。 - 401:APIキーが誤っているか、ヘッダーの形式が不正か、環境変数が現在のシェルに設定されていません。
- 空の返信:
- Chat Completions:
message.tool_callsとfinish_reasonを確認します。 - Messages:
content[0]を取るのではなく、ブロックのtypeごとにcontent[]を読み取ります。 - Gemini:
finishReasonとpromptFeedbackを確認します。
- Chat Completions:
- 途中で切れた返信:次のいずれかの値は、返信が出力の上限に達したことを示します。モデルの出力上限を上げるか、入力を短くしてください。
- Chat Completions:
finish_reasonがlength - Messages:
stop_reasonがmax_tokens - Gemini:
finishReasonがMAX_TOKENS
- Chat Completions:
- 429:エラーのボディを読み、レート制限や同時実行の制限と、残高不足を見分けます。残高があるのに失敗する場合は、残高があるのに失敗する理由を参照してください。
本番運用の前に
- モデルIDとプロトコルを設定で固定し、モデルの変更はほかのリリースと同じようにテストします。
- 自分のプロンプトのサンプルを2〜3個の候補モデルに送り、回答の品質、レイテンシ、トークン使用量を比べます。比較の方法はOpenAIプロトコルのリファレンスに書かれています。
- 通常のリクエスト、ストリーミング、エラー処理をテストします。リトライはSDKかアプリケーションのどちらか1つの層にまとめます。
- 呼び出しログで、リクエストごとのモデル、入力・出力トークン数、課金額を確認します。