Skip to content
WebmasterID

Reference

Model page schema reference

Fields on a ModelEntity record: identifiers, lifecycle, pricing, modality, capabilities, source trail. Includes the JSON-LD rules that guarantee unverified metrics never reach search-engine markup.

Last updated: 2026-05-21

Field reference

ModelEntity field reference
FieldDefinitionRule / note
idStable internal record id.
slugURL slug used in /models/<slug>.Once shipped, never renamed.
providerSlugForeign key into providers.
apiIdentifiersMaybeVerified<{canonical, alias?, bedrock?, vertex?, other?}>Canonical is the pinned snapshot; alias is the rolling pointer.
lifecycleMaybeVerified<{status, retirementDate?, migrationTarget?}>Drives /models?lifecycle= filter and the lifecycle badge.
contextWindowMaybeVerified<number> input token limit.
maxOutputTokensMaybeVerified<number> output token limit.
modalityMaybeVerified<ModalityChannel[]>Input + output channels tracked separately.
featuresMaybeVerified<{extendedThinking, adaptiveThinking, priorityTier, visionInput, toolUse}>
pricingVerifiedPricingTier[] — see /docs/pricing-fields.Every row with a verified amount carries a citation.
benchmarksVerifiedBenchmarkScore[]Empty across every model today. No scores published.
infrastructure{regions, avgLatencyMs, uptimePercent} — all MaybeVerified.All null today. No fabricated latency/uptime/regions.
citationsDeduplicated union of every citation referenced by verified fields.

ModelEntity shape

interface ModelEntity {
  id: string;
  slug: string;
  name: string;
  description: string;
  providerSlug: string;
  verified: boolean;
  verificationStatus: 'verified' | 'partial' | 'unverified';
  lastCheckedAt: string | null;
  updatedDate: string | null;

  apiIdentifiers: MaybeVerified<ModelApiIdentifiers>;
  releaseDate: MaybeVerified<string>;
  snapshotDate: MaybeVerified<string>;
  knowledgeCutoff: MaybeVerified<ModelKnowledgeCutoff>;
  contextWindow: MaybeVerified<number>;
  maxOutputTokens: MaybeVerified<number>;
  modality: MaybeVerified<ModalityChannel[]>;
  features: MaybeVerified<ModelFeatures>;
  lifecycle: MaybeVerified<ModelLifecycle>;

  pricing: VerifiedPricingTier[];
  benchmarks: VerifiedBenchmarkScore[];
  infrastructure: ModelInfrastructure;

  citations: SourceCitation[];
}

API identifiers

The apiIdentifiers field records:

  • canonical — the pinned snapshot ID (e.g. claude-opus-4-20250514).
  • alias — the rolling alias the provider promotes for general use (e.g. claude-opus-4-0). Aliases resolve to different snapshots over time and should not be used as a stable identifier in benchmarks.
  • bedrock / vertex — platform-specific IDs where the model is also served via Amazon Bedrock or Google Vertex AI.
  • other — array of { platform, id } for any additional inference platforms.

Lifecycle and snapshot

snapshotDate is the date encoded in the pinned canonical identifier (e.g. 2025-05-14 for claude-opus-4-20250514). It is distinct from releaseDate (public-release date) — the catalogue records snapshot dates from canonical IDs and leaves release date null unless the vendor publishes a separate public-release record.

lifecycle is an object with status (active / preview / deprecated / retired), optional retirementDate, and optional migrationTarget (slug of the recommended successor). The /models filter surfaces this directly.

Modality, context, output, features

  • modality — array of ModalityChannel values: text-in, image-in, audio-in, video-in, text-out, image-out, audio-out. Input and output channels are tracked separately.
  • contextWindow — published max input tokens.
  • maxOutputTokens — published max output tokens in a single response.
  • features — object recording extendedThinking, adaptiveThinking, priorityTier, visionInput, toolUse. Each flag is null when the vendor does not document the capability.

Pricing tiers

The pricing array carries one VerifiedPricingTier per pricing unit. See pricing fields for the full enum and the validation rules.

Infrastructure fields

infrastructure is an object with three MaybeVerified slots: regions, avgLatencyMs, uptimePercent. All three are null today across every model in the catalogue. See inference infrastructure for why.

Benchmarks

The benchmarks array on each model record is empty today; no per-model scores are published. The benchmark structural catalogue lives at /benchmarks and explains why.

Source trail

citations is the deduplicated union of every citation referenced by any verified field on the record. Built once via the mergeCitations() helper at module-load time. Model detail pages render the list as the "Sources" section.

JSON-LD rules

The model JSON-LD helper at lib/model-jsonld.ts gates every metric behind isVerified(). Unverified pricing, benchmark, latency, uptime, region, or features properties are never emitted. The integrity guard "model-jsonld omits benchmark / latency / uptime fields entirely" refuses the build if a banned property assignment appears in the helper.

Continue

Related pages