# Models & pricing

`GET /v1/models` lists models available to your account. `GET /v1/models/{id}` returns capabilities, parameters, response mode, availability, and effective price. Public model IDs are platform-owned names without routing prefixes; for example, `/v1/models/seedream-4.5`. Routing and infrastructure metadata are internal and are not returned by the public model API.

| Demo model ID | Output | Response mode |
|---|---|---|
| `seedream-4.5` | Image | `sync` |
| `nano-banana-pro` | Image | `async` |
| `flux-2-pro` | Image | `async` |
| `kling-3.0` | Video | `async` |
| `deepseek-v4-flash` | Text | `stream` catalog mode; JSON or SSE selected by `stream` |

These are public platform model IDs, not guarantees of configured or certified live availability. A model's response mode is explicit catalog metadata, never inferred from a URL substring or programming-language `async` keyword. Model capability validation occurs before any hold or provider submission.

Prices are denominated in USD. Image rates depend on supported parameters, video rates on duration in this release, and LLM rates separately price input and output tokens. A request stores the effective price version at acceptance; later catalog edits do not change it. Estimates are not settled costs.

[Image protocol](/docs?page=images&lang=en) · [Billing](/docs?page=billing&lang=en)

## Effective-price priority

Use exactly one matching rule: user × model override, then price-group × model override, then price-group default discount, then public price. Overrides may be a fixed price or a discount within that model's allowed range. Rules do not stack. Below-cost prices require explicit operator confirmation; unknown supplier cost must not display a fabricated margin. Freeze the selected rule, units and version at request acceptance.

The model `parameters` list advertises normalized top-level fields: images use `size`, `n`, `image`; videos use `duration`, `aspect_ratio`, `image`; chat uses `temperature`, `max_tokens`, `stream`, `stream_options`. This is not an arbitrary passthrough dictionary. Seedream 4.5 examples use `2048x2048`; production parameter limits must be verified for each model. UI sample choices are not guarantees of live capabilities.

Model JSON uses name, modality (llm/image/video), mode/response_mode (stream/sync/async), parameters, sizes, supportsImage and enabled. pricing is an object with currency, price and nullable outputPrice (six-decimal USD strings); price/outputPrice are numeric USD fields. A disabled model is not callable. Seed prices require operator review; unknown costs are never presented as margins.
