Model Kesfi (/v1/models)
/v1/models platformdaki tum genel modelleri makine tarafindan okunabilir bicimde yayinlar. Uc kimlik dogrulamasi istemez: API anahtari olmadan da cagirabilirsiniz.
Yanit OpenAI'nin /v1/models semasiyla birebir uyumludur ve uzerine model secimi icin gereken alanlari ekler: baglam penceresi, fiyat, modalite ve desteklenen istek parametreleri. Ajan cerceveleri ve model yonlendirici kutuphaneler bu alanlari okuyarak katalogu ek bir adaptor yazmadan tuketebilir.
Tum modelleri listeleme
Section titled “Tum modelleri listeleme”curl https://llmtr.com/v1/models{ "object": "list", "data": [ { "id": "aion-labs/aion-3.0", "object": "model", "created": 1783601983, "owned_by": "aion-labs", "name": "AionLabs: Aion 3.0", "description": "Uzun kurgu, roleplay ve karakter odakli diyaloglar icin AionLabs modeli.", "context_length": 131072, "architecture": { "modality": "text->text", "input_modalities": ["text"], "output_modalities": ["text"], "tokenizer": null, "instruct_type": null }, "pricing": { "prompt": "0.000003", "completion": "0.000006", "input_cache_read": "0.00000075" }, "top_provider": { "context_length": 131072, "max_completion_tokens": 131072, "is_moderated": false }, "per_request_limits": null, "supported_parameters": [ "include_reasoning", "max_completion_tokens", "max_tokens", "parallel_tool_calls", "reasoning", "temperature", "tool_choice", "tools", "top_p" ], "supported_operations": ["CHAT_COMPLETIONS"], "supported_endpoints": ["/v1/chat/completions"] } ]}Alanlar
Section titled “Alanlar”| Alan | Anlami |
|---|---|
id | Istekte model olarak gonderilecek kanonik kimlik. |
context_length | Toplam pencere: girdi ve cikti birlikte. |
top_provider.context_length | context_length ile ayni deger. |
top_provider.max_completion_tokens | Tek bir yanitta uretilebilecek en fazla token. context_length ile ayni sey degildir ve genelde ondan cok daha kucuktur. |
architecture.modality | girdi->cikti bicimi. Ornek: text+image->text. |
pricing.* | USD, tek birim basina (token basina, gorsel basina, cagri basina). Milyon token basina degil. |
supported_parameters | Bu model icin kabul edilen istek parametreleri. |
reasoning | Yalnizca dusunen modellerde bulunur. Alanin hic olmamasi "reasoning yok" demektir. |
supported_operations | Modelin cagrilabilecegi operasyonlar. |
supported_endpoints | Modelin cagrilabilecegi uclar. |
Fiyat birimi
Section titled “Fiyat birimi”pricing degerleri token basinadir. Milyon token basina fiyati bulmak icin 1.000.000 ile carpin:
"prompt": "0.000003" -> 0.000003 * 1_000_000 = $3.00 / 1M tokenDegerler ondalik string olarak yayinlanir, bilimsel gosterim kullanilmaz.
Katmanli fiyatlandirilan modellerde (girdi uzunluguna gore fiyati degisen modeller) pricing taban katmani yayinlar. Yogun saat farki uygulanan modellerde ise pencere disi taban fiyat yayinlanir. Her modelin tam fiyat tablosu icin model detay sayfasina bakin.
Bir alanin bulunmamasi, o metrigin model icin gecerli olmadigi anlamina gelir; "0" degil. Ornegin saniye basina faturalanan bir video modelinde prompt alani yer almaz.
max_completion_tokens nasil belirlenir
Section titled “max_completion_tokens nasil belirlenir”Bu alan hicbir zaman null donmez.
Ust tarafin baglam penceresinden kucuk bir cikti tavani dayattigi modellerde olculmus tavan yayinlanir. Deger tahmin edilmez: her modele asiri buyuk bir max_tokens gonderilip saglayicinin kendi reddindeki sayi okunur ve katalog ona gore guncellenir.
Olculmus bir tavani olmayan modellerde ise context_length yayinlanir. Bir yanit baglamin parcasi oldugu icin bu her kosulda gecerli bir ust sinirdir; sadece bazi modellerde gercek tavandan gevsek kalir.
Bu alani null birakmak yerine bu iki degerden birini yayinlamak bilincli bir tercih: null goren istemciler kendi varsayilanini koyuyor ve 4096 yaygin bir varsayilan. Bu, 128K token uretebilen bir modeli 4K'lik bir model gibi gosteriyordu.
Gateway, katalogda olculmus tavani olan modellerde bu siniri istegi ust tarafa gondermeden once uygular; asan istekler max_output_tokens_exceeded ile 400 doner.
Tool calling destekleyen modelleri filtreleme
Section titled “Tool calling destekleyen modelleri filtreleme”supported_parameters sorgu parametresi ile filtreleyebilirsiniz. Birden fazla deger virgulle ayrilir ve hepsini birden destekleyen modeller doner.
curl "https://llmtr.com/v1/models?supported_parameters=tools"Reasoning ve tool calling'i birlikte destekleyenler:
curl "https://llmtr.com/v1/models?supported_parameters=tools,reasoning"Ajan cerceveleri genellikle tools desteklemeyen modelleri kullanamaz, bu yuzden katalogunuzu olustururken bu filtreyi kullanmaniz onerilir.
Tek bir modeli sorgulama
Section titled “Tek bir modeli sorgulama”curl https://llmtr.com/v1/models/openai/gpt-4o-miniListe icindeki kayitla ayni semayi dondurur. Bilinmeyen bir kimlik icin 404 doner.
Onbellek ve limitler
Section titled “Onbellek ve limitler”Uc kimlik dogrulamasiz oldugu icin kaynak kullanimi onbellek ve hiz siniri ile yonetilir:
- Yanitlar
Cache-Control: public, max-age=300, s-maxage=300, stale-while-revalidate=3600, stale-if-error=86400ile doner. Paylasimli bir onbellek, sure dolduktan sonra da yaniti servis etmeye devam eder ve arkada tazeler. - Her yanitta bir
ETagbulunur. Bir sonraki istekteIf-None-Matchgonderirseniz katalog degismediyse304 Not Modifiedalirsiniz ve govde aktarilmaz. - IP basina dakikada 120 istek sinirlidir. Asildiginda
429veRetry-Afterdoner.
Duzenli olarak katalog ceken bir arac icin dogru davranis ETag saklayip If-None-Match gondermektir:
ETAG=$(curl -sI https://llmtr.com/v1/models | grep -i '^etag:' | cut -d' ' -f2- | tr -d '\r')curl -s -o /dev/null -w "%{http_code}\n" \ -H "If-None-Match: $ETAG" \ https://llmtr.com/v1/modelsTarayicidan erisim
Section titled “Tarayicidan erisim”Uc her origin'e aciktir (Access-Control-Allow-Origin: *) ve kimlik bilgisi tasimaz, bu yuzden tarayici tabanli araclardan dogrudan fetch ile okunabilir:
const response = await fetch("https://llmtr.com/v1/models");const { data } = await response.json();
const toolCapable = data.filter((model) => model.supported_parameters?.includes("tools"));