inference-providers

Verification methodology

Every fact in this registry is verified against a source, stamped with a verified date, and re-checked on a cycle. This page documents exactly how to verify each dimension for any provider — the ones already cataloged and new ones. CI enforces the mechanical rules; the judgment calls below are on you.

Universal rules

  1. Source hierarchy. Official provider docs and console/pricing pages are the only acceptable primary sources. Live API responses are the ground truth for wire IDs and parameter shapes. Community reports (GitHub issues, forums) are last-resort corroboration only — any fact that rests on them must carry a notes entry saying so.
  2. One surface at a time. Facts attach to offerings (provider × endpoint × model), never to “the provider” in general. The same model can behave differently on two endpoints of one provider — e.g. an OpenAI-compatible endpoint and an Anthropic-compatible one. Never copy facts across surfaces without checking.
  3. Unknown ≠ false ≠ free. Omit anything you cannot verify. A price of 0 requires free = true plus a source. Uncertain defaults go in notes with the word “verify” — that word is the registry’s flag for “next audit must settle this.”
  4. Provenance is mandatory. cost, limits, and reasoning sections each carry [*.source] with url and verified (YYYY-MM-DD). Point url at the specific page proving the fact — a pricing page for prices, the thinking guide for reasoning params — not the docs root. CI rejects facts older than 180 days and warns after 90.
  5. Wire IDs are copied, never typed from memory. Take model IDs verbatim from a live GET /models response or the provider’s model page — watch for date suffixes (claude-3-7-sonnet-20250219), region prefixes (us.anthropic.… on Bedrock), dot forms (grok-4.6), and tag forms (gpt-oss:120b-cloud).

1. Verify pricing

What: input / output / cache-read / cache-write USD per 1M tokens, per offering.

How:

Record: [cost] with source.url = the exact pricing page.

2. Verify models

What: which models a surface serves, and their exact wire IDs.

How:

Record: wire_id exactly as accepted; aliases on the canonical model file; status + status_date for deprecations (see kimi-k2.5). A new wire ID lands as an offering only after a human verifies its facts with sources — sync reports are leads, not facts.

3. Verify features (reasoning and capabilities)

What: the reasoning parameter spec and the feature flags per offering.

How:

Record: [reasoning] blocks with source.url = the thinking guide; [features] overrides only where the surface differs from the model default.

4. Verify auth model(s)

What: every way a provider authenticates requests.

How:

Record: one [[auth]] entry per method with getting_credentials prose and a docs link; mismatches and traps as [[quirks]].

5. Verify compatible APIs

What: which wire protocol each endpoint speaks, and where it diverges.

How:

Record: [[endpoints]] with protocol per endpoint; divergences as [[quirks]] with the doc or test that proved them.

Re-verification cycle