Çerez kullanıyoruz. Çerezler ve tarayıcı depolaması oturumunu açık tutar ve tercihlerini hatırlar. İzin verirsen sitenin nasıl kullanıldığını da ölçeriz. İstediğin zaman . Ayrıntılar için çerez politikamıza bak.

Sorun giderme

Hesap

Sorun giderme

401, 402, 403, 404 ve 429 hatalarının, yanlış base URL, zaman aşımı, kesilen stream, CORS ve SDK sürümü sorunlarının nedenlerini ve çözümlerini bulun.

Çoğu sorun bir HTTP durumu ve hata gövdesindeki bir code olarak görünür. Aşağıda kodu bulun; tam liste Hatalar sayfasındadır. Başarısız istekler (her 4xx veya 5xx) asla ücretlendirilmez.

{ "error": { "message": "...", "type": "authentication_error", "code": "invalid_api_key" } }

401 invalid_api_key

Anahtar eksik, hatalı biçimlendirilmiş veya iptal edilmiş.

  • Anahtarı Authorization: Bearer sk-api14-... olarak gönderin. OpenAI SDK'ları bunu apiKey / api_key değerinden yapar; curl ile $API14_API_KEY değişkeninin çalıştırdığınız kabukta gerçekten ayarlı olduğunu kontrol edin (echo ${API14_API_KEY:0:9} çıktısı sk-api14- olmalıdır).
  • Anahtar bir .env dosyasından geliyorsa başıboş tırnak işaretlerine veya satır sonlarına dikkat edin.
  • Ortamda kalmış bir OPENAI_API_KEY, kullanmak istediğiniz anahtarı geçersiz kılabilir. Bunu elemek için anahtarı açıkça geçin.
  • İptal edilmiş bir anahtar hemen başarısız olur. Anahtarlar yalnızca bir kez gösterilir; birini kaybettiyseniz API anahtarları sayfasında yeni bir anahtar oluşturun ve eskisini iptal edin.

Bkz. Kimlik doğrulama.

402 insufficient_balance

USD bakiyeniz 0 veya (video için) işin tahmini maliyetinin altında. Bakiye ekleyene kadar istekler engellenir; yeniden denemek işe yaramaz.

  • Bakiyeyi GET /credits ile veya Faturalandırma sayfasında kontrol edin. Bkz. Bakiye ve anahtar bilgisi.
  • Bakiye ekleyin veya otomatik yüklemeyi açın. Planlar her ay aynı bakiyeye dahil kullanım ekler. Bkz. Fiyatlandırma ve faturalandırma.
  • Uzun süren işlerde bu kodu ölümcül sayıp durun; SDK'nın yeniden denemelerinin boşuna dönmesine izin vermeyin.

403 model_not_allowed veya plan_required

  • model_not_allowed: anahtarın model izin listesi bu model kimliğini içermiyor. Anahtarın izin listesini API anahtarları sayfasında düzenleyin veya izin listesi olmayan bir anahtar kullanın. Varyant sonekleri de sayılır: gönderdiğiniz tam kimliğin izinli olduğunu kontrol edin.
  • plan_required: planınız bu model kategorisini içermiyor. Standart planlar bütün kategorileri kapsar; planınızı fiyatlandırma sayfasından kontrol edin.

404 model_not_found veya not_found

  • model_not_found: model kimliği bilinmiyor, devre dışı veya kaldırılmış. Kimlikler sağlayıcı önekini içerir: gpt-5-mini değil, openai/gpt-5-mini. Tam kimliği GET /models veya GET /models/{id} ile bulun (anahtar gerekmez). Bkz. Model kimlikleri ve varyantlar.
  • not_found: yol mevcut değil veya video işi ya da generation kimliği size ait değil. Bu genellikle yanlış base URL anlamına gelir (aşağıya bakın). Bir isteğin hemen ardından yapılan Generation sorgulama, kayıt görünene kadar birkaç saniye 404 da döndürebilir.

Yanlış base URL

Base URL tam olarak şudur:

https://api14.com/api/v1

Sık yapılan hatalar:

AyarladığınızSonuç
https://api14.com/v1 veya https://api14.comİstekler API'ye değil web sitesine gider: HTML yanıtları, 404'ler veya tarayıcıda CORS hataları.
Base olarak https://api14.com/api/v1/chat/completionsSDK yolu tekrar ekler. Yalnızca base'i ayarlayın.
https://api.openai.com/v1 (varsayılan)api14 anahtarınız OpenAI tarafından reddedilir. Base URL'i kodda veya OPENAI_BASE_URL ile ayarlayın.

Kütüphane tuhaflıkları: ruby-openai v1 değerini kendisi ekler; bu yüzden uri_base değeri https://api14.com/api olur (Ruby); openai-go sonda bir eğik çizgi bekler, https://api14.com/api/v1/ (Go).

429 rate_limited

Anahtarınızın veya planınızın dakikalık istek limitini aştınız (Free 5, Pro 100, Team 3.000, Enterprise 3.000+). Yanıt Retry-After: 60 içerir.

  • Retry-After süresini bekleyin ve üstel geri çekilme ile jitter kullanarak yeniden deneyin. Resmi OpenAI SDK'ları bunu zaten yapar (varsayılan olarak iki yeniden deneme; maxRetries / max_retries değerini artırın).
  • Toplu işlerde istekleri hepsini bir anda atmak yerine aralıklı gönderin ve tek istekte birden çok öğe koyun. Bkz. Rehber: toplu işleme.
  • 429 sağlayıcıdan da gelebilir, özellikle :free varyantlarında. Yükü dağıtmak için model yedekleme veya sağlayıcı yönlendirme kullanın.

429 daily_limit_reached

Anahtar günlük USD harcama limitine ulaştı. Bir sonraki UTC gününe kadar yeniden denemek işe yaramaz. Trafik beklenen bir şeyse limiti API anahtarları sayfasında artırın veya kaldırın. Yeniden deneme mantığınızın bu kodu rate_limited kodundan ayırdığından emin olun; aksi halde işler boşuna yeniden denemeye devam eder. Bkz. Hız limitleri.

Zaman aşımları

Büyük modeller, reasoning modelleri ve uzun çıktılar dakikalar sürebilir.

  • İstemci zaman aşımınızı kontrol edin. Node ve Python SDK'ları varsayılan olarak 10 dakika kullanır; diğer HTTP istemcileri çoğunlukla daha kısa varsayılanlar kullanır.
  • Uzun üretimleri stream edin. Token'lar saniyeler içinde gelmeye başlar ve proxy'lerdeki ve yük dengeleyicilerdeki boşta bağlantı zaman aşımları sorun olmaktan çıkar. Bkz. Streaming.
  • max_tokens ayarlayın ve reasoning modelleri için daha düşük bir reasoning çabası seçin.
  • İstekleri kendi sunucunuz üzerinden aktarıyorsanız onun proxy zaman aşımları da geçerlidir (örneğin varsayılanı 60 saniye olan nginx proxy_read_timeout).
  • Sizin tarafınızdaki bir zaman aşımı, sağlayıcı tarafındaki üretimi iptal etmez ve yine de faturalandırılabilir. Kontrol etmek için istek kimliğiyle Generation sorgulama kullanın.

Streaming kopuyor veya erken duruyor

  • Son parçadaki finish_reason değerini kontrol edin. "length", max_tokens değerine ulaşıldığı; "error" ise sağlayıcının stream ortasında başarısız olduğu anlamına gelir ve parça bir error nesnesi taşır. Yeniden deneyin veya yedekler ekleyin.
  • Proxy'ler ve serverless platformlar bazen SSE yanıtlarını tamponlar veya keser. Tamponlamayı kapatın (nginx'te X-Accel-Buffering: no) ve platformun en uzun yanıt süresini kontrol edin.
  • Stream'i kendiniz ayrıştırıyorsanız : ile başlayan yorum satırlarını (keep-alive) yok sayın ve data: [DONE] satırında durun.
  • Bağlantıyı erken kapatmak faturayı iptal etmez: sağlayıcı üretimi yine de bitirebilir.

CORS hataları ve tarayıcı uygulamaları

API anahtarını asla tarayıcı veya mobil koda koymayın. Herkes onu sayfadan okuyup bakiyenizi harcayabilir. api14'ü kendi backend'inizden çağırın ve tarayıcıya yalnızca kendi uç noktanızı açın:

// server.js (Node / Express)
app.post("/api/chat", async (req, res) => {
  const stream = await client.chat.completions.create({
    model: "openai/gpt-5-mini",
    messages: req.body.messages, // validate and limit this input
    stream: true,
  });
  for await (const chunk of stream) res.write(chunk.choices[0]?.delta?.content ?? "");
  res.end();
});

Geliştirme sırasında tarayıcıda görülen CORS hatası genellikle yanlış base URL (istek API yerine web sitesine ulaştı) veya API'nin preflight kontrolünün izin vermediği özel bir istek başlığıdır; çağrıyı sunucunuza taşımak ikisini de çözer.

SDK sürüm sorunları

  • 1.0 öncesi Python openai openai.ChatCompletion.create ve openai.api_base kullanır. pip install -U openai ile yükseltin ve OpenAI(base_url=..., api_key=...) istemcisini kullanın.
  • chat.completions.parse yok: eski 1.x/4.x sürümlerinde yalnızca client.beta.chat.completions.parse vardır. Paketi yükseltin.
  • SDK'dan gelen bilinmeyen parametre hataları ağ geçidi alanları için (provider, models, reasoning, plugins): bunları Python'da extra_body ile, diğer SDK'larda eşdeğer ek gövde seçeneğiyle geçin. Bkz. OpenAI SDK uyumluluğu.
  • Sağlayıcı mesajlı sağlayıcı kaynaklı 400: parametre o model veya sağlayıcı tarafından desteklenmiyor. Modeller içinde modelin supported_parameters alanına bakın veya provider: { "require_parameters": true } ekleyin.