Reference
Models
unoblox provides a shared API for published models. This page covers how model ids are formed, how to list what your key can reach, and the aliases and variants that steer selection.
Model ids are slugs
A model is identified by an author/model slug — e.g. <author>/<model>. The part before the / is the author; when a slug has no / the owner is reported as unoblox. Pass the slug as the model field on any request. The catalog changes as providers onboard — always pick a real, currently-listed id from /models rather than one from a sample.
Listing models
Returns the catalog in OpenAI list form. The list is served from the live model catalog (refreshed on a short interval), so it always reflects what is currently available.
curl https://api.unoblox.ai/v1/models \
-H "Authorization: Bearer $UNOBLOX_API_KEY"{
"object": "list",
"data": [
{
"id": "<model-id>",
"object": "model",
"owned_by": "<author>",
"name": "<Model name>",
"context_length": 128000,
"input_modalities": ["text", "image"],
"output_modalities": ["text"],
"capabilities": { "tools": true, "structured_outputs": true, "reasoning": true },
"pricing": { "prompt": "0.00000125", "completion": "0.00001" },
"freemium": false
}
]
}| Field | Type | Notes |
|---|---|---|
| id | string | The author/model slug — pass this as model. |
| object | string | Always "model". |
| owned_by | string | Author namespace, or "unoblox". |
| name | string | Human-readable display name. |
| context_length | number | null | Max context window in tokens. |
| input_modalities | string[] | e.g. ["text", "image"]. |
| output_modalities | string[] | e.g. ["text"]. |
| capabilities | object | Feature flags: tools, structured_outputs, reasoning, … |
| pricing | object | Per-token catalog rate, as decimal strings — prompt and completion. Billing is ₹-native; see /docs/pricing. |
| freemium | boolean | true when the model is in the freemium tier: free while your workspace keeps the minimum balance, with a fair-use limit at any balance. Not a price — pricing still shows the published price. See /docs/freemium. |
Current catalog
Browse published records, current prices and serving endpoints in the model catalog. The JSON above is a documentation example, not a statement of available inventory.
Routing aliases
Instead of a concrete slug you can send a router alias and let unoblox choose the model for the request:
| Alias | Selects |
|---|---|
| unoblox/auto | Best value — highest quality-per-rupee that can serve the request. |
| unoblox/pareto | The cost/quality frontier — the balanced "knee" of the curve. |
| unoblox/free | The cheapest capable model, preferring genuinely zero-priced ones. |
Selection runs over the models your key is allowed to use, then provider failover applies as usual. Full behavior is in Routing.
Version aliases
Pin to “the latest in a family” instead of a dated slug. Both forms resolve to the newest version the catalog carries for that family:
| Form | Example | Resolves to |
|---|---|---|
| ~author/model-latest | ~<author>/<model>-latest | Newest <model>-* in the catalog |
| author/model:latest | <author>/<model>:latest | Same, colon form |
The tilde form also accepts the bare family (~<author>/<model>). “Newest” orders dated versions first, then dotted-numeric versions, then text.
Variants
Append a :variant suffix to bias how the request is routed among the endpoints that serve a model:
| Suffix | Effect |
|---|---|
| :free | Only zero-priced endpoints are eligible. |
| :nitro | Order endpoints by throughput; admit the priority tier. |
| :floor | Order endpoints by lowest price; admit the flex tier. |
| :exacto | Accuracy-biased: require full request-parameter support and prefer quality. |
:batch and :online are not accepted — either suffix on the primary model (or on any entry of a models fallback chain) gets a 400 before reserve, not a degraded response. The x-unoblox-variant-note header is reserved for a variant that degrades gracefully once it exists; it is not sent for these two. Any unrecognized suffix (a date tag, say) stays part of the slug.
The catalog is shared across every skin.
The same slugs work on /v1/chat/completions, /v1/responses and /v1/messages. Access can be narrowed per key with a model scope — see Authentication.