供應商路由
同一模型通常由多個供應商承載——例如 bytedance/seedance-2.0 同時來自 volcengine 與 byteplus。ofox 預設自動選擇供應商,provider.type 可將請求鎖定到指定供應商。
預設路由策略
未傳 provider 欄位時,ofox 在該模型目前可用的通道之間按權重分流。單次請求最終由哪個供應商承載無法預期。
指定供應商
將供應商名稱填入 type 欄位。兩類模型的欄位位置不同:
| 模型類型 | 欄位路徑 |
|---|---|
| 文字模型 | extra_body.provider.type |
| 影片模型 | provider.type |
Gemini 原生協議會忽略請求主體中的 extra_body.provider —— 請求正常回傳,約束不生效,且沒有任何錯誤。該協議請改用 X-OfoxAI-Provider-Type 請求標頭。 各協議的欄位位置對照見 API · 供應商路由。
文字模型
cURL
curl https://api.ofox.io/v1/chat/completions \
-H "Authorization: Bearer $OFOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-sonnet-5",
"messages": [{ "role": "user", "content": "..." }],
"extra_body": {
"provider": { "type": "bedrock" }
}
}'使用官方 OpenAI SDK 時,extra_body 需作為請求主體中的字面量鍵存在。TypeScript SDK 在參數物件中直接書寫 extra_body 即可;Python SDK 的 extra_body= 參數會將其內容合併至請求主體最上層,因此需額外巢狀一層,或改用請求標頭傳遞。
可選供應商
ofox 目前支援的供應商如下。括號內為簡寫,與完整名稱等效,二者均可使用:
| 供應商 | 說明 |
|---|---|
openai | OpenAI :GPT 系列官方 API |
anthropic | Anthropic :Claude 系列官方 API |
gemini | Google AI :Gemini 系列官方 API |
azure_foundry(foundry) | Azure AI Foundry :微軟雲模型託管平台 |
aws_bedrock(bedrock) | Amazon Bedrock :AWS 雲模型託管服務 |
google_vertex(vertex) | Vertex AI :Google 雲模型託管平台 |
aliyun | 阿里雲百煉 :阿里雲模型服務平台 |
volcengine | 火山引擎方舟 :字節跳動中國大陸平台 |
byteplus | BytePlus :字節跳動海外平台 |
deepseek | DeepSeek :DeepSeek 系列官方 API |
moonshot | 月之暗面 :Kimi 系列官方 API |
zhipu | 智譜 :GLM 系列官方 API |
minimax | MiniMax :MiniMax 系列官方 API |
grok | xAI :Grok 系列官方 API |
jina | Jina AI :向量與重排模型 |
tencent | 騰訊雲混元 :騰訊雲模型服務平台 |
並非所有供應商都承載全部模型。特定模型的承載供應商及各供應商支援的協議,可在模型廣場 的模型詳情頁查看;程式化取得請使用 GET /v2/models/catalog/{provider}/{slug}?include=provider_price 回傳的 provider_cards[]。
文字模型
文字模型分布於上表中的多數供應商。具體承載關係與協議支援情況以模型詳情頁為準。
影片模型
bytedance/seedance-* 系列由以下兩個供應商承載,二者內容政策存在差異:
| 供應商 | 說明 | 內容政策 |
|---|---|---|
volcengine | 火山引擎方舟,字節跳動中國大陸平台 | 標準審核 |
byteplus | BytePlus,字節跳動海外平台 | 支援不適合所有受眾(NSFW)的內容 |
byteplus 允許 seedance 產生不適合所有受眾(NSFW)的內容,volcengine 執行標準審核。需要此類內容時必須明確指定 provider.type: "byteplus";未指定時請求可能經加權分流進入 volcengine,並被內容審核拒絕。
常見錯誤
error.type | 觸發條件 |
|---|---|
invalid_provider_type | 取值不在供應商列舉內:名稱拼寫錯誤,或使用了已淘汰的寫法。 |
provider_type_unavailable | 供應商存在,但未承載該模型。文字模型的錯誤訊息中會一併列出該模型的可用供應商。 |