Skip to main content

レスポンスの作成

OpenAI 互換の Responses API を使用して Qwen モデルを呼び出します。このトピックでは、入出力パラメーターについて説明し、呼び出し例を示します。

OpenAI Chat Completions API に対する利点:
  • 組み込みツール:Web 検索、Web スクレイピング、コードインタープリター、Text-to-Image、Image-to-Image、ナレッジベース検索などの組み込みツールを使用して、複雑なタスクでより良い結果を得ることができます。詳細については、「ツール呼び出し」をご参照ください。
  • より柔軟な入力:直接的な文字列入力とチャット形式のメッセージ配列の両方をサポートします。
  • 簡素化されたコンテキスト管理:最後のレスポンスから previous_response_id を渡すことで、メッセージ履歴配列を手動で構築する必要がなくなります。
  • 便利なコンテキストキャッシュ:リクエストヘッダーに x-dashscope-session-cache: enable (デフォルト値:disable) を追加して、サーバー側での対話コンテキストの自動キャッシュを有効にします。これにより、コードの変更を必要とせずに、マルチターン対話の推論レイテンシとコストを削減できます。詳細については、「セッションキャッシュ」をご参照ください。

互換性と制限事項

この API は、開発者の移行コストを削減するために OpenAI と互換性がありますが、パラメーター、機能、および動作が異なります。 基本原則:このドキュメントに明示的に記載されているパラメーターのみが処理されます。記載されていない OpenAI パラメーターはすべて無視されます。 以下の主な違いは、迅速な適応に役立ちます:
  • サポートされていないパラメーター:この API は、非同期実行パラメーター background など、一部の OpenAI API パラメーターをサポートしていません。API は現在、同期呼び出しのみをサポートしています。
  • 推論労力制御:reasoning.effort パラメーターを使用して、モデルの推論労力を制御します。使用方法の詳細については、このパラメーターの説明をご参照ください。
  • シンガポール
  • China (Beijing)
  • 米国 (バージニア)
  • ドイツ (フランクフルト)
  • 中国 (香港)
  • 日本 (東京)
SDK 呼び出し設定の base_url は https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1 です。HTTP リクエストエンドポイント:POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses
{WorkspaceId} を実際の ワークスペース ID に置き換えてください。
Alibaba Cloud Model Studio は、中国 (北京)、シンガポール、および中国 (香港) リージョン向けにワークスペース固有のドメインをリリースしました。新しい専用ドメインは、推論リクエストに対して優れたパフォーマンスと高い安定性を提供します。新しいドメインへの移行を推奨します:
  • 中国 (北京):https://dashscope.aliyuncs.com から https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com へ
  • シンガポール:https://dashscope-intl.aliyuncs.com から https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com へ
  • 中国 (香港):https://cn-hongkong.dashscope.aliyuncs.com から https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com へ
{WorkspaceId} は、Alibaba Cloud Model Studio コンソールの [ワークスペース詳細] ページで確認できるワークスペース ID です。既存のドメインは引き続き完全に機能します。
OpenAI 互換の Responses API のレガシー URL パス /api/v2/apps/protocols/compatible-mode/v1/responses は間もなく非推奨になります。できるだけ早く新しいパス /compatible-mode/v1/responses に移行してください。

リクエストボディ

model string (必須)使用するモデルの ID。
qwen3.8-max, qwen3.8-flash, qwen3.7-max, qwen3.7-max-2026-05-20, qwen3.7-max-2026-06-08, qwen3.7-max-2026-05-17, qwen3.7-max-preview, qwen3.7-plus, qwen3.7-plus-2026-05-26, qwen3.6-plus, qwen3.6-plus-2026-04-02, qwen3.5-plus, qwen3.5-plus-2026-04-20, qwen3.5-plus-2026-02-15, qwen3.7-flash, qwen3.7-flash-2026-07-15, qwen3.6-flash, qwen3.6-flash-2026-04-16, qwen3.5-flash, qwen3.5-flash-2026-02-23, qwen3.8-2.4t-a95b, qwen3.8-27b, qwen3.6-35b-a3b, qwen3.5-397b-a17b, qwen3.5-122b-a10b, qwen3.5-27b, qwen3.5-35b-a3b, deepseek-v4.1-flash-1017, deepseek-v4-pro, deepseek-v4-pro-0813, deepseek-v4-flash-0731, glm-5.2, kimi-k3.1-pro, kimi-k3
上記リスト外のAlibaba Cloud Model Studio直接提供テキスト生成モデルは基本的な互換機能のみをサポートします。Agent機能(組み込みツールなど)は制限されます。
input string or array (必須)モデルへの入力。以下のフォーマットがサポートされています:
  • string:プレーンテキスト、例:"Hello"。
  • array:対話のターン順に並べられたメッセージの配列。
EasyInputMessage objectメッセージの作成者の role とメッセージのペイロードの content を持つオブジェクト。
role string (必須)メッセージの作成者のロール。有効な値:user、assistant、system、developer。content string or array (必須)メッセージのコンテンツ。以下のフォーマットがサポートされています:
  • string:プレーンテキスト入力。
  • array:1 つ以上のコンテンツ項目を含むコンテンツ配列。異なるタイプを混在させることができます。system または developer ロールの場合、要素のタイプは input_text です。assistant ロールの場合、要素のタイプは output_text です。
Responses API は現在、ビデオまたはオーディオ入力をサポートしていません。これらのデータ型を渡すには、Chat Completions API または DashScope API を使用してください。
以下のいずれかのタイプ:input_text { type, text }テキスト入力。
type string (必須)input_text に固定されています。text string (必須)モデルに入力するテキストコンテンツ。
input_image { type, image_url }画像入力。user ロールのみ。
type string (必須)input_image に固定されています。image_url string (必須)画像の公開 URL または Base64 エンコードされたデータ。Base64 の場合は、完全なデータ URI を提供してください。例:data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...。
input_file { type, file_url }ファイル入力。user ロールのみ。現在、qwen3.8-flash、qwen3.8-max、qwen3.5-ocr でサポートされています。
type string (必須)input_file に固定されています。file_url string (必須)PDF ファイルの公開 URL。ファイルの最大サイズは 100 MB です。PDF のページ数の上限は ocr_options の task によって決まります。task に document_parsing を指定した場合は最大 50 ページ、task を指定しない場合または他のタスクを指定した場合は最大 10 ページです。
output_text { type, text }アシスタントの応答。assistant ロールのみ。
type string (必須)output_text に固定されています。text string (必須)アシスタントの応答のテキストコンテンツ。
type string (任意)message に固定されています。
ResponseOutputMessage object (任意)モデルの出力メッセージ。対話を続けるには、以前のレスポンスの output 配列から message オブジェクトを input に渡すことができます。EasyInputMessage とは異なり、このオブジェクトには id、status、および構造化された content を含む完全な出力構造が含まれます。
type string (必須)message に固定されています。id string (必須)以前のレスポンスからの出力メッセージの一意の識別子。role string (必須)assistant に固定されています。status string (必須)メッセージステータス。有効な値:in_progress、completed、incomplete。content array (必須)コンテンツの配列。要素は output_text オブジェクトです。
type string (必須)output_text に固定されています。text string (必須)レスポンステキスト。annotations array (任意)アノテーション情報。
関数呼び出し object (任意)モデルが外部ツールを呼び出すことを決定したときに生成される構造化された命令。
type string (必須)function_call に固定されています。id string (任意)以前のレスポンスからの関数呼び出しの一意の識別子。name string (必須)ツール関数の名前。arguments string (必須)ツール呼び出しの引数 (JSON 文字列形式)。call_id string (必須)ツール呼び出しの識別子。これはモデルによって返される call_id と一致する必要があります。status string (任意)ステータス。有効な値:in_progress、completed、incomplete。
関数呼び出しの出力 object (任意)ツール呼び出しの出力。メッセージリストでは、このオブジェクトはリクエストの失敗を防ぐために、対応する function_call メッセージの直後になければなりません。
type string (必須)function_call_output に固定されています。id string (任意)関数呼び出しの出力の一意の識別子。call_id string (必須)ツール呼び出し識別子は、モデルによって返される call_id と一致する必要があります。output string (必須)ツール関数の実行結果。status string (任意)ステータス。有効な値:in_progress、completed、incomplete。
Reasoning object (任意)モデルの推論プロセス。以前のレスポンスの output から reasoning アイテムを input に渡すことで、後続のターンでこのプロセスを続けることができます。
type string (必須)reasoning に固定されています。id string (必須)以前のレスポンスからの推論コンテンツの一意の識別子。summary array (必須)推論のまとめコンテンツ。
type string (必須)summary_text に固定されています。text string (必須)まとめテキスト。
status string (任意)ステータス。有効な値:in_progress、completed、incomplete。
Web Search Call object (任意)Web 検索呼び出しオブジェクト。以前のレスポンスの出力から web_search_call アイテムを入力に渡すことで、マルチターン対話で検索結果のコンテキストを提供できます。
type string (必須)常に web_search_call です。id string (必須)以前のレスポンスからの検索呼び出しの一意の識別子。status string (必須)検索ステータス。有効な値:in_progress、searching、completed、failed。action object (必須)検索アクションの詳細。search タイプのみがサポートされています。
type string (必須)検索タイプ。常に search です。queries array (任意)検索クエリのリスト。各要素は文字列です。sources array (任意)検索結果ソースのリスト。
type string (必須)ソースタイプ。常に url です。url string (必須)ソース URL。
instructionsstring (任意)コンテキストの冒頭にシステム命令として挿入されます。previous_response_id が使用される場合、前のターンで指定された instructions は現在のターンのコンテキストに渡されません。previous_response_id string (任意)前のレスポンスの一意の ID。レスポンスの id は 7 日間有効です。このパラメーターを使用してマルチターン対話を作成できます。サーバー側は自動的にそのターンの入力と出力を取得し、コンテキストとして結合します。input メッセージ配列と previous_response_id の両方を提供する場合、input 内の新しいメッセージは履歴コンテキストに追加されます。このパラメーターは conversation と一緒に使用することはできません。conversation string (任意)現在のレスポンスが属する対話 (「Conversations API」をご参照ください)。対話の履歴は自動的にコンテキストとして含まれます。このリクエストの入力と出力は、完了時に会話に追加されます。previous_response_id と一緒に使用することはできません。stream boolean (任意) デフォルトは falseストリーミング出力を有効にします。true に設定すると、モデルはリアルタイムでレスポンスをストリーミングします。store boolean (任意) デフォルトは trueこのセッションで生成されたモデルのレスポンスを保存するかどうかを指定します。
  • false:レスポンスは保存されず、後続の呼び出しで previous_response_id を介して参照することはできません。
  • true:レスポンスは保存されます。現在のモデルのレスポンスは、previous_response_id および後続の API 呼び出しで参照できます。
tools array (任意)モデルがレスポンスを生成する際に呼び出すことができるツールの配列。組み込みツールとカスタム function ツールの両方をサポートし、一緒に使用できます。kimi-k3.1-pro (Alibaba Cloud Model Studio にデプロイ) は、北京、シンガポール、米国 (バージニア)、ドイツ (フランクフルト)、日本 (東京)、中国 (香港) で、組み込みツール web_search、web_extractor、code_interpreter をサポートします。deepseek-v4.1-flash-1017 は、web_search、web_extractor、code_interpreter の 3 つの組み込みツールをサポートします。
最良の結果を得るには、code_interpreter、web_search、および web_extractor ツールを有効にしてください。
Web 検索最新の情報をインターネットで検索します。関連ドキュメント:Web 検索
type string (必須)web_search に固定されています。例:[{"type": "web_search"}]
Web エクストラクタWeb ページにアクセスし、コンテンツを抽出します。web_search ツールと一緒に使用する必要があります。関連ドキュメント:Web 抽出
type string (必須)web_extractor に固定されています。例:[{"type": "web_search"}, {"type": "web_extractor"}]
コードインタープリターサンドボックス環境でコードを実行して、データ分析などのタスクを実行します。関連ドキュメント:コードインタープリター
type string (必須)code_interpreter に固定されています。例:[{"type": "code_interpreter"}]
Web 検索画像テキストの説明に基づいて画像を検索します。関連ドキュメント:テキストによる画像検索
type string (必須)web_search_image に固定されています。例:[{"type": "web_search_image"}]
画像検索入力画像に基づいて類似または関連する画像を検索します。入力には画像の URL を含める必要があります。関連ドキュメント:Image-to-Image 検索
type string (必須)image_search に固定されています。例:[{"type": "image_search"}]
ファイル検索指定されたナレッジベースを検索して知識を取得します。関連ドキュメント:ナレッジ取得
type string (必須)file_search に固定されています。vector_store_ids array(必須)検索するナレッジベースの ID。現在、提供できるナレッジベース ID は 1 つだけです。例:[{"type": "file_search", "vector_store_ids": ["your_knowledge_base_id"]}]
MCP 呼び出しModel Context Protocol (MCP) を介して外部サービスを呼び出します。関連ドキュメント:MCP
type string (必須)mcp に固定されています。server_protocol string (必須)MCP サービスとの通信プロトコル、例:"sse"。server_label string (必須)MCP サービスを識別するために使用されるラベル。server_description string (任意)サービスの説明。モデルがその機能を理解し、いつ使用するかを判断するのに役立ちます。server_url string (必須)MCP サービスエンドポイントの URL。headers object (任意)リクエストヘッダー。認証 (例:Authorization) などの情報を運ぶために使用されます。例:
mcp_tool = {
    "type": "mcp",
    "server_protocol": "sse",
    "server_label": "amap-maps",
    "server_description": "AMap MCP サーバーは、15 のコア API をカバーする地理情報サービスの完全なスイートを提供します。これには、カスタムマップ生成、ナビゲーション、配車サービス、ジオコーディング、逆ジオコーディング、IP ベースの位置情報、天気クエリ、サイクリング、ウォーキング、運転、公共交通機関のルート計画、距離測定、さまざまな検索機能が含まれます。",
    "server_url": "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/mcps/amap-maps/sse",
    "headers": {
        "Authorization": "Bearer <your-mcp-server-token>"
    }
}
カスタムツール関数モデルが開発者定義の関数を呼び出すことを許可します。モデルがツールを呼び出す必要があると判断した場合、レスポンスはタイプ function_call の出力アイテムを返します。関連ドキュメント:関数呼び出し
type string (必須)function に設定する必要があります。namestring(必須)ツールの名前。文字、数字、アンダースコア (_)、ハイフン (-) のみを含めることができ、最大長は 64 トークンです。descriptionstring(必須)ツールの説明。モデルがいつ、どのように呼び出すかを決定するのに役立ちます。parameters object (任意)ツールのパラメーター定義。有効な JSON Schema オブジェクトである必要があります。parameters が空の場合、ツールは引数を取らない (例:時間クエリツール)。
ツール呼び出しの精度を向上させるために、parameters を定義することを推奨します。
例:
[{
  "type": "function",
  "name": "get_weather",
  "description": "指定された都市の天気情報を取得する",
  "parameters": {
    "type": "object",
    "properties": {
      "city": {
        "type": "string",
        "description": "都市の名前"
      }
    },
    "required": ["city"]
  }
}]
tool_choice string or object (任意) デフォルトは autoモデルがツールを選択して呼び出す方法を制御します。このパラメーターは、文字列モードとオブジェクトモードの 2 つのフォーマットをサポートします。文字列モード
  • auto:モデルがツールを呼び出すかどうかを決定します。
  • none:モデルがどのツールも呼び出さないようにします。
  • required:モデルにツールを強制的に呼び出させます。これは、tools リストにツールが 1 つだけ含まれている場合にのみ使用できます。
オブジェクトモードモデルが選択して呼び出すツールを特定のセットに制限します。
mode string (必須)
  • auto:モデルは、提供されたリストからツールを呼び出すかどうかを自動的に決定します。
  • required:モデルに、提供されたリストからツールを強制的に呼び出させます。これは、tools リストにツールが 1 つだけ含まれている場合にのみ使用できます。
tools array(必須)モデルが呼び出すことを許可されているツール定義のリスト。
[
  { "type": "function", "name": "get_weather" }
]
typestring (必須)ツール設定のタイプ。allowed_tools に固定されています。
parallel_tool_calls boolean (任意) デフォルト値:true並列ツール呼び出しを有効にするかどうかを指定します。詳細については、「並列ツール呼び出し」をご参照ください。
kimi-k3 は、このパラメーターによるツール呼び出しの並列性の制御をサポートしていません。false に設定しても逐次呼び出しは保証されず、モデルが 1 回のレスポンスで複数の function_call を返す場合があります。実際に返された結果に従って処理してください。
有効値:
  • true:有効化
  • false:無効化
temperaturefloat(任意)サンプリング温度。生成されるテキストの多様性を制御します。値が高いほど出力はよりランダムで多様になり、値が低いほどより集中的で決定論的になります。値の範囲:[0, 2)temperature と top_p はどちらも生成されるテキストの多様性を制御します。これらのパラメーターのいずれか一方のみを一度に使用することを推奨します。詳細については、「概要」をご参照ください。top_pfloat(任意)Top-p サンプリングの確率のしきい値。生成されるテキストの多様性を制御します。値が高いほど出力はよりランダムで多様になり、値が低いほどより集中的で決定論的になります。値の範囲:(0, 1.0]temperature と top_p はどちらも生成されるテキストの多様性を制御します。これらのパラメーターのいずれか一方のみを一度に使用することを推奨します。詳細については、「概要」をご参照ください。enable_thinking boolean (任意)推論モードを有効または無効にします。有効にすると、モデルは応答する前に推論ステップを実行します。推論プロセスは、タイプ reasoning の出力アイテムとして返されます。推論モードを有効にする場合、複雑なタスクで最良の結果を得るために、組み込みツールも有効にすることを推奨します。有効な値:
  • true:推論モードを有効にします。
  • false:推論モードを無効にします。
さまざまなモデルのデフォルト値については、「サポートされているモデル」をご参照ください。
このパラメーターは標準の OpenAI パラメーターではありません。Python SDK では、extra_body={"enable_thinking": True} を使用して渡します。Node.js SDK と curl では、トップレベルパラメーターとして enable_thinking: true を使用します。enable_thinking は非推奨になるため、代わりに reasoning.effort を使用することを推奨します。
reasoning object (任意)モデルの推論労力を制御します。モデルは返信する前に推論ステップを実行し、推論プロセスはタイプ reasoning の出力アイテムを介して返されます。kimi-k3.1-pro (Alibaba Cloud Model Studio にデプロイ) の reasoning.effort のデフォルトは max です。max (深い推論)、high (強化された推論)、medium (中程度の推論)、low (軽い推論) をサポートします。思考を無効にすると出力品質が大幅に低下するため、デフォルトの思考設定を維持することを推奨します。
kimi-k3.1-pro のレベルとデフォルト値は上記の説明に従ってください。以下の共通説明はその他のモデルに適用されます。effort string (任意):推論労力のレベル。デフォルトは xhigh です。7 つの増分レベルをサポートします:none、minimal、low、medium、high、xhigh、および max。この値を下げると、応答速度が向上し、推論トークンの消費が削減されます。
xhigh と max レベルは、China (Beijing) と シンガポール でのみサポートされています。
reasoning.effort は enable_thinking よりも優先されます。enable_thinking は非推奨になるため、reasoning.effort を使用することを推奨します。
ocr_options object (任意)OCR 組み込みタスクパラメーター。qwen3.5-ocr モデルにのみ適用されます。このパラメーターを使用して、組み込み OCR タスク (情報抽出やテキストのローカライズなど) を呼び出します。組み込みタスクの結果は、レスポンスの ocr_result フィールドで返されます。PDF ファイルを解析する場合、サポートされるページ数は task の値によって決まります。document_parsing を指定した場合は最大 50 ページ、task を指定しない場合または他のタスクを指定した場合は最大 10 ページです。
このパラメーターは標準の OpenAI パラメーターではありません。Python SDK では、extra_body={"ocr_options": {...}} を使用して渡します。Node.js SDK と curl では、トップレベルパラメーターとして ocr_options を使用します。
max_output_tokens integer (任意)
  • Qwen3.8 シリーズ:モデルのレスポンスコンテンツと Chain-of-Thought コンテンツの両方を合わせた合計トークンの最大数。
  • その他のモデル:モデルのレスポンスコンテンツの最大トークン数。
最小値は 16 です。モデルの出力がこの値を超えると、生成は早期に停止し、ステータスは incomplete になります。text object (任意)モデルのテキスト出力を設定します。プレーンテキストまたは構造化された JSON データを出力できます。
format object (任意)モデルが出力する必要があるフォーマットです。デフォルト値:{"type": "text"}。以下のいずれかのタイプ:ResponseFormatText { type }デフォルトのフォーマットです。テキストを出力します。
type string (必須)text に固定されています。
ResponseFormatTextJSONSchemaConfig { type, json_schema }指定した JSON Schema に厳密に準拠した JSON 文字列を出力します。出力の構造とフィールドの型を正確に制御できます。qwen3.8 シリーズ、deepseek-v4 シリーズ、glm-5 シリーズなどのモデルでサポートされています。deepseek-v4.1 シリーズは近日対応予定です。このタイプを使用する場合、プロンプトに JSON キーワードを含める必要はありません。
type string (必須)json_schema に固定されています。json_schema object (必須)JSON Schema の設定です。
name string (必須)スキーマの名前です。schema object (必須)出力構造を記述する JSON Schema オブジェクトです。properties でフィールド構造を定義し、required で必須フィールドのリストを指定し、additionalProperties でスキーマに定義されていないフィールドの出力を許可するかどうかを制御します (false に設定し、定義済みのフィールドのみを出力することを推奨します)。サポートされるデータ型:string、number、integer、boolean、object、array、enum。詳細については、「設定ガイド」をご参照ください。strict boolean (任意)schema で定義された構造に厳密に従うかどうかを指定します。true に設定することを推奨します。
ResponseFormatJSONObject { type }標準の JSON 形式の文字列を出力します。qwen3.8 シリーズ、deepseek-v4 シリーズ、deepseek-v4.1 シリーズ、glm-5 シリーズ、および kimi-k3.1-pro (Alibaba Cloud Model Studio にデプロイ) でサポートされています。このタイプを使用する場合、プロンプトでモデルに JSON を出力するように明示的に指示する必要があります (例:「JSON 形式で出力してください」)。そうしないと、エラーが発生します。
type string (必須)json_object に固定されています。
  • 基本的な呼び出し
  • ストリーミング出力
  • マルチターン対話
  • 組み込みツール
  • 関数呼び出し
  • ドキュメント理解
  • セッションキャッシュ
Python
import os
from openai import OpenAI

client = OpenAI(
    # 環境変数が設定されていない場合は、次のように置き換えます: api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # {WorkspaceId} を実際のワークスペース ID に置き換えてください。URL はリージョンによって異なります。
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

response = client.responses.create(
    model="qwen3.8-max",
    input="あなたに何ができますか?"
)

# モデルのレスポンスを取得
print(response.output_text)

レスポンスオブジェクト (非ストリーミング出力)

id stringこのレスポンスの一意の識別子、UUID。この ID は 7 日間有効で、previous_response_id パラメーターで使用してマルチターン対話を作成できます。created_at integerこのリクエストの UNIX タイムスタンプ (秒単位)。object stringオブジェクトタイプ。常に response です。status stringレスポンス生成のステータス。有効な値:
  • completed:生成が完了しました。
  • failed:生成に失敗しました。
  • in_progress:生成中です。
  • cancelled:生成がキャンセルされました。
  • queued:リクエストがキューに入れられました。
  • incomplete:生成が不完全です。
model stringレスポンスの生成に使用されたモデルの ID。output arrayモデルによって生成された出力アイテムの配列。配列内の要素のタイプと順序は、モデルのレスポンスによって異なります。
type string出力アイテムのタイプ。有効な値:
  • message:モデルの最終的なレスポンスコンテンツを含むメッセージアイテム。
  • reasoning:推論タイプ。このパラメーターは、reasoning.effort が none 以外の値に設定されている場合、または推論モードが有効になっている場合に返されます。推論トークンは output_tokens_details.reasoning_tokens でカウントされ、推論トークンとして課金されます。
  • function_call:関数呼び出しタイプ。これは、カスタム function ツールが使用されたときに返されます。関数呼び出しを処理し、結果を返します。
  • web_search_call:検索呼び出しタイプ。これは、web_search ツールが使用されたときに返されます。
  • code_interpreter_call:code_interpreter ツールが使用されたときに返されるコード実行タイプ。
  • web_extractor_call:Web 抽出タイプ。これは、web_extractor ツールが使用されたときに返されます。web_search ツールと一緒に使用する必要があります。
  • web_search_image_call:テキストによる画像検索の呼び出しタイプ。これは、web_search_image ツールを使用するときに返されます。見つかった画像のリストが含まれています。
  • image_search_call:Image-to-Image 検索の呼び出しタイプ。これは、image_search ツールが使用されたときに返されます。類似画像のリストが含まれています。
  • mcp_call:MCP 呼び出しタイプ。これは、mcp ツールを使用するときに返されます。MCP サービス呼び出しの結果が含まれています。
  • file_search_call:ナレッジベース検索の呼び出しタイプ。これは、file_search ツールを使用するときに返されます。ナレッジベースの取得クエリと結果が含まれています。
id string出力アイテムの一意の識別子。すべてのタイプの出力アイテムにこのフィールドが含まれています。role stringメッセージのロールは常に assistant です。このパラメーターは、type が message の場合にのみ存在します。status string出力アイテムのステータス。有効な値:completed と in_progress。このパラメーターは、type パラメーターが reasoning に設定されていない場合に存在します。name stringツールまたは関数の名前。このパラメーターは、type が function_call、web_search_image_call、image_search_call、または mcp_call の場合に存在します。web_search_image_call と image_search_call の場合、値はそれぞれ "web_search_image" と "image_search" に固定されています。mcp_call の場合、値は MCP サービスで呼び出された特定の関数の名前です (例:amap-maps-maps_geo)。arguments stringツール呼び出しのパラメーター (JSON 文字列形式)。このパラメーターは、type が function_call、web_search_image_call、image_search_call、または mcp_call の場合に存在します。使用する前に JSON.parse() を使用して文字列を解析します。さまざまなツールタイプの引数の内容は次のとおりです:
  • web_search_image_call:{"queries": ["検索キーワード 1", "検索キーワード 2"]}。queries は、ユーザー入力に基づいてモデルが自動的に生成した検索キーワードのリストです。
  • image_search_call:{"img_idx": 0, "bbox": [0, 0, 1000, 1000]}。img_idx は入力画像のインデックス (0 から始まる)、bbox は検索領域のバウンディングボックス座標 [x1, y1, x2, y2] です。座標値の範囲は 0 から 1000 です。
  • function_call:ユーザー定義の関数パラメーター スキーマから生成されたパラメーターオブジェクト。
  • mcp_call:MCP サービスで呼び出された関数のパラメーターオブジェクト。
call_id string関数呼び出しの一意の ID。このパラメーターは、type が function_call の場合にのみ含まれます。この ID は、リクエストをレスポンスにリンクするために、関数呼び出しの結果に含める必要があります。content arrayメッセージコンテンツの配列。このパラメーターは、type が message に設定されている場合にのみ存在します。
type stringコンテンツタイプ。値は output_text に固定されています。text stringモデルによって生成されたテキストコンテンツ。annotations arrayテキストアノテーションの配列。通常は空の配列です。
summary array推論のまとめの配列。このフィールドは、type が reasoning の場合にのみ存在します。各要素には type フィールド (値:summary_text) と text フィールド (まとめテキスト) が含まれます。action object検索アクションに関する情報。このパラメーターは、type が web_search_call の場合にのみ存在します。
query string検索クエリのキーワード。type string検索タイプ。値は常に search です。sources array検索ソースのリスト。各要素には type と url フィールドが含まれます。
code stringモデルによって生成および実行されたコード。これは、type が code_interpreter_call の場合にのみ存在します。outputs arrayコード実行の出力配列。これは、type が code_interpreter_call の場合にのみ存在します。各要素には type フィールド (値は logs) と logs フィールド (コード実行ログ) があります。container_id stringコードインタープリターのコンテナ識別子。このパラメーターは、type が code_interpreter_call の場合にのみ存在します。この識別子は、同じセッション内の複数のコード実行を関連付けます。goal stringWeb ページから抽出する情報の説明。このパラメーターは、type が web_extractor_call の場合にのみ使用できます。output stringツール呼び出しの出力。出力は文字列です。
  • type が web_extractor_call の場合、これは Web ページから抽出されたコンテンツのまとめです。
  • type が web_search_image_call または image_search_call の場合、これは画像検索結果の配列を含む JSON 文字列です。各要素には title、url、および index フィールドが含まれます。
  • type が mcp_call の場合、これは MCP サービスから返された JSON 文字列の結果です。
urls array抽出された Web ページの URL のリスト。このパラメーターは、type が web_extractor_call の場合にのみ使用できます。server_label stringMCP サービスのラベル。これは、type が mcp_call の場合にのみ表示されます。どの MCP サービスが呼び出しに使用されたかを示します。queries arrayナレッジベース取得のためのクエリのリスト。このパラメーターは、type が file_search_call の場合にのみ存在します。配列には文字列が含まれます。各文字列は、モデルによって生成された検索クエリです。results arrayナレッジベースからの検索結果の配列。このパラメーターは、type が file_search_call の場合にのみ存在します。
file_id string一致したドキュメントのファイル ID。filename string一致したドキュメントのファイル名。score float一致の関連性スコア。値の範囲は 0 から 1 です。値が大きいほど関連性が高くなります。text string一致したドキュメントからのコンテンツスニペット。
tool_usage objectこのリクエストのツール使用状況を、usage 内のモデルのトークン使用状況とは別に記録します。ツール呼び出しがない場合、デフォルトで空のオブジェクト {} が返されます。
web_search object
num_requests integer課金対象の検索回数。
code_interpreter object
num_requests integerコードインタープリターの実行回数。
web_extractor object
num_requests integerウェブページのコンテンツ抽出回数。
image_search object
num_requests integer画像による画像検索の回数。
web_search_image object
num_requests integerテキストによる画像検索の回数。
pdf_page_parser object
num_requests integer解析された PDF ページ数。
usage objectこのリクエストのトークン消費量に関する情報。
input_tokens integer入力のトークン数。追加の注意事項output_tokens integerモデルの出力のトークン数。total_tokens integer消費された合計トークン数は、input_tokens と output_tokens の合計です。input_tokens_details object入力トークンの詳細な分類。
cached_tokens integerキャッシュにヒットしたトークン数。詳細については、「コンテキストキャッシュ」をご参照ください。
output_tokens_details object出力トークンの詳細な内訳。
reasoning_tokens integer推論トークンの数。
x_details arrayリクエストの請求明細の配列。これは、トップレベルの usage フィールドよりも詳細なマルチモーダルトークンの内訳を提供します。
input_tokens integer入力のトークン数。追加の注意事項output_tokens integerモデルの出力のトークン数。total_tokens integer消費された合計トークン数は、input_tokens と output_tokens の合計です。x_billing_type string値は response_api に固定されています。image_tokens integer画像入力のトークン数。このフィールドは、入力に画像が含まれている場合に返され、input_tokens_details.image_tokens と同等です。input_tokens_details object入力トークンの詳細な内訳。このフィールドはマルチモーダル入力に対して返されます。現在、text_tokens と image_tokens のみを区別します。ビデオまたはオーディオトークンの内訳は提供しません。
text_tokens integerテキスト入力のトークン数。image_tokens integer画像入力のトークン数。
output_tokens_details object出力トークンの詳細な内訳。このフィールドには、トップレベルの output_tokens_details と比較して、追加の text_tokens フィールドがあります。text_tokens フィールドはマルチモーダル入力に対して返されます。
reasoning_tokens integer推論プロセスのトークン数。text_tokens integerテキスト出力のトークン数。このフィールドはマルチモーダル入力に対して返されます。
plugins object組み込みツール呼び出しの統計。このフィールドは、web_search などの組み込みツールが使用されたときに返されます。その内容は、トップレベルの x_tools フィールドと同じです。
web_search objectWeb 検索呼び出しの統計。
count integerこのレスポンスで Web 検索が呼び出された回数。
prompt_tokens_details object入力トークンのキャッシュ詳細。このフィールドは、セッションキャッシュが有効になっている場合に返されます。入力に画像が含まれているがキャッシュミスになった場合、空のオブジェクトを返すことがあります。
cached_tokens integerキャッシュにヒットしたトークン数。cache_creation_input_tokens integerこのリクエストで新しいキャッシュを作成するために使用されたトークン数。cache_creation objectキャッシュ作成に関する詳細。
ephemeral_5m_input_tokens integer新しい 5 分間のエフェメラルキャッシュを作成するために使用されたトークン数。
cache_type stringキャッシュタイプ。値は ephemeral に固定されています。
x_tools objectツール使用状況に関する統計。これには、各組み込みツールが呼び出された回数が含まれます。例:{"web_search": {"count": 1}}
error objectモデルがレスポンスを生成できなかった場合にエラーオブジェクトが返されます。それ以外の場合、値は null です。tools arrayリクエストからの tools パラメーターの完全な内容をエコーします。リクエストボディの tools パラメーターと同じ構造です。tool_choice stringリクエストの tool_choice パラメーターの値をエコーします。有効な値は auto、none、および required です。
{
    "created_at": 1771165900.0,
    "id": "f75c28fb-4064-48ed-90da-4d2cc4362xxx",
    "model": "qwen3.8-max",
    "object": "response",
    "output": [
        {
            "content": [
                {
                    "annotations": [],
                    "text": "こんにちは!私は Alibaba Cloud が開発した大規模言語モデル Qwen3.5 です。2026 年までの知識を持ち、複雑な推論、創造的なタスク、多言語での会話を支援するように設計されています。",
                    "type": "output_text"
                }
            ],
            "id": "msg_89ad23e6-f128-4d4c-b7a1-a786e7880xxx",
            "role": "assistant",
            "status": "completed",
            "type": "message"
        }
    ],
    "parallel_tool_calls": false,
    "status": "completed",
    "tool_choice": "auto",
    "tools": [],
    "tool_usage": {},
    "usage": {
        "input_tokens": 57,
        "input_tokens_details": {
            "cached_tokens": 0
        },
        "output_tokens": 44,
        "output_tokens_details": {
            "reasoning_tokens": 0
        },
        "total_tokens": 101,
        "x_details": [
            {
                "input_tokens": 57,
                "output_tokens": 44,
                "total_tokens": 101,
                "x_billing_type": "response_api"
            }
        ]
    }
}

レスポンスチャンクオブジェクト (ストリーミング出力)

ストリーミング出力は一連の JSON オブジェクトを返します。各オブジェクトには、イベントタイプを指定する type フィールドと、イベントの順序を示す sequence_number フィールドが含まれます。response.completed イベントはストリームの終わりを示します。type stringイベントタイプ識別子。考えられる値は次のとおりです:
  • response.created:レスポンスが作成され、ステータスは queued です。
  • response.in_progress:レスポンスの処理が開始され、ステータスが in_progress に変わります。
  • response.output_item.added:新しい出力アイテム (例:メッセージまたは web_extractor_call) が出力配列に追加されます。item.type が web_extractor_call の場合、これは Web 抽出ツール呼び出しの開始を示します。
  • response.content_part.added:新しいコンテンツパートが、出力アイテムの content 配列に追加されます。
  • response.output_text.delta:増分テキストセグメントが生成されます。このイベントは複数回トリガーされ、delta フィield には新しいテキストセグメントが含まれます。
  • response.output_text.done:コンテンツパートのテキスト生成が完了しました。text フィールドには完全なテキストが含まれます。
  • response.content_part.done:コンテンツパートが完了しました。part オブジェクトには完全なコンテンツパートが含まれます。
  • response.output_item.done:出力アイテムが完了しました。item オブジェクトには完全な出力アイテムが含まれます。item.type が web_extractor_call の場合、これは Web 抽出ツール呼び出しの完了を示します。
  • response.reasoning_text.delta:(推論モードで) 推論のまとめに対する増分更新を提供します。delta フィールドには新しいセグメントが含まれます。
  • response.reasoning_text.done:(推論モードで) 推論のまとめが完了しました。text フィールドには完全なまとめが含まれます。
  • response.custom_tool_call_input.delta:カスタムツール呼び出し入力に対する増分更新を提供します。delta フィールドには新しく生成されたセグメントが含まれます。
  • response.custom_tool_call_input.done:カスタムツール呼び出し入力が完了しました。input フィールドには完全な入力が含まれます。
  • response.web_search_call.in_progress / searching / completed:web_search ツールが使用されたときの検索ステータスの変更を示すイベント。
  • response.code_interpreter_call.in_progress / interpreting / completed:コード実行ステータスの変更に関するイベント (code_interpreter ツールを使用する場合)。
  • 注:web_extractor ツールには専用のイベントタイプ識別子がありません。そのツール呼び出しは、一般的な response.output_item.added および response.output_item.done イベントを介して渡され、item.type フィールドの値が web_extractor_call であることで識別されます。
  • response.mcp_call_arguments.delta / response.mcp_call_arguments.done:これらのイベントは、MCP 呼び出し引数の差分と完了ステータスを提供します。
  • response.mcp_call.in_progress:MCP サービス呼び出しが進行中です。
  • response.mcp_call.completed:MCP サービス呼び出しが完了しました。
  • response.file_search_call.in_progress / searching / completed:ナレッジベース検索のステータス変更イベント (file_search ツールを使用する場合)。
  • 注:web_search_image および image_search ツールを使用する場合、専用の中間状態イベントはありません。ツール呼び出しは、response.output_item.added (呼び出し開始) および response.output_item.done (呼び出し完了) イベントを介して伝達されます。
  • response.completed:レスポンスの生成が完了しました。response オブジェクトには、使用量を含む完全なレスポンスが含まれます。このイベントはストリームの終わりを示します。
  • response.incomplete:max_output_tokens などの制限により、レスポンスが早期に終了しました。
sequence_number integerイベントのシーケンス番号。0 から始まり、イベントごとにインクリメントされます。この番号を使用して、イベントを正しい順序で処理します。response objectresponse.created、response.in_progress、および response.completed イベントに表示されるレスポンスオブジェクト。response.completed イベントでは、完全なレスポンスデータ (output と usage を含む) が含まれ、その構造は非ストリーミングのレスポンスオブジェクトと同じです。item object出力アイテムオブジェクト。response.output_item.added および response.output_item.done イベントに表示されます。added イベントでは、content が空の配列である初期スケルトンです。done イベントでは、完全なオブジェクトです。
id string出力アイテムの一意の識別子 (例:msg_xxx)。type string出力アイテムのタイプ。考えられる値:message、reasoning、web_search_call、web_search_image_call (テキストによる画像検索)、image_search_call (Image-to-Image 検索)、mcp_call (MCP 呼び出し)、file_search_call (ナレッジベース検索)。role stringメッセージのロール。常に assistant です。type が message の場合にのみ存在します。status string生成ステータス。added イベントではステータスは in_progress であり、done イベントでは completed です。content arrayメッセージコンテンツの配列。added イベントでは、配列は空 [] です。done イベントでは、part オブジェクトと同じ構造を持つ完全なコンテンツパートオブジェクトが含まれます。
part objectコンテンツパートオブジェクト。response.content_part.added および response.content_part.done イベントに表示されます。
type stringコンテンツパートのタイプ。常に output_text です。text stringテキストコンテンツ。これは added イベントでは空の文字列であり、done イベントでは完全なテキストです。annotations arrayテキストアノテーションの配列。通常は空の配列です。logprobs object | nullトークンのログ確率。このフィールドは現在、常に null を返します。
delta string増分テキストセグメント。このフィールドは response.output_text.delta イベントに表示され、新しく追加されたテキストセグメントが含まれます。すべての delta 値を連結して、完全なテキストを再構築します。text string完全なテキストコンテンツ。このフィールドは response.output_text.done イベントに表示されます。これを使用して、delta フラグメントから再構築されたテキストを検証できます。item_id string出力アイテムの一意の識別子。この ID を使用して、同じアイテムに属するイベントを関連付けます。output_index integeroutput 配列内の出力アイテムのインデックス。content_index integercontent 配列内のコンテンツパートのインデックス。
// response.created: レスポンスが作成され、キューに入れられます。
{"response":{"id":"428c90e9-9cd6-90a6-9726-c02b08ebexxx","created_at":1769082930,"object":"response","status":"queued",...},"sequence_number":0,"type":"response.created"}

// response.in_progress: 処理が開始されます。
{"response":{"id":"428c90e9-9cd6-90a6-9726-c02b08ebexxx","status":"in_progress",...},"sequence_number":1,"type":"response.in_progress"}

// response.output_item.added: 新しい出力アイテムが追加されます。
{"item":{"id":"msg_bcb45d66-fc34-46a2-bb56-714a51e8exxx","content":[],"role":"assistant","status":"in_progress","type":"message"},"output_index":0,"sequence_number":2,"type":"response.output_item.added"}

// response.content_part.added: 新しいコンテンツパートが追加されます。
{"content_index":0,"item_id":"msg_bcb45d66-fc34-46a2-bb56-714a51e8exxx","output_index":0,"part":{"annotations":[],"text":"","type":"output_text","logprobs":null},"sequence_number":3,"type":"response.content_part.added"}

// response.output_text.delta: 増分テキスト (複数回トリガーされる可能性があります)。
{"content_index":0,"delta":"人工知能","item_id":"msg_bcb45d66-fc34-46a2-bb56-714a51e8exxx","logprobs":[],"output_index":0,"sequence_number":4,"type":"response.output_text.delta"}
{"content_index":0,"delta":" (AI) は、コンピュータシステムが人間の知的行動をシミュレートできるようにする技術と科学を指します","item_id":"msg_bcb45d66-fc34-46a2-bb56-714a51e8exxx","logprobs":[],"output_index":0,"sequence_number":6,"type":"response.output_text.delta"}

// response.output_text.done: コンテンツパートのテキスト生成が完了しました。
{"content_index":0,"item_id":"msg_bcb45d66-fc34-46a2-bb56-714a51e8exxx","logprobs":[],"output_index":0,"sequence_number":53,"text":"人工知能 (AI) は、コンピュータシステムが人間の知的行動をシミュレートできるようにする技術と科学を指します...","type":"response.output_text.done"}

// response.content_part.done: コンテンツパートが完了しました。
{"content_index":0,"item_id":"msg_bcb45d66-fc34-46a2-bb56-714a51e8exxx","output_index":0,"part":{"annotations":[],"text":"...全文...","type":"output_text","logprobs":null},"sequence_number":54,"type":"response.content_part.done"}

// response.output_item.done: 出力アイテムが完了しました。
{"item":{"id":"msg_bcb45d66-fc34-46a2-bb56-714a51e8exxx","content":[{"annotations":[],"text":"...全文...","type":"output_text","logprobs":null}],"role":"assistant","status":"completed","type":"message"},"output_index":0,"sequence_number":55,"type":"response.output_item.done"}

// response.completed: レスポンスが完了しました (完全なレスポンスと使用量を含む)。
{"response":{"id":"428c90e9-9cd6-90a6-9726-c02b08ebexxx","created_at":1769082930,"model":"qwen3.7-max","object":"response","output":[...],"status":"completed","usage":{"input_tokens":37,"output_tokens":243,"total_tokens":280,...}},"sequence_number":56,"type":"response.completed"}

よくある質問

Q:マルチターン対話のコンテキストを渡すにはどうすればよいですか? A:新しい対話リクエストを行う際に、モデルの前回の成功したレスポンスから得られる id を previous_response_id パラメーターとして渡します。 Q:レスポンスの例にある一部のフィールドがこのトピックで説明されていないのはなぜですか? A:公式の OpenAI SDK は、OpenAI プロトコルで定義された追加のフィールドを出力することがあります。当社のサービスはこれらのフィールドをサポートしていないため、通常は null になります。このトピックで説明されているフィールドにのみ注目してください。