从 OpenRouter 迁移到本平台

准备账号

更新配置

测试调用

确认用量

申请迁移奖励

高级说明

本页目录

本平台

沿用 OpenAI 兼容的接入方式。更新接口地址、API 密钥和模型,验证成功后再切换业务流量。

开始迁移

创建 API 密钥

OpenRouter 迁移奖励

奖励为核定净消费的 10%,最高 500 美元,审核通过后 30 天内发放。

了解更多

兼容 OpenAI API

先验证,再切换

需要客户端配置帮助?

文档

登录或注册账号,检查钱包余额,再创建已启用且额度充足、具有目标模型访问权限的 API 密钥。将密钥保存在服务端环境变量中,不要写入浏览器代码。

注册

钱包

模型与价格

配置对照

配置项

OpenRouter

API 地址

API 密钥

本平台新建的密钥

模型 ID

模型目录中的完整 ID

从「模型与价格」复制完整模型 ID,或使用新密钥调用 GET /v1/models 查询。不要认为去掉供应商前缀就一定可用。SDK 的 Base URL 以 /v1 结尾;直接发送 HTTP 请求时只追加一次 /chat/completions。

替换 YOUR_PLATFORM_API_KEY 和 YOUR_MODEL_ID。macOS/Linux 先执行 cURL 示例中的环境变量配置,Windows 先执行 PowerShell 配置;Python 和 Node.js 读取同一组环境变量。请在服务端或本地终端运行示例。

确认基础文本请求返回 HTTP 200,且 choices[0].message.content 非空。

在「用量日志」中核对模型、Token 数和扣费。比较价格时使用相同的模型和计费单位。

使用日志

检查兼容性

核对 OpenRouter 专属功能

移除 OpenRouter 应用归属请求头(HTTP-Referer、X-Title 和 X-OpenRouter-Title)。逐项核对 provider、models、route、transforms、plugins 以及 :free 等模型后缀;原平台的路由与定价规则不会自动迁移。

先发送一个纯文本 Chat Completions 请求,再针对所选模型分别测试工具调用、JSON 输出、图片、推理和流式响应。如果使用 OpenRouter SDK 或客户端内置预设,请改用 OpenAI 兼容客户端或自定义供应商配置。

验证并切换流量

启用 stream: true,在客户端确认增量事件和流式响应结束均正常。

先切换少量流量,监测错误和延迟,再逐步扩大。保留旧配置以便回滚;验证完成后撤销不再使用的密钥。

常见问题排查

使用本平台签发的密钥,通过 Authorization: Bearer 认证。检查密钥状态、有效期、IP 限制和模型权限。

检查 /v1 接口地址、完整模型 ID 及支持的参数。移除 OpenRouter 专属字段,用最小请求重试。

根据错误响应检查余额、密钥额度、速率限制和模型可用性。临时故障可退避重试;密钥无效或余额不足时不要反复重试。

哪些内容会迁移?

本指南迁移的是 API 配置,不会导入 OpenRouter 的余额、密钥、发票、用量历史或聊天记录。请在客户端备份对话,并在原平台处理账单。迁移奖励需单独申请,以审核结果为准。

参考资料

提交 OpenRouter 结算单或发票、消费记录清单、图片及文字说明。合格净消费须至少 100 美元,按 10% 发放体验额度,每位个人或企业最高 500 美元。额度仅可消费,不可退款或提现。每个独立客户限参与一次,被拒绝后可重新提交;审核通过后 30 天内发放。

净消费不含退款、赠送额度和优惠减免,最低为 100 美元。

支持 PDF、JPG、PNG,最多 5 个文件,每个不超过 10 MB。

API 地址
https://routerra.ai/v1
API 密钥
YOUR_PLATFORM_API_KEY
模型 ID
YOUR_MODEL_ID

cURL

export OPENAI_BASE_URL='https://routerra.ai/v1'
export OPENAI_API_KEY='YOUR_PLATFORM_API_KEY'
export OPENAI_MODEL='YOUR_MODEL_ID'

curl --fail-with-body "$OPENAI_BASE_URL/chat/completions" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d @- <<EOF
{"model":"$OPENAI_MODEL","messages":[{"role":"user","content":"Hello"}]}
EOF

Python

# pip install openai
import os
from openai import OpenAI

client = OpenAI(
    base_url=os.environ["OPENAI_BASE_URL"],
    api_key=os.environ["OPENAI_API_KEY"],
)
response = client.chat.completions.create(
    model=os.environ["OPENAI_MODEL"],
    messages=[{"role": "user", "content": "Hello"}],
)
print(response.choices[0].message.content)

Node.js

// bun add openai
import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: process.env.OPENAI_BASE_URL,
  apiKey: process.env.OPENAI_API_KEY,
});
const response = await client.chat.completions.create({
  model: process.env.OPENAI_MODEL,
  messages: [{ role: 'user', content: 'Hello' }],
});
console.log(response.choices[0].message.content);

PowerShell

$env:OPENAI_BASE_URL = 'https://routerra.ai/v1'
$env:OPENAI_API_KEY = 'YOUR_PLATFORM_API_KEY'
$env:OPENAI_MODEL = 'YOUR_MODEL_ID'

$body = @{
  model = $env:OPENAI_MODEL
  messages = @(@{ role = 'user'; content = 'Hello' })
} | ConvertTo-Json -Depth 5
Invoke-RestMethod -Method Post `
  -Uri "$env:OPENAI_BASE_URL/chat/completions" `
  -Headers @{ Authorization = "Bearer $env:OPENAI_API_KEY" } `
  -ContentType 'application/json' -Body $body