API Reference i konfiguracja
Jeden klucz API ck_ działa w Claude Code, OpenCode, Codex CLI, Gemini CLI, Cursor i bezpośrednim HTTP. Oficjalne ceny katalogowe dostawców na jednym rachunku — pay as you go, bez subskrypcji.
1. Pierwsze kroki
Zenn.Engineering to drop-in API gateway dla modeli Anthropic, OpenAI i Google AI oraz generowania obrazów. Używasz jednego klucza z prefiksem ck_ wszędzie — bez zmian w kodzie, wystarczy skierować narzędzie na nasz base URL.
Wybierz plan na /pricing, a następnie utwórz klucz w /manage-api-keys.
Skieruj swoje narzędzie na https://zenn.engineering/api/v1.
Działa z Claude Code, OpenCode, Codex CLI, Gemini CLI, Cursor oraz każdym klientem kompatybilnym z OpenAI/Anthropic.
2. Base URL
Jeden klucz, trzy base URL kompatybilne protokołowo (Anthropic / OpenAI / Gemini) plus endpoint do generowania obrazów.
| Powierzchnia | Base URL | Używaj z |
|---|---|---|
| Kompatybilne z Anthropic | https://zenn.engineering/api/v1 | Claude Code, Anthropic SDK, OpenCode (provider anthropic) |
| Kompatybilne z OpenAI (Codex) | https://zenn.engineering/api/v1/codex | Codex CLI, OpenAI SDK, Cursor |
| Kompatybilne z Gemini | https://zenn.engineering/api/v1/gemini | Gemini CLI, Google AI SDK |
| Generowanie obrazów | https://zenn.engineering/api/v1/images/generations | gpt-image-2 (payload kompatybilny z OpenAI) |
3. Claude Code
Oficjalne CLI Anthropica dla Claude. Ustaw dwie zmienne środowiskowe i działa jako drop-in replacement.
Krok 1 — Ustaw środowisko
Dodaj do swojego profilu shell (~/.zshrc lub ~/.bashrc):
export ANTHROPIC_BASE_URL=https://zenn.engineering/api/v1 export ANTHROPIC_API_KEY=ck_YOUR_API_KEY
Krok 2 — Restart i uruchom
# Default model (Sonnet 4.6) claude # Pick a different model claude --model claude-opus-4-7 claude --model claude-haiku-4-5
Jak to działa
Claude Code wysyła klucz API w nagłówku x-api-key (natywne dla Anthropic SDK) i dokleja /messages do base URL. Nagłówki anthropic-version i anthropic-beta są przekazywane do upstreamu. Streaming jest obsługiwany przez SSE.
4. OpenCode
Wieloprowiderowy agent kodujący AI. Jedna konfiguracja JSON daje Ci Claude, GPT-5 i Gemini przez jeden klucz.
Krok 1 — Instalacja
npm i -g opencode-ai
Krok 2 — Utwórz konfigurację
Edytuj ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"baseURL": "https://zenn.engineering/api/v1",
"apiKey": "ck_YOUR_API_KEY"
},
"models": {
"claude-opus-4-7": { "name": "Claude Opus 4.7" },
"claude-sonnet-4-6": { "name": "Claude Sonnet 4.6" },
"claude-haiku-4-5": { "name": "Claude Haiku 4.5" }
}
},
"zenn-codex": {
"npm": "@ai-sdk/openai-compatible",
"name": "Zenn Codex",
"options": {
"baseURL": "https://zenn.engineering/api/v1/codex",
"apiKey": "ck_YOUR_API_KEY"
},
"models": {
"gpt-5.5": { "name": "GPT-5.5" },
"gpt-5.5-pro": { "name": "GPT-5.5 Pro" },
"gpt-5.5-instant": { "name": "GPT-5.5 Instant" },
"gpt-5.4": { "name": "GPT-5.4" },
"gpt-5.3-codex": { "name": "GPT-5.3 Codex" }
}
},
"zenn-gemini": {
"npm": "@ai-sdk/openai-compatible",
"name": "Zenn Gemini",
"options": {
"baseURL": "https://zenn.engineering/api/v1/gemini",
"apiKey": "ck_YOUR_API_KEY"
},
"models": {
"gemini-3.1-pro-preview": { "name": "Gemini 3.1 Pro" },
"gemini-3-pro-preview": { "name": "Gemini 3 Pro" },
"gemini-3-flash-preview": { "name": "Gemini 3 Flash" }
}
},
"zenn-chinese": {
"npm": "@ai-sdk/openai-compatible",
"name": "Zenn Chinese (DeepSeek / Moonshot / Zhipu)",
"options": {
"baseURL": "https://zenn.engineering/api/v1/codex",
"apiKey": "ck_YOUR_API_KEY"
},
"models": {
"deepseek-v4-pro": { "name": "DeepSeek V4 Pro" },
"deepseek-v4-flash": { "name": "DeepSeek V4 Flash" },
"kimi-k2.6": { "name": "Kimi K2.6" },
"glm-5.1": { "name": "GLM-5.1" }
}
}
}
}Krok 3 — Uruchom
opencode
5. Codex CLI
Oficjalne CLI OpenAI dla rodziny GPT-5 / Codex. Ustaw dwie zmienne środowiskowe i wskaż na nasz base URL Codex.
Ustaw środowisko
export OPENAI_BASE_URL=https://zenn.engineering/api/v1/codex export OPENAI_API_KEY=ck_YOUR_API_KEY
Uruchom
# Default codex # Pick a model codex --model gpt-5.5 codex --model gpt-5.5-pro codex --model gpt-5.5-instant codex --model gpt-5.3-codex # Chinese coding models (via OpenAI-compatible /v1/codex) codex --model deepseek-v4-pro codex --model kimi-k2.6 codex --model glm-5.1
Codex CLI używa Authorization: Bearer oraz formatu OpenAI /chat/completions + /responses — oba są obsługiwane.
6. Gemini CLI
Gemini CLI Google'a wysyła klucz w nagłówku x-goog-api-key. Proxy akceptuje ten nagłówek transparentnie.
Ustaw środowisko
export GEMINI_BASE_URL=https://zenn.engineering/api/v1/gemini export GEMINI_API_KEY=ck_YOUR_API_KEY
Uruchom
gemini --model gemini-3.1-pro-preview gemini --model gemini-3-flash-preview
7. Cursor IDE
W Cursor → Settings → Models → "Custom OpenAI Model":
| Pole | Wartość |
|---|---|
| Override OpenAI Base URL | https://zenn.engineering/api/v1/codex |
| OpenAI API Key | ck_YOUR_API_KEY |
| Add custom models | gpt-5.5, gpt-5.5-pro, gpt-5.5-instant, gpt-5.4, gpt-5.3-codex, deepseek-v4-pro, kimi-k2.6, glm-5.1 |
Kliknij Verify po zapisaniu — Cursor uderzy w /models na base URL, aby potwierdzić, że klucz działa.
8. Bezpośrednie API (cURL)
Trzy formaty protokołu, jeden klucz. Wybierz ten, którym Twój klient już mówi.
Kompatybilne z Anthropic — /v1/messages
curl -X POST https://zenn.engineering/api/v1/messages \
-H "x-api-key: ck_YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello, Claude"}]
}'Kompatybilne z OpenAI — /v1/codex/chat/completions
curl -X POST https://zenn.engineering/api/v1/codex/chat/completions \
-H "Authorization: Bearer ck_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"messages": [{"role": "user", "content": "Hello, GPT-5.5"}],
"stream": true
}'Gemini — /v1/gemini/chat/completions
curl -X POST https://zenn.engineering/api/v1/gemini/chat/completions \
-H "Authorization: Bearer ck_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.1-pro-preview",
"messages": [{"role": "user", "content": "Hello, Gemini"}]
}'9. Generowanie obrazów
gpt-image-2 jest jedynym modelem obrazów obecnie dostępnym przez API. Poziomy rozdzielczości (1K / 2K / 4K) są naliczane jedną stałą ceną — szczegóły w sekcji Modele. Inne modele obrazów, wideo i audio są oznaczone jako Wkrótce.
Endpoint
POST https://zenn.engineering/api/v1/images/generations GET https://zenn.engineering/api/v1/images/generations (list models)
Wygeneruj obraz
curl -X POST https://zenn.engineering/api/v1/images/generations \
-H "Authorization: Bearer ck_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "A cinematic photo of a small red apple on a marble countertop",
"n": 1
}'Zachowanie asynchroniczne
DocsPage.imageGen.asyncBody
W czacie w przeglądarce
Otwórz /chat, wybierz "GPT Image 2 — Image Generation" z selektora modeli, wyślij prompt, a obraz wyrenderuje się inline. Serwer pollnie upstream za Ciebie i nalicza 6 kredytów ($0.06) za obraz.
10. Modele i cennik
Rozliczenie oparte na kredytach (1 000 000 kredytów = 1,00 $). Ceny LLM to oficjalne ceny katalogowe dostawcy za milion tokenów; obrazy za generację. Modele oznaczone Wkrótce są wymienione, ale API odrzuca je do czasu aktywacji. Każdy model jest rozliczany według oficjalnej ceny katalogowej — wartość pochodzi z mnożnika kredytów przy doładowaniu (Pro 1×, Max 4×, Enterprise 6×). Szczegóły planów w sekcji 12.
Claude (Anthropic)
| Model ID | Wejście / MTok | Wyjście / MTok | Odczyt cache | Status |
|---|---|---|---|---|
| claude-opus-4-7 | $15.00 | $75.00 | $1.50 | Na żywo |
| claude-opus-4-6 | $15.00 | $75.00 | $1.50 | Na żywo |
| claude-sonnet-4-6 | $3.00 | $15.00 | $0.30 | Na żywo |
| claude-haiku-4-5 | $1.00 | $5.00 | $0.10 | Na żywo |
OpenAI / GPT
| Model ID | Wejście / MTok | Wyjście / MTok | Odczyt cache | Status |
|---|---|---|---|---|
| gpt-5.5 | $5.00 | $30.00 | $0.50 | Na żywo |
| gpt-5.5-instant | $5.00 | $30.00 | $0.50 | Na żywo |
| gpt-5.5-pro | $30.00 | $180.00 | $30.00 | Na żywo |
| gpt-5.4 | $5.00 | $22.50 | $0.50 | Na żywo |
| gpt-5.3-codex | $1.75 | $14.00 | $0.17 | Na żywo |
| gpt-5.2 | $1.75 | $14.00 | $0.17 | Na żywo |
Gemini (Google)
| Model ID | Wejście / MTok | Wyjście / MTok | Odczyt cache | Status |
|---|---|---|---|---|
| gemini-3.1-pro-preview | $4.00 | $18.00 | $0.40 | Na żywo |
| gemini-3-pro-preview | $4.00 | $18.00 | $0.40 | Na żywo |
| gemini-3-flash-preview | $0.50 | $3.00 | $0.05 | Na żywo |
DeepSeek / Moonshot / Zhipu
| Model ID | Wejście / MTok | Wyjście / MTok | Odczyt cache | Status |
|---|---|---|---|---|
| deepseek-v4-pro | $1.74 | $3.48 | $0.01 | Na żywo |
| deepseek-v4-flash | $0.14 | $0.28 | $0.0028 | Na żywo |
| kimi-k2.6 | $0.95 | $4.00 | $0.16 | Na żywo |
| glm-5.1 | $1.40 | $4.40 | $0.26 | Na żywo |
Obraz (na żywo)
| Model ID | Kredyty / obraz | Cena / obraz | Status |
|---|---|---|---|
| gpt-image-2 | 60000 | $0.06 | Na żywo |
Wszystkie modele obrazów, wideo i audio są naliczane w oficjalnej cenie katalogowej. Inne modele obrazów (rodzina Nano Banana, Gemini 3 Pro Image, Seedream) są wymienione w katalogu, ale obecnie Wkrótce — API odrzuca je do czasu włączenia. Pełny katalog na /models.
11. Uwierzytelnianie
Wszystkie klucze API używają prefiksu ck_. Proxy akceptuje każdy standardowy format nagłówków SDK, więc klienci działają bez modyfikacji.
| Nagłówek | Format | Używane przez |
|---|---|---|
| x-api-key | ck_... | Claude Code, Anthropic SDK |
| Authorization | Bearer ck_... | OpenCode, Codex CLI, OpenAI SDK, cURL |
| anthropic-api-key | ck_... | Alternatywny nagłówek Anthropic |
| x-goog-api-key | ck_... | Gemini CLI |
Przekazywane nagłówki
anthropic-version (domyślnie 2023-06-01) i anthropic-beta są przekazywane. Streaming SSE jest w pełni obsługiwany.
12. Plany
Jednorazowe doładowanie — bez subskrypcji. Każde doładowanie ustala mnożnik kredytów (Pro 1×, Max 4×, Enterprise 6×) — Twoje kredyty zachowują tę wartość mnożnika do wydania. Kolejne doładowania mogą być na dowolnym poziomie.
Standardowy cennik. Pay-as-you-go.
- · Każdy frontier LLM w oficjalnej cenie katalogowej
- · API kompatybilne z OpenAI / Anthropic / Gemini
- · Limity wydatków per klucz, analityka w czasie rzeczywistym
4× kredytów — $100 kupuje $400 zużycia w cenie katalogowej.
- · Wszystko z Pro
- · 4× kredytów za dolara w momencie doładowania
- · Ta sama cena katalogowa dla każdego modelu
- · Kolejka priorytetowa + szybszy routing
6× kredytów — $1,000 kupuje $6,000 zużycia + priorytetowy kanał Anthropic Max.
- · Wszystko z Max
- · 6× kredytów za dolara w momencie doładowania
- · Ta sama cena katalogowa dla każdego modelu
- · Priorytetowy kanał Anthropic Max
- · Dedykowane wsparcie, fakturowanie przyjazne audytom
Jedna zasada cenowa, każdy model
- · Każdy model LLM, obrazów, wideo i audio jest naliczany w oficjalnej cenie katalogowej pokazanej na /models.
- · Wartość Max ($100 → 4×) i Enterprise ($1,000 → 6×) pochodzi z dodatkowych kredytów przyznawanych w momencie doładowania, a nie z poziomów rabatowych per model.
- · Bez kwalifikacji do kubełków, bez drobnego druku per model — Twoje kredyty działają tak samo na Claude Opus, GPT-5.5 i Gemini Flash.
Mnożniki obowiązują per doładowanie. Istniejące kredyty Max zachowują wartość 4× do momentu ich wydania — doładuj Pro później, a te $10 da 20M kredytów w 1×. Pełny rozkład na /pricing.
13. Rate limity i błędy
Rate limity per użytkownik
| Endpoint | Żądania / godzinę |
|---|---|
| /v1/messages, /v1/chat/completions, /v1/gemini | 1,000 |
| /v1/images/generations | 500 |
| /v1/responses, /v1/codex/* | 1,000 |
Status rate limitu jest zwracany w nagłówkach odpowiedzi: x-ratelimit-limit, x-ratelimit-remaining, x-ratelimit-reset.
Kody błędów
| Status | Znaczenie |
|---|---|
| 401 | Brak / nieprawidłowy klucz API |
| 402 | Niewystarczające kredyty — doładuj na /checkout |
| 403 | Tier nie odblokowuje żądanego modelu (np. Opus 4.7) |
| 429 | Osiągnięto rate limit per użytkownik |
| 503 | Model jest wymieniony, ale Wkrótce |
| 504 | Generowanie obrazu przekroczyło timeout (ponów) |
14. Wkrótce
Wymienione publicznie, ale API odrzuca je do czasu ustabilizowania marży w modelu mnożnika kredytów:
Rodzina Nano Banana, Gemini 3 Pro Image, Seedream, GPT-4o Image, Imagen.
Veo 3.1, Kling 3.0, Seedance 2.0, HappyHorse 1.0, MiniMax Hailuo, Vidu Q3, WAN 2.6.
Fish Audio TTS, Voice Clone, ASR.
Pełna lista na /models. Wpisy coming-soon zwracają HTTP 503 z API; ich wywoływanie dziś to no-op, który nie nalicza kredytów.
Gotowy, by zacząć?
Jeden klucz działa w Claude Code, OpenCode, Codex CLI, Gemini CLI i Cursor. Doładuj kredyty i utwórz swój klucz API.
