跳至主要內容
CHINZYSUPER INTELLIGENCE INFRASTRUCTURE
控制檯 ↗

介面指南

使用 API 金鑰

2. 建立並儲存 API 金鑰

在控制檯建立 API Key,可設定每月消費上限。完整金鑰只顯示一次,請立即安全儲存;每個應用使用獨立金鑰,避免在瀏覽器程式碼或公開倉庫中暴露。

3. 選擇模型與協議

使用實時模型目錄中的公開別名。OpenAI 相容客戶端使用 /v1;Anthropic 相容客戶端使用 /anthropic。不要把供應商內部模型 ID 當作平臺別名。

4. 發起請求

SDK 接收 Base URL 並自動拼接介面路徑;curl 需要完整介面 URL。將金鑰放在服務端環境變數中,按所用協議傳送認證頭;流式響應使用 stream: true。

認證與錯誤處理

401:檢查金鑰與認證頭;402:檢查錢包餘額;403:檢查金鑰狀態與月度額度;429:降低頻率並退避重試;503:稍後重試或檢視可用模型。

示例程式碼中的欄位名、模型別名和介面路徑保持原樣,可直接用於開發。

完整技術參考(英文)

Getting started

Use your API key

Token Relay exposes two upstream-compatible endpoints. Once you have a key, you can keep using your existing OpenAI or Anthropic client libraries — only the base_url and the API key change.

1. Get a key

  1. Sign in to the developer console.
  2. Open API keys.
  3. Click Create API key. Give it a name (something like local-dev or prod-app) and optionally a monthly spend cap in CN¥.
  4. A token starting with tsk_ appears in the reveal banner. Copy it now — the platform never shows the full token again.
Why reveal-once? The backend only stores a SHA-256 hash of the token. Even an admin with full database access can't recover the original — they can only revoke and reissue.

2. Endpoints

The relay exposes two protocols. Pick the one your client already speaks.

ProtocolBase URLAuth header
OpenAI Chat Completionshttps://chinzy.com/v1Authorization: Bearer tsk_...
Anthropic Messages (streaming)https://chinzy.com/anthropic/v1x-api-key: tsk_...

3. Pick a model

Pass any of our public model aliases as the model field. The full list is at Models. A few common ones:

  • gpt-5.2, gpt-5, gpt-5-mini, gpt-5.4-mini — OpenAI family
  • claude-sonnet-4.5, claude-haiku-4.5, claude-opus-4.5 — Anthropic family
  • deepseek-v3.2, kimi-k2-thinking, glm-4.6 — open-weight families

You always pass the platform alias, never the upstream-specific id. Behind the scenes the relay picks a healthy upstream and routes the call there with automatic failover.

4. Examples

curl

curl https://chinzy.com/v1/chat/completions \
  -H "Authorization: Bearer $TOKEN_RELAY_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.2",
    "messages": [
      {"role": "user", "content": "Hi in one sentence"}
    ]
  }'

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key=os.environ["TOKEN_RELAY_KEY"],
    base_url="https://chinzy.com/v1",
)

resp = client.chat.completions.create(
    model="gpt-5.2",
    messages=[{"role": "user", "content": "Hi in one sentence"}],
)
print(resp.choices[0].message.content)

Node.js (OpenAI SDK)

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.TOKEN_RELAY_KEY,
  baseURL: 'https://chinzy.com/v1',
});

const resp = await client.chat.completions.create({
  model: 'gpt-5.2',
  messages: [{ role: 'user', content: 'Hi in one sentence' }],
});
console.log(resp.choices[0].message.content);

Anthropic SDK (streaming)

import Anthropic from '@anthropic-ai/sdk';

const client = new Anthropic({
  apiKey: process.env.TOKEN_RELAY_KEY,
  baseURL: 'https://chinzy.com/anthropic',
});

const stream = await client.messages.stream({
  model: 'claude-sonnet-4.5',
  max_tokens: 512,
  messages: [{ role: 'user', content: 'Hi in one sentence' }],
});

for await (const event of stream) {
  if (event.type === 'content_block_delta' && event.delta.type === 'text_delta') {
    process.stdout.write(event.delta.text);
  }
}

5. Common errors

StatusMeaningFix
401Token missing, malformed, or disabled.Verify the Authorization header value matches the token from the reveal banner. Check API keys — disabled keys show a red badge.
402 / 403 "balance too low"Wallet has no balance to settle this request.Top up at Billing.
403 "monthly spend cap reached"This specific key's monthly quota is exhausted.Either wait for the next calendar month, raise the cap on API keys, or use a different key.
429You crossed the per-IP rate limit (300 req/min for relay).Backoff and retry; widen the gap between requests.
503Every upstream that serves this alias is down. Rare — the relay already auto-retries on intermittent failures.Try a sibling alias (e.g. gpt-5-mini instead of gpt-5.2). If persistent, check your status page.

6. Tips

  • One key per app. Cheap to rotate; lets you disable a leaked credential without breaking other clients.
  • Set a monthly cap. A runaway dev loop is much easier to recover from when each key is bounded.
  • Watch usage at /console/usage. The page shows per-model + per-key spend, recent calls with status codes, and a CSV export for accounting.
  • Streaming is supported on both protocols. Just pass stream: true in the OpenAI SDK or use messages.stream() with Anthropic.

Found something missing or wrong in this doc? Open an issue or ping an admin.