← 博客
OpenRouter迁移指南

如何从 OpenRouter 切换到 APIVAI

· 更新于 (文中价格随实时价格表更新)

简短回答

从 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 定价为准。

开始之前

  1. 用邮箱和验证码注册 APIVAI 账户。
  2. 充值。银行卡或加密货币最低 $10,支付宝 / 微信支付最低 ¥20。
  3. 在 Dashboard 创建 API 密钥。每个密钥可以单独设置预算,迁移测试时可以专门建一个密钥。

OpenRouter 的模型 ID 如何对应 APIVAI?

OpenRouter 使用 提供方/模型 形式的 ID,版本号里用点。APIVAI 直接使用模型 ID,Claude 的版本号用短横线。下表 OpenRouter 一列是常见写法,确切 ID 请在 OpenRouter 模型页核对,可能有出入。

OpenRouter 风格 IDAPIVAI ID
anthropic/claude-sonnet-4.6claude-sonnet-4-6
anthropic/claude-opus-4.6claude-opus-4-6
anthropic/claude-haiku-4.5claude-haiku-4-5
anthropic/claude-opus-5.5claude-opus-5-5
anthropic/claude-sonnet-5claude-sonnet-5
openai/gpt-5.5gpt-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,所有接口见文档。

准备好了吗?

30 秒获取 API 密钥,按量付费使用 Claude 和 GPT

开始使用