开始
快速开始
4 步发出第一个请求:注册并创建 API Key,把 base_url 换成 https://open.tutujin.com/v1,再用 cURL、Python 或 Node.js 调用模型,最后在控制台核对扣费。
土土金 API 兼容 OpenAI 接口。已经在用 OpenAI SDK 的代码只需要改两处:base_url 改成 https://open.tutujin.com/v1,api_key 换成你在控制台创建的 Key。整个过程大约 5 分钟。
第 1 步:注册账号并充值
- 打开注册页创建账号,登录后进入控制台。
- 在控制台充值。余额以人民币计,按实际用量扣费,没有月费和最低消费。
- 企业采购或需要海外 Invoice,可以加客服微信
JsnonoChat详谈。
第 2 步:创建 API Key
在控制台的 API Key 页面新建一把 Key。每把 Key 可以单独设置:
| 设置项 | 作用 |
|---|---|
| 名称 | 区分项目或环境,例如「客服机器人-生产」 |
| 分组 | 决定这把 Key 走哪条线路、按哪档价格计费,见选择分组 |
| 额度上限 | 这把 Key 最多能花多少钱,用完自动停用 |
| 过期时间 | 到期后自动失效,适合临时或外包项目 |
| 模型白名单 | 只允许调用指定模型 |
| IP 白名单 | 只允许指定的服务器 IP 调用 |
Key 以 sk- 开头。建议一个项目、一个环境各用一把 Key,出问题时可以单独停用,不影响其他业务。
不要把 Key 写进网页、App 或小程序的前端代码,任何人打开开发者工具都能看到它。Key 只放在你自己的服务器上,通过环境变量读取。更多做法见 API Key 安全最佳实践。
第 3 步:配置 Key 和 Base URL
先把 Key 写进环境变量,后面的示例都从环境变量读取:
export TUTUJIN_API_KEY="sk-你的Key"不同的接口格式使用不同的 Base URL:
| 你在用的 SDK 或接口 | Base URL |
|---|---|
| OpenAI 兼容接口(Chat Completions、Responses、Embeddings、图像、语音等) | https://open.tutujin.com/v1 |
| Anthropic 官方 SDK(Claude 原生 Messages) | https://open.tutujin.com |
| Google Gen AI SDK(Gemini 原生 generateContent) | https://open.tutujin.com |
Anthropic 和 Google 的 SDK 会自己在后面拼上 /v1/messages、/v1beta/models/...,所以这两种只填站点根地址。
第 4 步:发出第一个请求
model 填模型广场里的模型名。下面用 gpt-5.4-mini 举例:
curl https://open.tutujin.com/v1/chat/completions \
-H "Authorization: Bearer $TUTUJIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.4-mini",
"messages": [
{"role": "user", "content": "用一句话介绍你自己"}
]
}'import os
from openai import OpenAI
client = OpenAI(
base_url="https://open.tutujin.com/v1",
api_key=os.environ["TUTUJIN_API_KEY"],
)
resp = client.chat.completions.create(
model="gpt-5.4-mini",
messages=[{"role": "user", "content": "用一句话介绍你自己"}],
)
print(resp.choices[0].message.content)import OpenAI from 'openai'
const client = new OpenAI({
baseURL: 'https://open.tutujin.com/v1',
apiKey: process.env.TUTUJIN_API_KEY,
})
const resp = await client.chat.completions.create({
model: 'gpt-5.4-mini',
messages: [{ role: 'user', content: '用一句话介绍你自己' }],
})
console.log(resp.choices[0].message.content)返回结果和 OpenAI 的格式一致,回答在 choices[0].message.content,本次用量在 usage 里:
{
"id": "chatcmpl-...",
"object": "chat.completion",
"model": "gpt-5.4-mini",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "……" },
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": 14, "completion_tokens": 32, "total_tokens": 46 }
}如果返回 401,说明 Key 填错了或已经失效;返回 403 多半是余额不足或 Key 的白名单不允许。完整对照见错误码与重试。
第 5 步:核对用量和扣费
每次调用都会在控制台「用量明细」里留下一条记录,包含模型、分组、输入和输出 tokens、费用。按 token 计费的模型,费用 = 输入 tokens × 输入单价 + 输出 tokens × 输出单价。以这个示例模型为例,它当前最低价分组的价格是:
| 模型 | 厂商 | 最低价分组 | 输入 ¥/百万 | 输出 ¥/百万 | 按次 ¥/次 |
|---|---|---|---|---|---|
| gpt-5.4-mini | OpenAI | 标准 | ¥1.5 | ¥9 | — |
价格为人民币,取各模型最低价分组;价格更新于 2026年11月12日 20:17。
计费规则的细节见计费与用量。
下一步
- 认证与 Base URL:三种请求头写法,以及各家原生 SDK 怎么配置。
- 选择分组:同一个模型在不同分组的价格和线路来源不同。
- API 参考:每个接口的参数和示例。
- OpenAI SDK 集成:Python 与 Node.js 的完整配置,包括流式输出和超时重试。
没找到答案?加客服微信 JsnonoChat,发送报错信息里的 request id,我们帮你排查。