WiozenAPI

Anthropic Messages API mı, OpenAI Chat Completions mı: hangisini kullanmalıyım?

Kısaca: Kullandığın araç ya da SDK hangi biçimi konuşuyorsa onu kullan. Wiozen API'de iki biçim aynı anahtarla, aynı model adlarıyla ve aynı fiyatla çalışır: Anthropic biçimi /v1/messages, OpenAI biçimi /v1/chat/completions. Sıfırdan kod yazıyorsan ve ekosistemde en çok araçla uyum istiyorsan OpenAI biçimi; girdi tokenlarını ücretsiz saymak ya da Claude'un düşünme ayarlarını kullanmak istiyorsan Anthropic biçimi daha uygun.

İki biçim arasında ne fark var?

İkisi de aynı işi yapar: mesaj listesini gönderirsin, modelin cevabını alırsın. Farklar ayrıntıda. OpenAI biçiminde sistem talimatı messages dizisinin içinde role: "system" olarak durur, cevap choices[0].message.content içinde gelir ve token sayıları prompt_tokens / completion_tokens adını taşır. Anthropic biçiminde sistem talimatı üst düzeydeki system alanına yazılır, max_tokens zorunludur, cevap content dizisinde bloklar hâlinde gelir ve sayılar input_tokens / output_tokens adını taşır.

OpenAI biçimiAnthropic biçimi
Yol/v1/chat/completions/v1/messages
SDK'daki taban adreshttps://api.wiozen.com/v1https://api.wiozen.com
Sistem talimatımessages içindeÜst düzey system
Cevapchoices[0].message.contentcontent[0].text
Hata gövdesi{"error": {"message", "type"}}{"type": "error", "error": {…}}

Taban adres satırına dikkat: Anthropic SDK'sı yola /v1/messages'ı kendisi ekler, OpenAI SDK'sı yalnız /chat/completions'ı ekler. Yanlışlıkla /v1 iki kez yazılırsa Wiozen API /v1/v1/... adresini de kabul eder, istek yine çalışır.

Aynı istek iki biçimde nasıl görünür?

Anthropic SDK'sıyla:

anthropic_ornek.py
import anthropic

client = anthropic.Anthropic(base_url="https://api.wiozen.com", api_key="sk-gw-...")

msg = client.messages.create(
    model="claude-haiku-5-5",
    max_tokens=1024,
    system="Kısa ve net cevap ver.",
    messages=[{"role": "user", "content": "HTTP 429 nedir?"}],
)
print(msg.content[0].text)
print(msg.usage.input_tokens, msg.usage.output_tokens)

OpenAI SDK'sıyla, aynı model ve aynı soru:

openai_ornek.py
from openai import OpenAI

client = OpenAI(base_url="https://api.wiozen.com/v1", api_key="sk-gw-...")

r = client.chat.completions.create(
    model="claude-haiku-5-5",
    max_tokens=1024,
    messages=[
        {"role": "system", "content": "Kısa ve net cevap ver."},
        {"role": "user", "content": "HTTP 429 nedir?"},
    ],
)
print(r.choices[0].message.content)
print(r.usage.prompt_tokens, r.usage.completion_tokens)

İki istek aynı modele gider ve aynı fiyattan ücretlenir. Anahtar başlığı da sorun olmaz: Anthropic SDK'sı anahtarı x-api-key başlığıyla, OpenAI SDK'sı Authorization: Bearer ile gönderir; Wiozen API ikisini de kabul eder.

Hangi modeller hangi biçimde çalışır?

Hepsi ikisinde de. Modeller sayfasındaki her ad iki uçta da geçerlidir: Claude modelini OpenAI biçimiyle, DeepSeek ya da Gemini modelini Anthropic biçimiyle çağırabilirsin. Biçim yalnız isteğin ve yanıtın şeklini belirler; hangi modelin çalışacağını model alanı belirler.

Araçlar için tek istisna Claude Code. Claude Code Anthropic biçimini kullanır ve şu an yalnız wiozen-anthropic modeliyle çalışır; ayarı kurulum sayfasında.

Anthropic biçimi bana ne kazandırır?

Birincisi ücretsiz token sayımı. /v1/messages/count_tokens bir isteğin kaç girdi tokenı tutacağını model çalıştırmadan söyler. Bu çağrı ücretlenmez, bakiyenden tutar ayırmaz, dakikalık ve günlük sınırlara da sayılmaz. Büyük bir belgeyi göndermeden önce maliyetini görmek için kullanışlı.

say.py
count = client.messages.count_tokens(
    model="claude-sonnet-5-5",
    messages=[{"role": "user", "content": open("rapor.md").read()}],
)
print(count.input_tokens)

İkincisi düşünme ayarı. Claude 5.5 modelleri eski thinking: {"type": "enabled", "budget_tokens": N} biçimini kabul etmiyor. Wiozen API bu isteği reddetmek yerine bütçeyi bir düzeye çevirir: 4.000'in altı low, 16.000'in üstü high, arası medium. Eski kodun değişmeden çalışır.

OpenAI biçimi bana ne kazandırır?

Uyum. Kod editörü eklentilerinin, sohbet arayüzlerinin, ajan çatılarının çoğu "OpenAI uyumlu" bir adres ister ve yalnız bu biçimi konuşur. Bir kez OpenAI biçimiyle yazdığın kod, taban adresi değiştirerek başka hizmetlerde de çalışır. Bağlantı adımları OpenAI uyumlu API bağlama yazısında.

OpenAI'nin daha yeni Responses biçimi de var (/v1/responses). Wiozen API onu da kabul eder; Codex gibi yalnız bu biçimi kullanan araçlar için. Kendi kodun için Chat Completions daha yaygın ve örneği daha bol.

Biçim değiştirirken nelere dikkat etmeliyim?

Sık sorulan sorular

İki biçimden biri daha mı ucuz?

Hayır. Aynı model iki biçimde de aynı fiyattan ücretlenir; fiyat yalnız modele bağlı.

Claude modellerini OpenAI SDK'sıyla kullanabilir miyim?

Evet. Model adını claude-sonnet-5-5 gibi yazman yeter, taban adres https://api.wiozen.com/v1.

Anthropic SDK'sında taban adrese /v1 eklemeli miyim?

Hayır, https://api.wiozen.com yaz; SDK /v1/messages'ı kendisi ekler. Eklersen de çalışır, çünkü /v1/v1/ adresi kabul edilir.

Token sayımı ücretli mi?

Hayır. /v1/messages/count_tokens ücretsizdir ve istek sınırlarına sayılmaz.

Aynı anahtarı iki biçimde kullanabilir miyim?

Evet. Anahtar biçime bağlı değil; aynı anahtar dört sohbet ucunun hepsinde geçerli.

Uçların tam listesi ve parametreler belgelerde. Model adlarını Modeller sayfasından kopyala.

Hesabını aç

Diğer rehberler: Türkiye'den kredi kartı olmadan yapay zekâ API'si nasıl kullanılır? · OpenAI uyumlu bir API mevcut bir araca nasıl bağlanır? · Yapay zekâ API maliyeti nasıl hesaplanır? · Yapay zekâ API anahtarım sızdıysa ne yapmalıyım? · Yapay zekâ API'siyle görsel nasıl üretilir ve görsel başı maliyeti ne kadar? · Yapay zekâ API'si neden 429 hatası veriyor, nasıl düzeltilir? · Uzun yanıt bekleyen API isteği neden zaman aşımına düşer: akışlı mı, akışsız mı? · Bağlam penceresi (context window) nedir, 1 milyon token ne işe yarar? · Hangi yapay zekâ modelini seçmeliyim: fiyat, bağlam ve kaliteye göre karar · Düşünen (reasoning) model neden boş cevap döner, düşünme tokenları neden ücretlenir? · API bakiyem neden beklediğimden hızlı bitiyor? Harcamayı istek istek takip etmek · Bir web sayfası yapay zekâya vermek için Markdown'a nasıl çevrilir? · WordPress'te yapay zekâyla otomatik makale nasıl yazdırılır? · Blog için RSS ve Google Trends'ten konu nasıl bulunur? · Yapay zekâyla yazılan içerik Google'da ve yapay zekâ yanıtlarında görünür mü? · WordPress'te yapay zekâyla yazılan makalelere iç bağlantı nasıl ekletilir? · WordPress'te her yazıya birbirine benzemeyen öne çıkan görsel yapay zekâyla nasıl ürettirilir? · Yapay zekâya blog yazısı yazdırırken içerik tarifi (brief) nasıl yazılır? · Yemek tarifi sitesine yapay zekâyla tarif yazdırırken nelere dikkat etmeli? · WordPress eklentisini yapay zekâ API hesabına bağlarken çıkan hatalar nasıl çözülür? · WordPress'te yapay zekâ yazı botu neden yarıda kalıyor? "Tur takıldı" uyarısı ve LiteSpeed · WordPress'te otomatik yazılar neden geç çıkıyor? WP-Cron ve gerçek sunucu cron'u · Yapay zekâ yazı botuyla İngilizce ya da başka dilde blog yazısı nasıl yazdırılır? · "İçerik Botu yazı üretemiyor" uyarısı ne demek? Bot günlüğündeki satırları okumak