One API Every major model
OpenAI-compatible — change one line of base_url to connect. Billed on actual token usage; top-up points never expire.
Works with the clients you already use
/chat/completions
example
Requests
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.xisu.ai/v1",
)
resp = client.chat.completions.create(
model="<MODEL>",
messages=[{"role": "user", "content": "你好"}],
)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.YOUR_API_KEY,
baseURL: "https://api.xisu.ai/v1",
});
const resp = await client.chat.completions.create({
model: "<MODEL>",
messages: [{ role: "user", content: "你好" }],
});
curl https://api.xisu.ai/v1/chat/completions \
-H "Authorization: Bearer $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<MODEL>",
"messages": [{"role": "user", "content": "你好"}]
}'
Response
{
"model": "<MODEL>",
"choices": [{ "message": { "content": "你好!" } }],
"usage": { "prompt_tokens": 1248, "completion_tokens": 376 }
}
Core capabilities
Verifiable, therefore trustworthy
The hard part of a relay is not getting connected — it is trusting that nothing was tampered with along the way. Each of the following leaves a trail you can check line by line.
No silent downgrades
You get exactly the model you request. Every call's model name, token counts and cost are written to your request log, verifiable line by line by request_id.
Per-token billing, carried to 10 decimal places
Amounts are computed in decimal end to end — no floating point, no rounding at intermediate steps. You will not spend three days chasing a few cents at reconciliation time.
Many keys, each with its own budget cap
Issue a key per project, each with its own cap — one hitting its limit does not affect the others. Revoke any key at any time, effective immediately. The plaintext key is shown once, at creation.
Both protocols supported, your code stays as it is
OpenAI-compatible SDKs and clients just point base_url here; the Anthropic SDK and Claude Code point ANTHROPIC_BASE_URL here. One key, one balance, and not a line of your own code changes.
base_url (OpenAI-compatible)
https://api.xisu.ai/v1
ANTHROPIC_BASE_URL (Anthropic-native)
https://api.xisu.ai
Three steps
Change one base_url; leave your code alone
-
1
Sign up and top up
Alipay and WeChat Pay accepted. The points a top-up credits never expire.
-
2
Create a key
The plaintext key is shown once — save it the moment you create it.
-
3
Point the address here
OpenAI-compatible SDKs and clients change base_url; the Anthropic SDK and Claude Code change ANTHROPIC_BASE_URL.
How billing works
-
Billed on actual token usage
Settled when the call finishes — nothing held up front
-
Top-up points never expire
Unused balance is never forfeited
-
Top up from ¥10.00
We warn you in the console and by email before it runs out — no silent cut-off
¥1 = 100,000 points (points shown rounded)
FAQ
These are the questions that come up most before signing up. The docs go deeper.
Read the docs →No. You get exactly the model you request. Every call's model name, token counts and cost are written to your request log and can be checked line by line against the request_id — if anything looks wrong, open a ticket with that ID.
Points from a top-up never expire and are never forfeited.
Two protocols. OpenAI-compatible clients (the official SDKs, desktop clients, terminal coding tools) point base_url here; the Anthropic SDK and Claude Code point ANTHROPIC_BASE_URL here. The open endpoints are /chat/completions, /embeddings, /models, /images/generations, /messages and /messages/count_tokens. Images are generation only — no edits or variations — and there are no audio endpoints.
No postpaid billing and no credit line. At zero balance new requests are refused — your keys and settings are untouched, and everything resumes as soon as a top-up lands. We also warn you in the console and by email before the balance runs out, so it never stops without notice.