API 文档
通过统一、标准的接口协议调用平台上的多种大模型 —— 只需替换一个 Base URL。
快速开始
三步接入,五分钟内跑通第一个请求。
第 1 步:创建令牌
- 登录 spanrouter.com,进入「控制台」
- 打开「令牌」页面,点「添加令牌」
- 创建后复制生成的密钥(形如
sk-xxxxxxxx)
密钥只显示一次,请立即保存。不要把它写进前端代码或公开仓库。
第 2 步:记下 Base URL
https://spanrouter.com/v1
第 3 步:发起第一个请求
任何 OpenAI 兼容的客户端/SDK 都能直接用,把 base_url 换成上面的地址、密钥换成你的令牌即可。
cURL
curl https://spanrouter.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的令牌" \
-d '{
"model": "deepseek-chat",
"messages": [
{"role": "user", "content": "你好,介绍一下你自己"}
]
}'
Python
# pip install openai
from openai import OpenAI
client = OpenAI(
api_key="sk-你的令牌",
base_url="https://spanrouter.com/v1",
)
resp = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)
Node.js
// npm install openai
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-你的令牌",
baseURL: "https://spanrouter.com/v1",
});
const resp = await client.chat.completions.create({
model: "deepseek-chat",
messages: [{ role: "user", content: "你好" }],
});
console.log(resp.choices[0].message.content);
模型名从哪来?登录控制台 → 「模型列表」查看当前可用的模型 ID。
上面示例里的
上面示例里的
deepseek-chat 只是占位,请替换成你实际要用的模型。
认证
所有请求都通过 HTTP 请求头携带密钥:
Authorization: Bearer sk-你的令牌
- 密钥在「控制台 → 令牌」里创建和管理
- 可以为每个令牌单独设置额度上限和可用模型范围,建议按用途分开创建
- 令牌泄露时,立即在控制台禁用或删除
接口
平台提供 OpenAI 兼容接口,绝大多数客户端与 SDK 无需改造即可接入。
POST /v1/chat/completions
对话补全 —— 最常用的接口。
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | 模型 ID,见控制台「模型列表」 |
messages | array | 对话消息数组,元素含 role 与 content |
stream | boolean | 是否流式返回,默认 false |
temperature | number | 采样温度,常见范围 0–2 |
max_tokens | integer | 限制返回的最大 token 数 |
GET /v1/models
列出当前令牌可用的模型。
POST /v1/embeddings
文本向量化(需平台支持对应模型)。
计费与额度
- 计费方式:按 token 用量计费,不同模型单价不同,详见站点「模型价格」页
- 额度:在「控制台 → 钱包」充值;「控制台 → 日志」可查每一笔调用明细
- 令牌额度:单个令牌可单独设上限,避免某个应用失控消耗
错误码
| 状态码 | 常见原因 | 怎么处理 |
|---|---|---|
401 | 密钥无效或已禁用 | 检查 Authorization 头,确认令牌未删除/未过期 |
403 | 该令牌没有使用此模型的权限 | 在控制台调整令牌的可用模型范围 |
429 | 请求过于频繁,或额度不足 | 降低并发;检查钱包余额 |
400 | 请求体格式错误(如模型名写错) | 核对 model 是否为控制台里的模型 ID |
5xx | 服务端或上游模型异常 | 稍后重试;持续出现请联系客服 |
常见问题
报错「模型不存在」怎么办?
多半是模型名写错了。请到控制台「模型列表」复制准确的模型 ID,注意大小写和连字符。
能同时用在多个软件里吗?
可以。建议每个软件建一个独立令牌,这样能分别限制额度,出问题也好定位。
支持流式输出(打字机效果)吗?
支持。请求里加 "stream": true 即可,大多数客户端默认就是流式。
调用失败会计费吗?
失败的请求不计费。只有实际返回了内容的调用才会消耗额度。
地址到底要不要带 /v1?
看客户端。填 https://spanrouter.com 或 https://spanrouter.com/v1 都试一下,能通即可 —— 这是最常见的配置问题。
没找到答案?登录后在「控制台」提交工单,或通过站点底部的联系方式联系我们。