Models¶
GET /v1/models, the catalog currently servable by the pool, with each model's context window
and live pricing. This endpoint is the machine-readable twin of the
rate card.
This endpoint requires no authentication and is served CORS-open
(Access-Control-Allow-Origin: *):
curl https://api.keln.ai/v1/models
{
"object": "list",
"data": [
{
"id": "deepseek-ai/deepseek-v4-flash",
"object": "model",
"owned_by": "keln",
"created": 1783468800,
"added": 1785196800,
"context_length": 1048576,
"input_modalities": ["text"],
"pricing": {
"prompt": "0.00000014",
"completion": "0.00000028",
"input_cache_read": "0.00000007"
},
"performance": {
"tps_p50": 64.2,
"ttft_p50_ms": 520,
"as_of": 1786000000
}
}
]
}
Fields¶
| Field | Meaning |
|---|---|
id |
The model id you pass to /v1/chat/completions, the open ecosystem's own naming (org/model), canonically lowercase. |
context_length |
The model's context window (prompt + output tokens), the number Keln enforces. Every listed model declares one, so treat the field as always present. Oversized requests are rejected against this number before billing. |
input_modalities |
Always present: ["text"], or ["text","image"] for models that accept image_url content parts (Images). |
pricing |
Per-token USD strings: prompt / completion / input_cache_read. Multiply by 1M for the rate card's $/Mtok. |
performance |
Live routing figures for the model: tps_p50 (delivered output tokens per second), ttft_p50_ms (median time to first token, present when there's a figure for it), and as_of (unix seconds). Omitted entirely when no fresh measurement exists, read its absence as "no recent data", not as zero. |
added |
Unix seconds, when the model joined the Keln catalog. This is the real date. |
created |
A constant epoch, held fixed for strict OpenAI clients that require the field. It is not a date; use added. |
Practical uses¶
- Pre-flight sizing, read
context_lengthbefore sending huge prompts instead of catchingcontext_length_exceeded. - Live pricing,
pricingalways matches what billing charges; scrape this instead of hardcoding the rate card. - Catalog discovery, a model is listed only when it is both servable at the published SLA and priced; it leaves with 14 days' notice.