Ç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.

Hız limitleri

Hesap

Hız limitleri

Plana göre dakikalık istek limitlerini, anahtar başına RPM ve günlük USD limitlerini ve 429 hatasını geri çekilme ile nasıl ele alacağınızı öğrenin.

Hız limitleri hem bakiyenizi hem de servisi korur. Limitler API anahtarı başına dakikalık istek sayısı (RPM) olarak hesaplanır; anahtarların ayrıca günlük bir USD harcama limiti de olabilir.

Plana göre limitler

PlanDakikalık istek
Free5
Pro100
Team3,000
Enterprise3,000+

Limitinizi yükseltmek için fiyatlandırma sayfasından planınızı yükseltin.

Anahtar başına limitler

API anahtarları sayfasında bir anahtar oluştururken veya düzenlerken şunları ayarlayabilirsiniz:

LimitEtkisi
RPM limitiBu anahtar için dakikalık istek sayısını sınırlar. Geçerli limit, anahtar limiti ile plan limitinizden düşük olanıdır.
Günlük USD limitiAnahtar bugün (UTC) bu tutarı harcadığında, sonraki istekler ertesi güne kadar 429 daily_limit_reached döndürür.
Model izin listesiBu anahtarla yalnızca listelenen model kimlikleri kullanılabilir; diğerleri 403 model_not_allowed döndürür.

RPM penceresi bir dakikadır ve anahtar başına sayılır; bu nedenle farklı uygulamalar için ayrı anahtarlar aynı limiti paylaşmaz, ancak her anahtar yine de plan limitinizle sınırlıdır.

Hız sınırı başlıkları

Her üretim yanıtı (başarılı ya da hatalı) nerede olduğunuzu söyler; sınıra çarpmadan önce yavaşlayabilirsiniz:

BaşlıkAnlamı
X-RateLimit-LimitBu anahtar için geçerli bir dakikalık pencerede izin verilen istek sayısı.
X-RateLimit-RemainingPencerede kalan istek sayısı.
X-RateLimit-ResetPencerenin sıfırlanmasına kalan saniye.

Tarayıcı istemcileri de okuyabilir (başlıklar Access-Control-Expose-Headers içinde).

Anlık yoğunluk ve eşzamanlılık

Sınırı aşan istekler hemen reddedilmez: sırada bekler ve dakikalık pencere açılınca başlar. Hesap başına aynı anda en çok 10 istek çalışır, gerisi biri bitene kadar bekler. Her istek başlamadan önce tahmini en yüksek bedeli, çalışan isteklerinkiyle birlikte bakiyenden ayrılır; paralel istekler bakiyenden fazlasını harcayamaz. 60 saniye içinde başlayamayan istek Retry-After ile 429 (rate_limited ya da concurrency_limit) döner; bedeli artık bakiyene sığmayan istek 402 insufficient_balance döner.

Idempotency-Key ile güvenli yeniden deneme

Bir ağ hatasından sonra isteğin bize ulaşıp ulaşmadığından emin olamayabilirsiniz. Bir Idempotency-Key başlığı gönderin (en fazla 120 karakterlik benzersiz bir dize, örneğin bir UUID) ve aynı anahtarla yeniden deneyin. İlk istek modele zaten gönderildiyse yeniden deneme işi iki kez çalıştırıp iki kez ücretlendirmek yerine 409 idempotency_conflict döner. İlk istek modele ulaşmadan düştüyse anahtar serbest kalır ve yeniden deneme normal çalışır. Bir anahtar hesap başına 24 saat içinde bir kez kullanılabilir.

curl https://api14.com/api/v1/images/generations \
  -H "Authorization: Bearer $API14_KEY" \
  -H "Idempotency-Key: 6f1c2a3e-siparis-1842" \
  -H "Content-Type: application/json" \
  -d '{"model": "black-forest-labs/flux-3-image", "prompt": "kırmızı bir bisiklet"}'

Bir limite takıldığınızda

Çok fazla istek

HTTP/1.1 429 Too Many Requests
Retry-After: 60
{
  "error": {
    "message": "Rate limit of 5 requests per minute exceeded.",
    "type": "rate_limit_error",
    "code": "rate_limited"
  }
}

Retry-After içindeki saniye kadar bekleyin, ardından yeniden deneyin. Resmi OpenAI SDK'ları 429 yanıtlarını backoff ile otomatik olarak yeniden dener (varsayılan olarak iki deneme; maxRetries / max_retries ile yapılandırılır).

Günlük harcama limiti

{
  "error": {
    "message": "This API key reached its daily spend limit.",
    "type": "rate_limit_error",
    "code": "daily_limit_reached"
  }
}

Bir sonraki UTC gününe kadar yeniden denemek işe yaramaz. Bu beklenen bir trafikse, anahtarın günlük limitini API anahtarları sayfasından yükseltin veya kaldırın.

Upstream limitleri

Sağlayıcıların kendi limitleri vardır ve bunlar :free model varyantları için daha sıkıdır. Bir sağlayıcı bir isteği hız limitine takarsa, onun 429 yanıtı size iletilir. Yükü sağlayıcılar arasında dağıtmak için model yedeklerini veya sağlayıcı yönlendirmeyi kullanın.

Kodda limitleri ele almak

  • Retry-After değerine uyun ve üstel backoff ile jitter kullanarak yeniden deneyin.
  • rate_limited (daha sonra yeniden deneyin) ile daily_limit_reached ve insufficient_balance (yeniden denemek işe yaramaz) durumlarını birbirinden ayırın.
  • Arka plan işlerini hepsini birden göndermek yerine kuyruğa alın.
  • Uzun yanıtları stream edin: stream edilen bir istek tek bir istek sayılır.
import time
from openai import OpenAI, RateLimitError

client = OpenAI(base_url="https://api14.com/api/v1", api_key="sk-api14-...", max_retries=0)

for attempt in range(5):
    try:
        r = client.chat.completions.create(model="openai/gpt-5-mini", messages=[{"role": "user", "content": "Hi"}])
        break
    except RateLimitError as e:
        if e.code == "daily_limit_reached":
            raise
        time.sleep(int(e.response.headers.get("retry-after", 2 ** attempt)))

Tüm durum kodları için bkz. Hatalar.