API 接入
CoreRouter 支持多种常见接口风格。大多数 OpenAI 兼容 SDK 或框架只需要改三个地方:
| 配置项 | 填写内容 |
|---|---|
| API Key | 控制台创建的 sk-... |
| Base URL | https://api.corerouter.tech/v1 |
| Model ID | 控制台模型列表中的 ID,例如 claude-sonnet-4-5 |
选择接入方式
- curl:不安装 SDK,适合排查 API Key、网络和模型 ID。
- 接口与能力总览:按场景选择 Endpoint、Base URL 和模型能力。
- 独立搜索接口:面向特定 Agent 或编程工具的搜索兼容入口。
- Python:使用 OpenAI Python SDK。
- Node.js:使用 OpenAI Node.js SDK,可用于 JavaScript 或 TypeScript。
- LangChain:用于 LangChain 应用、Chain、Agent 或 RAG。
- Go HTTP:使用 Go 标准库直接调用 API。
接口类型
| 场景 | 文档 | Base URL |
|---|---|---|
| 聊天、工具调用、视觉理解 | Chat Completions / SDK | https://api.corerouter.tech/v1 |
| 旧版文本补全 | Moderations 和旧版 Completions | https://api.corerouter.tech/v1 |
| Agent、Codex、Responses 工作流 | Responses API | https://api.corerouter.tech/v1,且模型必须支持 Responses |
| Agent 独立搜索 | 独立搜索接口 | https://api.corerouter.tech/v1,条件支持 |
| Realtime 低延迟语音/文本 | Realtime WebSocket | wss://api.corerouter.tech/v1/realtime?model=... |
| Claude Code、Anthropic 风格工具 | Anthropic Messages | https://api.corerouter.tech |
| Gemini 风格客户端 | Gemini 风格接口 | https://api.corerouter.tech |
| Midjourney 风格图片任务 | Midjourney 风格接口 | https://api.corerouter.tech |
| RAG、向量检索 | Embeddings | https://api.corerouter.tech/v1 |
| RAG 候选文档重排 | Rerank 重排 | https://api.corerouter.tech/v1 |
| 内容安全审核 | Moderations 和旧版 Completions | https://api.corerouter.tech/v1 |
| 图片、音频 | 图片和音频接口 | https://api.corerouter.tech/v1 |
| 视频生成、任务轮询 | 视频和异步任务 | https://api.corerouter.tech/v1 |
如果客户端会自动拼接 /v1/chat/completions、/v1/messages 或 Gemini 路径,Base URL 需要填写根地址。出现 /v1/v1 或重复路径时,通常就是 Base URL 填法不匹配。
推荐环境变量
不要把 API Key 写进源代码。建议在本机或部署平台设置环境变量:
bash
export COREROUTER_API_KEY="sk-xxxxxxxxxxxxxxxx"
export COREROUTER_BASE_URL="https://api.corerouter.tech/v1"
export COREROUTER_MODEL="claude-sonnet-4-5"
如果使用 .env 文件,请确保它不会提交到 Git:
text
.env
.env.local
最小示例
Python
python
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["COREROUTER_API_KEY"],
base_url="https://api.corerouter.tech/v1",
)
completion = client.chat.completions.create(
model="claude-sonnet-4-5",
messages=[
{"role": "user", "content": "你好,请介绍一下你自己。"}
],
)
print(completion.choices[0].message.content)
Node.js
typescript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.COREROUTER_API_KEY,
baseURL: "https://api.corerouter.tech/v1",
});
const completion = await client.chat.completions.create({
model: "claude-sonnet-4-5",
messages: [
{ role: "user", content: "你好,请介绍一下你自己。" },
],
});
console.log(completion.choices[0].message.content);
功能支持说明
CoreRouter 可统一转发文本对话、流式输出、工具调用、视觉理解、Embeddings、图片和音频等能力。实际可用能力取决于所选模型和上游渠道,请以控制台模型说明为准。
常用 Endpoint:
| 能力 | Endpoint |
|---|---|
| 模型列表 | GET /v1/models |
| Gemini 模型列表 | GET /v1beta/models |
| Gemini OpenAI 风格模型列表 | GET /v1beta/openai/models |
| 聊天 | POST /v1/chat/completions |
| Responses | POST /v1/responses |
| Responses 压缩 | POST /v1/responses/compact |
| 独立搜索 | POST /v1/alpha/search |
| Anthropic Messages | POST /v1/messages |
| Gemini | POST /v1beta/models/{model}:generateContent |
| Embeddings | POST /v1/embeddings |
| Rerank | POST /v1/rerank |
| Moderations | POST /v1/moderations |
| 图片 | POST /v1/images/generations、POST /v1/images/edits |
| 音频 | POST /v1/audio/transcriptions、POST /v1/audio/translations、POST /v1/audio/speech |
| Realtime | GET /v1/realtime?model=... WebSocket |
| 视频任务 | POST /v1/videos、GET /v1/videos/{task_id} |
| Midjourney 风格任务 | POST /mj/submit/imagine、GET /mj/task/{id}/fetch |
完整说明见 接口与能力总览。
模型选择
- 聊天:选择控制台中可用的聊天模型。
- Agent / 编程工具:优先选择支持 Tool Calling、Streaming、长上下文和 Coding Agent 的模型。
- Codex / Responses:必须选择控制台中支持 Responses 的模型;普通聊天模型不能直接当作 Responses 模型使用。
- Vision:选择支持图像输入的模型。
- Embeddings:选择 Embeddings 模型,不要直接复用聊天模型 ID。
- Rerank:选择 Rerank 模型,不要直接复用聊天模型 ID。
- Moderations:选择审核模型,或确认默认审核模型可用。
- Realtime:选择 Realtime 模型,并使用 WebSocket 连接。
- 图片、音频和视频:选择控制台中对应能力的模型,并注意尺寸、张数、音频时长、视频时长和格式限制。
CoreRouter API 文档