本文へスキップ
Markdown で表示

Responses

OpenAI Responses 形式でモデルの応答を生成します。ゲートウェイはリクエストボディとストリームイベントを変更せずにモデルサーバーとやり取りし、トークンを計測します。ゲートウェイはレスポンスを保存しないため、リクエストごとに会話全体を input に入れて送信してください。

Codex CLI はこのエンドポイントで Kiln と通信します。プロバイダーブロックは 連携ページの Codex CLI の項目にあります。

POST/responses
URL
https://api.bricksum.com/v1/responses

認証

ゲートウェイが処理するエンドポイントの認証方法はすべて同じで、 API リファレンス ページで説明しています。

リクエストボディ

対応状況

対応
ゲートウェイが処理するか、公開済みの実測で動作を確認した項目です。
転送のみ
モデルサーバーに転送されます。Kiln は動作を検証していません。
無視
200 で受け付けられますが、適用されません。レスポンスのその他の部分は通常どおりです。
非対応
エラーで拒否されるか、説明に記載したモデルでは動作しません。

共通パラメータ

以下のパラメータの定義は API リファレンス ページに一度だけ記載しています。ここには、このエンドポイントで異なる点だけを記載します。

  • modelstring必須対応

    共通の定義と同じです。

    完全な定義を見る

  • streamboolean対応

    ゲートウェイは文字列 "true" と数値 1 も true として読み取り、転送前にこのフィールドを boolean に書き換えます。Responses のリクエストに stream_options は追加しません。

    デフォルト
    false

    完全な定義を見る

  • toolsarray転送のみ

    モデルサーバーに転送されます。Kiln は動作を検証していません。

    完全な定義を見る

  • tool_choicestring | object転送のみ

    モデルサーバーに転送されます。Kiln は動作を検証していません。 qwen3-32b では、強制的なツール選択が明確なエラーなしに失敗します(2026-09-26 実測)。tool_choice を "required" にすると本文が平文 "Internal Server Error" の HTTP 500 が返り、関数を指定すると arguments が空の 200(finish_reason "stop")が返ります。どちらも 4xx ではないため、再試行では解決しません。tool_choice は "auto" のみを送ってください。

    完全な定義を見る

このエンドポイント固有のパラメータ

  • inputstring | array必須対応

    テキストのプロンプト、または入力項目の配列(メッセージ、関数呼び出し、関数呼び出しの結果)です。毎回、会話全体を送信してください。ゲートウェイは値を変更せずに転送し、検証は行いません。

  • previous_response_idstring非対応

    モデルに届く前に 400(unsupported_parameter)で拒否され、課金されません。ゲートウェイはレスポンスを保存しないため、引き継ぐ以前のレスポンスがありません。null は受け付けられます。

  • storeboolean転送のみ

    送信した値のままモデルサーバーに転送されます。値にかかわらず、Kiln 経由でレスポンスを再取得することはできません。GET /responses/{id}、DELETE /responses/{id}、GET /responses/{id}/input_items は 404(not_found)を返します。

  • instructionsstring転送のみ

    このリクエストに適用するシステムレベルの指示です。モデルサーバーに転送されます。Kiln は動作を検証していません。

  • max_output_tokensinteger転送のみ

    生成する最大トークン数です。モデルサーバーに転送されます。Kiln は動作を検証していません。モデルサーバーが生成を途中で終えた場合は response.incomplete で終了し、使用したトークンは課金されます。

  • parallel_tool_callsboolean転送のみ

    モデルサーバーに転送されます。Kiln は動作を検証していません。 qwen3-32b では parallel_tool_calls の設定が適用されません。これは応答のツール呼び出しが 1 つだけという意味ではありません。parallel_tool_calls: false を送っても、1 つの応答に複数のツール呼び出しが含まれることがあります。tool_calls のすべての項目に、それぞれ tool メッセージで応答してください。

  • reasoningobject転送のみ

    モデルサーバーに転送されます。Kiln は動作を検証していません。

  • textobject転送のみ

    モデルサーバーに転送されます。Kiln は動作を検証していません。

  • temperaturenumber転送のみ

    モデルサーバーに転送されます。Kiln は動作を検証していません。

    範囲
    0–2
  • top_pnumber転送のみ

    モデルサーバーに転送されます。Kiln は動作を検証していません。

    範囲
    0–1
  • truncationstring転送のみ

    モデルサーバーに転送されます。Kiln は動作を検証していません。

  • includearray転送のみ

    モデルサーバーに転送されます。Kiln は動作を検証していません。

  • metadataobject転送のみ

    モデルサーバーに転送されます。Kiln は動作を検証していません。

  • userstring転送のみ

    モデルサーバーに転送されます。Kiln は動作を検証していません。

ここに記載のない OpenAI Responses パラメータも、同じようにモデルサーバーに転送されます。Kiln は動作を検証していません。

レスポンスボディ

フィールド型説明
idstringresponse の ID です。この ID で後からレスポンスを取得することはできません。
objectstring"response" です。
statusstring"completed" です。生成が途中で終わった場合は "incomplete" です。
outputarrayモデルサーバーが返した出力項目です。output_text パートを持つメッセージと関数呼び出しが入ります。変更せずに転送されます。
usage.input_tokensinteger入力トークン数です。
usage.output_tokensinteger出力トークン数です。
usage.total_tokensinteger入力と出力のトークン数の合計です。
usage.input_tokens_details.cached_tokensintegerプレフィックスキャッシュから処理された入力トークン数です。モデルサーバーが報告した場合にのみ含まれます。
usage.costnumberこのリクエストでクレジットから差し引かれる金額(USD)です。ゲートウェイは非ストリーミングのレスポンスにのみ追加します。
X-Neocloud-Generation-Idheaderこのリクエストの usage イベント ID を含むレスポンスヘッダーです。ストリーミングのレスポンスにも付きます。ログと一緒に保存してください。

ストリームイベント

stream: true の場合、モデルサーバーは型付きのイベントを送信します。event: 行に型が入り、続く data: 行の JSON にも同じ値が type として入ります。ゲートウェイはすべてのイベントを変更せずに転送し、最後のイベントからトークン数を読み取ります。ストリーミングのイベントでは usage が response の中にあるため、ゲートウェイは usage.cost を追加しません。ストリーミングリクエストのコストは、response.usage とモデルの単価から計算するか、コンソール → 使用量で確認してください。

keepalive コメントと切断時の動作は ストリーミング ページで説明しています。

イベント説明
response.createdモデルサーバーから変更せずに転送されます。
response.output_text.deltaモデルサーバーから変更せずに転送されます。delta に新しく生成されたテキストが入ります。
response.completed正常に終了した生成の最後のイベントです。response.usage に課金対象のトークン数が入ります。
response.incompletemax_output_tokens などで途中で終わった生成の最後のイベントです。response.usage にトークン数が入り、課金されます。
response.failed生成が失敗しました。イベントに usage が含まれていても、リクエストは課金されません。
errorモデルサーバーからのエラーイベントです。リクエストは課金されません。
フィールド型説明
typestringイベントの型です。上記のいずれかの値です。モデルサーバーが他の response.* イベントを送信することがあり、変更せずに転送されます。
deltastringresponse.output_text.delta で、新しく生成されたテキストです。
responseobjectresponse.created と最後のイベントに入る response オブジェクトです。usage は最後のイベントまで null です。
response.usageobjectresponse.completed と response.incomplete に入ります。input_tokens、output_tokens、total_tokens を含みます。ゲートウェイはこのオブジェクトを取り除かず、cost フィールドも追加しません。

エラー

メッセージの文言ではなく、HTTP ステータスと error.code で分岐してください。error.code の欄が空の場合、ボディに code はありません。すべてのステータスコードは エラー ページにあります。

ステータス · error.code原因対処
400unsupported_parameterリクエストに previous_response_id が含まれています。このフィールドを削除し、会話全体を input に入れて送信してください。
400モデルサーバーがリクエストを拒否しました。不正な JSON、無効なパラメータ、モデルページに記載のモデル別コンテキスト長を超えるコンテキストが原因です。リクエスト内容を修正してください。そのまま再試行しないでください。
404model_not_foundモデル ID がカタログにありません。GET /models で ID を確認してください。
404not_foundGET /responses/{id}、DELETE /responses/{id}、GET /responses/{id}/input_items のいずれかを呼び出しました。ゲートウェイはレスポンスを保存しません。会話はクライアント側で保持し、input に入れて送信してください。
429rate_limit_exceeded組織ですでに 8 件のリクエストが処理中です。レート制限ヘッダーは付きません。指数バックオフで再試行してください。
502モデルバックエンドがエラーを返したか、到達できませんでした。ボディはプレーンテキストです。指数バックオフで再試行してください。
503サービスがメンテナンス中か、利用可能なモデルバックエンドがありません。メンテナンス中は Retry-After の日時まで待ってください。それ以外は指数バックオフで再試行してください。

401、402、403、429 は、リクエストがこのエンドポイントに届く前にゲートウェイが返します。これらは API リファレンス ページに一度だけ記載しています。

制限

コンテキスト長、リクエストボディのサイズ、タイムアウト、組織ごとのレート制限もここに適用され、 API リファレンス ページに一度だけ記載しています。

429 のヘッダーと再試行の方法は レート制限 ページにあります。