Overview
The/api/v1/models
endpoint provides a list of available text generation models. It supports optional detailed information including pricing data. The endpoint maintains full backwards compatibility while adding powerful new features.
For embedding models, use the dedicated /api/v1/embedding-models endpoint which provides comprehensive information about all available embedding models.
Compatibility
Responses mirror OpenAI’s Models API shape. All models endpoints return:Features
- Basic Mode: Standard OpenAI-compatible model listing
- Detailed Mode: Enhanced information with pricing and model descriptions
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
detailed | boolean | false | Returns detailed model information including pricing and capabilities |
detailed=true
, additional human-friendly fields may be included per model:
name
— display namedescription
— short model descriptioncontext_length
— max input tokens (if known)capabilities.vision
— whether the model supports native image inputpricing.prompt
andpricing.completion
— at-cost per-million-token pricing in USDpricing.unit
—per_million_tokens
icon_url
— small icon representing the providercost_estimate
— internal rollup used in UI for cost hints
Authentication
Authentication is optional but enables user-specific pricing in detailed mode:Header | Format | Required | Description |
---|---|---|---|
Authorization | Bearer {api_key} | Optional | API key for user-specific pricing |
x-api-key | {api_key} | Optional | Alternative API key header |
- Invalid or missing API keys still return a list of models. We simply omit user-specific pricing considerations in
detailed=true
mode. - With a valid key, the canonical
/api/v1/models
may apply your account’s subscription visibility preference (see Endpoint Variants).
Response Formats
Basic Response (Default)
Standard OpenAI-compatible format without pricing information:Detailed Response
Enhanced format with model descriptions, context lengths, and pricing:Field Descriptions
Basic Fields (Always Present)
Field | Type | Description |
---|---|---|
id | string | Unique model identifier |
object | string | Always “model” for OpenAI compatibility |
created | number | Unix timestamp of response creation |
owned_by | string | Model provider (openai, anthropic, meta, google, etc.) |
Enhanced Fields (Detailed Mode Only)
Field | Type | Description |
---|---|---|
name | string | Human-readable model name |
description | string | Detailed model description |
context_length | number | Maximum input tokens (null if not available) |
capabilities | object | Feature flags (e.g., vision: boolean ) |
pricing | object | Pricing information object |
icon_url | string | Path/URL for a small provider icon |
cost_estimate | object | Internal hints (e.g., { cheap: true } ) |
Pricing Object Structure
Field | Type | Description |
---|---|---|
prompt | number | Cost per million input tokens in USD |
completion | number | Cost per million output tokens in USD |
currency | string | Always “USD” |
unit | string | Always “per_million_tokens” |
Usage Examples
Basic Request
Detailed Request
Detailed with Authentication
Alternative API Key Header
Endpoint Variants
In addition to the canonical/api/v1/models
, two filtered variants are available:
1) GET /api/v1/models (canonical)
- Returns all visible text models (excludes internal free/helper selector models except
auto-model*
). - If your account has an active subscription and you have not enabled “Also show paid models”, the list is automatically restricted to only subscription-included models.
- If you enable “Also show paid models” in settings, it returns the full set again.
2) GET /api/subscription/v1/models (subscription-only)
- Always returns only models included in the NanoGPT subscription (equivalent to our
isTextEligible(modelId)
filter). - Ignores the user’s “Also show paid models” preference; it is always subscription-only.
- Supports
?detailed=true
and API key–aware, at-cost pricing metadata.
3) GET /api/paid/v1/models (paid/extras)
- Returns only models that are NOT part of the subscription (paid/premium/extras).
- Supports
?detailed=true
and API key–aware, at-cost pricing metadata.
Choosing the Right Endpoint
- Use
/api/subscription/v1/models
for curated lists guaranteed to be subscription-included (e.g., sub-only integrations). - Use
/api/paid/v1/models
to focus on paid or premium models. - Use
/api/v1/models
for the canonical list and let the account’s “Also show paid models” preference decide visibility.
Errors and Limits
- These endpoints typically return
200
with a list. If an invalid API key is provided, the list still returns and simply omits user-specific pricing considerations indetailed=true
mode. - Standard CORS and rate limiting apply. In overload scenarios you may receive
429
with:
Backwards Compatibility
- Default response format unchanged
- All existing fields preserved
- New fields are additive only
- No breaking changes to existing integrations
Related Endpoints
- /api/v1/embedding-models - List all available embedding models with detailed information
- /api/v1/embeddings - Create embeddings using the available models
/api/subscription/v1/models
- Subscription-included text models/api/paid/v1/models
- Paid or premium text models
Notes
- Scope: These endpoints list text-chat models. Image models used in the UI are covered by separate routes and/or the non-OpenAI UI endpoint
GET /api/models
. - Fields are subject to change as new capabilities or providers are added. We aim to remain OpenAI-API compatible for basic consumers (
id
/object
/created
/owned_by
).
Authorizations
Bearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
Query Parameters
Returns detailed model information including pricing