简短回答
从 OpenRouter 切换到 APIVAI 只需改三样东西:Base URL(OpenAI 格式的客户端用 https://api.apivai.com/v1,Claude Code 等 Anthropic 格式的客户端用 https://api.apivai.com)、API 密钥,以及模型 ID(anthropic/claude-sonnet-4.6 改为 claude-sonnet-4-6)。如果你的大部分调用都是 Claude 或 GPT 模型,切换就值得:截至 2026-10-10,APIVAI 的大多数 Claude 模型比官方标价低 56–62%,GPT 最多低 86%。两者的完整对比见 OpenRouter vs APIVAI。
| 模型 | 官方标价(输入 / 输出,每百万) | APIVAI(输入 / 输出,每百万) |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 | $1.15 / $5.74 |
| Claude Opus 5.5 | $4.00 / $20.00 | $1.54 / $7.65 |
| GPT-5.5 | $5.00 / $30.00 | $0.77 / $4.56 |
APIVAI 价格截至 2026-10-10,全部模型见价格页。OpenRouter 对这些模型一般按提供方的官方标价收费,当前条款以 OpenRouter 定价为准。
开始之前
- 用邮箱和验证码注册 APIVAI 账户。
- 充值。银行卡或加密货币最低 $10,支付宝 / 微信支付最低 ¥20。
- 在 Dashboard 创建 API 密钥。每个密钥可以单独设置预算,迁移测试时可以专门建一个密钥。
OpenRouter 的模型 ID 如何对应 APIVAI?
OpenRouter 使用 提供方/模型 形式的 ID,版本号里用点。APIVAI 直接使用模型 ID,Claude 的版本号用短横线。下表 OpenRouter 一列是常见写法,确切 ID 请在 OpenRouter 模型页核对,可能有出入。
| OpenRouter 风格 ID | APIVAI ID |
|---|---|
anthropic/claude-sonnet-4.6 | claude-sonnet-4-6 |
anthropic/claude-opus-4.6 | claude-opus-4-6 |
anthropic/claude-haiku-4.5 | claude-haiku-4-5 |
anthropic/claude-opus-5.5 | claude-opus-5-5 |
anthropic/claude-sonnet-5 | claude-sonnet-5 |
openai/gpt-5.5 | gpt-5.5 |
APIVAI 上的 GPT 模型 ID 保留点号(gpt-5.5、gpt-6.1-sol),只需去掉 openai/ 前缀。你的密钥可用的准确列表可以通过 GET /v1/models 获取(见下文测试部分)。
第 1 步:环境变量
如果代码从环境变量读取 Base URL 和密钥,OpenAI 格式的客户端只需改这些:
# 之前(OpenRouter) export OPENAI_BASE_URL="https://openrouter.ai/api/v1" export OPENAI_API_KEY="sk-or-..." # 之后(APIVAI) export OPENAI_BASE_URL="https://api.apivai.com/v1" export OPENAI_API_KEY="你的密钥"
然后在设置模型的地方更新模型 ID(通常是 MODEL 变量或配置文件)。
第 2 步:OpenAI Python SDK
from openai import OpenAI
client = OpenAI(
base_url="https://api.apivai.com/v1",
api_key="你的密钥",
)
resp = client.chat.completions.create(
model="claude-sonnet-4-6", # 原来是 "anthropic/claude-sonnet-4.6"
messages=[{"role": "user", "content": "Hello"}],
)
print(resp.choices[0].message.content)流式输出(stream=True)、工具调用和图片输入的用法不变。如果你为 OpenRouter 传过 extra_headers 或 extra_body,请删除(见下文)。
第 3 步:OpenAI Node SDK
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.apivai.com/v1",
apiKey: process.env.APIVAI_KEY,
});
const resp = await client.chat.completions.create({
model: "gpt-5.5", // 原来是 "openai/gpt-5.5"
messages: [{ role: "user", content: "Hello" }],
});
console.log(resp.choices[0].message.content);Responses API(client.responses.create)同样可以使用这个 Base URL。
第 4 步:LangChain 等框架
大多数框架都封装了 OpenAI 客户端,可以传入 Base URL 和密钥。LangChain 的 ChatOpenAI 通常这样写:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="claude-sonnet-4-6",
base_url="https://api.apivai.com/v1",
api_key="你的密钥",
)不同框架和版本的参数名不一样(base_url、openai_api_base、baseURL),请以所用库的文档为准。如果你用的是专门的 OpenRouter 集成,请换成框架通用的 OpenAI 兼容客户端。
第 5 步:Cursor
在 Cursor 中打开 Settings > Models,开启 Override OpenAI Base URL 并填入 https://api.apivai.com/v1。把 APIVAI 密钥填为 OpenAI API key,然后把需要的模型 ID(例如 claude-sonnet-4-6 或 gpt-5.5)添加为自定义模型。详细步骤见 Cursor 配置指南。
第 6 步:Cline
在 Cline 设置中选择 OpenAI Compatible 提供方,Base URL 填 https://api.apivai.com/v1,粘贴 APIVAI 密钥,模型 ID 填如 claude-sonnet-4-6。菜单名称会随版本变化,但关键就是这三个字段。Continue 等类似扩展的配置方式相同。
第 7 步:Claude Code
Claude Code 使用 Anthropic Messages 格式,APIVAI 原生支持这一格式,不需要任何转换层。注意 Base URL 不带 /v1:
export ANTHROPIC_BASE_URL="https://api.apivai.com" export ANTHROPIC_AUTH_TOKEN="你的密钥" unset ANTHROPIC_API_KEY # 如果设置了,它会优先生效并导致 401 错误
启动 claude,用 /model 切换模型。如果之前让 Claude Code 经过 OpenRouter 或代理,请删除那些设置。完整步骤见 Claude Code 配置指南。
需要删除哪些 OpenRouter 专有设置?
- 提供方路由选项,比如请求体里的
provider对象:APIVAI 不使用这些选项,删掉即可。 - 用于回退的
models数组及类似的 OpenRouter 请求字段:不支持,只传一个model。 HTTP-Referer和X-Title请求头:这是 OpenRouter 用来标识应用的,这里完全不需要,可以删除。- 模型 ID 后缀或自动路由模型:改用具体的 APIVAI 模型 ID。
如果你依赖 OpenRouter 的自动模型回退,需要把这部分逻辑放到自己的代码里。最简单的写法:
for model in ["claude-sonnet-4-6", "gpt-5.5"]:
try:
resp = client.chat.completions.create(model=model, messages=messages)
break
except Exception as e:
print(f"{model} 调用失败:{e}")如何测试切换是否成功?
列出你的密钥可用的模型:
curl https://api.apivai.com/v1/models \ -H "Authorization: Bearer 你的密钥"
发送一次 chat completion 请求:
curl https://api.apivai.com/v1/chat/completions \
-H "Authorization: Bearer 你的密钥" \
-H "Content-Type: application/json" \
-d '{"model": "claude-sonnet-4-6", "messages": [{"role": "user", "content": "Say OK"}]}'然后查看 Dashboard:每个请求都会显示 token 数量和费用。常见错误:401 表示密钥错误或预算用完(或在 Claude Code 中被 ANTHROPIC_API_KEY 覆盖);404 通常是 Base URL 不对(最终请求地址必须是 https://api.apivai.com/v1/chat/completions 或 https://api.apivai.com/v1/messages;大多数 OpenAI 格式客户端填 https://api.apivai.com/v1,Claude Code 和 Anthropic SDK 填 https://api.apivai.com);429 表示单个密钥每分钟超过 60 次请求。
迁移期间能否两边同时使用?
可以,生产环境这样做也更稳妥。保留两个客户端,用配置开关来选择:
import os
from openai import OpenAI
if os.getenv("LLM_BACKEND") == "apivai":
client = OpenAI(base_url="https://api.apivai.com/v1", api_key=os.getenv("APIVAI_KEY"))
model = "claude-sonnet-4-6"
else:
client = OpenAI(base_url="https://openrouter.ai/api/v1", api_key=os.getenv("OPENROUTER_KEY"))
model = "anthropic/claude-sonnet-4.6"先迁移一个服务或一部分流量,用几天时间对比输出和费用,再切换其余部分。默认限制是每个密钥每分钟 60 次请求;如果生产流量需要更高,请在切换前联系客服。
离开 OpenRouter 会失去什么?
模型的广度。APIVAI 只提供 Claude 和 GPT 模型。如果你通过 OpenRouter 使用开源权重模型、Gemini、Mistral 或其他系列,这些仍需要 OpenRouter 或其他服务商,两边同时保留是合理的做法。另外,APIVAI 不提供 Batch、Files、嵌入、图像生成、音频或微调接口;这些可以使用官方 OpenAI API 和 Anthropic API。
对 Claude 和 GPT 的调用来说,保持不变或变得更好的是:一个密钥同时支持 OpenAI 和 Anthropic 两种格式,两种格式都支持流式输出和工具调用,Dashboard 显示每个请求的费用。APIVAI 不存储也不查看请求和响应的内容,只为计费保留用量元数据。
常见问题
需要改代码,还是只改配置?
通常只改配置:Base URL、API 密钥和模型 ID。只有用过 OpenRouter 专有的请求字段或请求头时才需要改代码,把它们删掉即可。
还能用 OpenAI SDK 调用 Claude 模型吗?
可以。把 OpenAI SDK 指向 https://api.apivai.com/v1,使用 claude-sonnet-4-6 这样的 Claude ID。也可以用 Anthropic SDK,Base URL 设为 https://api.apivai.com。
APIVAI 支持自动模型回退吗?
不支持。每个请求都发送到你指定的模型。可以在代码中捕获错误,再换一个模型 ID 重试来实现回退。
OpenRouter 的余额能转到 APIVAI 吗?
不能,两边余额是分开的。OpenRouter 的额度按其条款使用或处理,APIVAI 最低 $10 起充。
如何给 APIVAI 付款?
可以用信用卡或借记卡、加密货币(USDT 等)、支付宝或微信支付。计费方式是预付余额,无订阅、无月最低消费。
在哪里看两者更详细的对比?
完整对比见 OpenRouter vs APIVAI,所有接口见文档。