MCPcopy
hub / github.com/anomalyco/models.dev / modelPageMetadata

Function modelPageMetadata

packages/web/src/render.tsx:480–514  ·  view source on GitHub ↗
(model: ModelEntry)

Source from the content-addressed store, hash-verified

478}
479
480function modelPageMetadata(model: ModelEntry): PageMetadata {
481 const metadata = model.metadata;
482 const providerCount = model.providers.length;
483 const title = `${metadata.name} pricing, providers, and specs | Models.dev`;
484 const context = metadata.limit?.context
485 ? `${formatNumber(metadata.limit.context)} token context`
486 : undefined;
487 const output = metadata.limit?.output
488 ? `${formatNumber(metadata.limit.output)} token output`
489 : undefined;
490 const cost =
491 model.minInputCost !== undefined || model.minOutputCost !== undefined
492 ? `${costSummary(model.minInputCost, model.minOutputCost)} per 1M tokens`
493 : undefined;
494 const capabilities = capabilitySummary([
495 ["tool calling", metadata.tool_call],
496 ["reasoning", metadata.reasoning],
497 ["structured output", metadata.structured_output],
498 ["temperature control", metadata.temperature],
499 ]);
500 const modalities = modalitySummary(metadata.modalities?.input, metadata.modalities?.output);
501 const description = compactMetadataDescription(
502 [
503 metadata.description,
504 `Compare ${metadata.name} from ${model.labName} across ${plural(providerCount, "provider")}.`,
505 factSentence(
506 [context, output, cost, modalities, capabilities !== "-" ? capabilities : undefined],
507 "Specs include",
508 ),
509 ],
510 280,
511 );
512
513 return { title, description };
514}
515
516function providerPageMetadata(
517 providerId: string,

Callers 1

buildPagesFunction · 0.85

Calls 7

costSummaryFunction · 0.85
capabilitySummaryFunction · 0.85
modalitySummaryFunction · 0.85
pluralFunction · 0.85
factSentenceFunction · 0.85
formatNumberFunction · 0.70

Tested by

no test coverage detected