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

Official OpenAI SDKs Anthropic SDK and Claude Code LangChain Desktop clients CLI coding tools
200 OK
POST /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 }
}
168 ms ·1,624 tok ·Cost 0.0031420000 /chat/completions · /embeddings · /models /messages · /messages/count_tokens
Is it really the model you paid for? Check it yourself Copy a script, run it for 5 minutes, and tell Claude, GPT and other models apart. See how to check →

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.

01

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.

Request log req_8f3c…21ab
Requested <MODEL>
Served <MODEL>
02

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.

This call example · 14:32:05
input1,248 tok
output376 tok
Cost 0.0031420000
03

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.

sk-rt-…c4f8a1 Production
sk-rt-…9d21e0 Staging
04

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. 1

    Sign up and top up

    Alipay and WeChat Pay accepted. The points a top-up credits never expire.

  2. 2

    Create a key

    The plaintext key is shown once — save it the moment you create it.

  3. 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)

See per-model rates →

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.

Nothing else in the way Sign up and create a key

No manual review, no card on file. Running out of credit only pauses new requests — your keys and settings stay exactly as they are, and everything resumes the moment you top up.