建立聊天
BazaarLink 回傳標準化回應並移除上游專屬欄位。usage.cost 是此請求向客戶收取的美元金額。 使用回應 id 或 x-request-id 標頭中的不透明 BazaarLink 請求 ID 呼叫 GET /v1/generation;非串流回應也會在 x-generation-id 提供此 ID。統計資料可能延遲數秒;若收到 404,請短暫重試。 較長的非串流 Chat、Messages 與 Responses 請求(約 12 秒以上)可能在 JSON 本文前包含空白 keep-alive 填充;標準 JSON 解析器可處理開頭空白。 Audio chat 使用此端點;以 modalities:["text","audio"] 和 audio:{voice,format} 要求音訊輸出。GET /v1/models?output_modalities=audio 僅篩選音訊輸出能力,不是所有音訊輸入模型;僅輸入音訊、輸出文字的模型仍在 text 清單。能力標記不保證模型已有可用路由;請依公開清單與模型支援參數選擇。純音訊輸出、TTS、STT 與其他非 token 生成模式不屬此契約。
/v1/chat/completions驗證
Authorization必填在 Authorization 標頭以 Bearer token 傳入 API 金鑰。
Body
model必填要使用的模型,供應商前綴格式,例如 "openai/gpt-4o"。 GET /v1/models 列出「claude-sonnet-4.6」等 id,以及「anthropic/claude-sonnet-4.6」等 canonical alias。請求接受兩種格式;請使用清單中的 id 或 alias。
"openai/gpt-4o"messages必填對話訊息陣列,至少一則。每則含 role(system/user/assistant/tool)與 content。
content音訊輸入放在 messages[].content[]:{"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}。data 使用原始 base64,不使用 data URI;格式依模型支援。不要使用 top-level input_audio:它沒有獨立驗證與預留額度契約。
[{"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}]models備援模型清單——依序嘗試,主要模型的候選群全部失敗時才會用到。
streamtrue 時以 SSE 串流回應;省略或 false 為一次性 JSON 回應。音訊串流在 choices[].delta.audio 分段回傳 data(base64 音訊)與 transcript;非串流在 choices[].message.audio 回傳。id、expires_at 可能由模型提供;請累積片段後依 audio.format 解碼,串流格式依模型支援。
temperature取樣溫度,越高越隨機、越低越確定。取樣值不做範圍驗證;模型可能會截斷或忽略超出支援範圍的值。
max_tokens回應可生成的最大 token 數。
max_completion_tokensmax_tokens 的別名,語意相同。
top_p核採樣(nucleus sampling)閾值。
top_k限制取樣時只從機率最高的 K 個 token 中選。
frequency_penalty依 token 已出現的頻率懲罰重複。
presence_penalty依 token 是否曾出現過(不論次數)懲罰重複。
repetition_penalty重複 token 的懲罰係數,獨立於 frequency/presence penalty 的另一種機制。
min_p相對於最高機率 token 的最小機率門檻。
top_a另一種動態調整取樣範圍的機制,依最高機率的平方縮放門檻。
seed確定性取樣種子;非所有供應商都保證可重現。
n要生成的回應數量。
stop遇到即停止生成的字串,最多 4 個。
tools模型可呼叫的工具/函式定義清單。
tool_choice控制模型是否/如何被強制呼叫工具。
parallel_tool_calls有提供 tools 時,是否允許並行工具呼叫。預設 true。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。
response_format限制輸出格式,例如 {type:"json_object"} 或帶 JSON Schema 的 {type:"json_schema"}。
logit_bias把 token ID 對映到 [-100, 100] 的偏差值,在取樣前加上。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。
logprobs回傳每個輸出 token 的對數機率。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。
top_logprobs每個位置回傳機率最高的候選 token 數(需搭配 logprobs: true)。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。
user終端使用者識別碼,用於監控與濫用偵測。對計費無影響。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。
reasoning推理模型的思考控制物件(例如 {effort, max_tokens})。
reasoning_effortreasoning.effort 的簡寫平面欄位。
lowmediumhighinclude_reasoningtrue 時在 message.reasoning(串流為 delta.reasoning)回傳思考內容;false 則為預設會思考的模型關閉思考(見推理章節),因此不會計思考費用。沒有帶 reasoning_effort、reasoning 或 thinking 時,只有那些模型會預設思考並回傳;其他模型要帶參數才會回傳。
image_config圖片生成/圖生圖選項(當 modalities 含 image 時使用)。
modalities要求的輸出模態。含 image 時走圖片生成派工路徑。Audio chat 使用 ["text","audio"] 搭配 audio 物件;需模型支援文字與音訊輸出。
textimageaudio["text","audio"]audio音訊輸出選項,搭配 modalities:["text","audio"];voice 與 format 依模型支援,不是所有模型都接受相同值。
{"voice":"alloy","format":"wav"}voice模型支援的音色,例如 alloy。
"alloy"format模型支援的輸出格式,例如 wav;串流常用 pcm16,請確認模型支援。
"wav"plugins外掛陣列(例如 {id:"web"} 啟用網頁搜尋)。僅部分模型路由支援,其他情況無效;:online 會在支援的路由上啟用網頁搜尋。plugins、:online 或 web_search_options 可能產生上游附加費,由請求使用的金鑰承擔:平台金鑰由 BazaarLink 支付上游費用,BYOK 則由你的供應商金鑰支付。