Doküman
OpenAI ve Anthropic uyumlu tek bir adres. Adresi ve anahtarını ver, alıştığın aracı kullan.
Başlangıç
https://api.wiozen.comAuthorization: Bearer sk-gw-…ya da x-api-keyAnahtarını Anahtarlar sayfasından oluştur. Yalnızca yayınlanan model adları kabul edilir; başka bir ad 400 döner.
Kurulum
# Claude Code yüklü değilse npm install -g @anthropic-ai/claude-code export ANTHROPIC_BASE_URL="https://api.wiozen.com" export ANTHROPIC_AUTH_TOKEN="sk-gw-..." export ANTHROPIC_MODEL="wiozen-anthropic" claude
Claude Code şu an wiozen-anthropic modeliyle çalışır. Claude ve Gemini modellerini diğer sekmelerdeki araçlarla kullanabilirsin.
settings.json içindeki chat.languageModels dizisine ekle. Anahtarı VS Code güvenli girişte sorar.
// OpenAI API Key sk-gw-... // Override OpenAI Base URL https://api.wiozen.com/v1 // Model listesine ekle ve seç wiozen-anthropic
from openai import OpenAI client = OpenAI(base_url="https://api.wiozen.com/v1", api_key="sk-gw-...") response = client.chat.completions.create( model="wiozen-anthropic", messages=[{"role": "user", "content": "Merhaba!"}], max_tokens=16000, ) print(response.choices[0].message.content)
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.wiozen.com/v1", apiKey: "sk-gw-..." }); const res = await client.chat.completions.create({ model: "wiozen-anthropic", messages: [{ role: "user", content: "Merhaba!" }], max_tokens: 16000, }); console.log(res.choices[0].message.content);
curl https://api.wiozen.com/v1/messages \ -H "x-api-key: $API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "wiozen-anthropic", "max_tokens": 4096, "messages": [{"role": "user", "content": "Merhaba!"}] }'
curl https://api.wiozen.com/v1/chat/completions \ -H "Authorization: Bearer $API_KEY" \ -H "content-type: application/json" \ -d '{ "model": "wiozen-anthropic", "max_tokens": 4096, "messages": [{"role": "user", "content": "Merhaba!"}] }'
Key Tool
Claude Desktop ve Claude Code'u ortam değişkeni yazmadan bağlar: aracı aç, sk-gw-… anahtarını gir, Uygula'ya bas.
Uç noktalar
| Yol | Biçim | Açıklama | |
|---|---|---|---|
| POST | /v1/messages | Anthropic | Claude Code, Cursor, VS Code ve Anthropic SDK |
| POST | /v1/messages/count_tokens | Anthropic | Token sayımı; ücretsizdir |
| POST | /v1/chat/completions | OpenAI | OpenAI SDK ve OpenAI uyumlu araçlar |
| POST | /v1/responses | OpenAI Responses | Codex ve Responses API istemcileri |
| POST | /v1/images/generations | Görsel | Metinden ve referans görselden görsel üretimi |
| POST | /v1/embeddings | Vektör | Metin vektörleştirme |
| POST | /v1/audio/speech | Ses | Metinden sese |
| POST | /v1/audio/transcriptions | Ses | Sesten metne |
| POST | /v1/search | Web | Web araması |
| POST | /v1/web/fetch | Web | Sayfa içeriğini Markdown olarak çekme |
| GET | /v1/models | OpenAI | Kullanılabilir modellerin listesi |
Görsel üretimi
/v1/images/generations metinden görsel üretir. image alanında bir referans görsel verirsen üretim o görselden yola çıkar: düzenleme, arka plan değiştirme, aynı ürünü farklı sahnede gösterme. Görsel yanıtta data[0].b64_json içinde base64 olarak döner.
curl https://api.wiozen.com/v1/images/generations \ -H "Authorization: Bearer $API_KEY" \ -H "content-type: application/json" \ -d '{ "model": "gemini-3.1-flash-image", "prompt": "Beyaz masada kırmızı bir elma, stüdyo çekimi" }'
import base64, requests ref = base64.b64encode(open("urun.png", "rb").read()).decode() r = requests.post( "https://api.wiozen.com/v1/images/generations", headers={"Authorization": "Bearer sk-gw-..."}, json={ "model": "gemini-3.1-flash-image", "prompt": "Aynı ürünü koru, arka planı açık mavi yap", "image": "data:image/png;base64," + ref, }, ) open("sonuc.jpg", "wb").write(base64.b64decode(r.json()["data"][0]["b64_json"]))
Referans görsel data URI ya da düz base64 olmalıdır; adres (URL) kabul edilmez. İstek başına bir referans görsel kullanılır.
Yanıt biçimi
{
"id": "msg_01XyZ987654321",
"type": "message",
"role": "assistant",
"content": [{ "type": "text", "text": "Merhaba!" }],
"model": "wiozen-anthropic",
"stop_reason": "end_turn",
"usage": { "input_tokens": 14, "output_tokens": 11 }
}event: message_start
data: {"type":"message_start","message":{"id":"msg_01X...","role":"assistant"}}
event: content_block_delta
data: {"type":"content_block_delta","delta":{"type":"text_delta","text":"Merhaba"}}
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":11}}
data: [DONE]Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
model | string | Evet | Yayınlanan model adı. Boş ya da tanınmayan ad 400 döner. |
messages | array | Evet | İleti dizisi: [{"role": "user", "content": "..."}] |
max_tokens | integer | Hayır | Üretilebilecek en fazla token (64.000'e kadar). Model zor sorularda önce düşünür ve düşünme de bu bütçeden düşer; bütçe yetmezse yanıt stop_reason: "max_tokens" ile boş kapanabilir. 16.000 ve üzeri önerilir. |
stream | boolean | Hayır | true verildiğinde yanıt Server-Sent Events olarak akar. |
tools | array | Hayır | Araç çağırma her iki biçimde de desteklenir. |
Faturalama
- Dolar bakiyesi. Yüklediğin tutar bakiyen olur ve süresizdir; her istek kullandığı tokenların fiyatı kadar düşer. Güncel fiyatlar Modeller sayfasında.
- Dört ayrı fiyat. Girdi, önbellekten okunan girdi, önbelleğe yazılan girdi ve çıktı ayrı fiyatlanır. Önbellekten okuma girdinin onda biri fiyatınadır; uzun bağlamlı ajan kullanımında maliyetin çoğunu bu belirler.
- Rezervasyon. İstek başlarken tahmini maliyet bakiyenden ayrılır, yanıt bitince gerçek maliyete düzeltilir.
max_tokensdeğerini gereğinden büyük vermek bu ayrılan tutarı büyütür. - Başarısız istek ücretlenmez.
/v1/messages/count_tokensde ücretsizdir. - Anahtar limiti. Bir anahtara harcama tavanı koyabilirsin; aşıldığında yalnızca o anahtar durur.
- İstek istek dökümü Kullanım sayfasında görürsün.
Hatalar
| Durum | Anlamı | Ne yapmalı |
|---|---|---|
400 | Geçersiz istek ya da tanınmayan model | Model adını ve gövdeyi kontrol et. Hata mesajı kullanılabilir modelleri listeler. |
401 | Anahtar eksik ya da geçersiz | sk-gw-… anahtarını ve başlığı kontrol et. |
403 | Hesap askıda | Destek üzerinden bize yaz. |
429 Quota exhausted | Bakiye yetersiz | Bakiye yükle. |
429 API key spend limit reached | Anahtarın harcama limiti doldu | Anahtarlar sayfasından limiti yükselt ya da kaldır. |
502 / 504 | Üst kaynak yanıt veremedi | İstek ücretlenmez; kısa süre sonra yeniden dene. |