Get a public model by name
Anonymous exact lookup by public name or registered alias. Returns the canonical model ID and the same model object as the catalog. Unknown or unlisted models return 404. locale controls document selection only.
- Type: stringmodelmin length:1max length:256required
Exact case-sensitive public model name or registered alias
- Type: string enumlocale
Document language; falls back to English when unavailable
values- en
- zh
- C N - zh
- T W - ja
- ko
- Type: stringIf
- None - Match Previous ETag; matching content returns 304
- Type: object · ModelCatalogModelResponse200
Public model details
- Type: object · CatalogModeldatarequired
- 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
- 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
- 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 requiredModel release date in ISO 8601 UTC; may use the OpenRouter listing time. Manual overrides take precedence; null means unknown.
- 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
- creditType: string · Creditnullable
USD per credit; billed using the upstream call multiplier
- 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 12Hnullable
_cache _write _12h USD per 12-hour cache write token; separate from default TTL writes
- 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 Image Cachenullable
_image _cache USD per cached image token
- inputType: string · Input Image Tokennullable
_image _token USD per input image token
- 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 Image Tokennullable
_image _token USD per output image token
- outputType: string · Output Video Secondnullable
_video _second USD per generated video second
- outputType: string · Output Video Tokennullable
_video _token USD per generated video token
- 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
- markupType: string · Markup Multipliernullable
_multiplier Sale markup (>= 1) applied to the purchase price or upstream cost to form the sale price, before discount_multiplier
- pricingType: string · Pricing Modeenum
_mode Configured unit rates, or reported media cost times the sales discount
values- configured
_rates - upstream
_cost
- referencenullable
_pricing Public video reference before discount; not a final charge
- asType: string · As Of
_of required - canonicalType: string · Canonical Slug
_slug required - pricing
_type const:per_secondrequired - requestType: object · Request Defaults
_defaults required- property
Name - Type: string
- reservationType: object · VideoReservationrequired
- maxType: integer · Max Duration Seconds
_duration _seconds greater than:0requiredInteger numbers.
- output
_count const:1Integer numbers.
- strategyconst:requested_duration_or_model_max
- rowsType: array object[] · Rowsrequired
- inputType: string · Input Image Billingenum
_image _billing requiredvalues- per
_image - included
- not
_applicable
- inputType: string · Input Modeenum
_mode requiredvalues- text
_to _video - image
_to _video - first
_last _frame
- maxType: string · Max Duration Output Estimate Usd
_duration _output _estimate _usd required - resolutionType: string · Resolutionrequired
- unitType: string · Unitenumrequiredvalues
- output
_video _second - video
_token
- unitType: string · Unit Price Usd
_price _usd required - aspectType: string · Aspect Rationullable
_ratio - derivedType: string · Derived Output Second Usdnullable
_output _second _usd - generateType: boolean · Generate Audionullable
_audio - inputType: string · Input Image Price Usdnullable
_image _price _usd - reservation
_supported const:true - reservationType: null · Reservation Unavailable Reason
_unavailable _reason - sizeType: string · Sizenullable
- seedType: boolean · Seed Supported
_supported required - snapshotType: string · Snapshot Id
_id required - sourceType: string · Source Model Id
_model _id required - supportedType: array string[] · Supported Aspect Ratios
_aspect _ratios required - supportedType: array integer[] · Supported Durations
_durations required - supportedType: array string[] · Supported Frame Images
_frame _images required - supportedType: array string[] · Supported Resolutions
_resolutions required - basisconst:public_reference_before_discount
- currencyconst:USD
- settlement
_basis const:upstream_cost - versionconst:1
Integer numbers.
- saleType: object · VideoSalePricingnullable
_pricing Video sale unit prices (purchase price times markup_multiplier), before discount; null when no synchronized video rates are frozen
- basisconst:sale_before_discountrequired
- currencyconst:USDrequired
- rowsType: array object[] · Rowsrequired
Per-spec sale unit prices. Final charge uses the upstream-reported usage, so the billed amount is upstream cost times markup_multiplier times discount_multiplier; a minimum billable duration may apply.
- conditionsType: object · Conditionsrequired
Equality-condition summary; predicates retain the complete rule semantics
- propertyType: anything
Name
- ratesType: object · Ratesrequired
USD sale unit prices (purchase price times markup_multiplier), before discount
- propertyType: string
Name
- predicatesType: array object[] | null · Predicatesnullable
Ordered rule predicates including range comparisons
- fieldType: string · Fieldrequired
Felo pricing context, e.g. input_context_tokens
- operatorType: string · Operatorenumrequiredvalues
- eq
- gt
- gte
- valuerequired
- Type: string · Value
- minimumType: string · Minimum Charge Usdnullable
_charge _usd Marked-up minimum charge in USD, before discount; null if none
- selectionconst:first_match
First matching rule wins; the final empty rule is the default
- unitType: string · Unitnullable
Primary billing unit, e.g. output_video_second or video_token
- secondType: object · VideoSecondPricingnullable
_pricing Per-second sale prices by resolution/mode (markup applied, before discount). For video_token models the per-second value is an estimate; settlement uses token usage
- basisconst:sale_before_discountrequired
- currencyconst:USDrequired
- rowsType: array object[] · Rowsrequired
- estimatedType: boolean · Estimatedrequired
True when derived from a video_token rate via the pixel-frame formula
- perType: string · Per Second Usd
_second _usd requiredUSD per output second (sale price before discount); markup already applied
- aspectType: string · Aspect Rationullable
_ratio - generateType: boolean · Generate Audionullable
_audio - inputType: string · Input Image Usdnullable
_image _usd USD per input image (sale price before discount); null if none
- inputType: string · Input Modenullable
_mode - predicatesType: array object[] | null · Predicatesnullable
Full conditions for this per-second price row
- fieldType: string · Fieldrequired
Felo pricing context, e.g. input_context_tokens
- operatorType: string · Operatorenumrequiredvalues
- eq
- gt
- gte
- valuerequired
- Type: string · Value
- resolutionType: string · Resolutionnullable
- secondType: string · Second Basisenum
_basis requiredexact for per-second models; token_pixel_frames_estimate when per_second_usd is derived from the video_token rate (token price x resolution pixels x fps 24 / 1024). Token models still settle on reported token usage; per-second price is for display.
values- exact
- token
_pixel _frames _estimate
- pricingType: string · Pricing Typenullable
_type per_second or video_token
- settlementType: object · PublicSettlementPolicynullable
_policy Published primary pricing and missing-usage fallback policy
- fallbackType: string · Fallbackenumrequiredvalues
- upstream
_cost - review
_required
- primaryconst:configured_ratesrequired
- versionconst:1required
Integer numbers.
- defaultType: string · Default Channelnullable
_channel - parameterType: object · Parameter Definitions
_definitions Supported parameters keyed by name, using OpenRouter type/values/min/max format (not JSON Schema); preserves unknown fields; an empty definition means supported with unspecified constraints. An empty object means no parameter metadata. No defaults or options are inferred.
- propertyType: object
Name - propertyType: anything
Name
- recommendedType: string · Recommended Protocolenumnullable
_protocol Model-wide client recommendation only; null for non-chat models; does not restrict callable protocols
values- responses
- messages
- Type: string · Localeenumlocalerequiredvalues
- en
- zh
- C N - zh
- T W - ja
- ko
- schema
_version const:2requiredInteger numbers.
application/json - 304
Unchanged representation; empty body
- 400
Invalid model name or locale
- 404
Model not found
- 422
Missing model query parameter
- 503
Model catalog unavailable
curl 'https://openapi.felo.ai/api/platform/model-catalog/model?model='
{
"schema_version": 2,
"locale": "en",
"data": {
"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",
"input_cache_write_12h": "0.000004",
"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"
}
],
"parameter_definitions": {
"temperature": {}
}
}
}