List Model Prices
Retrieve API prices by model, endpoint, and provider. Each record describes one combination available to your API key.
Create an API key from API Keys with models:read permission. Copy a request example and replace YOUR_API_KEY with your key. Use a key for the same environment as the example URL. This GET request has no request body.
Leave model, endpoint, and provider unset to list all accessible prices. The response contains one page (50 records by default; up to 200 with limit).
Pagination
For the first request, omit cursor. If next_cursor is a string, pass it as the URL-encoded cursor in the next request, keeping the same filters. Combine the data arrays until next_cursor: null means there are no more pages.
Request
/v1/pricesQuery Params
Filter by an exact model ID. Omit to include all models accessible to your API key.
Filter by an exact Endpoint ID, such as text-to-video.
Filter by an exact public Provider ID used by the generation API.
Pass the previous next_cursor unchanged and URL-encoded. Preserve the filters. If the price snapshot changes, restart from the first page.
Maximum records per page. Follow next_cursor until it is null to retrieve the complete accessible catalog.
- Default:
50
Responses
200A page of prices accessible to the Bearer API key (requires models:read). Example model and amounts are fictional. Prices are not locked by this query; responses use Cache-Control: private, no-store.
array <object>requiredOne record per model, Endpoint and Provider combination. An empty list does not mean free usage.
One record per model, Endpoint and Provider combination. An empty list does not mean free usage.
Model ID used in generation requests.
Model display name.
Endpoint ID used in generation requests.
objectrequiredPublic Provider information.
Public Provider information.
Provider ID used in generation requests.
Provider display name.
objectrequiredAPI pricing for this route. Unavailable prices must not be treated as zero.
API pricing for this route. Unavailable prices must not be treated as zero.
Whether a pricing rule is available.
availableunavailablePresent when unavailable: the rule is missing or unsupported, or requires a pricing parameter that this API cannot expose.
unsupported_or_missing_ruleprivate_pricing_parameterAPI credit unit. Amount precision is 0.001 credit.
creditsThe rule computes total credits per request; it may depend on duration, resolution or output count.
requestRule evaluation version. Present for available pricing.
worker-v1object | nullrequiredComplete pricing formula; null when unavailable. Supported types: fixed, lookup, linear, branch and sum. Evaluate the full rule, including rounding and nested rules.
Complete pricing formula; null when unavailable. Supported types: fixed, lookup, linear, branch and sum. Evaluate the full rule, including rounding and nested rules.
Rule variant; other properties depend on this type. Present only when rule is an object.
fixedlookuplinearbranchsumfixed: total credits.
lookup: input paths joined in order with | to select a table entry.
lookup: combined input value to credits mapping.
lookup: fallback credits when no table entry matches.
linear: base credits or a lookup table; defaults to 0.
linear: paths used when base is a lookup table.
linear: credits per unit or a lookup table.
linear: paths used when per is a lookup table.
linear: numeric input paths used to calculate quantity.
linear: multiply (default) or add the unit values.
linear: minimum quantity, applied before unit_offset.
linear: subtract from quantity, with a minimum result of zero.
linear: round quantity up to this multiple after applying the offset.
linear: credit rounding increment. Default 1 uses Math.ceil(base + per × quantity); a non-1 step uses exact decimal rounding up.
branch: input field and exists, equals or in condition. Evaluation prioritizes exists, then strict equals, then in.
branch: recursively evaluate this rule when the condition matches.
branch: recursively evaluate this rule when the condition does not match.
sum: evaluate and round each child rule separately, then add in integer thousandths of a credit.
array <object>optionalPricing dependencies and available type/option hints, not the complete generation input schema. Present for available pricing.
Pricing dependencies and available type/option hints, not the complete generation input schema. Present for available pricing.
Path in normalized generation pricing input.
Where the pricing value comes from.
canonical_inputserver_media_probeDefault pricing value when safely available.
Rules use normalized generation input, which may differ from the raw client request. Present for available pricing.
generation_canonical_inputobject | nullrequiredIllustrative calculation using default pricing inputs; not a minimum price or a complete generation request. Null when inputs cannot be safely determined or require a server media probe.
Illustrative calculation using default pricing inputs; not a minimum price or a complete generation request. Null when inputs cannot be safely determined or require a server media probe.
Pricing paths and values used in this example; dotted keys represent paths. Present when example is an object.
Calculated total credits for these example parameters. Present when example is an object.
Present for available pricing. For server media probes, actual fees depend on measured media duration before submission; this query does not access media URLs.
request_parametersserver_media_probe_before_submissionCursor for the next page, or null when complete. Restart pagination if the cursor becomes invalid.
Invalid filters, limit or cursor. For an invalid cursor, discard collected results and restart from the first page.
Check that the Bearer API key is valid.
Check that the API key has models:read and the necessary permissions.
Request rate limit exceeded. Retry according to Retry-After.
Prices are temporarily unavailable. Retry later; contact support if the problem persists.
Pricing Notes
Prices are total credits per request. Compare providers using the same endpoint and pricing inputs; default examples are not minimum prices.
unavailable or example: null does not mean free usage. A null example can still have an available rule.
Queries do not lock prices. For server_media_probe_before_submission, the server measures input media before submission; client calculations are estimates.
To generate, use the returned model, endpoint, and provider.id. Follow Create a Generation and the model’s input requirements.