Read the anonymous model catalog
Anonymous model catalog, schema_version=2. Channels expose pricing_mode, standard_pricing and discount_multiplier. upstream_cost channels use reported video cost times the frozen discount; their standard_pricing is null, not zero. default_channel identifies the default channel code. recommended_protocol is a model-wide client recommendation (responses/messages, null for non-chat models), not a protocol restriction. No protocol configuration or playground metadata is returned. reasoning preserves the upstream JSON object, or null when unavailable.
- Type: string enumlocalevalues
- en
- zh
- C N - zh
- T W - ja
- ko
- ru
- Type: stringq
- Type: stringid
- Type: string enummodel
_kind values- chat
- image
_generation - video
_generation - decisions
- Type: string enumfmtvalues
- cards
- full
- Type: stringIf
- None - Match
- Type: object · ModelCatalogResponse200
Visible models; exact unknown id returns an empty array.
- Type: object · CatalogDatadatarequired
- modelsType: array object[] · Modelsrequired
- authorType: string · Authornullablerequired
- authorType: string · Author Display Namenullable
_display _name required - availableType: array string[] · Available Content Localesenum
_content _locales requiredvalues- en
- zh
- C N - zh
- T W - ja
- ko
- ru
- bestType: array string[] · Best For
_for required - capabilitiesType: array string[] · Capabilitiesrequired
- contentType: string · Content Localeenumnullable
_locale requiredvalues- en
- zh
- C N - zh
- T W - ja
- ko
- ru
- contextType: integer · Context Lengthnullable
_length requiredInteger numbers.
- descriptionType: string · Descriptionnullablerequired
- documentType: object · PublicDocumentnullablerequired
Selected language only; summary/description/best_for stay on the model
- extraType: object · Extrarequired
- propertyType: anything
Name
- noticeType: object · CatalogNoticenullablerequired
- bodyType: string · Bodyrequired
- linkType: string · Link Textnullable
_text required - targetType: string · Target Slugnullable
_slug required - titleType: string · Titlenullablerequired
- updatedType: string · Updated At
_at requiredSelected language document update time
- iconType: string · Icon Urlnullable
_url required - idType: string · Idrequired
- inputType: array string[] · Input Modalities
_modalities required - latencyType: string · Latency Classnullable
_class required - maxType: integer · Max Completion Tokensnullable
_completion _tokens requiredInteger numbers.
- modelType: string · Model Kindenum
_kind requiredvalues- chat
- image
_generation - video
_generation - decisions
- nameType: string · Namerequired
- outputType: array string[] · Output Modalities
_modalities required - reasoningType: object · Reasoningnullablerequired
Upstream reasoning JSON object; preserves unknown fields; null if unavailable
- propertyType: anything
Name
- releasedType: string · Released Atnullable
_at required - shortType: string · Short Name
_name required - slugType: string · Slugrequired
- sortType: integer · Sort Order
_order requiredInteger numbers.
- summaryType: string · Summarynullablerequired
- supportedType: array string[] · Supported Parameters
_parameters required - trialType: string · Trial Status
_status required - updatedType: string · Updated Atnullable
_at required - videoType: object · VideoSpecnullable
_spec required- aspectType: array string[] | null · Aspect Ratiosnullable
_ratios - audioType: object · AudioSpecnullable
- inputType: boolean · Inputnullable
- outputType: boolean · Outputnullable
- outputType: boolean · Output Optionalnullable
_optional
- constraintsType: object · Constraintsnullable
Data-only JSON Schema for valid request combinations
- propertyType: anything
Name
- durationType: object · DurationSpecnullable
_seconds - maxType: number · Maxgreater than:0required
- minType: number · Minmin:0required
- stepType: number · Stepgreater than:0required
- exampleType: object · Example Requestnullable
_request - propertyType: anything
Name
- inputType: array string[] | null · Input Modesnullable
_modes - referenceType: object · Reference Limitsnullable
_limits - propertynullable
Name - Type: integer
Integer numbers.
- requestType: object · Request Defaultsnullable
_defaults - propertyType: anything
Name
- resolutionsType: array string[] | null · Resolutionsnullable
- channelsType: array object[] · Channels
- codeType: string · Coderequired
- discountType: string · Discount Multipliernullable
_multiplier requiredExact sales multiplier from 0 to 1; apply once to configured rates or upstream cost
- isType: boolean · Is Default
_default required - nameType: string · Namerequired
- regionType: string · Regionnullablerequired
- runnableType: boolean · Runnablerequired
- serviceType: string · Service Tier
_tier required - standardType: object · CatalogPricingnullable
_pricing requiredStandard unit rates before sales discount; null for upstream_cost channels
- basisconst:standardrequired
- billingType: string · Billing Kind
_kind required - channelType: string · Channelrequired
- currencyconst:USDrequired
- tiersType: array object[] · Tiersrequired
Preserve order; first matching tier overrides base rates
- conditionsType: array object[] · Conditionsrequired
- fieldType: string · Fieldrequired
Felo pricing context, e.g. input_context_tokens
- operatorType: string · Operatorenumrequiredvalues
- eq
- gt
- gte
- valuerequired
- Type: string · Value
- overridesType: object · Overridesrequired
- propertyType: string
Name
- audioType: string · Audionullable
USD per input audio token
- completionType: string · Completionnullable
USD per output token
- inputType: string · Input Audio Cachenullable
_audio _cache USD per cached audio token
- inputType: string · Input Cache Readnullable
_cache _read USD per cached input token
- inputType: string · Input Cache Writenullable
_cache _write USD per cache write token
- inputType: string · Input Cache Write 1Hnullable
_cache _write _1h USD per 1-hour cache write token; separate from default TTL writes
- inputType: string · Input Imagenullable
_image USD per input image
- inputType: string · Input Video Secondnullable
_video _second USD per input video second
- internalType: string · Internal Reasoningnullable
_reasoning USD per reasoning token
- outputType: string · Output Imagenullable
_image USD per generated image
- outputType: string · Output Video Secondnullable
_video _second USD per generated video second
- promptType: string · Promptnullable
USD per input token; null means unavailable, 0 means free
- requestType: string · Requestnullable
USD per request
- webType: string · Web Searchnullable
_search USD per web search request
- pricingType: string · Pricing Modeenum
_mode Configured unit rates, or reported video cost times the sales discount
values- configured
_rates - upstream
_cost
- defaultType: string · Default Channelnullable
_channel - recommendedType: string · Recommended Protocolenumnullable
_protocol Model-wide client recommendation only; null for non-chat models; does not restrict callable protocols
values- responses
- messages
- totalType: integer · Totalrequired
Integer numbers.
- Type: string · Localeenumlocalerequiredvalues
- en
- zh
- C N - zh
- T W - ja
- ko
- ru
- schema
_version const:2requiredInteger numbers.
application/json - 304
Unchanged representation; empty body
- 400
Unsupported locale
- 422
Invalid projection or kind
- 503
Catalog temporarily unavailable
curl https://openapi.felo.ai/api/platform/model-catalog
{
"schema_version": 2,
"locale": "en",
"data": {
"total": 1,
"models": [
{
"id": "example-model",
"slug": "example/example-model",
"name": "Example model",
"short_name": "Example",
"author": "example",
"author_display_name": "Example",
"icon_url": null,
"model_kind": "chat",
"recommended_protocol": "messages",
"summary": "Example model.",
"description": "Illustrative text, not a real model.",
"best_for": [],
"content_locale": "en",
"available_content_locales": [
"en"
],
"document": {
"notice": null,
"extra": {},
"updated_at": "2026-10-14T00:00:00Z"
},
"latency_class": null,
"trial_status": "unknown",
"released_at": null,
"sort_order": 0,
"updated_at": "2026-10-14T00:00:00Z",
"context_length": 32768,
"max_completion_tokens": 4096,
"input_modalities": [
"text"
],
"output_modalities": [
"text"
],
"capabilities": [],
"supported_parameters": [
"temperature"
],
"reasoning": null,
"video_spec": null,
"default_channel": "standard",
"channels": [
{
"code": "standard",
"name": "Standard",
"service_tier": "standard",
"region": null,
"is_default": true,
"runnable": true,
"standard_pricing": {
"channel": "standard",
"currency": "USD",
"basis": "standard",
"billing_kind": "token",
"prompt": "0.000001",
"completion": "0.000002",
"input_cache_write": "0.00000125",
"input_cache_write_1h": "0.000002",
"tiers": []
},
"discount_multiplier": "0.8",
"pricing_mode": "configured_rates"
},
{
"code": "priority",
"name": "Priority",
"service_tier": "priority",
"region": null,
"is_default": false,
"runnable": false,
"standard_pricing": null,
"discount_multiplier": null,
"pricing_mode": "configured_rates"
}
]
}
]
}
}