TeamoRouter API 接入
TeamoRouter 提供与 Anthropic 和 OpenAI 完全兼容的 API,可通过官方 SDK 调用 Claude、Gemini、GPT 等多家模型。
TeamoRouter 提供与 Anthropic 和 OpenAI 完全兼容的 API。你可以把官方 SDK 的 Base URL 指向 TeamoRouter,无需改动业务代码,即可调用 Claude / Gemini / GPT 等多家模型。
- Base URL:
https://api.teamorouter.com - 鉴权:API Key(
sk-teamo-...) - 协议:同时支持 Anthropic 原生格式(
/v1/messages)、OpenAI 兼容格式(/v1/chat/completions)、OpenAI Responses API(/v1/responses)和 Gemini 原生格式(/v1beta/models/{model}:generateContent)
文中的 sk-teamo-xxxxxx 请替换为你自己的 Key,妥善保管,不要提交到代码仓库。
一、鉴权
两种格式的鉴权 Header 不同,按你使用的协议选择:
| 协议 | Header |
|---|---|
| Anthropic | x-api-key: sk-teamo-xxxxxx + anthropic-version: 2023-06-01 |
| OpenAI | Authorization: Bearer sk-teamo-xxxxxx |
| Gemini | Authorization: Bearer sk-teamo-xxxxxx |
二、可用模型
通过 GET /v1/models 实时拉取完整列表:
curl https://api.teamorouter.com/v1/models \
-H "Authorization: Bearer sk-teamo-xxxxxx"
当前主要模型(节选):
| 厂商 | 模型 ID |
|---|---|
| Anthropic | claude-fable-5、claude-opus-4-8、claude-opus-4-7、claude-opus-4-6、claude-sonnet-4-6、claude-haiku-4-5 |
| OpenAI | gpt-5.5、gpt-5.4、gpt-5.4-mini、gpt-5.2 |
gemini-3.1-pro-preview、gemini-3.5-flash、gemini-3.1-flash-lite-preview |
即便使用 OpenAI 格式(/v1/chat/completions),也可以直接把 model 写成 claude-opus-4-8,路由会自动转换。
三、Anthropic 原生格式 /v1/messages
3.1 基础请求
curl https://api.teamorouter.com/v1/messages \
-H "x-api-key: sk-teamo-xxxxxx" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-opus-4-8",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "用一句话介绍你自己"}
]
}'
返回(节选):
{
"id": "msg_01KxDE...",
"type": "message",
"role": "assistant",
"model": "claude-opus-4-8",
"content": [
{
"type": "text",
"text": "我是 Claude……"
}
],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 159,
"output_tokens": 34
}
}
3.2 流式(SSE)
加 "stream": true,响应为 text/event-stream:
curl https://api.teamorouter.com/v1/messages \
-H "x-api-key: sk-teamo-xxxxxx" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-opus-4-8",
"max_tokens": 1024,
"stream": true,
"messages": [
{"role": "user", "content": "写一首五言绝句"}
]
}'
事件序列:message_start → content_block_start → 多个 content_block_delta → content_block_stop → message_delta → message_stop。
3.3 Python SDK(anthropic)
from anthropic import Anthropic
client = Anthropic(
api_key="sk-teamo-xxxxxx",
base_url="https://api.teamorouter.com",
)
resp = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
messages=[{"role": "user", "content": "你好"}],
)
print(resp.content[0].text)
四、OpenAI 兼容格式 /v1/chat/completions 和 /v1/responses
4.1 Chat Completions 基础请求
curl https://api.teamorouter.com/v1/chat/completions \
-H "Authorization: Bearer sk-teamo-xxxxxx" \
-H "content-type: application/json" \
-d '{
"model": "claude-opus-4-8",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello"}
]
}'
返回为标准 OpenAI chat.completion 结构:
{
"object": "chat.completion",
"model": "claude-opus-4-8",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello!"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 214,
"completion_tokens": 3,
"total_tokens": 217
}
}
4.2 Python SDK(openai)
from openai import OpenAI
client = OpenAI(
api_key="sk-teamo-xxxxxx",
base_url="https://api.teamorouter.com/v1",
)
resp = client.chat.completions.create(
model="claude-opus-4-8",
messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)
4.3 流式
加 "stream": true,返回标准 OpenAI SSE(data: {...} 分片,以 data: [DONE] 结束)。
4.4 Responses API 基础请求
如果你的应用已经迁移到 OpenAI Responses API,可以直接调用 /v1/responses:
curl https://api.teamorouter.com/v1/responses \
-H "Authorization: Bearer sk-teamo-xxxxxx" \
-H "content-type: application/json" \
-d '{
"model": "gpt-5.4",
"input": "用一句话介绍 TeamoRouter"
}'
也可以在 Responses API 里使用 Claude / Gemini 等模型 ID,TeamoRouter 会按目标模型路由:
curl https://api.teamorouter.com/v1/responses \
-H "Authorization: Bearer sk-teamo-xxxxxx" \
-H "content-type: application/json" \
-d '{
"model": "claude-opus-4-8",
"input": [
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "用一句话介绍你自己"
}
]
}
]
}'
4.5 Python SDK(openai responses)
from openai import OpenAI
client = OpenAI(
api_key="sk-teamo-xxxxxx",
base_url="https://api.teamorouter.com/v1",
)
resp = client.responses.create(
model="gpt-5.4",
input="用一句话介绍 TeamoRouter",
)
print(resp.output_text)
4.6 Responses API 流式
加 "stream": true,返回 OpenAI Responses API 的标准流式事件:
curl https://api.teamorouter.com/v1/responses \
-H "Authorization: Bearer sk-teamo-xxxxxx" \
-H "content-type: application/json" \
-d '{
"model": "gpt-5.4",
"stream": true,
"input": "写一首五言绝句"
}'
五、Gemini 原生格式 /v1beta/models/{model}:generateContent
5.1 基础请求
curl https://api.teamorouter.com/v1beta/models/gemini-3.5-flash:generateContent \
-H "Authorization: Bearer sk-teamo-xxxxxx" \
-H "content-type: application/json" \
-d '{
"contents": [
{
"role": "user",
"parts": [
{"text": "用一句话介绍你自己"}
]
}
]
}'
返回(节选):
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "我是 Gemini,可以帮助你进行写作、编程、分析和创意生成。"
}
]
},
"finishReason": "STOP"
}
],
"usageMetadata": {
"promptTokenCount": 12,
"candidatesTokenCount": 22,
"totalTokenCount": 34
}
}
5.2 流式(SSE)
使用 streamGenerateContent,并加上 alt=sse:
curl "https://api.teamorouter.com/v1beta/models/gemini-3.5-flash:streamGenerateContent?alt=sse" \
-H "Authorization: Bearer sk-teamo-xxxxxx" \
-H "content-type: application/json" \
-d '{
"contents": [
{
"role": "user",
"parts": [
{"text": "写一首五言绝句"}
]
}
]
}'
5.3 环境变量
如果你的工具或 SDK 支持自定义 Gemini Base URL,可以按下面方式配置:
export GOOGLE_GEMINI_BASE_URL="https://api.teamorouter.com"
export GEMINI_API_KEY="sk-teamo-xxxxxx"
export GEMINI_API_KEY_AUTH_MECHANISM="bearer"
不同 Gemini SDK 对自定义 endpoint 的字段名可能不同,常见名称包括 base_url、baseURL、apiEndpoint 或环境变量。核心原则是:Base URL 指向 https://api.teamorouter.com,Key 使用你的 TeamoRouter API Key。
六、在 Claude Code / Codex / Gemini CLI 等 Agent 工具中接入
这些工具底层就是 Anthropic / OpenAI SDK,配置环境变量即可。
Claude Code(Anthropic 协议):
export ANTHROPIC_BASE_URL="https://api.teamorouter.com"
export ANTHROPIC_API_KEY="sk-teamo-xxxxxx"
OpenAI 协议的工具(Chat Completions / Responses API 均可):
export OPENAI_BASE_URL="https://api.teamorouter.com/v1"
export OPENAI_API_KEY="sk-teamo-xxxxxx"
Gemini CLI:
export GOOGLE_GEMINI_BASE_URL="https://api.teamorouter.com"
export GEMINI_API_KEY="sk-teamo-xxxxxx"
export GEMINI_API_KEY_AUTH_MECHANISM="bearer"
七、常见问题
401/ 鉴权失败:检查 Key 是否正确、Header 是否用对。Anthropic 用x-api-key,OpenAI / Gemini 用Authorization: Bearer。- 模型不可用:先用
GET /v1/models确认模型 ID 拼写。 - 超时 / 首字慢:Opus 类大模型首字延迟数秒属正常,建议生产环境用流式提升体感。
- Key 安全:放入环境变量或密钥管理,切勿硬编码或提交到 Git。