コンテンツにスキップ
メインサイト ニュース コンソール

レスポンスデータの処理

このページでは、4ALL API が返すレスポンスデータを正しく解析する方法を説明します。Chat Completions 経由で呼び出されるすべてのモデルに適用されます。

非ストリーミングレスポンス構造

{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"model": "gpt-5.5",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "……" },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 12,
"completion_tokens": 46,
"total_tokens": 58
}
}

finish_reason の処理

意味推奨処理
stop正常終了そのまま使用
lengthmax_tokens 上限に達して切り捨てられたmax_tokens を増やすか、分割して続きを生成する
tool_callsモデルが関数呼び出しを要求関数を実行した後、結果を返却する。詳しくは FC 関数呼び出し を参照
content_filterコンテンツが上流の安全ポリシーによってブロックされたプロンプトを調整する

usage 使用量フィールド

  • usage は請求照合の根拠です。課金は prompt_tokens / completion_tokens にそれぞれ基づいて計算されます;
  • ストリーミング呼び出しの最後のデータチャンクにも usage が含まれます(詳細は ストリーミング出力 を参照);
  • プロンプトキャッシュがヒットした場合、prompt_tokens_details.cached_tokens にキャッシュ部分が示されます。 キャッシュ倍率で課金されます。詳しくは キャッシュ課金 を参照してください。

解析の推奨事項

  • 常に choices[0].message.content を読み取り、choices の長さが 1 より大きいとは仮定しないでください;
  • 思考系モデル(-thinking 系)では reasoning_content フィールドが付与される場合があります。表示時は本文と区別してください。 詳しくは 推理モデルの出力 を参照してください;
  • エラー時のレスポンスは {"error": {...}} 構造です。処理方法は エラーコードと再試行 を参照してください。