一个端点,接入
数十种主流模型
通过 DyRouter 统一调用全球主流大模型。兼容 OpenAI、Anthropic、Gemini 等多套协议,支持对话、向量、重排、图像与语音等能力。本页提供从创建令牌到完成首次请求的完整示例。
https://api.dyrouter.ai/v1
快速开始 #
完成下面三个步骤,即可发送第一条模型请求。
在模型广场查看可用模型,复制准确的模型标识(如 deepseek-chat、gpt-4.1)。
进入控制台创建令牌,按需设置分组、额度与过期时间。
将 Base URL、API Key 与模型名称填入应用或代码。
https://api.dyrouter.ai/v1;若工具会自动追加 /v1,则填写 https://api.dyrouter.ai。Anthropic 客户端请使用 https://api.dyrouter.ai(详见下方 Anthropic 章节)。鉴权方式 #
所有请求均应在 HTTP Header 中携带 Bearer Token。请勿将真实密钥提交到公开仓库或暴露在前端代码中。
Authorization: Bearer sk-your-api-key
Content-Type: application/json获取模型列表 #
可通过接口获取当前令牌可访问的模型标识列表,也可在模型广场查看价格与能力。
curl https://api.dyrouter.ai/v1/models \
-H "Authorization: Bearer sk-your-api-key"接口类型总览 #
同一网关下按能力与协议划分的接口,按需选用对应的端点。
| 协议 / 能力 | 接口 | 端点 | 说明 |
|---|---|---|---|
| OpenAI 兼容 | Chat Completions | POST /v1/chat/completions | 聊天补全,最常用 |
| OpenAI 兼容 | Responses API | POST /v1/responses | 统一输入格式,多模态 |
| OpenAI 兼容 | Completions | POST /v1/completions | 文本补全(指令式) |
| Anthropic | Messages | POST /v1/messages | Claude 系模型原生接口 |
| Gemini | 生成 | POST /v1/chat/completions | Gemini 模型,OpenAI 兼容调用 |
| 向量 | Embeddings | POST /v1/embeddings | 文本向量化 |
| 重排 | Rerank | POST /v1/rerank | 检索结果重排序 |
| 图像 | Images | POST /v1/images/generations | 文生图 |
| 语音 | TTS / STT | POST /v1/audio/speech · /v1/audio/transcriptions | 语音合成 / 识别 |
Chat Completions #
适用于聊天、文本生成与绝大多数 OpenAI 兼容客户端。将 model 替换为模型广场中的实际标识。
curl https://api.dyrouter.ai/v1/chat/completions \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好,请介绍一下你自己。"}
]
}'| 字段 | 类型 | 说明 |
|---|---|---|
model | string | 模型广场展示的准确模型标识 |
messages | array | 按顺序排列的对话消息 |
stream | boolean | 是否启用流式响应 |
temperature | number | 采样随机性;是否支持及范围取决于模型 |
max_tokens | integer | 生成 token 上限 |
Responses API #
支持 Responses API 的模型(如 GPT 系列)可使用统一输入格式,适合工具调用与多模态场景。
curl https://api.dyrouter.ai/v1/responses \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4.1",
"input": "用三句话解释什么是 API 网关。"
}'Completions #
面向文本补全的旧式接口,部分模型仍支持。入参使用 prompt 而非 messages。
curl https://api.dyrouter.ai/v1/completions \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "your-model-id",
"prompt": "请续写下面的句子:\n\n人工智能正在改变",
"max_tokens": 100
}'Anthropic Messages #
Claude 系列模型使用 Anthropic 原生 Messages 协议。Base URL 不携带 /v1,需显式指定 anthropic-version 头。
https://api.dyrouter.ai(SDK 会自动补全 /v1/messages)。curl https://api.dyrouter.ai/v1/messages \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-3-5-sonnet-20241022",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "帮我写一句产品 slogan"}
]
}'Gemini 接口 #
Gemini 模型通过 OpenAI 兼容的 Chat Completions 入口调用,无需切换协议。
curl https://api.dyrouter.ai/v1/chat/completions \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-2.0-flash",
"messages": [
{"role": "user", "content": "用一句话介绍你自己"}
]
}'如你的网关开启了 Gemini 原生透传,也可用 generateContent 形式:
curl "https://api.dyrouter.ai/v1/models/gemini-2.0-flash:generateContent" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "你好"}]}]
}'generateContent 端点可用性取决于网关的渠道配置,默认建议使用 OpenAI 兼容入口。Embeddings #
将文本转为高维向量,用于语义检索、聚类与推荐。
curl https://api.dyrouter.ai/v1/embeddings \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-small",
"input": "什么是向量数据库"
}'Rerank #
对检索召回的多段文档按与查询的相关性重新排序,提升 RAG 效果。
curl https://api.dyrouter.ai/v1/rerank \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "bge-reranker-v2-m3",
"query": "什么是 API 网关",
"documents": [
"API 网关是统一管理 API 调用的入口层……",
"向量数据库用于存储多维向量……",
"负载均衡将流量分发到多个后端……"
],
"top_n": 2
}'图像生成 #
通过文生图接口生成图片,支持的模型与尺寸以模型详情为准。
curl https://api.dyrouter.ai/v1/images/generations \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-1",
"prompt": "一只戴着宇航头盔的柴犬",
"size": "1024x1024"
}'语音 TTS / STT #
语音合成(TTS)
curl https://api.dyrouter.ai/v1/audio/speech \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1",
"input": "你好,欢迎使用 DyRouter。",
"voice": "alloy"
}' \
--output speech.mp3语音识别(STT)
curl https://api.dyrouter.ai/v1/audio/transcriptions \
-H "Authorization: Bearer sk-your-api-key" \
-F file="@audio.mp3" \
-F model="whisper-1"流式输出 #
在请求体中设置 "stream": true,服务通过 SSE 分段返回结果,客户端应持续读取事件直到结束标记。
{
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "你好"}],
"stream": true
}状态码与排错 #
| 状态码 | 常见原因 | 处理建议 |
|---|---|---|
400 | 参数或请求体格式错误 | 检查 JSON、模型名与必填字段 |
401 | API Key 缺失或无效 | 检查 Authorization Header 与令牌状态 |
403 | 令牌无权访问目标资源 | 检查分组、模型权限与额度 |
404 | 端点或模型不可用 | 确认接口路径与模型标识是否正确 |
429 | 请求频率或额度受限 | 降低并发、检查额度并采用指数退避 |
5xx | 服务或上游暂时异常 | 记录请求时间和错误信息后重试 |
Claude Code #
在 Claude Code 中指向本网关即可接入。
export ANTHROPIC_BASE_URL=https://api.dyrouter.ai
export ANTHROPIC_AUTH_TOKEN=sk-your-api-key常用客户端 #
Cherry Studio
- 提供商类型:选择 OpenAI(Anthropic 模型请选择 Anthropic)
- API 地址:
https://api.dyrouter.ai/v1 - API 密钥:你的
sk-令牌 - 模型标识:模型广场中的模型名
Cline / Roo Code 等
- 选择 OpenAI Compatible 提供商,填入同样的 Base URL 与密钥。
- Anthropic 系模型请选择 Anthropic 提供商,Base URL 填
https://api.dyrouter.ai。
SDK 示例 #
Python(openai-python)
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.dyrouter.ai/v1",
)
resp = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "你好"}],
stream=True,
)
for chunk in resp:
print(chunk.choices[0].delta.content or "", end="")JavaScript(openai-node)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-your-api-key",
baseURL: "https://api.dyrouter.ai/v1",
});
const stream = await client.chat.completions.create({
model: "deepseek-chat",
messages: [{ role: "user", content: "你好" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}安全建议 #
密钥属于敏感凭据,切勿写入前端代码、客户端安装包或公开仓库。
为不同应用创建独立令牌,限制分组与可用额度。
定期更换长期令牌,及时吊销不再使用的密钥。
保留请求 ID 与时间,便于排错与审计。
常见问题 #
为什么返回 401?
通常是未携带或错误的 Authorization: Bearer 头。请确认密钥完整、未被删除或禁用。
Base URL 需要带 /v1 吗?
取决于客户端。OpenAI 兼容客户端填 https://api.dyrouter.ai/v1;会自动追加 /v1 的工具填 https://api.dyrouter.ai。
Claude / Gemini 模型怎么调用?
Claude 用 Anthropic Messages 接口(/v1/messages);Gemini 用 OpenAI 兼容的 Chat Completions 入口即可。
如何查看用量与余额?
登录控制台,在「令牌 / 用量」页面查看实时消耗与额度。
流式输出怎么开启?
在请求体设置 "stream": true,通过 SSE 持续读取分段结果。
DyRouter 开发文档