功能

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 新版 toolstool_choicetool_calls 字段。DeepSeek 的 tool_choice 使用 noneautorequired,不要传对象形式。

排查错误

请求失败时先记录响应中的 traceId,再对照错误码检查鉴权、余额、模型能力、输出长度和限流状态。