ブログ一覧へ戻る
実践·2026年5月25日·読了5分

中国からClaude / GPT APIを呼び出す — 直接接続、支払い、リトライの実装

中国国内からKunavoを呼び出す:ゲートウェイは米国東部の単一リージョンにあり、遅延は利用する国際出口によって決まります。自己診断コマンド付き。Alipay / WeChat Pay / デュアル通貨カードに対応。堅牢なリトライコードと、本当に転送が必要になるタイミング。

中国国内の開発者が最もよく尋ねる質問は、Claude / GPT を直接呼び出せるか、いつプロキシを使う必要があるか、どう支払うかというものです。この記事では、それぞれに回答します。レイテンシーについては、私たちがあなたのネットワークに対して責任を持てない数値を示すのではなく、自分で測定する方法を紹介します。

結論から説明します

Kunavo のゲートウェイは米国東部の単一リージョン(バージニア州 Ashburn)で稼働し、入口は anycast エッジネットワークです。中国本土の主要クラウド事業者(Alibaba Cloud、Tencent Cloud、Huawei Cloud)からは プロキシなしで直接接続できます。往復時間は中国国内から米国東部までの実際の経路によって決まり、具体的なレイテンシーは保証しません。Anthropic や Google への直接接続も同じ太平洋横断経路を通ります。

プロキシなしで直接呼び出す

first_call.py
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)

以上です。リクエストは anycast の入口から入り、米国東部で処理されます。そのため、測定される往復時間は主に利用ネットワークの国際出口によって決まります。Anthropic や OpenAI への直接接続も同じ太平洋横断経路を通ります。

レイテンシーを自分で測定する

本番トラフィックを実行するサーバーで 1 回実行し、接続と最初の 1 バイトにそれぞれどれくらいかかるかを確認します。

latency.sh
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"

上流の一時的なエラー(429、502、503、504、529、接続中断)は、コンテンツの返却開始前に同じリクエスト内で自動的に 1 回再試行されます。モデルに複数の経路が設定されている場合は、次の経路にも切り替わります。それでも失敗したリクエストには課金されません。実際の成功率は ステータスページで確認できます。

一時的な揺らぎに強い実装

中国本土の国際ネットワークでは、5〜30 秒の揺らぎが時折発生します。クライアント側でタイムアウトと指数バックオフによる再試行を追加してください。失敗したリクエストには Kunavo が課金しないため、再試行のコストはゼロです。

robust_call.py
# 中国大陆网络偶尔抖动,建议给客户端加 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 last

支払い方法 — 中国国内で利用可能

  • 支付宝(Alipay):Stripe 経由で、国内の一般的な銀行カードに対応
  • WeChat Pay:同上
  • 中国国内発行の Visa/Mastercard デュアルカレンシーカード(招商銀行、中信銀行など、多くのデュアルカレンシーカードを利用可能)
  • 米国発行のドル建てカード(お持ちの場合)

最低 $10 からチャージでき、従量課金で、残高に有効期限はありません。各モデルの単価は 料金ページで確認できます。

本当にプロキシが必要な場合

ほとんどの場合、必要ありません。例外は、サーバーがあるネットワークの国際出口自体が不安定な場合です(家庭用ブロードバンド、特定の都市ネットワークなど)。推奨事項:

  • Alibaba Cloud や Tencent Cloud などのクラウドサーバー(家庭用ブロードバンドではない)で本番トラフィックを実行する
  • それでも不安定な場合は、海外(たとえば香港)のクラウドホストで中継層を構築する。ゲートウェイは米国東部の単一リージョンのみで、こちらで切り替えられる別経路はありません。

よくある質問

  • 速度制限はありますか?現在、ゲートウェイは呼び出し頻度を制限していません。各キーに月間支出上限と IP ホワイトリストを設定できます。入口は /app/keysです。
  • 本番環境で実行できますか?できますが、SLA の割合は公開していません。上流の一時的なエラーは同じリクエスト内で自動的に再試行され、失敗したリクエストには課金されません。実測成功率は ステータスページで公開しています。
  • 請求書を発行できますか?できません。請求書は発行しておらず、中国国内の VAT 請求書も発行できません。証憑として利用できるのは、銀行カード / WeChat Pay / Alipay の明細に表示される請求額と、/app/billing のチャージ履歴および個別の利用明細だけです。法人の購買手続きを利用する場合は sales@kunavo.com に連絡してください。対応可能な範囲を直接お伝えします。
  • 動画と音声のモデルはありますか?あります。Veo 3(動画)と Suno(音楽)を利用でき、請求は 1 つにまとめられます。/models。

始める準備はできましたか?登録後、$10 からチャージして従量課金で利用でき、残高に有効期限はありません。完全なドキュメントは /docs/quickstartをご覧ください。