Static JSON only (no query API). Same files for automation and humans. CC BY 4.0 — attribute ComputeNav when redistributing.
Quick start
Load in order:
- llms.txt — short machine-oriented overview.
-
index.json— version, endpoints, license,generated_at. -
models.json—meta+entries(one object per hosted offer). -
site_news.json— optional curated outbound links for the Models News card (items[]withtitle,url,source,date,summary,keywords[]). -
models_catalog.json— mirror ofmodels_catalog.csv(includes optionalmodel_introper model for Models). -
indicators.json— manually curated proxy metrics for AI compute supply/demand (used by Indicators).
Use source_url on each entry to answer “where did this price come from?”. All figures are
indicative; confirm with the provider before buying or relying on SLAs.
Task Weigh — describe a workload, estimate tokens (Claude Haiku 4.5 via a small proxy),
and compare indicative provider costs using the same models.json data.
index.json
version 2: includes shards (paths to per-modality JSON) and
totals.n_entries / totals.by_shard. Legacy clients can still use
endpoints.models → models.json (chat / text panel). Empty shards:
image_models.json,
video_models.json,
embedding_models.json.
Also: endpoints (including indicators → indicators.json), note, documentation, gcpi,
license, generated_at.
models.json shape
{
"meta": {
"generated_at": "…",
"methodology_version": "0.2.0",
"snapshot_date": "YYYY-MM-DD",
"n_entries": 0,
"n_providers": 0,
"source": "computenav.com",
"license": "CC BY 4.0"
},
"entries": [ { … }, … ]
}
Each entries item = one row in the panel (one offer).
Entry fields (per offer)
| Field | Meaning |
|---|---|
model_label |
Human-readable model name from the provider. |
model_id |
Provider-specific id or slug. |
model_developer |
Organization that released the weights (e.g. Meta, OpenAI). |
model_release_date |
Public release date YYYY-MM-DD (curated). |
model_parameters |
Stated parameter scale (e.g. 70B, 671B) or —. |
capability_score / capability_metric |
Optional capability signal: numeric capability_score plus
capability_metric = lmsys_elo (Chatbot Arena Elo),
mmlu, humaneval, mt_bench, composite, or
other. Do not rank across different metrics as if they were one scale.
|
quantization_precision |
Quantization precision for served weights (e.g. FP16/BF16 (typical), Not disclosed). |
model_type |
Lowercase tags, comma-separated: chat, vision, reasoning,
image, video, audio, etc.
|
model_source |
open | closed | unknown (weights availability). |
compute_provider / provider |
Host / API vendor (same value twice for compatibility). |
price_per_1m_input / price_per_1m_output |
USD per 1M tokens (numbers). |
price_blended |
Blended $/1M used for default sorting (panel convention). |
modality / pricing_unit |
modality: chat | image | video | embedding.
pricing_unit: e.g. per_1m_tokens, per_image, per_second.
|
price_usd_per_image |
Image rows: USD per image (empty for other modalities). |
price_usd_per_video_second |
Video rows: USD per second of output (empty elsewhere). |
price_usd_per_1m_embedding_input |
Embedding rows: USD per 1M input tokens (empty elsewhere). |
latency_ms / throughput_tps |
Indicative performance (not live benchmarks). |
context_window |
Max context in tokens. |
openai_compatible |
Boolean — OpenAI-style chat/completions on api_base_url. |
endpoint |
Primary product or vendor URL. |
api_base_url |
OpenAI-compatible API base if applicable. |
developer_website / provider_website |
Official sites for model author and host. |
region |
Hosting geography (lowercase): us, eu, asia, uk,
global, or ISO 3166-1 alpha-2 (e.g. de, jp).
|
geo_fencing |
Short geographic fence / residency tag (summary; verify with vendor). |
data_privacy_no_train |
Data privacy and training policy — curated note; always confirm vendor terms. |
source_url |
Pricing source for verification. |
fetched_at / source / price_snapshot_date |
Row lineage and snapshot date. |
status |
healthy | degraded | etc. |
Example: fetch in JavaScript
const base = new URL("../api/v1/", window.location.href);
const res = await fetch(new URL("models.json", base));
const { meta, entries } = await res.json();
const openCheap = entries
.filter((e) => e.model_source === "open")
.sort((a, b) => a.price_blended - b.price_blended)[0];
Filtering & ranking
No server-side filters — sort and filter entries in your code. The public site applies its own
client-side keyword logic for search; you can mirror that behavior or implement your own.