OpenAI compatible · pay as you go

One key,
for every model.

Route 30+ models through a single OpenAI-compatible endpoint. Millisecond routing, automatic failover, token-based billing. Top up and go.

GPT-4o GPT-4.1 Claude 4 Claude 3.7 Gemini 2.5 DeepSeek Qwen Kimi GLM Llama Mistral MiniMax

One endpoint, every model handled.

Routing, failover, billing, and security built in. You build the product; Crane runs the models.

Unified routing

One request, automatically routed to the fastest available node. Smart load-splitting with automatic failover.

claude-sonnet98ms
deepseek-v376ms
gpt-4o124ms
qwen-max132ms

OpenAI compatible

Change one line of base_url and your existing SDK keeps working. Zero migration.

base_url = "api.crane.dev/v1"

Pay per token

Billed by actual token usage, balance visible in real time. No monthly fees.

¥0.00 to start

Automatic failover

Multi-node redundancy with automatic fault isolation and switchover. 99.99% uptime.

99.99% uptime

Key security

Isolated key authentication, full audit logs, instant alerts on abnormal usage.

AES-256 · audit trail

Low-latency network

Edge nodes route around congestion. P50 latency stays under 100 ms.

P50 latency · last 24h96ms
Three steps

No new SDK. One new line.

Fully compatible with the OpenAI protocol. Official SDKs for Python, Node, Go, and Java work out of the box.

Create a key

Generate a dedicated API key in the console, with spending limits and allowlists.

Set base_url

Point your client at the Crane gateway. Nothing else changes.

Start calling

Token-based billing with real-time invoices. Full visibility into usage, latency, and errors.

from openai import OpenAI

client = OpenAI(
    api_key="sk-crane-xxxx",
    base_url="https://api.crane.dev/v1",
)

resp = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "hello"}],
)
print(resp.choices[0].message.content)
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-crane-xxxx",
  baseURL: "https://api.crane.dev/v1",
});

const resp = await client.chat.completions.create({
  model: "claude-sonnet",
  messages: [{ role: "user", content: "hello" }],
});
console.log(resp.choices[0].message.content);

No subscriptions. Balance is king.

Billed per token. Top-ups never expire.

¥100 credit+¥10
¥500 credit+¥60
¥2000 credit+¥300
Get started
Model pricingCNY / 1M tokens
ModelInputOutput
gpt-4o¥14¥56
claude-sonnet¥10¥40
deepseek-v3¥1¥4
qwen-max¥6¥18
kimi¥4¥12
glm-4¥3¥9

Discount pricing shown. Final rates in the console.

Everything in one console

Balance, usage, latency, and key management in a single panel.

console.crane.dev Live
Balance
0
Requests today
0
P50 latency
96ms
Token usage
0
Requests · last 7 daysDemo data

FAQ

Which models are supported? Can I pin a model or auto-route?
30+ models across GPT, Claude, Gemini, DeepSeek, Qwen, Kimi, and GLM. Specify a model in the request, or configure a fallback chain that switches automatically when the primary is unavailable.
How does billing work? Can I get a refund?
Billed precisely by tokens consumed, deducted per request, with itemized invoices in the console. Unused balance can be refunded anytime, back to the original payment method within 3 business days.
How is this different from the official API?
We aggregate multiple upstreams with multi-node redundancy and automatic failover, targeting 99.99% uptime. Responses match the official APIs. One entry point, one bill.
Do you support streaming, tool calls, and function calling?
Full support for SSE streaming, tool calling, structured output, and multimodal input, aligned with the official OpenAI protocol.
Is there free credit to try it out?
New users get ¥5 in trial credit on signup. No card required.
Does my data pass through your servers? Is it safe?
All traffic is HTTPS-only, keys are stored in isolation, and we never train on or store your conversations. Complete audit logs are available anytime.

Put every frontier model to work today.

Get ¥5 in trial credit on signup. One minute to your key, three minutes to your first request.