Saltar al contenido
CHINZYSUPER INTELLIGENCE INFRASTRUCTURE
Consola ↗

Guía API

Usa tu clave API

2. Crea y guarda una clave API

Crea una clave y un límite mensual opcional. La clave completa se muestra una vez; guárdala de forma segura. Usa una por aplicación y no la expongas en el navegador ni repositorios públicos.

3. Elige modelo y protocolo

Usa un alias público del catálogo. OpenAI usa /v1; Anthropic usa /anthropic. No sustituyas alias públicos por identificadores internos del proveedor.

4. Envía una petición

Los SDK añaden la ruta al Base URL; curl necesita la URL completa. Guarda las claves en variables del servidor y envía las cabeceras de autenticación. Usa stream: true para streaming.

Autenticación y errores

401: revisa clave y cabeceras. 402: saldo. 403: estado y límite de clave. 429: espera y reintenta. 503: reintenta después o consulta modelos.

Los campos, alias y rutas del código se conservan para usarlos en desarrollo.

Referencia técnica completa (inglés)

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.