跳到正文
土土金API

API 參考

Chat Completions 對話補全

POST /v1/chat/completions 的請求頭、參數、請求與響應示例、流式輸出格式。OpenAI 相容,GPT、Claude、Gemini、DeepSeek 等模型都能用同一套程式碼呼叫,已實測含流式。

POST /v1/chat/completions 是最常用的介面:傳入一組對話訊息,返回模型的回覆。格式與 OpenAI Chat Completions 一致,目錄裡標註支援該介面的模型(包括 GPT、Claude、Gemini、DeepSeek、通義千問等)都可以用同一套程式碼呼叫。本介面已在本站實測,包括流式輸出。

POSThttps://www.tutujin.com/v1/chat/completions

請求頭

請求頭必填說明
Authorization是Bearer sk-...,控制台建立的 API Key
Content-Type是application/json

請求參數

參數類型必填說明
modelstring是模型名,例如 gpt-5.4-mini
messagesarray是對話訊息列表,按時間順序排列,結構見下文
streamboolean否設為 true 時以 SSE 流式返回,預設 false
stream_optionsobject否流式時傳 {"include_usage": true},最後一個數據塊會帶上本次用量
max_tokensinteger否本次最多生成多少 tokens。部分新模型改用 max_completion_tokens
max_completion_tokensinteger否生成上限,包含推理模型的思考 tokens
temperaturenumber否取樣溫度,常見範圍 0 到 2,越高越發散。推理模型通常不支援
top_pnumber否核取樣,和 temperature 一般只調一個
ninteger否返回幾個候選回答,每個候選都按實際生成的 tokens 計費
stopstring 或 array否遇到這些字串時停止生成
presence_penaltynumber否-2 到 2,正值鼓勵模型談新話題
frequency_penaltynumber否-2 到 2,正值減少重複用詞
response_formatobject否{"type": "json_object"} 要求輸出 JSON;部分模型支援 json_schema 嚴格結構化輸出
toolsarray否可供模型呼叫的函式定義(function calling)
tool_choicestring 或 object否auto、none、required,或指定某個函式
reasoning_effortstring否推理模型的思考強度,如 low、medium、high,僅部分模型支援
seedinteger否儘量讓相同輸入得到相同輸出,不保證完全一致
userstring否你這邊的終端使用者標識,便於排查濫用

不同廠商的模型對可選參數的支援程度不同。模型不支援的參數可能被忽略,也可能返回 400,接入新模型時先用小流量驗證。

messages 結構

每條訊息是一個物件,role 取以下值之一:

role用途
system系統提示詞,設定角色、規則和輸出格式,一般放在第一條
user使用者輸入
assistant模型之前的回覆,多輪對話時原樣帶回
tool函式呼叫的執行結果,需帶上對應的 tool_call_id

content 可以是字串,也可以是陣列。陣列形式用於圖文混合輸入,適用於支援識圖的模型:

JSON
{
  "role": "user",
  "content": [
    { "type": "text", "text": "这张发票的金额是多少?" },
    { "type": "image_url", "image_url": { "url": "https://example.com/invoice.png" } }
  ]
}

圖片也可以用 data:image/png;base64,... 的形式直接放進 url。

請求示例

curl https://www.tutujin.com/v1/chat/completions \
  -H "Authorization: Bearer $TUTUJIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4-mini",
    "messages": [
      {"role": "system", "content": "你是电商客服,回答简短、礼貌。"},
      {"role": "user", "content": "下单后多久发货?"}
    ],
    "temperature": 0.3
  }'

響應示例

JSON
{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "created": 1794000000,
  "model": "gpt-5.4-mini",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "您好,现货订单一般在付款后 48 小时内发货。"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 31,
    "completion_tokens": 22,
    "total_tokens": 53
  }
}
欄位說明
choices[].message.content模型的回答
choices[].message.tool_calls模型決定呼叫函式時出現,包含函式名和 JSON 參數
choices[].finish_reasonstop 正常結束;length 達到生成上限被截斷;tool_calls 需要你執行函式;content_filter 被內容安全策略攔截
usage.prompt_tokens輸入 tokens,按輸入單價計費
usage.completion_tokens輸出 tokens(推理模型含思考部分),按輸出單價計費
usage.prompt_tokens_details.cached_tokens命中上下文快取的輸入 tokens,模型支援快取時出現,按快取讀取價計費

流式輸出

設定 "stream": true 後,服務端用 Server-Sent Events 逐塊返回。每塊是一行 data: {...},增量文本在 choices[0].delta.content,最後以 data: [DONE] 結束:

Text
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"role":"assistant","content":""}}]}

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"您好"}}]}

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

用 SDK 時直接遍歷返回的流即可:

stream = client.chat.completions.create(
    model="gpt-5.4-mini",
    messages=[{"role": "user", "content": "写一段 100 字的产品介绍"}],
    stream=True,
    stream_options={"include_usage": True},
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
    if chunk.usage:
        print("\n", chunk.usage)

生成較長的內容時建議開啟流式:使用者更早看到結果,也不容易因為單次請求等待太久被閘道器或客戶端超時斷開。

注意事項

  • 模型名要和模型廣場裡的寫法完全一致,大小寫敏感。
  • 同一把 Key 只會走它所在分組的線路。某個模型返回 503 並提示沒有可用渠道時,通常是這個分組不提供該模型,換一把其他分組的 Key 再試,見選擇分組。
  • 推理模型的思考過程也算輸出 tokens,費用可能明顯高於普通模型。可以用 max_completion_tokens 控制上限。
  • 多輪對話需要你把歷史訊息一併傳送,服務端不儲存會話。歷史越長,輸入 tokens 越多,可以按需裁剪。
  • 每次請求的 tokens 與費用都能在控制台「操作日誌」中查到。

支援此介面的模型

模型廠商最低價分組輸入 ¥/百萬輸出 ¥/百萬按次 ¥/次
gpt-image-2OpenAI標準——¥0.12
Claude Haiku 5.5AnthropicClaude 優質¥0.4¥2—
qwen3.5-plus通義千問國產模型¥1.12¥6.72—
gemini-3.8-flashGoogle標準¥1.5¥7.5—
gpt-5.4-miniOpenAI標準¥1.5¥9—
deepseek-v4.1-flashDeepSeek國產模型¥2.8¥11.2—
Claude Sonnet 5.5AnthropicClaude 經濟¥3.2¥16—
GPT-6.1 SolOpenAI標準¥4¥20—
gemini-3.1-pro-previewGoogle標準¥4¥24—
Claude Opus 5.5AnthropicClaude 經濟¥8¥40—

價格為人民幣,取各模型最低價分組;價格更新於 2026年11月13日 下午6:08。

共 681 個模型支援此介面,上表列出其中一部分。 在模型廣場檢視全部

沒找到答案?加客服微信 JsnonoChat,傳送報錯資訊裡的 request id,我們幫你排查。