Skip to main content
OpenAI 互換のテキスト生成には /v1/chat/completions を使用します。

ストリーミング

stream: true を設定すると Server-Sent Events で結果を受け取れます。各イベントは OpenAI の chat.completion.chunk であり、ストリームは data: [DONE] で終了します。

パラメータ

OpenAI 標準のパラメータに対応しています:temperature、top_p、max_tokens、stop、n、 frequency_penalty、presence_penalty、seed、response_format、tools、 tool_choice、logprobs、top_logprobs、logit_bias、user、stream。

推論強度

推論強度を設定できるモデルでは、トップレベルの reasoning_effort を使用します。Responses 形式の reasoning.effort も受け付けます。両方を指定する場合は同じ値にしてください。不一致は 400 になります。
対応値はモデルごとに異なり、省略時は既定動作を維持します。モデル別の推論制御を参照してください。 各モデルが受け付ける強度、既定値、思考を無効化できるかどうかは GET /v1/models の capability_metadata.reasoning に公開されているため、クライアントは表をハードコードせずにモデルを設定できます。 max_completion_tokens、max_output_tokens およびネイティブの対応フィールドは、推論と最終回答の合計トークン数を制限します。effort 自体は出力トークン上限ではありません。予算を使い切ると(Chat Completions の finish_reason: "length")、最終回答が不完全または空になる場合があります。

Kimi K3 互換ルール

kimi-k3 は同じ OpenAI 互換エンドポイントを使用しますが、ネイティブの仕様にモデル固有のルールがあります:
  • K3 は常に思考し、無効化できません。low、high、max を受け付け、既定値は max です。強度を下げるほど、推論の深さと引き換えにレイテンシーが短くなります。K2.x の thinking オブジェクトは、思考を有効にする互換エイリアスとしてのみ受け付けられます。
  • max_completion_tokens の使用を推奨します。APIAny は非推奨の max_tokens も受け付けますが、Kimi K3 では max_completion_tokens を使用します。上限を指定しない場合はモデルの既定値が使用されます。明示できる上限は最大 1,048,576 トークンです。
  • K3 のサンプリング設定は固定です。APIAny は K3 に限り temperature、top_p、frequency_penalty、presence_penalty を取り除きます。n は 1 である必要があります。
  • reasoning_content は思考過程、content は最終回答です。ストリーミングでは両者が別々の delta として返されます。思考過程を最終回答に統合しないでください。
  • マルチターンおよびツール呼び出しのリクエストでは、reasoning_content と tool_calls を含む assistant メッセージ全体を再送してください。
  • 最後の assistant メッセージでは partial: true を使用できます。content を持たない system メッセージに tools を含めると、K3 のツールを動的に読み込めます。
  • K3 の画像/動画コンテンツブロックには、Base64 の data: URL または ms:// ファイル ID を使用する必要があります。公開 HTTP メディア URL はモデルリクエストの送信前に拒否されます。
finish_reason が length の場合、出力予算を使い切っています。レスポンスは引き続き OpenAI 互換ですが、最終回答が欠落または不完全になる場合があります。再試行する前に max_completion_tokens を増やすか、入力を減らしてください。

補足

  • model は APIAny.AI の公開モデル ID です。
  • token usage データが利用できる場合、プラットフォームは OpenAI スタイルの usage オブジェクトに正規化します。

GPT-6 の出力とストリームの終了

gpt-6-astra では、認識可能な先頭の思考ブロックを最終回答から分離します。回答は content / output_text、思考内容は独立した reasoning フィールドまたは summary イベントから読み取ってください。明示的なタグの例や曖昧な記述は保持されます。推論強度や出力 Token 上限は変更しません。 ストリームの HTTP 200 だけでは生成成功を意味しません。エラーイベントを処理し、途中までの回答は未完了と表示してください。Chat では [DONE] 前の最後の usage を読み取り、Responses では response.completed、response.incomplete、response.failed / error を区別してください。 GPT-6 Chat の [DONE] はストリームの終了を示しますが、先行するエラーを取り消したり、回答の完全性を保証したりするものではありません。finish_reason も確認してください。length は出力上限への到達、content_filter はコンテンツのフィルタリングを意味し、どちらも stop に書き換えられません。完了前に接続が閉じた場合やエラーイベントを受信した場合は、部分的なテキストを完全な回答として扱わないでください。