BazaarLinkBazaarLink
登入
文件API 參考SDK 參考Agent 應用AI Skills
聊天

建立聊天

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 生成模式不屬此契約。

POST/v1/chat/completions

驗證

Authorization必填
string · header

在 Authorization 標頭以 Bearer token 傳入 API 金鑰。

Body

model必填
string

要使用的模型,供應商前綴格式,例如 "openai/gpt-4o"。 GET /v1/models 列出「claude-sonnet-4.6」等 id,以及「anthropic/claude-sonnet-4.6」等 canonical alias。請求接受兩種格式;請使用清單中的 id 或 alias。

minLength: 1
Example: "openai/gpt-4o"
messages必填
Message[]

對話訊息陣列,至少一則。每則含 role(system/user/assistant/tool)與 content。

minLength: 1
content
string | ContentPart[]

音訊輸入放在 messages[].content[]:{"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}。data 使用原始 base64,不使用 data URI;格式依模型支援。不要使用 top-level input_audio:它沒有獨立驗證與預留額度契約。

Example: [{"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}]
models
string[]

備援模型清單——依序嘗試,主要模型的候選群全部失敗時才會用到。

stream
boolean

true 時以 SSE 串流回應;省略或 false 為一次性 JSON 回應。音訊串流在 choices[].delta.audio 分段回傳 data(base64 音訊)與 transcript;非串流在 choices[].message.audio 回傳。id、expires_at 可能由模型提供;請累積片段後依 audio.format 解碼,串流格式依模型支援。

temperature
number

取樣溫度,越高越隨機、越低越確定。取樣值不做範圍驗證;模型可能會截斷或忽略超出支援範圍的值。

max_tokens
integer

回應可生成的最大 token 數。

max_completion_tokens
integer

max_tokens 的別名,語意相同。

top_p
number

核採樣(nucleus sampling)閾值。

top_k
integer

限制取樣時只從機率最高的 K 個 token 中選。

frequency_penalty
number

依 token 已出現的頻率懲罰重複。

presence_penalty
number

依 token 是否曾出現過(不論次數)懲罰重複。

repetition_penalty
number

重複 token 的懲罰係數,獨立於 frequency/presence penalty 的另一種機制。

min_p
number

相對於最高機率 token 的最小機率門檻。

top_a
number

另一種動態調整取樣範圍的機制,依最高機率的平方縮放門檻。

seed
integer

確定性取樣種子;非所有供應商都保證可重現。

n
integer

要生成的回應數量。

stop
string | string[]

遇到即停止生成的字串,最多 4 個。

tools
Tool[]

模型可呼叫的工具/函式定義清單。

tool_choice
string | object

控制模型是否/如何被強制呼叫工具。

parallel_tool_calls
boolean

有提供 tools 時,是否允許並行工具呼叫。預設 true。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。

response_format
object

限制輸出格式,例如 {type:"json_object"} 或帶 JSON Schema 的 {type:"json_schema"}。

logit_bias
object

把 token ID 對映到 [-100, 100] 的偏差值,在取樣前加上。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。

logprobs
boolean

回傳每個輸出 token 的對數機率。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。

top_logprobs
integer

每個位置回傳機率最高的候選 token 數(需搭配 logprobs: true)。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。

0–20
user
string

終端使用者識別碼,用於監控與濫用偵測。對計費無影響。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。

reasoning
object

推理模型的思考控制物件(例如 {effort, max_tokens})。

reasoning_effort
string

reasoning.effort 的簡寫平面欄位。

lowmediumhigh
include_reasoning
boolean

true 時在 message.reasoning(串流為 delta.reasoning)回傳思考內容;false 則為預設會思考的模型關閉思考(見推理章節),因此不會計思考費用。沒有帶 reasoning_effort、reasoning 或 thinking 時,只有那些模型會預設思考並回傳;其他模型要帶參數才會回傳。

image_config
object

圖片生成/圖生圖選項(當 modalities 含 image 時使用)。

modalities
string[]

要求的輸出模態。含 image 時走圖片生成派工路徑。Audio chat 使用 ["text","audio"] 搭配 audio 物件;需模型支援文字與音訊輸出。

textimageaudio
Example: ["text","audio"]
audio
object

音訊輸出選項,搭配 modalities:["text","audio"];voice 與 format 依模型支援,不是所有模型都接受相同值。

Example: {"voice":"alloy","format":"wav"}
voice
string

模型支援的音色,例如 alloy。

Example: "alloy"
format
string

模型支援的輸出格式,例如 wav;串流常用 pcm16,請確認模型支援。

Example: "wav"
plugins
object[]

外掛陣列(例如 {id:"web"} 啟用網頁搜尋)。僅部分模型路由支援,其他情況無效;:online 會在支援的路由上啟用網頁搜尋。plugins、:online 或 web_search_options 可能產生上游附加費,由請求使用的金鑰承擔:平台金鑰由 BazaarLink 支付上游費用,BYOK 則由你的供應商金鑰支付。

POST /v1/chat/completions
curl https://api.bazaarlink.ai/v1/chat/completions \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [{"role": "user", "content": "Explain quantum computing in one paragraph."}]
  }'
回應範例

成功。BazaarLink 只回傳公開回應白名單中的欄位,例如 BazaarLink 自行產生的回應 id、model、choices 與 usage。model 依公開模型回報規則顯示:別名解析後可能保留您指定的名稱;自動路由時則顯示實際服務請求的模型。provider 欄位及其他上游專屬中繼資料會移除。usage.cost 一律是 BazaarLink 自行結算的金額。

{
  "id": "85e6f35c71a31f19-SJC",
  "object": "chat.completion",
  "created": 1740000000,
  "model": "openai/gpt-4o",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Quantum computing leverages quantum mechanics..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 28,
    "completion_tokens": 74,
    "total_tokens": 102,
    "cost": 0.000648
  }
}
客服
客服
您好!有什麼可以協助?
請留下訊息,我們會盡快回覆。
建立聊天 — BazaarLink API