Skip to content

FAQ & Error Codes

Look it up by the error you see (HTTP status code / error message).

Error Code Quick Reference

HTTPMeaningCommon CauseWhat to Do
401Authentication failedWrong Key / extra spaces / wrong Channel platformRe-copy the Key; check that the Channel the Key is bound to matches your client's protocol
403No permissionThe Key is disabled / Balance is 0Check the Key status and your wallet Balance in the dashboard
404Path not foundWrong base URL / extra or missing /v1Check the exact base URL for each client
429Rate limitedToo many requests in a short timeWait 1–5 minutes for automatic recovery
500Server errorTemporary / intermittent server-side issueRetry once. If it persists, contact support
502 / 503Service temporarily unreachableServer-side failover in progress / wrong model name (e.g. gpt-5 without the version number)Check whether the model field is exact / https://claude-api.org/status
504Request processing timeoutSingle request too long / model is thinkingShorten the prompt, disable streaming, switch to a faster model

Common Questions

Are the models I call here the same as the official ones?

Exactly the same. The model weights, the reasoning process, and the output are all returned natively by the model provider's servers. We do not substitute, trim, or water anything down.

I just registered — my new-user bonus hasn't arrived?

The new-user bonus comes in two parts:

  • $1 credited immediately: granted after you complete email verification (click the verification link in the email); arrival may be delayed by up to 5 minutes
  • $9 credited after binding Telegram: in the TG group, send a private message to @ClaudeAPIAPIbot with /bind <your 6-digit binding code> (generate the binding code in the dashboard → Profile → Join the Telegram group to claim bonus)

Still not credited → contact [email protected] and include your registration email.

Is the $ Balance in US dollars? I topped up ¥100 and it shows $100 — is that a bug?

It's not a bug. Our site displays all currency uniformly as $ (USD), and when topping up, ¥1 = $1. Top up ¥100 = $100 Balance. To check your Balance, just read the $ figure directly — no conversion needed.

Can one Key call multiple Channels?

No. Each Key is bound to one Channel when created, and can only call the models of that Channel.

To use across Channels: create multiple Keys, each bound to a different Channel. Common combinations:

  • One Key bound to Claude Official (Claude Code only) for the Claude Code CLI to use Opus (1.4x, high-quality upstream)
  • One Key bound to Claude Official (any client) for Cline / Cursor calling Claude / opencode, etc. (2.0x, any client allowed)
  • One Key bound to Claude AWS Bedrock for production-critical Claude workflows (3.0x, high-availability AWS Bedrock upstream)
  • One Key bound to Budget Claude for any client, when you want the lowest price (0.5x, relatively unstable quality)
  • One Key bound to Claude Sonnet Discount for Sonnet-heavy workflows (0.5x, cheaper)
  • One Key bound to Codex for Cursor / Codex CLI (0.35x, text only)
  • One Key bound to Codex Ultra-low-cost for image generation / maximum-savings scenarios (0.15x, includes gpt-image-2)
  • One Key bound to Gemini for image understanding / long-context scenarios

There is no limit on the number of API Keys.

How is the referral rebate calculated?

  • You invite A to register and top up
  • For all of A's spending within the following 90 days, you automatically earn a 15% rebate to your Balance
  • A single invitee can bring you up to $20 in rebates
  • Rebates have a 72-hour freeze period (to prevent abusive refund farming) before becoming available

See the "Referral page" in the dashboard for details.

I got 503 No available accounts

The two most common situations:

  1. The model field is wrong (most common) — we don't do short-name fallback, you must use the exact name:

    • gpt-5, claude-opus, gemini-pro
    • gpt-5.4, claude-opus-4-8, gemini-3-pro-preview

    See the exact model list for each Channel in Channels & Pricing. For example, the Codex CLI sends gpt-5 by default, so you need to explicitly change the model in your client config to gpt-5.4 or gpt-5.5.

  2. All accounts on that Channel are in failover: retry later, or check https://claude-api.org/status

Why do my requests occasionally get a 429 and then recover automatically after a few minutes?

To keep the service stable over the long term, our scheduling system automatically controls the call volume per unit of time.

When requests come too densely in a short window, some requests will temporarily return 429, and recover automatically within 1–5 minutes. This is to ensure all users can keep using the service over the long term.

If your workflow is sensitive to occasional 429s, we recommend:

  • Implementing simple exponential-backoff retries in your client
  • Using off-peak hours (avoid the 19:00–23:00 peak)
  • Rotating across multiple Keys for important tasks

Do you store the content of my conversations?

The conversation body is not stored. Our server-side logs only contain billing-dimension metadata:

  • Timestamp
  • Model called
  • input / output token counts
  • HTTP status code
  • Your Key ID

The body (messages, prompt, response) is discarded immediately after the stream is forwarded — it is never written to disk. See Terms of Service for details.

Is my money safe?

Our three principles of fund management:

  1. No hoarding of funds: we use incoming top-up Balance to cover operating costs as soon as possible, and do not let users' money sit idle for long
  2. No encouragement of large top-ups: which is why we recommend ≤ ¥500 per top-up
  3. Transparent operations: email [email protected]; Telegram group https://t.me/+Lfq1A_3e6BRhNjE5

If you just want to try it out, first run through the flow with the $1 from registration plus the $9 from joining the TG group, then decide whether to top up.

I topped up but don't want to use it — I'd like a refund

Sure. See the Refund Policy for details — within 0–30 days the channel Fee is deducted, within 30–90 days a 5% Fee is deducted, and service failures are fully refunded.

Can I get an invoice?

We support official corporate invoices (fapiao) for China-domestic business customers only (mainland China; invoices are not available to overseas customers).

  • To request an invoice, contact support with your invoice title, tax ID, etc.
  • Self-service "direct top-up" orders cannot be invoiced; if you need an invoice, contact support before topping up
  • Support channels: email [email protected] / a dashboard ticket

SSE Streaming

Claude Code / Cursor streaming drops mid-way

Domestic carriers' intermediate devices time out long SSE connections (typically 60–120s). We do our best to keep them alive:

  • Sending periodic keep-alive heartbeat packets
  • Reconnecting when an automatic stream cut is triggered

But under extreme network conditions it can still drop. Temporary workarounds:

  • Disable streaming: ANTHROPIC_NO_STREAM=1 (Claude Code) / disable_streaming: true (Cursor)
  • Switch to a China Telecom / China Unicom line (China Mobile users occasionally fare worse)
  • Use a persistent session tool like mosh / tmux to insulate against brief disconnects

Garbled streaming output

  • Terminal not set to UTF-8 (Windows) → chcp 65001
  • Client version too old → upgrade to the latest

Image Generation / AI Image Generation Tool

How to generate images

Two ways:

  1. Call the API directly: POST /v1/images/generations, with model set to gpt-image-2. The API Key must be bound to the Codex Ultra-low-cost Channel (currently only this Channel has image generation enabled). The request format is identical to OpenAI's official one:

    bash
    curl https://claude-api.org/v1/images/generations \
      -H "Authorization: Bearer sk-..." \
      -H "Content-Type: application/json" \
      -d '{"model":"gpt-image-2","prompt":"a cat in a spacesuit, sticker style","size":"1024x1024"}'
  2. Built-in dashboard tool: log in at https://claude-api.org/ → sidebar "AI Image Generation". On that page, choose one of your existing Keys + enter a prompt to generate, with support for uploading a reference image to edit. The prompt and reference image are saved automatically and won't be lost when you switch pages or refresh.

Image generation rejected with "Image generation is not enabled for this group"

The Key you're using is not bound to the Codex Ultra-low-cost Channel. The other OpenAI Channel (Codex 0.35x) and the Gemini Channel do not currently have image generation enabled. Just switch to a Key bound to Codex Ultra-low-cost.

Tickets (Support)

Can I attach images to ticket messages?

Yes. You can attach images (up to 3) both when creating a ticket and when replying — handy for error screenshots, client config, or console views. Images are compressed automatically, the admin sees them inline, and clicking an image opens it full-size.

After I submit a ticket, how am I notified when an admin replies?

Both channels are sent at the same time, so you don't need to receive both:

  • Email: as soon as an admin replies, your registration email will get a notification, with the body containing a ticket link + a preview of the reply (open the link directly to see the full conversation)
  • Telegram push: if you've already bound the TG bot, you'll get a private message from the bot

The two channels are independent — getting through on either one is enough. If neither comes through, contact [email protected] to report the problem.

Gemini Channel

Gemini returns 400 "Request contains an invalid argument" — what to do

99% of the time the contents items in the request body are missing the "role": "user" field. The current versions of Google AI Studio / Code Assist strictly require that every content explicitly carry a role; omitting it triggers an immediate 400.

❌ Will be rejected:

json
{"contents":[{"parts":[{"text":"hi"}]}]}

✅ Correct:

json
{
  "contents": [
    {"role": "user", "parts": [{"text": "hi"}]}
  ]
}

For multi-turn conversations, the assistant turn uses "role": "model":

json
{
  "contents": [
    {"role": "user",  "parts": [{"text": "你好"}]},
    {"role": "model", "parts": [{"text": "你好!"}]},
    {"role": "user",  "parts": [{"text": "再见"}]}
  ]
}

If you use the official Google SDK (@google/genai / google-genai-python, etc.), the SDK adds the role automatically; if you hit a 400, first check whether you're hand-writing raw JSON and dropping the field. A few third-party API detectors also send payloads missing the role — that's a bug in the detector itself.

Which base URL / endpoint should Gemini calls use

The Gemini Channel does not use the OpenAI / Anthropic compatible protocols — it only uses Google's native /v1beta/models/... endpoints:

text
POST https://claude-api.org/v1beta/models/gemini-3.1-pro-preview:generateContent
POST https://claude-api.org/v1beta/models/gemini-3.1-pro-preview:streamGenerateContent?alt=sse

Use the Authorization: Bearer sk-... header (not x-goog-api-key). The streaming response is standard SSE.

Gemini returns 503 "no available accounts"

Two possibilities:

  • The model name isn't in the official Gemini supported list: e.g. using a name not currently listed such as gemini-2.0-flash / gemini-2.5-flash-image → switch to one of the 5 names in the list
  • That Channel's accounts are briefly self-healing (an occasional OAuth token refresh failure triggers a 10min quarantine) → retry after 1 minute, or check https://claude-api.org/status

Tool Use / Function Calling

Tool-call loops / the model repeatedly calls the same tool

This is usually a protocol-compatibility issue. The two OpenAI Channels Codex / Codex Ultra-low-cost both support Responses (used by the Codex CLI) + ChatCompletions (used by Cursor / Cline / Chatbox) at the same time — for most clients, choosing ChatCompletions is more stable. To fix:

  • In your client config, switch to the ChatCompletions endpoint (/v1/chat/completions instead of /v1/responses)
  • Or switch to a Claude Channel (Claude's tool use is more stable)

The JSON returned by the tool is truncated

  • max_tokens set too small → raise it to 4096+
  • Wrong model choice → mini models have weak JSON output ability; switch to gpt-5.4 or claude-sonnet-4-6

Still Not Resolved?

Look for help in the following order:

  1. Search this FAQ + the docs site — most issues (401 / 429 / model names / protocol compatibility) are covered here
  2. Open a ticket: dashboard → left sidebar "Tickets" → New → choose "Report an Issue" → describe it clearly (include curl / error code / model name)
    • Ticket replies are pushed to you via email + Telegram (if bound)
    • When a "Suggestion"-type ticket is adopted and actually goes live, we'll gift ¥20–100 in Balance as thanks
  3. Telegram group: https://t.me/+Lfq1A_3e6BRhNjE5 — group members can privately message @ClaudeAPIAPIbot to check Balance, usage, and API keys
  4. Email fallback: [email protected] (use email for payment / account security / legal matters)

This site is an API reverse-proxy service, not affiliated with Anthropic / OpenAI / Google.