İçeriğe geç

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.

Terminal window
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"]
}
]
}
AlanAnlami
idIstekte model olarak gonderilecek kanonik kimlik.
context_lengthToplam pencere: girdi ve cikti birlikte.
top_provider.context_lengthcontext_length ile ayni deger.
top_provider.max_completion_tokensTek bir yanitta uretilebilecek en fazla token. context_length ile ayni sey degildir ve genelde ondan cok daha kucuktur.
architecture.modalitygirdi->cikti bicimi. Ornek: text+image->text.
pricing.*USD, tek birim basina (token basina, gorsel basina, cagri basina). Milyon token basina degil.
supported_parametersBu model icin kabul edilen istek parametreleri.
reasoningYalnizca dusunen modellerde bulunur. Alanin hic olmamasi "reasoning yok" demektir.
supported_operationsModelin cagrilabilecegi operasyonlar.
supported_endpointsModelin cagrilabilecegi uclar.

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 token

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

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.

Terminal window
curl "https://llmtr.com/v1/models?supported_parameters=tools"

Reasoning ve tool calling'i birlikte destekleyenler:

Terminal window
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.

Terminal window
curl https://llmtr.com/v1/models/openai/gpt-4o-mini

Liste icindeki kayitla ayni semayi dondurur. Bilinmeyen bir kimlik icin 404 doner.

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=86400 ile doner. Paylasimli bir onbellek, sure dolduktan sonra da yaniti servis etmeye devam eder ve arkada tazeler.
  • Her yanitta bir ETag bulunur. Bir sonraki istekte If-None-Match gonderirseniz katalog degismediyse 304 Not Modified alirsiniz ve govde aktarilmaz.
  • IP basina dakikada 120 istek sinirlidir. Asildiginda 429 ve Retry-After doner.

Duzenli olarak katalog ceken bir arac icin dogru davranis ETag saklayip If-None-Match gondermektir:

Terminal window
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/models

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"));