Models

GET /v1/models

List all available models with their capabilities, modalities, and cost information.

Headers

Header Required Description
Authorization Yes Bearer <api-key-or-jwt>

Request

No request body. This is a GET endpoint.

Examples

cURL
Python
OpenAI SDK
curl https://api.quantized.us/v1/models \
  -H "Authorization: Bearer sk-quantized-YOUR-KEY"
import httpx

response = httpx.get(
    "https://api.quantized.us/v1/models",
    headers={"Authorization": "Bearer sk-quantized-YOUR-KEY"},
)
models = response.json()["data"]
for model in models:
    print(f"{model['id']}: {model['name']}")
from openai import OpenAI

client = OpenAI(
    api_key="sk-quantized-YOUR-KEY",
    base_url="https://api.quantized.us/v1",
)

models = client.models.list()
for model in models.data:
    print(model.id)

Response

The response follows the OpenAI list envelope: a top-level object with "object": "list" and a data array of model objects.

{
  "object": "list",
  "data": [
    {
      "id": "openai/gpt-4.1-mini",
      "object": "model",
      "owned_by": "openai",
      "name": "GPT 4.1 Mini",
      "description": "Fast and cheap model with 1M token context window.",
      "model_author": "openai",
      "logo_url": "https://.../openai.svg",
      "input_modality": {
        "text": true,
        "image": true,
        "audio": false,
        "video": false
      },
      "output_modality": {
        "text": true,
        "image": false,
        "audio": false,
        "video": false
      },
      "context_limits": {
        "max_context": 1047576,
        "max_input": null,
        "max_output": 32768
      },
      "knowledge_cutoff": "2024-04-01",
      "is_open_weights": false,
      "status": "active",
      "supported_features": ["tool_calls", "structured_output", "attachments", "temperature"],
      "cost": {
        "prompt": 0.4,
        "completion": 1.6,
        "cache_read": 0.1
      }
    }
  ]
}

Response fields

Field Type Description
object string Always "list"
data array List of model objects

Each entry in data contains:

Field Type Description
id string Model identifier (use this in the model field of requests)
object string Always "model"
owned_by string or null Model owner (same as model_author)
name string Human-readable model name
description string or null Model description
model_author string Model creator (e.g., openai, anthropic)
logo_url string or null Author logo, for rendering a model picker
input_modality object Supported input types: text, image, audio, video
output_modality object Supported output types: text, image, audio, video
context_limits object or null max_context, max_input, max_output in tokens. Any of the three can be null
knowledge_cutoff string or null Training cutoff as YYYY-MM-DD
is_open_weights boolean Whether the weights are publicly available
status string active or deprecated
supported_features array or null Supported capabilities. Current values: tool_calls, reasoning, attachments, temperature, structured_output, embeddings, bedrock_embeddings, gemini_embeddings
cost object Rates in USD per million tokens, or per image. Shape varies — see below

Deprecated models

status is deprecated when the author has announced a retirement but the model is still served. It keeps working, and it still appears in this list. Treat it as a signal to migrate rather than an error.

Cost shapes

cost is not a fixed schema. Read the keys that are present rather than assuming any of them:

Key Meaning Appears on
prompt Per million input tokens Token-priced models
completion Per million output tokens Token-priced models
cache_read Per million cached input tokens Models with prompt caching
cache_write Per million tokens written to cache Anthropic-style caching
prompt_batch Discounted input rate for a provider’s batch endpoint Gemini embeddings (half the prompt rate)
per_image Flat rate per generated image Imagen

cost can also be {}, meaning the catalog carries no rate for the model. That is not the same as free: the provider adapter computes the charge and reports it as usage.credits_used on the response. Always bill against usage.credits_used rather than deriving cost from this field.

No provider information

This response does not say which provider serves a model, so it cannot be used to check whether a model is reachable through a particular X-Quantized-Provider pin. See Providers.

Errors

Status Condition
401 Invalid or missing API key