Models
List the available models and their pricing. No authentication required.
Query parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
| provider | string | Optional | Filter by provider ID (e.g. modelark, anthropic, upstage). modelark is canonical; byteplus is accepted only as a legacy input alias. Responses always return modelark. |
| locale | ko | en | es | zh | ja | Optional | Language for description and cost_basis. Defaults to en; supported by list, detail, and routing modes. |
Response#
input_price_usd · output_price_usd are the list pricein USD per 1M tokens (the provider's published price, markup not included), while pricing · pricing_krw are the effective per-token rates (list price × markup — the same markup that is billed). KRW-converted prices are also available on the models pageat today's FX rate. Usepricing_tiers · pricing_variantsand each offering'spricing_policy for exact tiered or modality-specific list prices.
A routing parent's input_price_usd · output_price_usd = 0 is retained only for backward compatibility and does not mean free. Render it from billing_mode=routed_payg and cost_basis.
{
"object": "list",
"data": [
{
"id": "seed-2-0-lite-260228",
"provider": "modelark",
"display_name": "ByteDance Seed 2.0 Lite",
"description": "A multimodal model in the Seed family for text and vision workloads.",
"billing_mode": "unit_price",
"cost_basis": null,
"modality": "text",
"maker": "ByteDance",
"price_unit": "token",
"input_price_usd": 0.25,
"output_price_usd": 2.0,
"markup_tier": "medium",
"effective_markup_percent": 0.0,
"context_window": 256000,
"max_output": 128000,
"is_active": true,
"context_length": 256000,
"max_output_tokens": 128000,
"architecture": {
"input_modalities": ["text"],
"output_modalities": ["text"]
},
"supported_parameters": [
"temperature", "max_tokens", "top_p", "stop", "seed",
"frequency_penalty", "presence_penalty", "tools", "tool_choice",
"response_format", "parallel_tool_calls", "logit_bias", "stream"
],
"supports_thinking": true,
"thinking_forced": false,
"pricing": {"prompt": "0.0000002625", "completion": "0.0000021"},
"pricing_krw": {"prompt": "0.0003675", "completion": "0.00294"},
"pricing_tiers": [
{
"input_tokens_lte": 128000,
"input_price_usd_per_m": 0.25,
"output_price_usd_per_m": 2.0,
"cache_read_price_usd_per_m": 0.05
},
{
"input_tokens_lte": 256000,
"input_price_usd_per_m": 0.5,
"output_price_usd_per_m": 4.0,
"cache_read_price_usd_per_m": 0.1
}
],
"pricing_variants": [],
"providers": [
{
"provider": "modelark",
"input_price_usd": 0.25,
"output_price_usd": 2.0,
"markup_tier": "medium",
"effective_markup_percent": 0.0,
"context_window": 256000,
"cache_read_usd": 0.05,
"latency_ms": null,
"throughput_tps": null,
"pricing": {"prompt": "0.0000002625", "completion": "0.0000021"},
"pricing_krw": {"prompt": "0.0003675", "completion": "0.00294"},
"pricing_policy": {
"version": 1,
"kind": "token_tiers",
"tiers": [
{
"input_tokens_lte": 128000,
"input_price_usd_per_m": 0.25,
"output_price_usd_per_m": 2.0,
"cache_read_price_usd_per_m": 0.05
},
{
"input_tokens_lte": 256000,
"input_price_usd_per_m": 0.5,
"output_price_usd_per_m": 4.0,
"cache_read_price_usd_per_m": 0.1
}
]
},
"pricing_tiers": [
{
"input_tokens_lte": 128000,
"input_price_usd_per_m": 0.25,
"output_price_usd_per_m": 2.0,
"cache_read_price_usd_per_m": 0.05
},
{
"input_tokens_lte": 256000,
"input_price_usd_per_m": 0.5,
"output_price_usd_per_m": 4.0,
"cache_read_price_usd_per_m": 0.1
}
],
"pricing_variants": []
}
]
}
]
}Field descriptions#
| Parameter | Type | Required | Description |
|---|---|---|---|
| modality | string | Optional | text | image | video | audio | embedding | 3d. |
| maker | string | Optional | The model's creator (lab), distinct from the hosting provider — e.g. maker=DeepSeek, provider=deepinfra. |
| price_unit | string | Optional | Billing unit. token for text models. |
| markup_tier | string | Optional | low | medium | high. A single fee currently applies to all tiers. |
| effective_markup_percent | number | Optional | The markup (%) actually applied to display and billing. A per-model override if set, otherwise the global default. |
| context_window | integer | Optional | Maximum number of context tokens. |
| max_output | integer | Optional | Maximum number of output tokens. |
| context_length / max_output_tokens | integer | Optional | OpenRouter-standard aliases of context_window and max_output (same values). |
| architecture | object | Optional | {input_modalities, output_modalities} — derived from modality. |
| supported_parameters | string[] | Optional | OpenAI-standard parameters the model accepts. A common list for text models; empty for non-text modalities. |
| supports_thinking | boolean | Optional | Whether the reasoning (reasoning_effort) toggle is supported. |
| thinking_forced | boolean | Optional | true when reasoning is forced on (cannot be disabled). |
| pricing | object | Optional | {prompt, completion} — effective per-token USD rates (list price × markup) as fixed-decimal strings. Filled only for token-billed models; empty for other modalities. |
| pricing_krw | object | Optional | {prompt, completion} — per-token KRW. Based on the display FX rate (09:00 snapshot), so it can differ slightly intraday from the billing rate (refreshed every 10 minutes); omitted when no FX rate is available. |
| pricing_tiers | array | Optional | Token price branches of the representative offering. Entries contain input_tokens_lte and input/output/cache USD per 1M; empty for non-tier policies. |
| pricing_variants | array | Optional | Image, video, embedding, 3d, or other modality-specific price branches of the representative offering; empty for non-variant policies. |
| providers | array | Optional | Per-provider price comparison for this logical model. Length 1 for single-provider models. |
| providers[].pricing_policy | object | null | Optional | The versioned, public list-price policy for this provider offering (version, kind, tiers/variants, and content-type input USD/1M for mixed embeddings). It is the exact policy behind non-flat pricing. |
| providers[].pricing_tiers | array | Optional | Convenience view of providers[].pricing_policy.tiers; empty unless the offering has token tiers. |
| providers[].pricing_variants | array | Optional | Convenience view of providers[].pricing_policy.variants; empty unless the offering has modality variants. |
| description | string | Optional | Model summary selected for the requested locale. |
| billing_mode | unit_price | routed_payg | Optional | Explicitly distinguishes fixed-price leaf models from routing parents billed by child usage. |
| cost_basis | string | null | Optional | Which child calls are accumulated for routed_payg; null for unit_price. |
Each entry of providers[] is a per-provider offering (prices, markup, context window, and the cache-read list price cache_read_usd in USD/1M — a default-tier summary when tiered; use pricing_tiers for the exact rate). The top-level provider, prices, and pricing are the representative values of the cheapest offering. Top-level pricing_tiers · pricing_variants likewise describe only that representative offering; they never merge price branches from providers. Use providers[].pricing_policy and its convenience views providers[].pricing_tiers · providers[].pricing_variants for a specific provider. latency_ms · throughput_tps are null in the list response and are filled with measured values from our traffic only in the single-model detail (GET /v1/models/{model_id}).
Single-model detail GET /v1/models/{model_id}?locale=en adds official_sources[] (publisher, title, url, scope, verified_at). Custom models have an empty array when no official source can be established.
Routing modes#
Returns the rollout state and invocation contract for all four routing products. A model-backed mode is callable only when its gate and active public DB model row are both present. Selected Smart requires a configured policy/<slug>.
| Parameter | Type | Required | Description |
|---|---|---|---|
| locale | ko | en | es | zh | ja | Optional | Language for description and cost_basis. Defaults to en; supported by list, detail, and routing modes. |
| billing_mode | routed_payg | Optional | All four modes bill the actual usage of executed child calls. |
| cost_basis | string | Optional | Localized explanation of which child usage is accumulated. |
| availability | available | beta | setup_required | disabled | Optional | Current rollout or setup state. Never treat disabled as callable. |
| invocable | boolean | Optional | Whether the literal model ID can currently be invoked. |
| invocation | object | Optional | Actual entry contract containing model_id or policy_type=auto. |
| docs_path | string | Optional | Product documentation path for the mode. |
{
"object": "list",
"data": [
{
"id": "benchmark_smart",
"display_name": "Benchmark Smart",
"description": "Classifies each request and selects a suitable model using PleumRouter's benchmark table.",
"billing_mode": "routed_payg",
"cost_basis": "Actual input and output usage of the selected child model",
"availability": "available",
"invocable": true,
"invocation": {"type": "model", "model_id": "benchmark_smart"},
"docs_path": "/docs/features/benchmark-smart"
},
{
"id": "selected_smart",
"display_name": "Selected Smart",
"description": "Routes within a model pool configured by the user.",
"billing_mode": "routed_payg",
"cost_basis": "Actual usage of the child model selected by the policy",
"availability": "setup_required",
"invocable": false,
"invocation": {"type": "policy", "policy_type": "auto"},
"docs_path": "/docs/features/selected-smart"
}
]
}