İçeriğe geç
Genel Bakış

Genel Bakış

API'nin haritası: her uç nokta, bir istek ve bir hatanın nasıl göründüğü, çağrıların nasıl ödendiği ve bir OpenAI ya da Anthropic SDK'sından geliyorsanız bilmeniz gerekenler.

Uç noktalar

Her uç nokta tek bir temel URL altında yer alır ve HTTPS üzerinden sunulur.

Temel URL
https://api.shannon-ai.com
Uç nokta Biçim Ne işe yarar
POST /v1/chat/completions OpenAI Chat Completions Bir konuşma gönderin, sonraki yanıtı alın. Streaming ile ya da streaming olmadan.
POST /v1/messages Anthropic Messages Aynısı, Anthropic SDK'larının istek ve yanıt biçimlerinde.
POST /v1/responses OpenAI Responses Aynısı, Responses biçimlerinde. Uç nokta durum tutmaz: konuşmayı her istekle birlikte gönderin.
GET /v1/models OpenAI model listesi Modelleri bağlam penceresi, fiyatlar ve yeteneklerle listeleyin. Anahtar gerektirmez.
POST /v1/tokenize Shannon API Host edilen açık ağırlıklı bir model için bir metnin ya da bir sohbet isteğinin token'larını sayın. Ücretsiz.
POST /v1/messages/count_tokens Anthropic token sayımı Host edilen açık ağırlıklı bir model için bir Messages isteğinin giriş token'larını sayın. Ücretsiz.

Metin üreten üç uç nokta aynı modellere ulaşır. Kodunuzun zaten kullandığı biçime uyanı seçin.

İstek temelleri

Başlık Açıklama
Authorization: Bearer <key> API anahtarınız. x-api-key göndermiyorsanız GET /v1/models dışındaki her uç noktada zorunludur.
x-api-key: <key> Anthropic SDK'larının gönderdiği başlıkta aynı anahtar. Her uç noktada okunur.
Content-Type: application/json Her POST için zorunludur. Onsuz yanıt 415 olur.
x-request-id: <your id> İsteğe bağlı. İsteğe verdiğiniz kendi kimliğiniz; x-request-id yanıt başlığında geri gelir. Onsuz API 12 onaltılık karakterden oluşan bir tane üretir.
  • Her POST isteğinin gövdesi, en fazla 32 MiB'lık tek bir JSON nesnesidir.
  • API'nin bilmediği bir alan hata oluşturmaz ve etkisi yoktur. Başka bir sağlayıcı için yazılmış bir istek fazladan bir alan yüzünden başarısız olmaz.
  • Yanlış JSON türünde bilinen bir alan ya da eksik zorunlu bir alan 422 ile yanıtlanır. Geçerli JSON olmayan bir gövde 400 ile yanıtlanır.
  • model, Models & pricing sayfasındaki kimliklerden biridir. Büyük ve küçük harf fark etmez.

Yanıt JSON'dır; istek stream değerini true yaptıysa server-sent events akışıdır. Her uç nokta kendi biçiminde yanıt verir. Her yanıtta x-request-id başlığı bulunur.

Bir isteğin geçtiği denetimler

Bir model çalışmadan önce istek belirli bir sırayla denetlenir. Başarısız olan ilk denetim yanıt verir; bu yüzden bir 401 henüz gövde hakkında hiçbir şey söylemez.

Hata biçimi

Hata, type ve message içeren bir error taşıyan JSON nesnesidir. /v1/messages onu Anthropic SDK'larının beklediği şekilde sarar; diğer her yol OpenAI biçimini kullanır.

{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: gpt-4o"
  }
}
  • type ve message alanlarını okuyun. code ve param yalnızca bazı hatalarda bulunur: bunları isteğe bağlı sayın. param her zaman null'dır.
  • Bir stream başladıktan sonra durum zaten 200'dür. O zaman bir başarısızlık stream içinde bir hata frame'i olarak gelir.
  • Her hata yanıtı x-request-id başlığını taşır.
Durum Tür Ne zaman
400 invalid_request_error Gövde geçerli JSON değil, model kimliği bilinmiyor ya da model gönderdiğiniz bir girdi türünü kabul etmiyor.
401 authentication_error Anahtar eksik veya geçerli değil.
404 not_found_error Yol mevcut değil.
405 api_error Yol mevcut, yöntem yanlış.
413 invalid_request_error Gövde 32 MiB'tan büyük.
415 invalid_request_error Content-Type değeri application/json değil.
422 invalid_request_error Bir alanın JSON türü yanlış ya da zorunlu bir alan eksik.
429 rate_limit_error Bakiye isteği karşılamıyor, bir dakikada 120'den fazla istek geldi, penceredeki Shannon Coder çağrıları tükendi ya da model meşgul. Mesaj hangisi olduğunu söyler.
5xx api_error 500, 502, 503 veya 504 durumu: istek geçerliydi ve yanıtlanamadı. Yeniden gönderin. Bir 500, server_error türünü taşıyabilir.

Hata yönetimi

Faturalandırma ve bakiye

  • Hesap başına tek bir bakiye vardır ve sohbet ile API onu paylaşır: önce bugünün plan limiti, sonra satın alınan kredi. API'nin kendine ait bir kotası yoktur.
  • Bir istek çıktı bütçesini (max_tokens, varsayılan 4,096) ayırır ve sonra gerçekten kullandığı token'lar için modelin fiyatından ücretlendirilir.
  • Her yanıt token sayılarını usage içinde bildirir. Keys & usage sayfası bakiyeyi ve her isteğin maliyetini gösterir.
  • Her istek eşit karşılanır. İstek hızındaki tek sınır flood korumasıdır: hesap başına dakikada 120 istek. Paralel gönderilen istekler sırada bekler.

Limitler ve bakiye Modeller ve fiyatlandırma Keys & usage

Modele bağlı alanlar

Her model aynı isteği kabul eder. Birkaç alan yalnızca bazı modellerde etkili olur; tablo nerede olduğunu belirtir. Uç nokta sayfaları her alanı listeler.

Alan Açıklama Uygulayan
system Model için talimatlar: Chat Completions'ta bir system mesajı, Messages'ta system, Responses'ta instructions. Host edilen açık ağırlıklı modeller, shannon-1.6-*, shannon-2-*, shannon-coder-1
temperature Örnekleme sıcaklığı. Host edilen açık ağırlıklı modeller, shannon-1.6-*, shannon-coder-1
top_p Nucleus örnekleme. Host edilen açık ağırlıklı modeller
seed Örnekleme için sabit bir seed. Host edilen açık ağırlıklı modeller
stop En fazla 4 durdurma dizisi. Host edilen açık ağırlıklı modeller
reasoning_effort Modelin yanıt vermeden önce ne kadar akıl yürüttüğü. Responses'ta reasoning.effort, Messages'ta thinking. Host edilen açık ağırlıklı modeller
web_search true, modelin bu istek için web'de arama yapmasına izin verir. Bu API'ye ait bir alandır; Chat Completions ve Messages üzerinde geçerlidir. shannon-coder-1 dışındaki Shannon modelleri
max_tokens Çıktı bütçesi. Her modelde bakiyenizden ayrılan miktarı belirler. Yanıt uzunluğunun sınırı olarak: host edilen açık ağırlıklı modeller, shannon-1.6-*, shannon-coder-1

Chat Completions

OpenAI SDK'sından geliyorsanız

  • Temel URL'yi https://api.shannon-ai.com/v1 olarak, anahtarı da Shannon anahtarınız olarak ayarlayın. Chat Completions ve Responses çağrıları o zaman SDK ile olduğu gibi çalışır.
  • model bir Shannon kimliği olmalıdır. gpt-4o gibi başka bir sağlayıcının model adı 400 ve unknown model ile yanıtlanır.
  • Akıl yürütme kendi alanında gelir: mesajda ve stream delta'larında content yanında reasoning_content.
  • Bir stream, usage bilgisini her zaman son chunk içinde, finish_reason ile birlikte taşır.
  • Bir stream içindeki araç çağrısı, eksiksiz arguments dizesiyle tek bir chunk olarak gelir.
  • Bir yanıtın tek bir choice'ı vardır.
  • Yukarıdaki tabloda olmayan OpenAI API yolları, örneğin /v1/embeddings, 404 ile yanıtlanır.

Anthropic SDK'sından geliyorsanız

  • Temel URL'yi /v1 olmadan https://api.shannon-ai.com olarak, anahtarı da Shannon anahtarınız olarak ayarlayın. SDK onu x-api-key olarak gönderir.
  • model bir Shannon kimliği olmalıdır.
  • max_tokens bu API'de isteğe bağlıdır. Varsayılanı 4,096'dır.
  • Bir yanıt thinking, text ve tool_use türünde içerik blokları taşır. İlk blok her zaman metin değildir: blokları type alanına göre seçin.
  • stop_reason değeri end_turn veya tool_use olur. Bir Shannon modelinin stream'i max_tokens ile de bitebilir.
  • anthropic-version ve anthropic-beta kabul edilir; böylece SDK değişmeden çalışır. Bir isteğin bunlara ihtiyacı yoktur.
  • /v1/messages üzerindeki hatalar Anthropic biçimindedir: {"type": "error", "error": {…}}.

Bu biçimleri konuşan kodlama araçları aynı şekilde ayarlanır: temel URL, anahtar ve model olarak bir Shannon kimliği. CLI kodlama araçları