Skip to content

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

GET/v1/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
curl https://api.unoblox.ai/v1/models \
  -H "Authorization: Bearer $UNOBLOX_API_KEY"
response
{
  "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
    }
  ]
}
FieldTypeNotes
idstringThe author/model slug — pass this as model.
objectstringAlways "model".
owned_bystringAuthor namespace, or "unoblox".
namestringHuman-readable display name.
context_lengthnumber | nullMax context window in tokens.
input_modalitiesstring[]e.g. ["text", "image"].
output_modalitiesstring[]e.g. ["text"].
capabilitiesobjectFeature flags: tools, structured_outputs, reasoning, …
pricingobjectPer-token catalog rate, as decimal strings — prompt and completion. Billing is ₹-native; see /docs/pricing.
freemiumbooleantrue 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:

AliasSelects
unoblox/autoBest value — highest quality-per-rupee that can serve the request.
unoblox/paretoThe cost/quality frontier — the balanced "knee" of the curve.
unoblox/freeThe 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:

FormExampleResolves to
~author/model-latest~<author>/<model>-latestNewest <model>-* in the catalog
author/model:latest<author>/<model>:latestSame, 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:

SuffixEffect
:freeOnly zero-priced endpoints are eligible.
:nitroOrder endpoints by throughput; admit the priority tier.
:floorOrder endpoints by lowest price; admit the flex tier.
:exactoAccuracy-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.