Model Price Track API

Every price on the board as JSON or CSV, free and without a key: each model's median for its standard job, and each provider's price with who published it, the URL it was read from and the day it was checked. Our tables, medians, rankings and wording are CC BY 4.0: use them for anything, commercial included, with the attribution "Model Price Track (modelpricetrack.com)" and a link. Third-party prices are listed as published by each provider, with a link, and are not relicensed. Arena quality scores stay CC BY 4.0 with Arena's attribution.

Prices as of . Every price links to its source.

OpenAPI 3.1 document · Route index (JSON) · All models as CSV · All prices as text

Access

No key, no sign-up. Every route is a GET that answers JSON (CSV for models.csv), with CORS open to every origin. Responses carry Cache-Control: max-age=60; the data changes once a day, after the providers are read, so poll at most every few minutes. For a bulk copy, use the CSV or llms-full.txt instead of walking every model.

Dates and sources

Every response has asOf, the day its prices are for. Every provider price has who published it (source.name), the URL it was read from (source.url) and the day it was last checked (source.checkedAt, also verifiedAt). Quality scores come from the Arena Hugging Face dataset (CC BY 4.0), never from arena.ai, and carry their own attribution, URL, licence and publish date.

Versions

/api/v2 is the public API: fields may be added, none are removed or renamed without a new version. /v1/prices is the frozen contract MakeJam reads (schemaVersion 1). /api/v1 is legacy, kept for the old board, and not documented here.

Standard jobs

Every price is for one standard job per category, in US dollars: video is a 720p, 5-second clip (also given per second), images are one 1K image, speech is 1,000 characters, sound effects are 10 seconds, music is a 30-second track, 3D is one mesh. The methodology explains the median and which prices count.

GET /api/v2

This list of routes, with links to the docs and the OpenAPI document.

Example: https://modelpricetrack.com/api/v2

curl 'https://modelpricetrack.com/api/v2'

GET /api/v2/models

Every model with its median price for the standard job, counted providers and cheapest provider.

Example: https://modelpricetrack.com/api/v2/models?category=video&sort=price

curl 'https://modelpricetrack.com/api/v2/models?category=video&sort=price'
Parameters of /api/v2/models
ParameterInDescription
categoryqueryOne category, or `all`. One of: video, image, audio, music, 3d, upscale, all.
qqueryText search on model names.
providerqueryComma-separated provider slugs: models sold by any of them.
makerqueryComma-separated maker slugs.
sortqueryRanking; `price` is the median for the standard job, `quality` the Arena rating, `value` the price-quality frontier then Elo gap. One of: price, cheapest, providers, name, maker, d1, d7, d30, quality, value.
retiredquery`1` includes retired models. One of: 1.
resolutionqueryMinimum maximum resolution rank (720p is 2, 1080p or 1K is 3, 4K is 5).
durationqueryMinimum maximum clip length, in seconds.
audioquery`1` keeps models with native audio. One of: 1.
routequeryComma-separated input routes, like `text-to-video`.
channelquerySold by: comma-separated channels; the median counts only these. `official` is the maker's own API. One of: official, platform, reseller.

GET /api/v2/models.csv

The same list as CSV, one row per model, for spreadsheets.

Example: https://modelpricetrack.com/api/v2/models.csv?category=image

curl 'https://modelpricetrack.com/api/v2/models.csv?category=image'
Parameters of /api/v2/models.csv
ParameterInDescription
categoryqueryOne category, or `all`. One of: video, image, audio, music, 3d, upscale, all.
qqueryText search on model names.
providerqueryComma-separated provider slugs: models sold by any of them.
makerqueryComma-separated maker slugs.
sortqueryRanking; `price` is the median for the standard job, `quality` the Arena rating, `value` the price-quality frontier then Elo gap. One of: price, cheapest, providers, name, maker, d1, d7, d30, quality, value.
retiredquery`1` includes retired models. One of: 1.
resolutionqueryMinimum maximum resolution rank (720p is 2, 1080p or 1K is 3, 4K is 5).
durationqueryMinimum maximum clip length, in seconds.
audioquery`1` keeps models with native audio. One of: 1.
routequeryComma-separated input routes, like `text-to-video`.
channelquerySold by: comma-separated channels; the median counts only these. `official` is the maker's own API. One of: official, platform, reseller.

GET /api/v2/models/{slug}

One model: every variant's median and every provider's price, with its source and the day it was checked.

Example: https://modelpricetrack.com/api/v2/models/bytedance/seedance-2.5

curl 'https://modelpricetrack.com/api/v2/models/bytedance/seedance-2.5'
Parameters of /api/v2/models/{slug}
ParameterInDescription
slugpathModel slug, as in its page URL; it may contain slashes and dots (`bytedance/seedance-2.5`).
variantqueryVariant slug; the standard job when omitted.
durationqueryClip length in seconds, for models priced by duration.
megapixelsqueryImage size in megapixels, for models priced by size.
channelquerySold by: comma-separated channels; the median counts only these. `official` is the maker's own API. One of: official, platform, reseller.

GET /api/v2/models/{slug}/history

Daily median and per-provider prices for one variant.

Example: https://modelpricetrack.com/api/v2/models/bytedance/seedance-2.5/history?range=30d

curl 'https://modelpricetrack.com/api/v2/models/bytedance/seedance-2.5/history?range=30d'
Parameters of /api/v2/models/{slug}/history
ParameterInDescription
slugpathModel slug, as in its page URL; it may contain slashes and dots (`bytedance/seedance-2.5`).
variantqueryVariant slug; the standard job when omitted.
durationqueryClip length in seconds, for models priced by duration.
rangequeryHow far back. One of: 7d, 30d, 90d, 1y, all.

GET /api/v2/providers

Every provider with its model count, counted prices and whether its price API answered.

Example: https://modelpricetrack.com/api/v2/providers

curl 'https://modelpricetrack.com/api/v2/providers'

GET /api/v2/providers/{provider}

One provider: its prices by category and every model it sells.

Example: https://modelpricetrack.com/api/v2/providers/fal

curl 'https://modelpricetrack.com/api/v2/providers/fal'
Parameters of /api/v2/providers/{provider}
ParameterInDescription
providerpathProvider slug.

GET /api/v2/providers/{provider}/models/{slug}

One model at one provider: its price for every variant against the median, with sources and history.

Example: https://modelpricetrack.com/api/v2/providers/krea/models/bytedance/seedance-2.5

curl 'https://modelpricetrack.com/api/v2/providers/krea/models/bytedance/seedance-2.5'
Parameters of /api/v2/providers/{provider}/models/{slug}
ParameterInDescription
providerpathProvider slug.
slugpathModel slug, as in its page URL; it may contain slashes and dots (`bytedance/seedance-2.5`).

GET /api/v2/makers

Every model maker with its families and priced model count.

Example: https://modelpricetrack.com/api/v2/makers

curl 'https://modelpricetrack.com/api/v2/makers'

GET /api/v2/makers/{maker}

One maker: its documentation, prices by category and models.

Example: https://modelpricetrack.com/api/v2/makers/bytedance

curl 'https://modelpricetrack.com/api/v2/makers/bytedance'
Parameters of /api/v2/makers/{maker}
ParameterInDescription
makerpathMaker slug.

GET /api/v2/quality/{arena}

Arena overall ratings matched to our models, from the Hugging Face dataset (CC BY 4.0). Never scraped from arena.ai.

Example: https://modelpricetrack.com/api/v2/quality/text_to_video

curl 'https://modelpricetrack.com/api/v2/quality/text_to_video'
Parameters of /api/v2/quality/{arena}
ParameterInDescription
arenapathLeaderboard config. One of: text_to_video, text_to_image.

GET /api/v2/coverage

How many models are listed and priced, per day.

Example: https://modelpricetrack.com/api/v2/coverage?range=30d

curl 'https://modelpricetrack.com/api/v2/coverage?range=30d'
Parameters of /api/v2/coverage
ParameterInDescription
rangequeryDays back, like `30d`.
scopequery`all`, `category:{category}` or `provider:{provider}`.

GET /api/v2/pipeline

When each provider was last read and what the last pipeline runs did.

Example: https://modelpricetrack.com/api/v2/pipeline

curl 'https://modelpricetrack.com/api/v2/pipeline'

CSV columns

Columns of models.csv
ColumnMeaning
slugModel slug
nameModel name
makerMaker name
categoryvideo, image, audio, music, 3d or upscale
standard_jobThe job every price in the row is for
unitHow the price is quoted on the board
median_usdMedian US dollars for one standard job, over counted providers
min_usdCheapest counted provider, per job
max_usdMost expensive counted provider, per job
median_usd_per_secondThe median per second of output, for video and sound
counted_providersProviders whose price counts
total_providersProviders that sell the model
approximatetrue when a counted price is approximate or a starting price
cheapest_providersProvider slugs at the minimum, separated by spaces
urlThe model page, with every provider price and its source
as_ofThe day the prices are for
quality_ratingArena overall Elo rating, or empty when unmatched
quality_rankArena overall rank
quality_published_atArena leaderboard publish date
quality_urlHugging Face dataset the rating was read from
quality_licenseLicence of the rating (CC-BY-4.0)
quality_attributionRequired attribution line

License

CC BY 4.0 covers our own work. Our tables, medians, rankings and wording are CC BY 4.0: use them for anything, commercial included, with the attribution "Model Price Track (modelpricetrack.com)" and a link. Third-party prices are listed as published by each provider, with a link, and are not relicensed. Arena quality scores stay CC BY 4.0 with Arena's attribution. Every /api/v2 response carries license, attribution and licenseNote.

How to cite

"Model Price Track, {page title}, {URL}, retrieved {date}". Prices change daily; quote the date.

For example: "Model Price Track, Seedance 2.5 API pricing, https://modelpricetrack.com/models/bytedance/seedance-2.5, retrieved 17 Oct 2026".

A DIUNE project