Skip to content

GET /v1/models

Public. No auth. Read it at runtime. The live set is deployment-specific.

bash
curl "https://api.pzero.studio/v1/models"

Each row includes id, status (live or coming_soon), modality, capabilities, and pricing when live. coming_soon is a seen row that is not yet enableable (missing published price or caps). New Venice models become live on the catalog sync when vendor fields exist. Only live rows are callable. Response shape: { "object": "list", "data": [ … ] }. Video and image rows may include constraints.

pzero/ prefix

Send the catalog id as-is, or prefix with pzero/ (for example pzero/claude-opus-4-8). Both resolve to the same row, pricing, and billing. Use the prefix when a host reserves bare slugs. See Cursor.

GET /v1/models/{id}

Public. No auth. Returns one catalog object — the same object as that id's element in GET /v1/models data[], not a list wrapper. Accepts a bare slug or pzero/{id}; the response id is always the bare Venice slug.

A coming_soon id that appears on the list is 200. Unknown, disabled, or not on the list is 404.

bash
curl "https://api.pzero.studio/v1/models/claude-opus-4-8"
curl "https://api.pzero.studio/v1/models/pzero/claude-opus-4-8"

GET /v1/models/stats

GET /v1/models/stats?window=24h|7d|30d (default 7d) returns relative rank, usageShare, and optional daily[].share without raw counts. Invalid window values return 400. When aggregate volume is below the privacy threshold, hasSufficientVolume is false and models is empty.

Pricing vs clear

Catalog prices are transparency. What you pay is metered capacity burn times the winning offer's clearing price inside the 30–80¢ bounds.

Machine-readable contract

Prefer GET /openapi.json and GET /llms.txt on the API host for agents.

Next

PZERO. Frontier First AI Marketplace. Top up. Do your thing. Repeat.