功能
API 接入与多协议支持
接口概览
| 能力 | 接口 |
|---|---|
| 模型列表 | GET /v1/models |
| OpenAI 对话 | POST /v1/chat/completions |
| Anthropic 对话 | POST /v1/messages |
| 向量嵌入 | POST /v1/embeddings |
统一基础地址:https://tokenrhythm.studio/v1。
鉴权与安全
所有请求均通过 HTTPS 发送,并在请求头携带 Authorization: Bearer sk_xxx。API Key 仅在创建成功时完整展示一次,不要写入公开代码、浏览器脚本或日志。
OpenAI Chat Completions
cURL
curl https://tokenrhythm.studio/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk_xxx" \
-d '{
"model": "deepseek-v4-flash",
"messages": [{ "role": "user", "content": "你好" }],
"stream": false
}'
Python
from openai import OpenAI
client = OpenAI(
api_key="sk_xxx",
base_url="https://tokenrhythm.studio/v1",
)
response = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[{"role": "user", "content": "你好"}],
)
print(response.choices[0].message.content)
Node.js
const response = await fetch("https://tokenrhythm.studio/v1/chat/completions", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer sk_xxx"
},
body: JSON.stringify({
model: "deepseek-v4-flash",
messages: [{ role: "user", content: "你好" }]
})
});
console.log(await response.json());
Anthropic Messages
Anthropic 原生协议需要 anthropic-version: 2023-06-01,并且必须传入 max_tokens。
cURL
curl https://tokenrhythm.studio/v1/messages \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk_xxx" \
-H "anthropic-version: 2023-06-01" \
-d '{"model":"deepseek-v4-flash","max_tokens":512,"messages":[{"role":"user","content":"你好"}]}'
Python
import requests
response = requests.post(
"https://tokenrhythm.studio/v1/messages",
headers={
"Authorization": "Bearer sk_xxx",
"anthropic-version": "2023-06-01",
},
json={
"model": "deepseek-v4-flash",
"max_tokens": 512,
"messages": [{"role": "user", "content": "你好"}],
},
)
print(response.json())
Node.js
const response = await fetch("https://tokenrhythm.studio/v1/messages", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer sk_xxx",
"anthropic-version": "2023-06-01"
},
body: JSON.stringify({
model: "deepseek-v4-flash",
max_tokens: 512,
messages: [{ role: "user", content: "你好" }]
})
});
console.log(await response.json());
Embeddings
向量模型以模型接口返回的当前可用模型为准。
cURL
curl https://tokenrhythm.studio/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk_xxx" \
-d '{"model":"embedding-model-id","input":"需要向量化的文本"}'
Python
from openai import OpenAI
client = OpenAI(api_key="sk_xxx", base_url="https://tokenrhythm.studio/v1")
response = client.embeddings.create(
model="embedding-model-id",
input="需要向量化的文本",
)
print(response.data[0].embedding)
Node.js
const response = await fetch("https://tokenrhythm.studio/v1/embeddings", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer sk_xxx"
},
body: JSON.stringify({
model: "embedding-model-id",
input: "需要向量化的文本"
})
});
console.log(await response.json());
流式响应
OpenAI 协议传入 stream: true 后按 SSE 返回,正文增量位于 choices[0].delta.content。Anthropic 协议按原生 Messages 流式事件返回;两种协议不要混用解析器。
工具调用
平台支持 OpenAI 新版 tools、tool_choice、tool_calls 字段。DeepSeek 的 tool_choice 使用 none、auto 或 required,不要传对象形式。
排查错误
请求失败时先记录响应中的 traceId,再对照错误码检查鉴权、余额、模型能力、输出长度和限流状态。