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/modelsKullanı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/completionsSohbet 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/generationsGö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/meAnahtarının limitleri, kullanımı, kalan hakkı ve sıfırlanma zamanları. Takma ad: /v1/usage.
- GET
/v1/statusServis 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.
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_keyAnahtar yok veya yanlış.
- 403
revoked_api_keyAnahtar iptal edilmiş.
- 404
model_not_foundModel 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_exceededAnahtarının limiti doldu; retry-after ve x-ratelimit-* başlıklarına bak.
- 429
too_many_auth_failuresAynı 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_disabledSunucu 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