VanaAPI

One line, then done

One address, written three ways; each block below is one of them. Every request is billed on the tokens it used, and an HTTP 402 means the balance has run out.

https://api.vanaapi.com

Nothing after the host. Claude Code and Claude Desktop take the address in this form: set two environment variables and start claude as usual.

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

On Windows, set them once with setx and open a new terminal:

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

Claude models are available only through the official Claude Code or Claude Desktop client, version 2.1.285 or newer. That rule comes from the provider. GPT, Gemini and the other families work with any OpenAI-compatible client or SDK.

https://api.vanaapi.com/v1

Add /v1 for anything that speaks the OpenAI format: the OpenAI SDKs, Codex, Cursor, Cherry Studio and plain cURL. Your key goes in as the API key.

base_url
https://api.vanaapi.com/v1
api_key
vana-your-key
Where chats go
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 models to start with: gpt-6.1-sol · gpt-6-astra · gpt-5.6-sol

Codex reads the same two values: set base_url to the /v1 address and keep your key in the environment.

https://api.vanaapi.com/v1beta

Gemini models speak their native protocol under /v1beta. Gemini CLI writes that part itself, so give it the bare address.

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"}]}]}'
  • Use the bare domain for GOOGLE_GEMINI_BASE_URL; do not add /v1beta yourself.
  • For streaming, call the :streamGenerateContent?alt=sse method on the same model path.
  • Gemini models are not available through /v1/chat/completions.

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