API Hop 文件
通用聊天補全
透過 `model` 參數切換文字模型的統一聊天 API。請求格式相容於 OpenAI Chat Completions。
https://api.apihop.ai/v1/chat-completions透過 model 參數切換文字模型的統一聊天 API。請求格式相容於 OpenAI Chat Completions。
上游供應商支援 Claude Sonnet 4.6(claude-sonnet-4-6),但目前尚未在 RequestBeam 發布,因此不是已啟用的預設整合模型。呼叫任何模型前,請以您自己的 GET https://api.apihop.ai/v1/models 回應確認存取權限。
此端點預設傳回一個完整 JSON 回應。需要 SSE 串流時,請明確設定 stream: true。
POST https://api.apihop.ai/v1/chat-completions驗證
所有請求均需要 Bearer Token 驗證。
Authorization: Bearer YOUR_API_KEY若驗證失敗,請檢查:
- API 金鑰是否正確
- 金鑰是否適用於此 API 基礎網址
- 請求標頭拼寫是否正確
- 代理是否改寫授權標頭
請求主體
modelstring必填預設: gpt-5.4文件列出的文字模型 ID(請透過 GET https://api.apihop.ai/v1/models 確認存取權限):
- OpenAI:
gpt-5.4,gpt-5.5,gpt-5.6-sol,gpt-5.6-terra,gpt-6-astra - Anthropic:
claude-fable-5,claude-fable-5-1,claude-opus-4-6,claude-opus-4-7,claude-opus-4-8,claude-opus-5,claude-opus-5-5,claude-sonnet-5,claude-sonnet-5-5 - DeepSeek:
deepseek-v4-flash,deepseek-v4-pro,deepseek-v4.1-flash
(V4.1 Flash 是獨立模型 ID,僅在部署並啟用後可用;請檢查 GET https://api.apihop.ai/v1/models).
- Gemini:
gemini-3.6-flash,gemini-3.7-flash,gemini-3.8-flash,gemini-3.5-flash-lite,gemini-4-argon(部署並啟用後) - Kimi:
kimi-k3 - MiniMax:
minimax-m3
完整清單及目前 API 金鑰可見的模型,請見模型目錄。以您自己的 GET https://api.apihop.ai/v1/models 回應作為目前可用性的依據。各模型系列的選擇說明與範例,請見 DeepSeek、Gemini、Kimi 與 MiniMax 指南。
messagesobject[]必填聊天訊息。每則訊息應包含:
role:system、user或assistantcontent:訊息內容
範例:
[
{"role": "system", "content": "You are a helpful Python tutor."},
{"role": "user", "content": "How should I learn programming?"}
]模型特定的取樣限制: gpt-6-astra 不接受舊的 temperature、top_p 或 top_logprobs;即使舊版客戶端包含這些欄位,也請省略。RequestBeam 的 GPT-6 Astra Playground 也會隱藏舊取樣與懲罰控制。claude-sonnet-5 在有紀錄的整合複測中拒絕 top_p,因此該模型也請省略此欄位。代理轉送選填欄位不代表所選上游模型支援它。
temperaturenumber預設: 1.0取樣溫度。OpenAI 相容客戶端通常使用 0 至 2,但最終驗證由所選模型決定。
max_tokensinteger選填的最大輸出 token,必須為正整數。省略此欄位會使用所選模型的上游預設值;預設值與上限依模型及上游設定而異。
依模型而定,預算可能同時包含推理 token 與最終文字。預算過小可能造成 finish_reason: "length"、答案截斷,或在產生最終文字前耗盡。提高預算可能增加費用。
max_completion_tokensintegermax_tokens 的選填相容替代欄位,適用相同預算注意事項。模型可能僅接受其中一個欄位,切換模型時請從最小請求主體開始。兩者均省略時使用上游預設值。
streamboolean預設: false是否串流回應。
true:傳回 Server-Sent Eventsfalse:傳回完整回應
top_pnumber預設: 1.0核心取樣參數。OpenAI 相容客戶端通常使用 0 至 1,最終由所選模型驗證。
frequency_penaltynumber預設: 0頻率懲罰。OpenAI 相容客戶端通常使用 -2.0 至 2.0,最終由所選模型驗證。
presence_penaltynumber預設: 0存在懲罰。OpenAI 相容客戶端通常使用 -2.0 至 2.0,最終由所選模型驗證。
stopstring | array停止序列或停止序列陣列。接受的數量及行為由所選模型決定。
ninteger預設: 1要生成的回應數量。請使用像 1 這樣的數字,而非加引號的字串。
模型參數差異
目前的文字模型支援最小的串流與非串流 Chat 請求,但選填參數是否接受及其效果,取決於所選模型與其相容實作。
2026-09-26 的最近一次複測接受 claude-fable-5 搭配 temperature: 0,並傳回文字。同次複測中,claude-sonnet-5 搭配 top_p: 0.9 被拒絕,回傳 HTTP 400 與 top_p is deprecated。請為此模型省略 top_p。接受參數既不代表有取樣效果,也不保證其他模型或之後請求可用;請勿假設所有取樣參數都受支援。
2026-09-26 的 OpenAI 檢查接受 gpt-5.6-sol 與 gpt-5.6-terra 的 stop。參數接受情況可能隨上游變動,且不代表停止序列有效。
原生 OpenAI 相容 Chat 轉送會在上游請求中保留 top_p 與 stop。將 Chat 轉換為 Responses 的路由會保留 top_p,但不轉送 stop。轉送欄位不代表上游支援或有實際效果;兩個欄位都沒有跨所有路由的平台通用保證。
切換模型時從最小請求開始,再分別驗證取樣、停止序列與進階工具參數。對停止序列,請檢查實際文字與停止原因,不要只看 HTTP 狀態。HTTP 200 不代表存在取樣效果。輸出預算必須涵蓋模型思考與最終文字。
請求範例
{
"model": "gpt-5.4",
"messages": [
{
"role": "user",
"content": "Hello, introduce yourself briefly."
}
],
"stream": false
}回應
idstring回應的唯一識別碼。
objectstring物件類型,通常為 chat.completion,串流時為 chat.completion.chunk。
createdintegerUnix 建立時間戳記。
modelstring回應中傳回的模型識別碼。
choicesarray生成的選項,包含訊息內容、索引與完成原因。
usageobjectToken 用量統計。
成功範例
{
"id": "chatcmpl-9876543210",
"object": "chat.completion",
"created": 1677652288,
"model": "gpt-5.4",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "I am an AI assistant that can help with writing, coding, and analysis."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 28,
"completion_tokens": 42,
"total_tokens": 70
}
}錯誤回應
完整代碼參考、協定差異及診斷步驟,請見錯誤代碼與疑難排解。
Chat Completions 的 HTTP 錯誤使用扁平 JSON 主體,也包含 SSE 串流開始前傳回的上游 HTTP 錯誤。例如 HTTP 402 會傳回:
{
"code": 40000,
"message": "Insufficient credit. Required: 30000, Available: 20000",
"type": "api_error"
}code:數字平台錯誤代碼,與 HTTP 狀態分開,且不是字串message:人類可讀的錯誤說明type:api_errorrequestId:選填的請求識別碼,用於疑難排解
| HTTP 狀態 | code | 意義 |
|---|---|---|
| 400 | 10000 | 請求無效 |
| 401 | 20000 | 缺少驗證或驗證無效 |
| 402 | 40000 | 餘額不足 |
| 403 | 20001 | 拒絕存取或此金鑰無法使用模型 |
| 404 | 30000 | 找不到模型或資源 |
| 409 | 30001 | 請求衝突 |
| 422 | 10001 | 驗證錯誤 |
| 429 | 40001 | 超過速率限制 |
| 500 | 50003 | 內部錯誤 |
| 502 | 50000 | 上游供應商錯誤 |
| 503 | 50001 | 服務不可用 |
| 504 | 50002 | 閘道逾時 |
先檢查 HTTP 狀態判斷請求是否成功,再比較數字 code 進行應用程式特定處理。請勿將 code 與 "400" 等字串比較、假設它等於 HTTP 狀態,或將 message 解析為穩定錯誤識別碼。缺少或類型錯誤的 messages 會在呼叫供應商前以 HTTP 400 與 code: 10000 拒絕。
此錯誤格式適用於 Chat Completions HTTP 回應,不適用於已開始的 SSE 串流內錯誤或其他 API 協定。模型目錄與原生協定端點各有文件記載的錯誤格式。