Chat Completions
POST /v1/chat/completions はOpenAI Chat Completions互換のエンドポイントです。
受け付けたフィールドは、そのままモデルへ渡ります。
リクエスト
curl "$AI_GATEWAY_BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer $AI_GATEWAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<GET /v1/modelsが返したモデルID>",
"messages": [
{ "role": "system", "content": "簡潔に答えてください。" },
{ "role": "user", "content": "ロリポップ!AIゲートウェイとは?" }
],
"max_tokens": 512
}'受け付けるフィールド
model と messages は必須です。
ほかに次のフィールドを受け付けます。
一覧にないフィールドは読み飛ばされます。
- 出力の量:
max_tokens、max_completion_tokens、n、stop - 生成の制御:
temperature、top_p、seed、frequency_penalty、presence_penalty、logit_bias、logprobs、top_logprobs、reasoning_effort、verbosity、prediction - 出力の形:
response_format、modalities、audio - ツール呼び出し:
tools、tool_choice、parallel_tool_calls、functions、function_call - ストリーミング:
stream、stream_options - キャッシュ:
prompt_cache_key、cache_control(対応するモデルのみ) - そのほか:
service_tier、store、user、safety_identifier、web_search_options
出力トークンの扱い
max_tokens と max_completion_tokens のどちらも指定しない場合、max_tokens: 4096 を補って実行します。
長い応答が必要なときは明示してください。
max_tokens、max_completion_tokens、n はいずれも正の整数です。
整数でない値や 0 以下を指定すると 400 が返ります。
n の上限は128です。
service_tier
service_tier には standard、default、standard_only、flex、priority を指定できます。
前の3つは同じ扱いです。
指定しない場合は standard の価格で利用額を見積ります。
ここにない値を指定すると価格が確定できず、前払いの組織では 503 が返る場合があります。
レスポンス
OpenAI Chat Completionsと同じ形で返ります。
model には、実際に応答したモデルの公開名が入ります。
フォールバックが起きた場合、リクエストの model とは異なる値になります。
推論そのものに関係しないフィールドは取り除かれます。
レスポンス、choices、choices[].message の provider_specific_fields と、choices[].message の reasoning、reasoning_content、reasoning_details は返りません。
stream: true を指定した場合はServer-Sent Eventsで返ります。