Overview
Models
One API for every model on CheapestToken
Every model we serve is listed by a single call to https://api.cheapest-token.com/api/v1/models — context window and public per-1M pricing included. Pick a model here, then pass its model_name as the model field in any OpenAI-compatible SDK.
Query Parameters
The list endpoint takes no filters today — one call returns every model we serve. The two entries below describe the contract each model honors instead: the chat parameters it accepts and the output types it produces.
supported_parameters
Every model behind the API accepts the OpenAI-standard chat parameters below. The set is identical across models, so code written against one model moves to another unchanged.
| Parameter | Type | Description |
|---|---|---|
model | string | ID from this catalog to route the request to, e.g. kimi-k3 |
messages | array | The conversation so far, as role/content turns |
temperature | number | Sampling temperature |
top_p | number | Nucleus sampling cutoff |
max_tokens | integer | Hard cap on generated tokens |
stream | boolean | Stream the reply back as server-sent events |
tools | array | Tool definitions the model may call |
seed | integer | Best-effort deterministic sampling |
response_format | object | Output shape, e.g. JSON mode |
output_modalities
Every model we serve today produces text. Image and audio outputs are not served yet — when they land, new values will appear here and in the catalog.
| Value | Description |
|---|---|
text | Served today by every model |
image | Not served yet |
audio | Not served yet |
List models
One GET returns the full catalog, prices included. The catalog is public — no key required.
curl https://api.cheapest-token.com/api/v1/models
Pointing an OpenAI SDK at the API, client.models.list() hits the OpenAI-compatible GET /v1/models surface — a bare id list for SDK compatibility — so existing code that enumerates models keeps working. Use the catalog above for context windows and pricing.
{
"models": [
{
"model_name": "kimi-k3",
"display_name": "Kimi K3",
"context_window": 1000000,
"input_per_1m_usd": "4.000000",
"output_per_1m_usd": "16.000000",
"cached_per_1m_usd": "1.000000"
}
]
}Single Model Lookup
There is no per-slug endpoint today — the catalog is one small call, so a lookup is a client-side filter on the same response:
curl -s https://api.cheapest-token.com/api/v1/models \ | jq '.models[] | select(.model_name == "kimi-k3")'
Models API Standard
The catalog shape is deliberately small and stable: a handful of fields per model, confirmed before they ship, so production code can rely on them.
API Response Schema
Root Response Object
| Field | Type | Description |
|---|---|---|
models | array | Every public model, as Model Objects below |
Model Object
Money fields are decimal strings in USD per 1M tokens — strings so precision survives the trip.
| Field | Type | Description |
|---|---|---|
model_name | string | Pass as model in chat requests |
display_name | string | Human-readable model name |
context_window | number | null | Context window in tokens; null until confirmed |
input_per_1m_usd | string | USD per 1M input tokens |
output_per_1m_usd | string | USD per 1M output tokens |
cached_per_1m_usd | string | USD per 1M cached input tokens |
cache_write_per_1m_usd | string | null | USD per 1M tokens written to cache; null when the model does not bill cache writes |
Supported Parameters
See supported_parameters above — one set, identical for every model.