03
Chat completions
POST /chat/completions 接受 OpenAI 請求格式並轉送至模型供應商。
請求
必填:model 與 messages(或 prompt)。支援的選用參數原樣透傳:temperature、top_p、max_tokens、max_completion_tokens、stop、tools、tool_choice、response_format、seed、frequency_penalty、presence_penalty、reasoning_effort、stream。
OpenRouter 專有的路由欄位(provider、route、models、transforms、plugins)會被接受並忽略,讓既有程式碼不用改。
curl https://api.nxioai.com/api/v1/chat/completions \
-H "Authorization: Bearer $NXIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-sonnet-5",
"messages": [{"role": "user", "content": "Say hello"}]
}'模型 id 與別名
使用目錄中的 vendor/slug id(anthropic/claude-sonnet-5)。上游裸 id(claude-sonnet-5)亦接受為別名,不分大小寫。回應的 model 欄位會回傳 NXIO 正式 id。
max_tokens 與點數預扣
轉送前 NXIO 會預扣該請求的最壞情況費用:預估 prompt tokens 加上 max_tokens(未給時用模型上限)。設定合理的 max_tokens 可讓預扣變小,餘額不多時尤其重要。回應完成後預扣立即釋放並改為實際費用。
回應
標準 OpenAI 結構。id 是 NXIO request id(gen-…),同值也在 X-Request-Id header。usage 永遠存在,串流亦然。
"usage": {
"prompt_tokens": 1200,
"completion_tokens": 300,
"total_tokens": 1500,
"prompt_tokens_details": { "cached_tokens": 1000, "cache_write_tokens": 0 },
"completion_tokens_details": { "reasoning_tokens": 0 },
"cost": 0.00546,
"is_byok": false
}