The questions developers in mainland China ask most often: Can I call Claude / GPT directly? When do I need a proxy? How do I pay? This article answers each question and gives you a way to measure latency yourself, rather than a number we can’t guarantee for your network.
The conclusion first
Kunavo’s gateway runs in a single US-East region (Ashburn, Virginia), with an anycast edge network at the entry point. From major mainland China cloud providers (Alibaba Cloud, Tencent Cloud, Huawei Cloud), you can connect directly without a proxy; round-trip time depends on the actual route from mainland China to US-East. We make no guarantees about specific latency — direct connections to Anthropic or Google take the same transoceanic route.
Call directly without a proxy
from openai import OpenAI
client = OpenAI(
api_key="sk-kn-...",
base_url="https://api.kunavo.com/v1",
)
# 直接调用,不需要任何代理配置
resp = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "你好,中国大陆能稳定调用吗?"}],
)
print(resp.choices[0].message.content)That’s all there is to it. Requests enter through the anycast entry point and are processed in US-East, so the round-trip time you measure is mainly determined by your network’s international egress — direct connections to Anthropic or OpenAI also take the same transoceanic route.
Measure the latency yourself
Run this once on the server that will handle your production traffic to see how long the connection and first byte each take:
curl -o /dev/null -s \
-w "dns=%{time_namelookup}s connect=%{time_connect}s tls=%{time_appconnect}s ttfb=%{time_starttransfer}s\n" \
https://api.kunavo.com/v1/models \
-H "Authorization: Bearer $KUNAVO_API_KEY"Transient upstream errors (429, 502, 503, 504, 529, and connection interruptions) are retried automatically once in the same request before content starts streaming; if the model has multiple channels configured, the request also switches to the next one. Failed requests are not billed. See the status page for the actual success rate.
A robust approach for occasional jitter
International network connections from mainland China can occasionally jitter for 5-30 seconds. We recommend adding timeouts and exponential backoff retries on the client side. Kunavo does not bill for failed requests, so retries cost nothing.
# 中国大陆网络偶尔抖动,建议给客户端加 timeout + 退避重试。
# 不要用大重试值打爆配额。
import time, random
from openai import OpenAI, APIConnectionError, APITimeoutError, RateLimitError
client = OpenAI(
api_key=os.environ["KUNAVO_API_KEY"],
base_url="https://api.kunavo.com/v1",
timeout=60, # 总超时
max_retries=0, # 关掉 SDK 自带重试,自己控制
)
def call_with_backoff(**kwargs):
last = None
for attempt in range(5):
try:
return client.chat.completions.create(**kwargs)
except (APIConnectionError, APITimeoutError, RateLimitError) as e:
last = e
time.sleep(min(30, (2 ** attempt) + random.random()))
raise lastPayment methods — available in mainland China
- Alipay: Stripe channel; supports commonly used domestic bank cards
- WeChat Pay: Same as above
- Domestic Visa/Mastercard dual-currency cards (most dual-currency cards, including CMB and CITIC, work)
- US dollar cards (if you have one)
Minimum top-up $10, pay as you go, and your balance never expires. See the pricing page for rates by model.
When you really need a proxy
You usually don’t. An exception is if the international egress on your server’s network is itself unstable (home broadband or certain regional networks). We recommend:
- Run production traffic on a cloud server such as Alibaba Cloud or Tencent Cloud (not home broadband)
- If it is still unstable, set up a forwarding layer on an overseas cloud host (for example, in Hong Kong). The gateway has only one region, US-East, so we cannot switch you to another route
Frequently asked questions
- Is there a rate limit? The gateway currently does not limit call frequency. You can set a monthly spending cap and IP allowlist for each key at /app/keys.
- Can I use it in production? Yes, but we do not publish an SLA percentage. Transient upstream errors are automatically retried in the same request, and failed requests are not billed; measured success rates are published on the status page.
- Can you issue invoices? No. We do not issue invoices, including VAT invoices in mainland China. The only usable proof is the charge shown on your bank card / WeChat / Alipay statement and the top-up records and itemized usage in /app/billing. If you have a corporate procurement process, email sales@kunavo.com and we’ll tell you directly what we can accommodate.
- Are video and audio models available? Yes. Veo 3 (video) and Suno (music) are available through one bill. /models.
Ready to start? Sign up, top up from $10, and pay as you go; your balance never expires. See the full documentation at /docs/quickstart.