メインコンテンツへスキップ
LaoZhang APIでは、同じAPIキーで3つのリクエスト形式のテキストモデルを呼び出せます。OpenAI互換のChat Completions、Anthropic Messages、Geminiネイティブの generateContent です。新規プロジェクトでは、対応するテキストモデルが最も多いChat Completionsを使ってください。

形式の選び方

形式ごとに、エンドポイントが異なります。
SDKを使う場合、OpenAI SDKのベースURLは 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-pro
  • deepseek-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キーを作成します。課金方式は従量優先(コンソールの表示は「按量优先」、推奨)か従量課金(「按量计费」)にし、使いたいモデルをそのトークンのグループで呼び出せることを確認してください。そのうえで、キーを環境変数に設定します。
次の例は、OpenAI互換形式で gpt-5.4-mini に1件のメッセージを送ります。実行する前に、SDKをインストールしてください。
  • Python:python -m pip install openai を実行します。
  • Node.js:npm install openai を実行し、コードを chat.mjs として保存して、node chat.mjs で実行します。
返信は 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:finish_reason が length
    • Messages:stop_reason が max_tokens
    • Gemini:finishReason が MAX_TOKENS
  • 429:エラーのボディを読み、レート制限や同時実行の制限と、残高不足を見分けます。残高があるのに失敗する場合は、残高があるのに失敗する理由を参照してください。

本番運用の前に

  1. モデルIDとプロトコルを設定で固定し、モデルの変更はほかのリリースと同じようにテストします。
  2. 自分のプロンプトのサンプルを2〜3個の候補モデルに送り、回答の品質、レイテンシ、トークン使用量を比べます。比較の方法はOpenAIプロトコルのリファレンスに書かれています。
  3. 通常のリクエスト、ストリーミング、エラー処理をテストします。リトライはSDKかアプリケーションのどちらか1つの層にまとめます。
  4. 呼び出しログで、リクエストごとのモデル、入力・出力トークン数、課金額を確認します。

関連ドキュメント