Lyra

Geliştiriciler

Lyra API: OpenAI uyumlu.

Lyra'daki sohbet ve görsel modellerini kendi kodundan kullan. OpenAI'nin resmî SDK'ları ve “OpenAI base URL” ayarı olan araçlar değişiklik yapmadan çalışır. Siteye giriş yaptığın erişim anahtarı aynı zamanda API anahtarındır.

Base URL
https://lyrachat.com.tr/v1
Kimlik doğrulama
Authorization: Bearer lyra-XXXX-…
Alternatif başlık
x-api-key: lyra-XXXX-…
Biçim
JSON (UTF-8); akış yanıtları text/event-stream
Takma ad
/api/v1/* = /v1/*

Hızlı başlangıç

Anahtarını ortam değişkenine koy (LYRA_API_KEY), base URL'i https://lyrachat.com.tr/v1 yap. Örneklerdeki MODEL_ID yerine GET /v1/models çıktısından bir id yaz.

Cursor, Continue, Open WebUI, LibreChat, n8n gibi araçlarda sağlayıcı olarak “OpenAI (uyumlu)” seç; base URL ve anahtar yeterli. Ortam değişkeniyle çalışan araçlarda OPENAI_BASE_URL ve OPENAI_API_KEY. Anahtarını herkese açık bir web sayfasına ya da depoya koyma.

# pip install openai
import os
from openai import OpenAI

client = OpenAI(base_url="https://lyrachat.com.tr/v1", api_key=os.environ["LYRA_API_KEY"])

# Kullanılabilir modeller
for m in client.models.list():
    print(m.id, m.owned_by)

# Sohbet (akışlı)
stream = client.chat.completions.create(
    model="MODEL_ID",  # GET /v1/models listesinden bir sohbet modeli
    messages=[{"role": "user", "content": "Merhaba!"}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Uç noktalar

Şu an desteklenenlerin tamamı. Hepsi https://lyrachat.com.tr/v1 altında; /v1/status dışındakiler anahtar ister. Tarayıcıdan çağrılar CORS ile izinli.

  • GET
    /v1/models

    Kullanılabilir modeller (OpenAI liste biçimi). Her modelde owned_by (sağlayıcı) ve type (text = sohbet, image = görsel) alanı var.

  • GET
    /v1/models/{id}

    Tek bir modelin bilgisi.

  • POST
    /v1/chat/completions

    Sohbet tamamlama. stream: true ile SSE akışı; akışın son parçasında token kullanımı gelir. tools, response_format, reasoning_effort ve görsel girdi (image_url) olduğu gibi iletilir.

  • POST
    /v1/images/generations

    Görsel üretimi (OpenAI images biçimi): model, prompt, n (1–4), size, response_format (url / b64_json). Üretim birkaç dakika sürebilir; bağlantıyı açık tut.

  • GET
    /v1/me

    Anahtarının limitleri, kullanımı, kalan hakkı ve sıfırlanma zamanları. Takma ad: /v1/usage.

  • GET
    /v1/status

    Servis durumu (anahtar gerekmez): okunabilir JSON özet; grafik verisi için ?history=1.

Modeller

Model listesi değişebilir; güncel liste her zaman GET /v1/models yanıtındadır. Sohbet modelleri "type": "text", görsel modelleri "type": "image" taşır.

Sohbet ucuna (/v1/chat/completions) görsel modeli gönderirsen 400 model_not_supported, listede olmayan bir id için 404 model_not_found döner.

Aynı id birden fazla sağlayıcıda varsa listede sağlayıcı/model biçiminde görünür; isteğe listedeki id'yi aynen yaz.

Limitler ve kullanım

Limitler anahtar başınadır ve web arayüzüyle ortaktır. Değerler anahtara göre ayarlanır; kendi limitlerini, kullanımını ve sıfırlanma zamanlarını GET /v1/me ile gör.

chat_day
Günlük sohbet isteği. Türkiye saatiyle 00:00'da sıfırlanır.
chat_hour
Saatlik sohbet isteği. Saat başında sıfırlanır.
images_day
Günlük görsel üretimi; her istek n kadar düşer. 00:00'da (TSİ) sıfırlanır.
Her sohbet isteği (akışlı ya da değil) 1 sayılır; token sayısı limite etki etmez. Sağlayıcıya ulaşılamadığı için başarısız olan istekler iade edilir. Yanıtlarda OpenAI adlarıyla x-ratelimit-limit-requests, x-ratelimit-remaining-requests, x-ratelimit-reset-requests (görsellerde ayrıca x-ratelimit-*-images) başlıkları gelir; 429 yanıtlarında retry-after (saniye) bulunur. İstek gövdesi en fazla 10 MB olabilir.

Hatalar

Hatalar OpenAI biçimindedir; SDK'lar bunları kendi hata sınıflarına çevirir (ör. 401 → AuthenticationError, 429 → RateLimitError).

{
  "error": {
    "message": "Invalid API key.",
    "type": "invalid_request_error",
    "param": null,
    "code": "invalid_api_key"
  }
}
  • 400
    invalid_json, missing_model, invalid_messages, model_not_supported, invalid_n

    İstek gövdesi hatalı ya da model bu uç noktaya uygun değil (ör. sohbete görsel modeli).

  • 401
    invalid_api_key

    Anahtar yok veya yanlış.

  • 403
    revoked_api_key

    Anahtar iptal edilmiş.

  • 404
    model_not_found

    Model yok ya da kullanılamıyor; GET /v1/models listesine bak.

  • 413
    request_too_large

    İstek gövdesi 10 MB sınırını aşıyor.

  • 429
    rate_limit_exceeded

    Anahtarının limiti doldu; retry-after ve x-ratelimit-* başlıklarına bak.

  • 429
    too_many_auth_failures

    Aynı IP'den çok sayıda yanlış anahtar denemesi; retry-after kadar bekle.

  • 429
    upstream_rate_limit_exceeded

    Üst sağlayıcının hız sınırı doldu.

  • 502
    upstream_error

    Üst sağlayıcı hata verdi ya da ulaşılamadı. Akış sırasında olursa son SSE olayı bu hatayı taşır.

  • 503
    upstream_not_configured, api_disabled

    Sunucu tarafında yapılandırma eksik.

Durum ve erişim

API'nin ve sağlayıcıların anlık durumu servis durumu sayfasında. Erişim davetle; anahtarın yoksa giriş sayfasından iste.

Giriş yap