Docs

Chat completions

101 language models from 10 makers on one OpenAI-compatible endpoint. Point any OpenAI SDK at Revana, change the model name, pay per token from the same prepaid credit as video and images.

EndpointPOST https://api.revana.si/v1/chat/completions
Base URL for SDKshttps://api.revana.si/v1
AuthAuthorization: Bearer <key> (your Revana API key)
RequestThe OpenAI chat completions body: model, messages, stream, max_tokens, tools, response_format, reasoning_effort…
ModelsGET /v1/models lists them with "kind": "text" and their token prices; also /data/llms.json
PriceUSD per million tokens, per model, below. No subscription.

Make a request

POSThttps://api.revana.si/v1/chat/completions
curl
curl https://api.revana.si/v1/chat/completions \
  -H "Authorization: Bearer $REVANA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.5","messages":[{"role":"user","content":"Write a haiku about routing."}]}'

The answer is OpenAI’s chat.completion object. Its id starts chat_, and usage adds cost_usd, the amount taken from your balance for this request.

Response
{
  "id": "chat_3f9c…",
  "object": "chat.completion",
  "created": 1793318400,
  "model": "gpt-5.5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Cheapest path first,\nfallback waits in the wings,\nanswers still arrive."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 14,
    "completion_tokens": 18,
    "total_tokens": 32,
    "prompt_tokens_details": {
      "cached_tokens": 0
    },
    "cost_usd": 0.000141
  }
}

OpenAI SDKs

Every OpenAI client library works unchanged: set the base URL and the key.

Python
import os
from openai import OpenAI

client = OpenAI(base_url="https://api.revana.si/v1", api_key=os.environ["REVANA_API_KEY"])
reply = client.chat.completions.create(
    model="gpt-5.5",
    messages=[{"role": "user", "content": "Write a haiku about routing."}],
)
print(reply.choices[0].message.content)
Node.js (streaming)
import OpenAI from "openai"

const client = new OpenAI({ baseURL: "https://api.revana.si/v1", apiKey: process.env.REVANA_API_KEY })
const stream = await client.chat.completions.create({
  model: "gpt-5.5",
  messages: [{ role: "user", content: "Write a haiku about routing." }],
  stream: true,
})
for await (const chunk of stream) process.stdout.write(chunk.choices[0]?.delta?.content ?? "")

Tools such as LangChain, LlamaIndex, the Vercel AI SDK, Cline or Open WebUI take the same two settings: an OpenAI-compatible provider with base URL https://api.revana.si/v1 and your key.

Streaming

Send "stream": true for server-sent events in OpenAI’s chat.completion.chunk format, ending with data: [DONE]. Add "stream_options": {"include_usage": true} for a last chunk with empty choices and the request’s usage, cost_usd included.

curl
curl https://api.revana.si/v1/chat/completions \
  -H "Authorization: Bearer $REVANA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.5","messages":[{"role":"user","content":"Write a haiku about routing."}],"stream":true}'

Billing

  • You pay for the tokens the model reports: input, cached input, cache writes and output (reasoning tokens count as output), at the model’s price per million below. Charged to the micro-dollar from the same prepaid balance as generations.
  • While a request runs, Revana holds what it could cost: its prompt plus max_tokens (or max_completion_tokens; 8,192 when neither is set). Set max_tokens to hold less. The hold is released when the request ends and only the tokens used are charged.
  • A request with no answer, because every route failed, costs nothing. A stream you close part way is charged for what was sent.
  • Some models price by prompt size, time of day or reasoning effort; each model’s page says so. Prompt caching works as at the model’s maker, and cached tokens are billed at the cached rate.
  • Every model has a route at its listed price. When that route is busy, a request can run on a backup route, and is charged that route’s cost where it is higher, never more than the hold.

Errors

Errors use OpenAI’s shape, {"error": {"message", "type", "code"}}, so SDKs raise their usual exceptions: 400 invalid_request, 401, 402 insufficient_credits (top up, or lower max_tokens), 404 model_not_found, 413 body_too_large (over 20 MB), 429 concurrency_limit, 502 model_unavailable and 503 model_busy | busy (retry in a few seconds; nothing was charged).

Models and prices

USD per million tokens. Click a model for its full price sheet. The same list is /data/llms.json.

ModelInputCachedOutputContext
Claude Fable 5claude-fable-5 · Anthropic$3.50$0.35$17.501M
Claude Fable 5.1claude-fable-5-1 · Anthropic$3.50$0.0875$17.501M
Claude Haiku 4.5claude-haiku-4-5-20251001 · Anthropic$1.00$0.10$5.00128K
Claude Haiku 4.5 (thinking)claude-haiku-4-5-20251001-thinking · Anthropic$1.00$1.00$5.00—
Claude Haiku 5.5claude-haiku-5-5 · Anthropic$0.035$0.0035$0.1751M
Claude Opus 4.5claude-opus-4-5-20251101 · Anthropic$5.00$5.00$25.00—
Claude Opus 4.5 (thinking)claude-opus-4-5-20251101-thinking · Anthropic$5.00$5.00$25.00—
Claude Opus 4.6claude-opus-4-6 · Anthropic$5.00$0.50$10.001M
Claude Opus 4.6 (thinking)claude-opus-4-6-thinking · Anthropic$5.00$5.00$25.00—
Claude Opus 4.7claude-opus-4-7 · Anthropic$5.00$0.50$25.00128K
Claude Opus 4.8claude-opus-4-8 · Anthropic$1.75$0.175$8.751M
Claude Opus 5claude-opus-5 · Anthropic$1.75$0.175$8.751M
Claude Opus 5.5claude-opus-5-5 · Anthropic$1.40$0.07$7.001M
Claude Sonnet 4.5claude-sonnet-4-5-20250929 · Anthropic$3.00$0.30$15.00128K
Claude Sonnet 4.5 (thinking)claude-sonnet-4-5-20250929-thinking · Anthropic$3.00$3.00$15.00—
Claude Sonnet 4.6claude-sonnet-4-6 · Anthropic$3.00$0.30$15.00128K
Claude Sonnet 4.6 (thinking)claude-sonnet-4-6-thinking · Anthropic$3.00$3.00$15.00—
Claude Sonnet 5claude-sonnet-5 · Anthropic$0.70$0.07$3.501M
Claude Sonnet 5.5claude-sonnet-5-5 · Anthropic$0.70$0.035$3.501M
DeepSeek R1deepseek-r1 · DeepSeek$0.56$0.56$2.24—
DeepSeek V4 Flashdeepseek-v4-flash · DeepSeek$0.4286$0.0429$1.28571M
DeepSeek V4 Prodeepseek-v4-pro · DeepSeek$0.396$0.0132$1.1881M
DeepSeek V4.1 Flashdeepseek-v4.1-flash · DeepSeek$0.09$0.0018$0.361M
Gemini 2.5 Flashgemini-2.5-flash · Google$0.30$0.30$2.4999—
Gemini 2.5 Flash (no thinking)gemini-2.5-flash-nothinking · Google$0.30$0.30$2.4999—
Gemini 2.5 Flash (thinking)gemini-2.5-flash-thinking · Google$0.30$0.30$2.4999—
Gemini 2.5 Flash Litegemini-2.5-flash-lite · Google$0.10$0.10$0.40—
Gemini 2.5 Progemini-2.5-pro · Google$1.25$1.25$10.00—
Gemini 2.5 Pro (no thinking)gemini-2.5-pro-nothinking · Google$1.25$1.25$10.00—
Gemini 2.5 Pro (thinking)gemini-2.5-pro-thinking · Google$1.25$1.25$10.00—
Gemini 3 Flash Previewgemini-3-flash-preview · Google$0.50$0.50$3.00—
Gemini 3 Flash Preview (no thinking)gemini-3-flash-preview-nothinking · Google$0.50$0.50$3.00—
Gemini 3 Flash Preview (thinking)gemini-3-flash-preview-thinking · Google$0.50$0.50$3.00—
Gemini 3 Pro Previewgemini-3-pro-preview · Google$2.00$2.00$12.00—
Gemini 3 Pro Preview (thinking)gemini-3-pro-preview-thinking · Google$2.00$2.00$12.00—
Gemini 3.1 Flash Lite Previewgemini-3.1-flash-lite-preview · Google$0.25$0.25$1.50—
Gemini 3.1 Pro Previewgemini-3.1-pro-preview · Google$2.00$2.00$12.00—
Gemini 3.1 Pro Preview (thinking)gemini-3.1-pro-preview-thinking · Google$2.00$2.00$12.00—
Gemini 3.5 Flashgemini-3.5-flash · Google$1.50$1.50$9.00—
Gemini 3.5 Flash Litegemini-3.5-flash-lite · Google$0.30$0.30$2.499—
Gemini 3.6 Flashgemini-3.6-flash · Google$1.50$0.15$7.501.05M
Gemini 3.7 Flashgemini-3.7-flash · Google$0.75$0.075$3.751.05M
Gemini 3.8 Flashgemini-3.8-flash · Google$0.225$0.0225$1.1251M
Gemini 4 Argongemini-4-argon · Google$0.60$0.03$3.001M
Kimi K2.5kimi-k2.5 · Kimi$0.514$0.514$0.6939—
Kimi K2.6kimi-k2.6 · Kimi$0.57$0.096$2.40256K
Kimi K2.7 Codekimi-k2.7-code · Kimi$0.57$0.114$2.40256K
Kimi K3kimi-k3 · Kimi$1.80$0.18$9.001M
MiniMax M2.5minimax-m2.5 · MiniMax$0.30$0.30$1.20—
MiniMax M3minimax-m3 · MiniMax$0.30$0.30$1.20—
GPT-4.1gpt-4.1 · OpenAI$2.00$0.50$8.00128K
GPT-4.1 minigpt-4.1-mini · OpenAI$0.40$0.10$1.60128K
GPT-4.1 nanogpt-4.1-nano · OpenAI$0.10$0.025$0.40128K
GPT-4ogpt-4o · OpenAI$2.50$1.25$10.00128K
GPT-4o minigpt-4o-mini · OpenAI$0.15$0.15$0.60—
GPT-5gpt-5 · OpenAI$1.25$0.125$10.00128K
GPT-5 minigpt-5-mini · OpenAI$0.25$0.025$2.00128K
GPT-5 nanogpt-5-nano · OpenAI$0.05$0.005$0.40128K
GPT-5.1gpt-5.1 · OpenAI$1.25$0.125$10.00128K
GPT-5.2gpt-5.2 · OpenAI$1.75$0.175$14.00128K
GPT-5.4gpt-5.4 · OpenAI$2.50$0.25$15.001M
GPT-5.4 minigpt-5.4-mini · OpenAI$0.75$0.075$4.50128K
GPT-5.4 nanogpt-5.4-nano · OpenAI$0.20$0.02$1.25128K
GPT-5.5gpt-5.5 · OpenAI$1.15$0.115$6.901.05M
GPT-5.6 Lunagpt-5.6-luna · OpenAI$0.20$0.02$1.20922K
GPT-5.6 Solgpt-5.6-sol · OpenAI$0.92$0.092$4.601.05M
GPT-5.6 Terragpt-5.6-terra · OpenAI$0.46$0.046$2.761.05M
GPT-6 Astragpt-6-astra · OpenAI$2.30$0.23$11.501.05M
GPT-6 Lunagpt-6-luna · OpenAI$0.10$0.01$0.50922K
GPT-6 Solgpt-6-sol · OpenAI$0.46$0.046$2.301.05M
GPT-6.1 Solgpt-6.1-sol · OpenAI$0.46$0.023$2.301.05M
GPT-6.1 Terragpt-6.1-terra · OpenAI$1.00$0.05$5.00922K
o3o3 · OpenAI$2.00$2.00$8.00—
o3-minio3-mini · OpenAI$1.10$0.55$4.40128K
o3-mini (high)o3-mini-high · OpenAI$1.10$1.10$4.40—
o3-mini (low)o3-mini-low · OpenAI$1.10$1.10$4.40—
o3-mini (medium)o3-mini-medium · OpenAI$1.10$1.10$4.40—
o4-minio4-mini · OpenAI$1.10$0.275$4.40128K
Qwen3.6-Flashqwen3.6-flash · Qwen$0.1714$0.1714$1.0284—
Qwen3.6-Plusqwen3.6-plus · Qwen$0.2858$0.2858$1.7148—
Qwen3.7-Flashqwen3.7-flash · Qwen$0.0286$0.0057$0.1143984K
Qwen3.7-Maxqwen3.7-max · Qwen$1.7142$1.7142$5.1426—
Qwen3.7-Plusqwen3.7-plus · Qwen$0.2858$0.2858$1.1432—
Qwen3.8 2.4T-A95Bqwen3.8-2.4t-a95b · Qwen$1.7143$0.2143$5.1429984K
Qwen3.8 27Bqwen3.8-27b · Qwen$0.4286$0.0857$1.7143984K
Qwen3.8-Flashqwen3.8-flash · Qwen$0.1143$0.0143$0.3857984K
Qwen3.8-Maxqwen3.8-max · Qwen$1.20$0.15$3.601M
Step 3.7 Flashstep-3.7-flash · StepFun$0.1928$0.1928$1.1568—
Grok 4.3grok-4.3 · xAI$1.25$1.25$2.50—
Grok 4.5grok-4.5 · xAI$0.60$0.09$1.80500K
Grok 4.6grok-4.6 · xAI$0.60$0.15$1.80500K
Grok 4.7grok-4.7 · xAI$0.60$0.15$1.80500K
Grok 4.20 (non-reasoning)grok-4.20-0309-non-reasoning · xAI$1.25$1.25$2.50—
Grok 4.20 (reasoning)grok-4.20-0309-reasoning · xAI$1.25$1.25$2.50—
Grok Build 0.1grok-build-0.1 · xAI$1.00$1.00$2.00—
GLM-5glm-5 · Zhipu GLM$1.00$1.00$1.60—
GLM-5.1glm-5.1 · Zhipu GLM$0.84$0.156$2.64200K
GLM-5.2glm-5.2 · Zhipu GLM$0.84$0.156$2.641M
GLM-5.3glm-5.3 · Zhipu GLM$0.84$0.156$2.641M
GLM-5.3 Flashglm-5.3-flash · Zhipu GLM$0.09$0.018$0.301M
GLM-5.3 FlashXglm-5.3-flashx · Zhipu GLM$0.222$0.045$0.751M