跳到正文
土土金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日 01:33。

共 681 个模型支持此接口,上表列出其中一部分。 在模型广场查看全部

没找到答案?加客服微信 JsnonoChat,发送报错信息里的 request id,我们帮你排查。