VanaAPI

改一行,就接上

同一个地址的三种写法,下面每一块讲一种。每次请求按实际用掉的 token 计费;返回 HTTP 402 表示余额用完了。

https://api.vanaapi.com

主机名后面什么都不加。Claude Code 和 Claude Desktop 用这种写法:设置两个环境变量,然后照常启动 claude。

export ANTHROPIC_BASE_URL=https://api.vanaapi.com
export ANTHROPIC_AUTH_TOKEN=vana-your-key
claude

Windows 上用 setx 设置一次,再重新打开终端:

setx ANTHROPIC_BASE_URL https://api.vanaapi.com
setx ANTHROPIC_AUTH_TOKEN vana-your-key

Claude 系列只能通过官方 Claude Code 或 Claude Desktop 客户端使用,并且需要 2.1.285 或更新的版本,这是上游的规定。GPT、Gemini 等其他系列可以用任何 OpenAI 兼容的客户端或 SDK。

https://api.vanaapi.com/v1

凡是说 OpenAI 格式的,都在后面加上 /v1:OpenAI SDK、Codex、Cursor、Cherry Studio,以及直接用 cURL。密钥填在 API key 处。

base_url
https://api.vanaapi.com/v1
api_key
vana-your-key
对话发往这里
POST https://api.vanaapi.com/v1/chat/completions
import openai

vana = openai.OpenAI(base_url="https://api.vanaapi.com/v1", api_key="vana-your-key")
answer = vana.chat.completions.create(
    model="gpt-6.1-sol",
    messages=[{"role": "user", "content": "Describe a quiet morning in one line."}],
)
print(answer.choices[0].message.content)
curl https://api.vanaapi.com/v1/chat/completions \
  -H "Authorization: Bearer vana-your-key" -H "Content-Type: application/json" \
  -X POST -d '{"model": "gpt-6.1-sol", "messages": [{"role": "user", "content": "Hello"}]}'

推荐先试的 GPT 模型: gpt-6.1-sol · gpt-6-astra · gpt-5.6-sol

Codex 读取同样两个值:base_url 填带 /v1 的地址,密钥放在环境变量里。

https://api.vanaapi.com/v1beta

Gemini 模型在 /v1beta 下使用原生协议。Gemini CLI 会自己补上这一段,所以只给它裸地址。

export GOOGLE_GEMINI_BASE_URL=https://api.vanaapi.com
export GEMINI_API_KEY=vana-your-key
gemini
curl "https://api.vanaapi.com/v1beta/models/gemini-3.8-flash:generateContent" \
  -H "x-goog-api-key: vana-your-key" -H "Content-Type: application/json" \
  -X POST -d '{"contents": [{"role": "user", "parts": [{"text": "Hello"}]}]}'
  • GOOGLE_GEMINI_BASE_URL 只填域名,不要自己加 /v1beta。
  • 流式输出请在同一个模型路径上调用 :streamGenerateContent?alt=sse 方法。
  • Gemini 模型不能通过 /v1/chat/completions 调用。

Gemini 模型: gemini-3.1-pro · gemini-4-argon · gemini-3.8-flash · gemini-2.5-flash