Documentation/Model Registry
v2.0.0-beta.1Snapshot bebdcd1Markdown ↗

Model Registry

Model Registry

Model metadata, pricing, and capabilities

ModelNotSupportedError class

📍 src/domain/errors/AIErrors.ts:177

Constructor

constructor

typescript
constructor(providerName: string, model: string, capability: string)

Parameters:

  • providerName: string
  • model: string
  • capability: string

EmbeddingCostOptions interface

📍 src/domain/entities/EmbeddingModel.ts:70

Properties
Property Type Description
modality? `modality?: 'text' 'image'
imageTokens? imageTokens?: number; Additional modality-specific token buckets for mixed inputs.
audioTokens? audioTokens?: number; -
videoTokens? videoTokens?: number; -
images? images?: number; Unit counts accepted when token usage is unavailable.
audioSeconds? audioSeconds?: number; -
videoFrames? videoFrames?: number; -
batch? batch?: boolean; Apply the model's published batch discount.

EmbeddingModelCapabilities interface

📍 src/domain/entities/EmbeddingModel.ts:16

Embedding model capabilities

Properties
Property Type Description
maxTokens maxTokens: number; Maximum input tokens
defaultDimensions defaultDimensions: number; Default output dimensions
maxDimensions maxDimensions: number; Maximum output dimensions
inputModalities? `inputModalities?: readonly ('text' 'image'
features `features: {
/** Matryoshka Representation Learning — flexible output dimensions */
matryoshka: boolean;
/** Supports task-specific instruction prefixes */
instructionAware: boolean;
/** Supports batched input (array of strings) in one call */
batchInput: boolean;
/** Supports 100+ languages */
multilingual: boolean;

};| Feature support flags | |limits|limits: { /** Maximum inputs per batch request / maxBatchSize: number; /* Rate limit (requests per minute) */ maxRequestsPerMinute?: number; };| Model limits | |vendorOptions?|vendorOptions?: Record<string, VendorOptionSchema>;` | Vendor-specific options schema |


EmbeddingModelPricing interface

📍 src/domain/entities/EmbeddingModel.ts:56

Embedding model pricing

Properties
Property Type Description
perMTokens perMTokens: number; Cost per million tokens
perMImageTokens? perMImageTokens?: number; -
perMAudioTokens? perMAudioTokens?: number; -
perMVideoTokens? perMVideoTokens?: number; -
perImage? perImage?: number; -
perAudioSecond? perAudioSecond?: number; -
perVideoFrame? perVideoFrame?: number; -
batchMultiplier? batchMultiplier?: number; Cost multiplier for asynchronous batch processing (for example, 0.5).
currency currency: 'USD'; -

HelperModelConfig interface

📍 src/core/model-execution/types.ts:25

Properties
Property Type Description
connector connector: string; -
model model: string; -
instructions? instructions?: string; -
thinking? thinking?: ThinkingConfig; -
temperature? temperature?: number; -
maxOutputTokens? maxOutputTokens?: number; Defaults to 512.
maxInputTokens? maxInputTokens?: number; Packet estimate limit, bounded by the helper's resolved capacity.
dataHandling? dataHandling?: DataHandlingPolicy; -
requireNativeStructuredOutput? requireNativeStructuredOutput?: boolean; Require native JSON schema support instead of the validated prompt fallback.
allowContextTransfer? allowContextTransfer?: boolean; Required for automatic explicit-rollover transfer to another connector.
priceBound? priceBound?: ModelPriceBound; -

IBaseModelDescription interface

📍 src/domain/types/SharedTypes.ts:124

Base model description - shared by all registries Every model registry (Image, TTS, STT, Video) extends this

Properties
Property Type Description
name name: string; Model identifier (e.g., "gpt-image-2", "tts-1")
displayName displayName: string; Display name for UI (e.g., "DALL-E 3", "TTS-1")
provider provider: VendorType; Vendor/provider
description? description?: string; Model description
isActive isActive: boolean; Whether the model is currently available
preferred? preferred?: boolean; Whether this is a vendor-recommended/default choice for its modality.
lifecycle? lifecycle?: ModelLifecycleStatus; Vendor-published lifecycle. isActive remains for backward compatibility.
availability? availability?: ModelAvailability; Access scope when the model is not generally available to every account.
aliases? aliases?: readonly string[]; Alternate model IDs accepted by the provider.
snapshots? snapshots?: readonly string[]; Pinned versions behind this family entry.
endpoints? endpoints?: readonly ModelEndpoint[]; Normalized API endpoints on which the model is supported.
releaseDate? releaseDate?: string; Release date (YYYY-MM-DD)
deprecationDate? deprecationDate?: string; Deprecation date if scheduled (YYYY-MM-DD)
retirementDate? retirementDate?: string; Final shutdown date, after which requests fail or are redirected.
replacementModel? replacementModel?: string; Recommended migration target.
sources sources: ISourceLinks; Documentation/pricing links for maintenance

IEmbeddingModelDescription interface

📍 src/domain/entities/EmbeddingModel.ts:88

Complete embedding model description

Properties
Property Type Description
capabilities capabilities: EmbeddingModelCapabilities; -
pricing? pricing?: EmbeddingModelPricing; -

ILLMDescription interface

📍 src/domain/entities/Model.ts:17

Complete description of an LLM model including capabilities, pricing, and features

Properties
Property Type Description
name name: string; Model identifier (e.g., "gpt-5.2-instant")
provider provider: string; Vendor/provider (Vendor.OpenAI, Vendor.Anthropic, etc.)
description? description?: string; Optional description of the model
isActive isActive: boolean; Whether the model is currently available for use
lifecycle? lifecycle?: ModelLifecycleStatus; Vendor-published lifecycle. isActive is retained for compatibility.
availability? availability?: ModelAvailability; Access scope for limited or gated models.
aliases? aliases?: readonly string[]; Alternate model IDs accepted by the provider.
snapshots? snapshots?: readonly string[]; Pinned versions represented by this registry entry.
endpoints? endpoints?: readonly ModelEndpoint[]; Supported first-party API endpoints.
deprecationDate? deprecationDate?: string; Date the vendor announced deprecation (YYYY-MM-DD).
retirementDate? retirementDate?: string; Final shutdown date (YYYY-MM-DD).
replacementModel? replacementModel?: string; Recommended migration target.
preferred? preferred?: boolean; Whether this model is a preferred/recommended choice for its vendor
releaseDate? releaseDate?: string; Release date (YYYY-MM-DD format)
knowledgeCutoff? knowledgeCutoff?: string; Knowledge cutoff date
sources? sources?: ISourceLinks; Official references used to verify this entry. Optional for legacy v1 records.
voices? voices?: IVoiceInfo[]; Built-in voices for realtime/audio models (undefined = no built-in voices)
features `features: {
/** Supports extended reasoning/thinking */
reasoning?: boolean;

/** Verified reasoning-effort values accepted by this model. */
reasoningEfforts?: readonly ('none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max')[];

/** Supports streaming responses */
streaming: boolean;

/** Supports structured output (JSON mode) */
structuredOutput?: boolean;

/** Supports function/tool calling */
functionCalling?: boolean;

/** Supports fine-tuning */
fineTuning?: boolean;

/** Supports predicted outputs */
predictedOutputs?: boolean;

/** Supports realtime API */
realtime?: boolean;

/** Supports image input (vision) */
vision?: boolean;

/** Supports audio input/output */
audio?: boolean;

/** Supports video input */
video?: boolean;

/** Supports extended thinking (Claude-specific) */
extendedThinking?: boolean;

/** Supports batch API */
batchAPI?: boolean;

/** Supports prompt caching */
promptCaching?: boolean;

/** Supports Responses async function/custom tool calls. */
asyncToolCalling?: boolean;

/** Supports Responses WebSocket mid-turn steering. */
midTurnSteering?: boolean;

/** Supports conversation-scoped `configuration_update` input items. */
configurationUpdates?: boolean;

/** Participates in OpenAI's asynchronous misalignment monitoring. */
misalignmentMonitoring?: boolean;

/** Provider-hosted tools verified for this exact model. */
nativeTools?: readonly NativeToolCapability[];

/** Modality-specific prices. Token prices are USD per million tokens. */
pricing?: {
  text?: TokenPricing;
  audio?: TokenPricing;
  image?: TokenPricing;
  /** Used by duration-priced realtime translation models. */
  audioDurationPerMinute?: number;
  /** Used by realtime agents that bill text conversation events. */
  textInputPerMessage?: number;
  /** Provider processing-tier multipliers relative to standard pricing. */
  processingMultipliers?: Partial&lt;Record&lt;ProcessingMode, number&gt;&gt;;
};

/** Parameter support - indicates which sampling parameters are supported */
parameters?: {
  /** Supports temperature parameter */
  temperature?: boolean;
  /** Supports top_p parameter */
  topP?: boolean;
  /** Supports top_k parameter */
  topK?: boolean;
  /** Supports frequency_penalty parameter */
  frequencyPenalty?: boolean;
  /** Supports presence_penalty parameter */
  presencePenalty?: boolean;
};

/** Accepted parameters that the vendor has announced as deprecated. */
deprecatedParameters?: readonly ('temperature' | 'topP' | 'topK' | 'frequencyPenalty' | 'presencePenalty')[];

/** Input specifications */
input: {
  /** Maximum input context window (in tokens) */
  tokens: number | null;

  /** Supports text input */
  text: boolean;

  /** Supports image input */
  image?: boolean;

  /** Supports audio input */
  audio?: boolean;

  /** Supports video input */
  video?: boolean;

  /** Cost per million tokens (input) */
  cpm: number;

  /** Cost per million cached tokens (if prompt caching supported) */
  cpmCached?: number;
};

/** Output specifications */
output: {
  /** Maximum output tokens */
  tokens: number | null;

  /** Supports text output */
  text: boolean;

  /** Supports image output */
  image?: boolean;

  /** Supports audio output */
  audio?: boolean;

  /** Cost per million tokens (output) */
  cpm: number;
};

};` | Model capabilities and pricing |


LongContextTokenPricing interface

📍 src/domain/entities/Model.ts:212

Properties
Property Type Description
thresholdTokens thresholdTokens: number; Apply this tier when total request input is at least this many tokens.
input input: number; -
cachedInput? cachedInput?: number; -
cacheWrite? cacheWrite?: number; -
output output: number; -

ModelAttemptRecord interface

📍 src/core/model-execution/types.ts:98

Properties
Property Type Description
id id: string; -
invocationId invocationId: string; -
boundary `boundary: 'transport' 'provider';`
status `status: 'reserved' 'received'
httpStatus? httpStatus?: number; -
dispatched dispatched: boolean; -
reservedTokens reservedTokens: number; -
reservedCostUSD `reservedCostUSD: number null;`
usageCoveredByInvocation usageCoveredByInvocation: boolean; Aggregate successful-attempt usage is recorded once on the invocation.

ModelCallDescriptor interface

📍 src/core/model-execution/types.ts:87

Properties
Property Type Description
purpose purpose: string; -
phase? `phase?: 'generation' 'repair'
connector connector: string; -
model model: string; -
parentInvocationId? parentInvocationId?: string; -
inputTokenBound inputTokenBound: number; -
outputTokenBound outputTokenBound: number; -
priceBound? priceBound?: ModelPriceBound; -

ModelCapabilities interface

📍 src/domain/interfaces/ITextProvider.ts:88

Properties
Property Type Description
supportsTools supportsTools: boolean; -
supportsVision supportsVision: boolean; -
supportsJSON supportsJSON: boolean; -
supportsJSONSchema supportsJSONSchema: boolean; -
maxTokens maxTokens: number; -
maxInputTokens? maxInputTokens?: number; -
maxOutputTokens? maxOutputTokens?: number; -

ModelExecutionConfig interface

📍 src/core/model-execution/types.ts:43

Properties
Property Type Description
routing? routing?: ModelRoutingConfig; Opt-in managed run/stream model routing. Runtime policy is not session authority.
helpers? helpers?: Partial&lt;Record&lt;HelperRole, HelperModelConfig&gt;&gt;; -
limits? limits?: ModelTaskLimits; -
maxOutputTokensPerCall? maxOutputTokensPerCall?: number; Optional aggregate main-call output cap across candidates. Omitted preserves provider defaults.
priceBound? priceBound?: ModelPriceBound; Main-model upper rates when registry prices do not bound this deployment.
customProviderAttempts? customProviderAttempts?: 'single'; Trusted host attestation for injected providers that make exactly one attempt.

ModelInvocationRecord interface

📍 src/core/model-execution/types.ts:111

Properties
Property Type Description
id id: string; -
parentInvocationId? parentInvocationId?: string; -
purpose purpose: string; -
phase `phase: 'generation' 'repair'
connector connector: string; -
model model: string; -
status `status: 'running' 'succeeded'
usage `usage: TokenUsage null;`
modelCostUSD `modelCostUSD: number null;`
lateSettlement lateSettlement: boolean; -
external external: boolean; -
outputValidation? `outputValidation?: 'passed' 'failed';`

ModelParameterAssessment interface

📍 src/capabilities/metadata/parameters.ts:6

Properties
Property Type Description
effectiveReasoningEffort `readonly effectiveReasoningEffort: string null;`
reasoningEffort readonly reasoningEffort: EndpointCapabilitySupport; -
temperature `readonly temperature: { readonly support: EndpointCapabilitySupport; readonly reason: 'reasoning-active' 'reasoning-disabled'

ModelParameterDecision interface

📍 src/capabilities/metadata/parameters.ts:11

Properties
Property Type Description
vendor readonly vendor: Vendor; -
model readonly model: string; -
endpoint readonly endpoint: ModelParameterEndpoint; -
action `readonly action: 'preserve' 'omit'
support readonly support: EndpointCapabilitySupport; -
effectiveReasoningEffort `readonly effectiveReasoningEffort: string null;`
reason readonly reason: ModelParameterAssessment['temperature']['reason']; -

ModelParameterPolicy interface

📍 src/capabilities/metadata/parameters.ts:16

Methods

observe()?

Bounded diagnostics, no request payload. Observer failures cannot repeat a request.

typescript
observe?(decision: Readonly&lt;ModelParameterDecision&gt;): void;

Parameters:

  • decision: Readonly&lt;ModelParameterDecision&gt;

Returns: void

Properties
Property Type Description
temperature `temperature: 'strict' 'omit-unsupported';`

ModelParameterQuery interface

📍 src/capabilities/metadata/parameters.ts:5

Properties
Property Type Description
vendor vendor: Vendor; -
model model: string; -
endpoint endpoint: ModelParameterEndpoint; -
reasoningEffort? reasoningEffort?: string -

ModelPriceBound interface

📍 src/core/model-execution/types.ts:20

Host-supplied upper rates, including any service tier or cache-write premium.

Properties
Property Type Description
inputPerMillion inputPerMillion: number; -
outputPerMillion outputPerMillion: number; -

ModelRouteCandidate interface

📍 src/core/model-execution/types.ts:174

Properties
Property Type Description
route readonly route: string; -
connector readonly connector: string; -
model readonly model: string; -
eligible readonly eligible: boolean; Preliminary state/capability eligibility, not a reservation or fit promise.
reasons readonly reasons: readonly string[]; -

ModelRouteConfig interface

📍 src/core/model-execution/types.ts:149

Properties
Property Type Description
model model: string; -
connector? connector?: string; Inherit the Agent's configured connector when omitted.
thinking? thinking?: ThinkingConfig; -
temperature? temperature?: number; -
maxOutputTokens? maxOutputTokens?: number; Optional tighter cap; cannot increase maxOutputTokensPerCall.
priceBound? priceBound?: ModelPriceBound; Bound for this route; another deployment's price bound is never inherited.
dataHandling? dataHandling?: DataHandlingPolicy; -
allowContextTransfer? allowContextTransfer?: boolean; Required to send the managed request to a different connector/account.

ModelRoutingConfig interface

📍 src/core/model-execution/types.ts:201

Properties
Property Type Description
routes routes: Record&lt;string, ModelRouteConfig&gt;; Nonempty, bounded names. 'default' is reserved and cannot be redefined.
select? `select?: (context: ModelRoutingContext) =>
| string
| ModelRoutingDecision
| Promise&lt;string | ModelRoutingDecision&gt;;` | Omit for explicit named-route overrides only; otherwise default stays selected. |

| fallback? | fallback?: string; | Default 'default'. Used only for selector exceptions/timeouts. | | timeoutMs? | timeoutMs?: number; | Default 1000ms; also bounded by the current execution/task deadline. | | sticky? | sticky?: 'run' | 'phase'; | Default 'run'. 'phase' reuses a route in the same explicit ModelTask/phase. |


ModelRoutingContext interface

📍 src/core/model-execution/types.ts:183

Properties
Property Type Description
hints readonly hints: Readonly&lt;ModelRoutingHints&gt;; -
candidates readonly candidates: readonly ModelRouteCandidate[]; -
previous? `readonly previous?: Readonly<{
route: string;
connector: string;
model: string;

}>;| Last admitted route in this explicit ModelTask and phase, if any. | |signal|readonly signal: AbortSignal;` | - |


ModelRoutingDecision interface

📍 src/core/model-execution/types.ts:195

Properties
Property Type Description
route route: string; -
reason? reason?: string; Diagnostic only; never injected as an instruction.

ModelRoutingDiagnostics interface

📍 src/core/model-execution/types.ts:217

Properties
Property Type Description
decisionId readonly decisionId: string; -
executionId readonly executionId: string; -
requestedRoute? readonly requestedRoute?: string; -
selectedRoute readonly selectedRoute: string; -
connector readonly connector: string; -
model readonly model: string; -
source `readonly source: 'default' 'policy'
reason? readonly reason?: string; -
selectorFailure? `readonly selectorFailure?: 'timeout' 'exception';`
selectionMs readonly selectionMs: number; -

ModelRoutingHints interface

📍 src/core/model-execution/types.ts:164

Properties
Property Type Description
taskType? taskType?: string; -
phase? phase?: string; -

ModelRoutingRunOptions interface

📍 src/core/model-execution/types.ts:169

Properties
Property Type Description
route? route?: string; 'default' is the existing configured main connector/model.

RealtimeModelCapabilities interface

📍 src/capabilities/metadata/realtime.ts:13

Properties
Property Type Description
vendor readonly vendor: Vendor; -
model readonly model: string; -
transport readonly transport: RealtimeTransport; -
registryKnown readonly registryKnown: boolean; -
reasoning `readonly reasoning: { readonly support: EndpointCapabilitySupport; /** null explicitly means the exact set is unknown. */ readonly allowedEfforts: readonly RealtimeReasoningEffort[] null; readonly provenance?: CapabilityProvenance };`

RealtimeModelCapabilityQuery interface

📍 src/capabilities/metadata/realtime.ts:8

Properties
Property Type Description
vendor vendor: Vendor; -
model model: string; -
transport transport: RealtimeTransport; -
endpoint? `endpoint?: 'openai-realtime' 'custom';`

ResolvedDeepSeekModel interface

📍 src/infrastructure/providers/deepseek/DeepSeekHostRegistry.ts:174

Properties
Property Type Description
requestedModel requestedModel: string; -
canonicalModel? canonicalModel?: string; -
apiModel apiModel: string; -
transport transport: Exclude&lt;DeepSeekTransport, 'auto'&gt;; -
inputTokens? inputTokens?: number; -
outputTokens? outputTokens?: number; -

RestraintModelInfo interface

📍 src/memory/integration/RestraintEvent.ts:50

Telemetry about the model call that produced or vetoed the item. Optional — emitted only when the primitive actually called a connector.

Properties
Property Type Description
connector connector: string; -
model model: string; -
latencyMs? latencyMs?: number; Wall-clock latency for the call in milliseconds.

TokenPricing interface

📍 src/domain/entities/Model.ts:221

Properties
Property Type Description
input input: number; -
cachedInput? cachedInput?: number; -
cacheWrite? cacheWrite?: number; Explicit cache population/write price per million tokens.
output? output?: number; Output price. Omitted for input-only modalities such as images on realtime models.
longContext? longContext?: LongContextTokenPricing; Optional all-token price tier for long-context requests.

ModelAvailability type

📍 src/domain/types/SharedTypes.ts:20

Commercial/access scope for models that are not universally available.

typescript
type ModelAvailability = | 'public'
  | 'limited'
  | 'invite_only'
  | 'enterprise'
  | 'region_limited'

ModelEndpoint type

📍 src/domain/types/SharedTypes.ts:28

Normalized API surfaces used by the first-party provider adapters.

typescript
type ModelEndpoint = | 'responses'
  | 'decisions'
  | 'chat_completions'
  | 'completions'
  | 'messages'
  | 'generate_content'
  | 'interactions'
  | 'live'
  | 'realtime'
  | 'batch'
  | 'image_generation'
  | 'image_edit'
  | 'video_generation'
  | 'video_edit'
  | 'audio_speech'
  | 'audio_transcription'
  | 'embeddings'

ModelLifecycleStatus type

📍 src/domain/types/SharedTypes.ts:12

Lifecycle state published by the model vendor.

typescript
type ModelLifecycleStatus = | 'preview'
  | 'active'
  | 'legacy'
  | 'deprecated'
  | 'retired'

ModelParameterEndpoint type

📍 src/capabilities/metadata/parameters.ts:4

typescript
type ModelParameterEndpoint = 'responses' | 'chat-completions' | 'custom'

OpenAIRealtimeModel type

📍 src/capabilities/voice/openai/RealtimeTypes.ts:3

OpenAI Realtime GA session and transport types.

typescript
type OpenAIRealtimeModel = | 'gpt-realtime-2.1'
  | 'gpt-realtime-2.1-mini'
  | 'gpt-realtime-2'
  | 'gpt-realtime-translate'
  | 'gpt-realtime-1.5'
  | 'gpt-realtime'
  | 'gpt-realtime-mini'
  | (string & {})

ProcessingMode type

📍 src/domain/entities/Model.ts:202

typescript
type ProcessingMode = | 'interactive'
  | 'standard'
  | 'batch'
  | 'flex'
  | 'fast'
  | 'ultrafast'
  | 'priority'
  | 'off_peak'

assessModelParameters function

📍 src/capabilities/metadata/parameters.ts:43

Pure metadata. Unknown/custom endpoints are preserved rather than silently sanitized.

typescript
export function assessModelParameters(query: ModelParameterQuery): ModelParameterAssessment

calculateCost function

📍 src/domain/entities/Model.ts:4408

Calculate the cost for a given model and token usage

typescript
export function calculateCost(
  model: string,
  inputTokens: number,
  outputTokens: number,
  options?: {
    /** @deprecated Prefer cachedInputTokens for mixed cached/uncached requests. */
    useCachedInput?: boolean;
    cachedInputTokens?: number;
    cacheCreationInputTokens?: number;
    cacheCreationDetails?: {
      shortTtlInputTokens?: number;
      extendedTtlInputTokens?: number;
    };
    processingMode?: ProcessingMode;
    /** Override automatic long-context selection for estimates and quotes. */
    contextTier?: 'auto' | 'standard' | 'long';
    /** Price using the selected modality when the registry provides it. */
    modality?: 'text' | 'audio' | 'image';
    /** Duration for models billed per minute instead of per token. */
    audioMinutes?: number;
    /** Number of billable text-input events for event-priced realtime agents. */
    inputMessages?: number;
  }
): number | null

calculateEmbeddingCost function

📍 src/domain/entities/EmbeddingModel.ts:660

Calculate embedding cost for a given model and token count

typescript
export function calculateEmbeddingCost(
  modelName: string,
  tokens: number,
  options: EmbeddingCostOptions = {}
): number | null

getActiveModels function

📍 src/domain/entities/Model.ts:4389

Get all currently active models

typescript
export function getActiveModels(): ILLMDescription[]

getDeprecatedModels function

📍 src/domain/entities/Model.ts:4394

Get callable models carrying an explicit vendor deprecation notice.

typescript
export function getDeprecatedModels(): ILLMDescription[]

getEmbeddingModelsWithFeature function

📍 src/domain/entities/EmbeddingModel.ts:642

Get embedding models that support a specific feature

typescript
export function getEmbeddingModelsWithFeature(
  feature: keyof IEmbeddingModelDescription['capabilities']['features']
): IEmbeddingModelDescription[]

getModelInfo function

📍 src/domain/entities/Model.ts:4366

Get model information by name

typescript
export function getModelInfo(modelName: string): ILLMDescription | undefined

getModelsByVendor function

📍 src/domain/entities/Model.ts:4381

Get all models for a specific vendor

typescript
export function getModelsByVendor(vendor: VendorType): ILLMDescription[]

getRealtimeModelCapabilities function

📍 src/capabilities/metadata/realtime.ts:24

Pure sparse companion. Unknown metadata never becomes an unsupported UI choice.

typescript
export function getRealtimeModelCapabilities(query: RealtimeModelCapabilityQuery): RealtimeModelCapabilities

resolveDeepSeekModel function

📍 src/infrastructure/providers/deepseek/DeepSeekHostRegistry.ts:183

typescript
export function resolveDeepSeekModel(
  model: string,
  host: ResolvedDeepSeekHost,
): ResolvedDeepSeekModel

resolveModelCapabilities function

📍 src/infrastructure/providers/base/ModelCapabilityResolver.ts:37

Resolve model capabilities from the centralized registry, falling back to vendor defaults.

typescript
export function resolveModelCapabilities(
  model: string,
  vendorDefaults: ModelCapabilities
): ModelCapabilities

resolveModelName function

📍 src/domain/entities/Model.ts:4372

Resolve a direct model ID or floating alias to the registry's canonical ID.

typescript
export function resolveModelName(modelName: string): string | undefined

EMBEDDING_MODEL_REGISTRY const

📍 src/domain/entities/EmbeddingModel.ts:146

Complete embedding model registry Last full audit: August 2026

Properties
Property Type Description
'text-embedding-3-small' `{
name: 'text-embedding-3-small',
displayName: 'Text Embedding 3 Small',
provider: Vendor.OpenAI,
description: 'Cost-efficient embedding model with MRL support for flexible dimensions',
isActive: true,
releaseDate: '2024-01-25',
sources: {
  documentation: 'https://platform.openai.com/docs/guides/embeddings',
  pricing: 'https://openai.com/pricing',
  lastVerified: '2026-08-30',
},
capabilities: {
  maxTokens: 8191,
  defaultDimensions: 1536,
  maxDimensions: 1536,
  features: {
    matryoshka: true,
    instructionAware: false,
    batchInput: true,
    multilingual: true,
  },
  limits: {
    maxBatchSize: 2048,
    maxRequestsPerMinute: 3000,
  },
},
pricing: {
  perMTokens: 0.02,
  currency: 'USD',
},

}| - | |'text-embedding-3-large'|{ name: 'text-embedding-3-large', displayName: 'Text Embedding 3 Large', provider: Vendor.OpenAI, description: 'High-quality embedding model with MRL support, up to 3072 dimensions', isActive: true, releaseDate: '2024-01-25', sources: { documentation: 'https://platform.openai.com/docs/guides/embeddings', pricing: 'https://openai.com/pricing', lastVerified: '2026-08-30', }, capabilities: { maxTokens: 8191, defaultDimensions: 3072, maxDimensions: 3072, features: { matryoshka: true, instructionAware: false, batchInput: true, multilingual: true, }, limits: { maxBatchSize: 2048, maxRequestsPerMinute: 3000, }, }, pricing: { perMTokens: 0.13, currency: 'USD', }, }| - | |'text-embedding-ada-002'|{ name: 'text-embedding-ada-002', displayName: 'Text Embedding Ada 002', provider: Vendor.OpenAI, description: 'Legacy embedding model, replaced by text-embedding-3 series', isActive: true, lifecycle: 'legacy', releaseDate: '2022-12-15', sources: { documentation: 'https://developers.openai.com/api/docs/models/text-embedding-ada-002', pricing: 'https://developers.openai.com/api/docs/pricing', lastVerified: '2026-08-30', }, capabilities: { maxTokens: 8191, defaultDimensions: 1536, maxDimensions: 1536, features: { matryoshka: false, instructionAware: false, batchInput: true, multilingual: false, }, limits: { maxBatchSize: 2048, }, }, pricing: { perMTokens: 0.10, currency: 'USD', }, }| - | |'gemini-embedding-2'|{ name: 'gemini-embedding-2', displayName: 'Gemini Embedding 2', provider: Vendor.Google, description: 'Current multimodal embedding model mapping text, images, audio, video, and PDFs into one vector space', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, endpoints: ['embeddings', 'batch'], releaseDate: '2026-04-28', sources: { documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-embedding-2', pricing: 'https://ai.google.dev/gemini-api/docs/pricing', lastVerified: '2026-08-30', }, capabilities: { maxTokens: 8192, defaultDimensions: 3072, maxDimensions: 3072, inputModalities: ['text', 'image', 'audio', 'video', 'document'], features: { matryoshka: true, instructionAware: true, batchInput: true, multilingual: true }, limits: { maxBatchSize: 100 }, }, pricing: { perMTokens: 0.20, perMImageTokens: 0.45, perMAudioTokens: 6.50, perMVideoTokens: 12, perImage: 0.00012, perAudioSecond: 0.00016, perVideoFrame: 0.00079, batchMultiplier: 0.5, currency: 'USD', }, }| - | |'gemini-embedding-001'|{ name: 'gemini-embedding-001', displayName: 'Gemini Embedding', provider: Vendor.Google, description: 'Stable text-only Gemini embedding model with flexible dimensions', isActive: true, lifecycle: 'active', availability: 'public', endpoints: ['embeddings', 'batch'], releaseDate: '2025-06-01', sources: { documentation: 'https://ai.google.dev/gemini-api/docs/embeddings', pricing: 'https://ai.google.dev/gemini-api/docs/pricing', lastVerified: '2026-08-30', }, capabilities: { maxTokens: 2048, defaultDimensions: 3072, maxDimensions: 3072, inputModalities: ['text'], features: { matryoshka: true, instructionAware: true, batchInput: true, multilingual: true }, limits: { maxBatchSize: 100 }, }, pricing: { perMTokens: 0.15, batchMultiplier: 0.5, currency: 'USD' }, }| - | |'text-embedding-004'|{ name: 'text-embedding-004', displayName: 'Text Embedding 004', provider: Vendor.Google, description: 'Gemini embedding model with dimension reduction support', isActive: false, lifecycle: 'retired', retirementDate: '2026-01-14', replacementModel: 'gemini-embedding-2', releaseDate: '2024-05-14', sources: { documentation: 'https://ai.google.dev/gemini-api/docs/embeddings', pricing: 'https://ai.google.dev/pricing', lastVerified: '2026-08-30', }, capabilities: { maxTokens: 2048, defaultDimensions: 768, maxDimensions: 768, features: { matryoshka: true, instructionAware: true, batchInput: true, multilingual: true, }, limits: { maxBatchSize: 100, maxRequestsPerMinute: 1500, }, vendorOptions: { taskType: { type: 'enum', description: 'Task type for optimized embeddings', enum: [ 'RETRIEVAL_QUERY', 'RETRIEVAL_DOCUMENT', 'SEMANTIC_SIMILARITY', 'CLASSIFICATION', 'CLUSTERING', 'QUESTION_ANSWERING', 'FACT_VERIFICATION', ], label: 'Task Type', controlType: 'select', }, }, }, pricing: { perMTokens: 0.00, currency: 'USD', }, }| - | |'mistral-embed'|{ name: 'mistral-embed', displayName: 'Mistral Embed', provider: Vendor.Mistral, description: 'Mistral embedding model optimized for retrieval', isActive: true, releaseDate: '2024-02-26', sources: { documentation: 'https://docs.mistral.ai/capabilities/embeddings/', pricing: 'https://mistral.ai/products/la-plateforme#pricing', lastVerified: '2026-08-30', }, capabilities: { maxTokens: 8192, defaultDimensions: 1024, maxDimensions: 1024, features: { matryoshka: false, instructionAware: false, batchInput: true, multilingual: true, }, limits: { maxBatchSize: 512, }, }, pricing: { perMTokens: 0.10, currency: 'USD', }, }| - | |'codestral-embed'|{ name: 'codestral-embed', displayName: 'Codestral Embed', provider: Vendor.Mistral, description: 'Code-specialized retrieval embeddings with configurable output dimensions and data types', isActive: true, lifecycle: 'active', availability: 'public', endpoints: ['embeddings', 'batch'], releaseDate: '2025-05-28', sources: { documentation: 'https://docs.mistral.ai/models/codestral-embed-25-05', pricing: 'https://docs.mistral.ai/models/codestral-embed-25-05', lastVerified: '2026-08-30', }, capabilities: { maxTokens: 8192, defaultDimensions: 3072, maxDimensions: 3072, inputModalities: ['text'], features: { matryoshka: true, instructionAware: false, batchInput: true, multilingual: true }, limits: { maxBatchSize: 128 }, vendorOptions: { output_dimension: { type: 'number', description: 'Requested output vector dimensions', min: 1, max: 3072 }, output_dtype: { type: 'enum', description: 'Output vector data type', enum: ['float', 'int8', 'uint8', 'binary', 'ubinary'], default: 'float' }, }, }, pricing: { perMTokens: 0.15, currency: 'USD' }, }| - | |'embeddinggemma'|{ name: 'embeddinggemma', displayName: 'EmbeddingGemma 300M', provider: Vendor.Ollama, description: 'Ollama-recommended compact multilingual embedding model from Google', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, releaseDate: '2025-09-04', sources: { documentation: 'https://docs.ollama.com/capabilities/embeddings', apiReference: 'https://ollama.com/library/embeddinggemma', lastVerified: '2026-08-30', }, capabilities: { maxTokens: 2048, defaultDimensions: 768, maxDimensions: 768, inputModalities: ['text'], features: { matryoshka: true, instructionAware: true, batchInput: true, multilingual: true }, limits: { maxBatchSize: 512 }, }, }| - | |'all-minilm'|{ name: 'all-minilm', displayName: 'All MiniLM', provider: Vendor.Ollama, description: 'Small sentence embedding model for fast local semantic search', isActive: true, lifecycle: 'active', availability: 'public', sources: { documentation: 'https://docs.ollama.com/capabilities/embeddings', apiReference: 'https://ollama.com/library/all-minilm', lastVerified: '2026-08-30', }, capabilities: { maxTokens: 512, defaultDimensions: 384, maxDimensions: 384, inputModalities: ['text'], features: { matryoshka: false, instructionAware: false, batchInput: true, multilingual: false }, limits: { maxBatchSize: 512 }, }, }| - | |'qwen3-embedding'|{ name: 'qwen3-embedding', displayName: 'Qwen3 Embedding 8B', provider: Vendor.Ollama, description: 'Top-tier local embedding model (8B params). #1 on MTEB multilingual. ~5GB Q4.', isActive: true, releaseDate: '2025-06-09', sources: { documentation: 'https://huggingface.co/Qwen/Qwen3-Embedding-8B', pricing: 'https://ollama.com/library/qwen3-embedding', lastVerified: '2026-08-30', }, capabilities: { maxTokens: 8192, defaultDimensions: 4096, maxDimensions: 4096, features: { matryoshka: true, instructionAware: true, batchInput: true, multilingual: true, }, limits: { maxBatchSize: 512, }, }, }| - | |'qwen3-embedding:4b'|{ name: 'qwen3-embedding:4b', displayName: 'Qwen3 Embedding 4B', provider: Vendor.Ollama, description: 'Mid-range local embedding model (4B params). ~2.5GB Q4.', isActive: true, releaseDate: '2025-06-09', sources: { documentation: 'https://huggingface.co/Qwen/Qwen3-Embedding-4B', pricing: 'https://ollama.com/library/qwen3-embedding', lastVerified: '2026-08-30', }, capabilities: { maxTokens: 8192, defaultDimensions: 4096, maxDimensions: 4096, features: { matryoshka: true, instructionAware: true, batchInput: true, multilingual: true, }, limits: { maxBatchSize: 512, }, }, }| - | |'qwen3-embedding:0.6b'|{ name: 'qwen3-embedding:0.6b', displayName: 'Qwen3 Embedding 0.6B', provider: Vendor.Ollama, description: 'Lightweight local embedding model (0.6B params). ~400MB Q4. Runs on any laptop.', isActive: true, releaseDate: '2025-06-09', sources: { documentation: 'https://huggingface.co/Qwen/Qwen3-Embedding-0.6B', pricing: 'https://ollama.com/library/qwen3-embedding', lastVerified: '2026-08-30', }, capabilities: { maxTokens: 8192, defaultDimensions: 1024, maxDimensions: 1024, features: { matryoshka: true, instructionAware: true, batchInput: true, multilingual: true, }, limits: { maxBatchSize: 512, }, }, }| - | |'nomic-embed-text'|{ name: 'nomic-embed-text', displayName: 'Nomic Embed Text', provider: Vendor.Ollama, description: 'Compact 768-dim embedding model with MRL support. ~275MB.', isActive: true, releaseDate: '2024-02-02', sources: { documentation: 'https://huggingface.co/nomic-ai/nomic-embed-text-v1.5', pricing: 'https://ollama.com/library/nomic-embed-text', lastVerified: '2026-08-30', }, capabilities: { maxTokens: 8192, defaultDimensions: 768, maxDimensions: 768, features: { matryoshka: true, instructionAware: true, batchInput: true, multilingual: false, }, limits: { maxBatchSize: 512, }, }, }| - | |'mxbai-embed-large'|{ name: 'mxbai-embed-large', displayName: 'MixedBread Embed Large', provider: Vendor.Ollama, description: 'Mixed Bread AI large embedding model. ~670MB.', isActive: true, releaseDate: '2024-03-07', sources: { documentation: 'https://huggingface.co/mixedbread-ai/mxbai-embed-large-v1', pricing: 'https://ollama.com/library/mxbai-embed-large', lastVerified: '2026-08-30', }, capabilities: { maxTokens: 512, defaultDimensions: 1024, maxDimensions: 1024, features: { matryoshka: false, instructionAware: true, batchInput: true, multilingual: false, }, limits: { maxBatchSize: 512, }, }, }` | - |


MODEL_REGISTRY const

📍 src/domain/entities/Model.ts:393

Complete model registry with all model metadata Registry schema v2. Last vendor model update: 2026-10-07.

Properties
Property Type Description
'gpt-6-astra' `{
name: 'gpt-6-astra',
provider: Vendor.OpenAI,
description: 'OpenAI\'s most capable model for complex reasoning, coding, computer use, research, and document creation',
isActive: true,
lifecycle: 'active',
availability: 'public',
preferred: true,
endpoints: ['responses', 'chat_completions', 'batch'],
releaseDate: '2026-09-04',
knowledgeCutoff: '2026-04-30',
sources: { documentation: 'https://developers.openai.com/api/docs/models/gpt-6-astra', pricing: 'https://developers.openai.com/api/docs/pricing', lastVerified: '2026-10-07' },
features: {
  reasoning: true, reasoningEfforts: ['low', 'medium', 'high', 'xhigh', 'max'],
  streaming: true, structuredOutput: true, functionCalling: true,
  fineTuning: false, predictedOutputs: false, realtime: false, vision: true,
  audio: false, video: false, batchAPI: true, promptCaching: true,
  asyncToolCalling: true, midTurnSteering: true, configurationUpdates: true,
  misalignmentMonitoring: true,
  parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false },
  input: { tokens: 1_050_000, text: true, image: true, cpm: 10, cpmCached: 1 },
  output: { tokens: 128000, text: true, cpm: 50 },
  pricing: {
    text: {
      input: 10, cachedInput: 1, cacheWrite: 12.5, output: 50,
      longContext: { thresholdTokens: 272000, input: 20, cachedInput: 2, cacheWrite: 25, output: 75 },
    },
    processingMultipliers: { batch: 0.5, flex: 0.5, fast: 2 },
  },
},

}| - | |'gpt-6.1-sol'|{ name: 'gpt-6.1-sol', provider: Vendor.OpenAI, description: 'Latest GPT-6 workhorse for coding, professional work, and long-running agents', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, endpoints: ['responses', 'chat_completions', 'batch'], releaseDate: '2026-09-29', knowledgeCutoff: '2026-04-30', sources: { documentation: 'https://developers.openai.com/api/docs/models/gpt-6.1-sol', pricing: 'https://developers.openai.com/api/docs/pricing', lastVerified: '2026-10-07' }, features: { reasoning: true, reasoningEfforts: ['low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, asyncToolCalling: true, midTurnSteering: true, configurationUpdates: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 1_050_000, text: true, image: true, cpm: 2, cpmCached: 0.1 }, output: { tokens: 128_000, text: true, cpm: 10 }, pricing: { text: { input: 2, cachedInput: 0.1, cacheWrite: 2.5, output: 10, longContext: { thresholdTokens: 272_000, input: 4, cachedInput: 0.2, cacheWrite: 5, output: 15 }, }, processingMultipliers: { batch: 0.5, flex: 0.5, fast: 2 }, }, }, }| - | |'gpt-6-sol'|{ name: 'gpt-6-sol', provider: Vendor.OpenAI, description: 'GPT-6 workhorse model for coding, professional work, and agentic workloads', isActive: true, lifecycle: 'active', availability: 'public', endpoints: ['responses', 'chat_completions', 'batch'], releaseDate: '2026-09-22', knowledgeCutoff: '2026-04-20', sources: { documentation: 'https://developers.openai.com/api/docs/models/gpt-6-sol', pricing: 'https://developers.openai.com/api/docs/pricing', lastVerified: '2026-10-07' }, features: { reasoning: true, reasoningEfforts: ['none', 'low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, asyncToolCalling: true, midTurnSteering: true, configurationUpdates: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 1_050_000, text: true, image: true, cpm: 2, cpmCached: 0.2 }, output: { tokens: 128_000, text: true, cpm: 10 }, pricing: { text: { input: 2, cachedInput: 0.2, cacheWrite: 2.5, output: 10, longContext: { thresholdTokens: 272_000, input: 4, cachedInput: 0.4, cacheWrite: 5, output: 15 }, }, processingMultipliers: { batch: 0.5, flex: 0.5, fast: 2 }, }, }, }| - | |'gpt-6-luna'|{ name: 'gpt-6-luna', provider: Vendor.OpenAI, description: 'Fast, economical GPT-6 model for high-throughput workloads and Decisions API classification', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, endpoints: ['responses', 'decisions', 'chat_completions', 'batch'], releaseDate: '2026-09-22', knowledgeCutoff: '2026-05-18', sources: { documentation: 'https://developers.openai.com/api/docs/models/gpt-6-luna', pricing: 'https://developers.openai.com/api/docs/pricing', lastVerified: '2026-10-07' }, features: { reasoning: true, reasoningEfforts: ['none', 'low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, asyncToolCalling: true, midTurnSteering: true, configurationUpdates: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 1_050_000, text: true, image: true, cpm: 0.1, cpmCached: 0.01 }, output: { tokens: 128_000, text: true, cpm: 0.5 }, pricing: { text: { input: 0.1, cachedInput: 0.01, cacheWrite: 0.125, output: 0.5, longContext: { thresholdTokens: 272_000, input: 0.2, cachedInput: 0.02, cacheWrite: 0.25, output: 0.75 }, }, processingMultipliers: { batch: 0.5, flex: 0.5, fast: 2 }, }, }, }| - | |'gpt-5.6-sol'|{ name: 'gpt-5.6-sol', provider: Vendor.OpenAI, description: 'Highest-capability GPT-5.6 model for demanding professional work, coding, and long-horizon agents', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, aliases: ['gpt-5.6', 'gpt-daybreak-blue-latest'], snapshots: ['gpt-5.6-sol-2026-07-09'], endpoints: ['responses', 'chat_completions', 'batch'], releaseDate: '2026-07-09', knowledgeCutoff: '2026-02-16', sources: { documentation: 'https://developers.openai.com/api/docs/models/gpt-5.6-sol', pricing: 'https://developers.openai.com/api/docs/pricing', lastVerified: '2026-08-30' }, features: { reasoning: true, reasoningEfforts: ['none', 'low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 1050000, text: true, image: true, cpm: 4, cpmCached: 0.4 }, output: { tokens: 128000, text: true, cpm: 20 }, pricing: { text: { input: 4, cachedInput: 0.4, cacheWrite: 5, output: 20, longContext: { thresholdTokens: 272000, input: 8, cachedInput: 0.8, cacheWrite: 10, output: 30 }, }, processingMultipliers: { batch: 0.5, fast: 2 }, }, }, }| - | |'gpt-5.6-terra'|{ name: 'gpt-5.6-terra', provider: Vendor.OpenAI, description: 'Balanced GPT-5.6 model for production agents, coding, and high-volume professional workloads', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, snapshots: ['gpt-5.6-terra-2026-07-09'], endpoints: ['responses', 'chat_completions', 'batch'], releaseDate: '2026-07-09', knowledgeCutoff: '2026-02-16', sources: { documentation: 'https://developers.openai.com/api/docs/models/gpt-5.6-terra', pricing: 'https://developers.openai.com/api/docs/pricing', lastVerified: '2026-08-30' }, features: { reasoning: true, reasoningEfforts: ['none', 'low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 1050000, text: true, image: true, cpm: 2, cpmCached: 0.2 }, output: { tokens: 128000, text: true, cpm: 12 }, pricing: { text: { input: 2, cachedInput: 0.2, cacheWrite: 2.5, output: 12, longContext: { thresholdTokens: 272000, input: 4, cachedInput: 0.4, cacheWrite: 5, output: 18 }, }, processingMultipliers: { batch: 0.5, fast: 2 }, }, }, }| - | |'gpt-5.6-luna'|{ name: 'gpt-5.6-luna', provider: Vendor.OpenAI, description: 'Fast, economical GPT-5.6 model for latency-sensitive and high-throughput workloads', isActive: true, lifecycle: 'active', availability: 'public', snapshots: ['gpt-5.6-luna-2026-07-09'], endpoints: ['responses', 'chat_completions', 'batch'], releaseDate: '2026-07-09', knowledgeCutoff: '2026-02-16', sources: { documentation: 'https://developers.openai.com/api/docs/models/gpt-5.6-luna', pricing: 'https://developers.openai.com/api/docs/pricing', lastVerified: '2026-08-30' }, features: { reasoning: true, reasoningEfforts: ['none', 'low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 1050000, text: true, image: true, cpm: 0.2, cpmCached: 0.02 }, output: { tokens: 128000, text: true, cpm: 1.2 }, pricing: { text: { input: 0.2, cachedInput: 0.02, cacheWrite: 0.25, output: 1.2, longContext: { thresholdTokens: 272000, input: 0.4, cachedInput: 0.04, cacheWrite: 0.5, output: 1.8 }, }, processingMultipliers: { batch: 0.5, fast: 2 }, }, }, }| - | |'gpt-5.6-cyber'|{ name: 'gpt-5.6-cyber', provider: Vendor.OpenAI, description: 'Purpose-trained cybersecurity model for approved defenders conducting authorized vulnerability research, exploit validation, and security testing', isActive: true, lifecycle: 'active', availability: 'limited', aliases: ['gpt-daybreak-red-latest'], endpoints: ['responses', 'chat_completions', 'batch'], knowledgeCutoff: '2026-02-16', sources: { documentation: 'https://developers.openai.com/api/docs/models/gpt-5.6-cyber', pricing: 'https://developers.openai.com/api/docs/pricing', lastVerified: '2026-10-07' }, features: { reasoning: true, reasoningEfforts: ['none', 'low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 400_000, text: true, image: true, cpm: 12.5, cpmCached: 1.25 }, output: { tokens: 128_000, text: true, cpm: 75 }, pricing: { text: { input: 12.5, cachedInput: 1.25, cacheWrite: 15.625, output: 75 }, processingMultipliers: { batch: 0.5 }, }, }, }| - | |'gpt-rosalind-research'|{ name: 'gpt-rosalind-research', provider: Vendor.OpenAI, description: 'Specialized GPT-Rosalind model for approved internal life-sciences research through OpenAI trusted access', isActive: true, lifecycle: 'active', availability: 'limited', endpoints: ['responses'], releaseDate: '2026-09-08', sources: { documentation: 'https://developers.openai.com/api/docs/changelog', pricing: 'https://developers.openai.com/api/docs/pricing', lastVerified: '2026-10-07' }, features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: false, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: null, text: true, image: true, cpm: 5, cpmCached: 0.5 }, output: { tokens: null, text: true, cpm: 25 }, pricing: { text: { input: 5, cachedInput: 0.5, output: 25 } }, }, }| - | |'gpt-5.5-pro'|{ name: 'gpt-5.5-pro', provider: Vendor.OpenAI, description: 'Higher-compute GPT-5.5 variant for difficult reasoning tasks', isActive: true, lifecycle: 'active', availability: 'public', endpoints: ['responses', 'batch'], releaseDate: '2026-04-25', knowledgeCutoff: '2025-12-01', sources: { documentation: 'https://developers.openai.com/api/docs/models/gpt-5.5-pro', pricing: 'https://developers.openai.com/api/docs/pricing', lastVerified: '2026-08-30' }, features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false }, pricing: { text: { input: 30, cachedInput: 3, output: 180, longContext: { thresholdTokens: 272000, input: 60, cachedInput: 6, output: 270 }, }, processingMultipliers: { standard: 1, batch: 0.5 }, }, input: { tokens: 1050000, text: true, image: true, cpm: 30, cpmCached: 3 }, output: { tokens: 128000, text: true, cpm: 180 }, }, }| - | |'gpt-5.5'|{ name: 'gpt-5.5', provider: Vendor.OpenAI, description: 'Newest frontier model for the most complex professional work and coding. 1M+ context. Reasoning.effort: none, low, medium (default), high, xhigh. >272K input tokens priced at 2x input / 1.5x output for the full session', isActive: true, preferred: true, releaseDate: '2026-04-25', knowledgeCutoff: '2025-12-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 1050000, text: true, image: true, cpm: 5, cpmCached: 0.5, }, output: { tokens: 128000, text: true, cpm: 30, }, }, }| - | |'gpt-5.4'|{ name: 'gpt-5.4', provider: Vendor.OpenAI, description: 'Flagship model with 1M+ context. Reasoning.effort: none, low, medium, high, xhigh. Computer use, MCP, tool search', isActive: true, releaseDate: '2026-03-05', knowledgeCutoff: '2025-08-31', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 1050000, text: true, image: true, cpm: 2.5, cpmCached: 0.25, }, output: { tokens: 128000, text: true, cpm: 15, }, }, }| - | |'gpt-5.4-mini'|{ name: 'gpt-5.4-mini', provider: Vendor.OpenAI, description: 'Smaller, faster, cheaper sibling of gpt-5.4. 400K context. Text + vision in, text out. Reasoning.effort: none, low, medium, high, xhigh', isActive: true, releaseDate: '2026-03-17', knowledgeCutoff: '2025-08-31', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 400000, text: true, image: true, cpm: 0.75, cpmCached: 0.075, }, output: { tokens: 128000, text: true, cpm: 4.5, }, }, }| - | |'gpt-5.4-nano'|{ name: 'gpt-5.4-nano', provider: Vendor.OpenAI, description: 'Smallest gpt-5.4 variant for high-volume, low-latency tasks. 400K context. Text + vision in, text out. Reasoning.effort: none, low, medium, high, xhigh', isActive: true, releaseDate: '2026-03-17', knowledgeCutoff: '2025-08-31', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 400000, text: true, image: true, cpm: 0.2, cpmCached: 0.02, }, output: { tokens: 128000, text: true, cpm: 1.25, }, }, }| - | |'gpt-5.4-pro'|{ name: 'gpt-5.4-pro', provider: Vendor.OpenAI, description: 'GPT-5.4 pro for smarter, more precise responses. Reasoning.effort: medium, high, xhigh only', isActive: true, releaseDate: '2026-03-05', knowledgeCutoff: '2025-08-31', features: { reasoning: true, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: false, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 1050000, text: true, image: true, cpm: 30, }, output: { tokens: 128000, text: true, cpm: 180, }, }, }| - | |'gpt-5.3-codex'|{ name: 'gpt-5.3-codex', provider: Vendor.OpenAI, description: 'Latest codex model for coding and agentic tasks. Reasoning.effort: low, medium, high, xhigh', isActive: true, releaseDate: '2026-02-01', knowledgeCutoff: '2025-08-31', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 400000, text: true, image: true, cpm: 1.75, cpmCached: 0.175, }, output: { tokens: 128000, text: true, cpm: 14, }, }, }| - | |'gpt-5.3-chat-latest'|{ name: 'gpt-5.3-chat-latest', provider: Vendor.OpenAI, description: 'Retired GPT-5.3 chat alias retained for migration metadata', isActive: false, lifecycle: 'retired', deprecationDate: '2026-05-08', retirementDate: '2026-08-10', replacementModel: 'gpt-5.6-sol', releaseDate: '2026-02-01', knowledgeCutoff: '2025-08-31', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, }, input: { tokens: 128000, text: true, image: true, cpm: 1.75, cpmCached: 0.175, }, output: { tokens: 16000, text: true, cpm: 14, }, }, }| - | |'gpt-5.2'|{ name: 'gpt-5.2', provider: Vendor.OpenAI, description: 'Previous flagship model for coding and agentic tasks. Reasoning.effort: none, low, medium, high, xhigh', isActive: true, releaseDate: '2025-12-01', knowledgeCutoff: '2025-08-31', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 400000, text: true, image: true, cpm: 1.75, cpmCached: 0.175, }, output: { tokens: 128000, text: true, cpm: 14, }, }, }| - | |'gpt-5.2-pro'|{ name: 'gpt-5.2-pro', provider: Vendor.OpenAI, description: 'GPT-5.2 pro produces smarter and more precise responses. Reasoning.effort: medium, high, xhigh', isActive: true, releaseDate: '2025-12-01', knowledgeCutoff: '2025-08-31', features: { reasoning: true, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 400000, text: true, image: true, cpm: 21, }, output: { tokens: 128000, text: true, cpm: 168, }, }, }| - | |'gpt-5.2-codex'|{ name: 'gpt-5.2-codex', provider: Vendor.OpenAI, description: 'GPT-5.2 codex for coding and agentic tasks. Reasoning.effort: low, medium, high, xhigh', isActive: false, lifecycle: 'retired', deprecationDate: '2026-04-22', retirementDate: '2026-07-23', replacementModel: 'gpt-5.6-sol', releaseDate: '2025-12-01', knowledgeCutoff: '2025-08-31', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 400000, text: true, image: true, cpm: 1.75, cpmCached: 0.175, }, output: { tokens: 128000, text: true, cpm: 14, }, }, }| - | |'gpt-5.2-chat-latest'|{ name: 'gpt-5.2-chat-latest', provider: Vendor.OpenAI, description: 'GPT-5.2 chat model for general-purpose use', isActive: false, lifecycle: 'retired', deprecationDate: '2026-05-08', retirementDate: '2026-08-10', replacementModel: 'gpt-5.6-sol', releaseDate: '2025-12-01', knowledgeCutoff: '2025-08-31', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, input: { tokens: 128000, text: true, image: true, cpm: 1.75, cpmCached: 0.175, }, output: { tokens: 16000, text: true, cpm: 14, }, }, }| - | |'gpt-5.1'|{ name: 'gpt-5.1', provider: Vendor.OpenAI, description: 'Intelligent reasoning model for coding and agentic tasks. Reasoning.effort: none, low, medium, high', isActive: true, releaseDate: '2025-10-01', knowledgeCutoff: '2024-09-30', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 400000, text: true, image: true, cpm: 1.25, cpmCached: 0.125, }, output: { tokens: 128000, text: true, cpm: 10, }, }, }| - | |'gpt-5.1-codex'|{ name: 'gpt-5.1-codex', provider: Vendor.OpenAI, description: 'GPT-5.1 codex for coding and agentic tasks with reasoning', isActive: false, lifecycle: 'retired', deprecationDate: '2026-04-22', retirementDate: '2026-07-23', replacementModel: 'gpt-5.6-sol', releaseDate: '2025-10-01', knowledgeCutoff: '2024-09-30', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 400000, text: true, image: true, cpm: 1.25, cpmCached: 0.125, }, output: { tokens: 128000, text: true, cpm: 10, }, }, }| - | |'gpt-5.1-codex-max'|{ name: 'gpt-5.1-codex-max', provider: Vendor.OpenAI, description: 'GPT-5.1 codex max for maximum reasoning depth on coding tasks', isActive: false, lifecycle: 'retired', deprecationDate: '2026-04-22', retirementDate: '2026-07-23', replacementModel: 'gpt-5.6-sol', releaseDate: '2025-10-01', knowledgeCutoff: '2024-09-30', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 400000, text: true, image: true, cpm: 1.25, cpmCached: 0.125, }, output: { tokens: 128000, text: true, cpm: 10, }, }, }| - | |'gpt-5.1-codex-mini'|{ name: 'gpt-5.1-codex-mini', provider: Vendor.OpenAI, description: 'GPT-5.1 codex mini for cost-efficient coding tasks', isActive: false, lifecycle: 'retired', deprecationDate: '2026-04-22', retirementDate: '2026-07-23', replacementModel: 'gpt-5.6-terra', releaseDate: '2025-10-01', knowledgeCutoff: '2024-09-30', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 400000, text: true, image: true, cpm: 0.25, cpmCached: 0.025, }, output: { tokens: 128000, text: true, cpm: 2, }, }, }| - | |'gpt-5.1-chat-latest'|{ name: 'gpt-5.1-chat-latest', provider: Vendor.OpenAI, description: 'GPT-5.1 chat model for general-purpose use', isActive: false, lifecycle: 'retired', deprecationDate: '2026-04-22', retirementDate: '2026-07-23', replacementModel: 'gpt-5.6-sol', releaseDate: '2025-10-01', knowledgeCutoff: '2024-09-30', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, input: { tokens: 128000, text: true, image: true, cpm: 1.25, cpmCached: 0.125, }, output: { tokens: 16000, text: true, cpm: 10, }, }, }| - | |'gpt-5'|{ name: 'gpt-5', provider: Vendor.OpenAI, description: 'Previous intelligent reasoning model for coding and agentic tasks. Reasoning.effort: minimal, low, medium, high', isActive: true, releaseDate: '2025-08-01', knowledgeCutoff: '2024-09-30', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 400000, text: true, image: true, cpm: 1.25, cpmCached: 0.125, }, output: { tokens: 128000, text: true, cpm: 10, }, }, }| - | |'gpt-5-mini'|{ name: 'gpt-5-mini', provider: Vendor.OpenAI, description: 'Faster, cost-efficient version of GPT-5 for well-defined tasks and precise prompts', isActive: true, releaseDate: '2025-08-01', knowledgeCutoff: '2024-05-31', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 400000, text: true, image: true, cpm: 0.25, cpmCached: 0.025, }, output: { tokens: 128000, text: true, cpm: 2, }, }, }| - | |'gpt-5-nano'|{ name: 'gpt-5-nano', provider: Vendor.OpenAI, description: 'Fastest, most cost-efficient GPT-5. Great for summarization and classification tasks', isActive: true, releaseDate: '2025-08-01', knowledgeCutoff: '2024-05-31', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 400000, text: true, image: true, cpm: 0.05, cpmCached: 0.005, }, output: { tokens: 128000, text: true, cpm: 0.4, }, }, }| - | |'gpt-5-codex'|{ name: 'gpt-5-codex', provider: Vendor.OpenAI, description: 'GPT-5 codex for coding and agentic tasks with reasoning', isActive: false, lifecycle: 'retired', deprecationDate: '2026-04-22', retirementDate: '2026-07-23', replacementModel: 'gpt-5.6-sol', releaseDate: '2025-08-01', knowledgeCutoff: '2024-09-30', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 400000, text: true, image: true, cpm: 1.25, cpmCached: 0.125, }, output: { tokens: 128000, text: true, cpm: 10, }, }, }| - | |'gpt-5-chat-latest'|{ name: 'gpt-5-chat-latest', provider: Vendor.OpenAI, description: 'GPT-5 chat model for general-purpose use', isActive: false, lifecycle: 'retired', deprecationDate: '2026-04-22', retirementDate: '2026-07-23', replacementModel: 'gpt-5.6-sol', releaseDate: '2025-08-01', knowledgeCutoff: '2024-09-30', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, input: { tokens: 128000, text: true, image: true, cpm: 1.25, cpmCached: 0.125, }, output: { tokens: 16000, text: true, cpm: 10, }, }, }| - | |'gpt-4.1'|{ name: 'gpt-4.1', provider: Vendor.OpenAI, description: 'GPT-4.1 specialized for coding with 1M token context window', isActive: true, releaseDate: '2025-04-14', knowledgeCutoff: '2024-06-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, input: { tokens: 1000000, text: true, image: true, cpm: 2, cpmCached: 0.50, }, output: { tokens: 32768, text: true, cpm: 8, }, }, }| - | |'gpt-4.1-mini'|{ name: 'gpt-4.1-mini', provider: Vendor.OpenAI, description: 'Efficient GPT-4.1 model, beats GPT-4o in many benchmarks at 83% lower cost', isActive: true, releaseDate: '2025-04-14', knowledgeCutoff: '2024-06-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, input: { tokens: 1000000, text: true, image: true, cpm: 0.4, cpmCached: 0.10, }, output: { tokens: 16384, text: true, cpm: 1.6, }, }, }| - | |'gpt-4.1-nano'|{ name: 'gpt-4.1-nano', provider: Vendor.OpenAI, description: 'Fastest and cheapest model with 1M context. 80.1% MMLU, ideal for classification/autocompletion', isActive: true, lifecycle: 'deprecated', deprecationDate: '2026-04-22', retirementDate: '2026-10-23', replacementModel: 'gpt-5.6-luna', releaseDate: '2025-04-14', knowledgeCutoff: '2024-06-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, input: { tokens: 1000000, text: true, image: true, cpm: 0.1, cpmCached: 0.025, }, output: { tokens: 16384, text: true, cpm: 0.4, }, }, }| - | |'gpt-4o'|{ name: 'gpt-4o', provider: Vendor.OpenAI, description: 'Versatile omni model. Legacy but still available', isActive: true, releaseDate: '2024-05-13', knowledgeCutoff: '2023-10-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: true, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, input: { tokens: 128000, text: true, image: true, cpm: 2.5, cpmCached: 1.25, }, output: { tokens: 16384, text: true, cpm: 10, }, }, }| - | |'gpt-4o-mini'|{ name: 'gpt-4o-mini', provider: Vendor.OpenAI, description: 'Fast, affordable omni model', isActive: true, releaseDate: '2024-07-18', knowledgeCutoff: '2023-10-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: true, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, input: { tokens: 128000, text: true, image: true, cpm: 0.15, cpmCached: 0.075, }, output: { tokens: 16384, text: true, cpm: 0.6, }, }, }| - | |'gpt-audio-1.5'|{ name: 'gpt-audio-1.5', provider: Vendor.OpenAI, description: 'Latest audio model with text+audio input/output. 128K context', isActive: true, preferred: true, releaseDate: '2025-12-01', knowledgeCutoff: '2024-09-30', features: { reasoning: false, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: false, audio: true, video: false, batchAPI: false, promptCaching: false, input: { tokens: 128000, text: true, audio: true, cpm: 2.5, }, output: { tokens: 16384, text: true, audio: true, cpm: 10, }, }, }| - | |'gpt-audio'|{ name: 'gpt-audio', provider: Vendor.OpenAI, description: 'Audio model with text+audio input/output. 128K context', isActive: true, lifecycle: 'deprecated', deprecationDate: '2026-07-20', retirementDate: '2027-01-20', replacementModel: 'gpt-audio-1.5', releaseDate: '2025-06-01', knowledgeCutoff: '2023-10-01', features: { reasoning: false, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: false, audio: true, video: false, batchAPI: false, promptCaching: false, input: { tokens: 128000, text: true, audio: true, cpm: 2.5, }, output: { tokens: 16384, text: true, audio: true, cpm: 10, }, }, }| - | |'gpt-audio-mini'|{ name: 'gpt-audio-mini', provider: Vendor.OpenAI, description: 'Cost-efficient audio model. 128K context', isActive: true, lifecycle: 'deprecated', deprecationDate: '2026-07-20', retirementDate: '2027-01-20', replacementModel: 'gpt-audio-1.5', releaseDate: '2025-06-01', knowledgeCutoff: '2023-10-01', features: { reasoning: false, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: false, audio: true, video: false, batchAPI: false, promptCaching: false, input: { tokens: 128000, text: true, audio: true, cpm: 0.6, }, output: { tokens: 16384, text: true, audio: true, cpm: 2.4, }, }, }| - | |'gpt-live-1'|{ name: 'gpt-live-1', provider: Vendor.OpenAI, description: 'Full-duplex voice model for natural conversations, smooth interruptions, and delegation to a backend Responses agent', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, endpoints: ['live'], releaseDate: '2026-09-22', knowledgeCutoff: '2025-07-31', voices: OPENAI_REALTIME_VOICES, sources: { documentation: 'https://developers.openai.com/api/docs/models/gpt-live-1', pricing: 'https://developers.openai.com/api/docs/pricing', lastVerified: '2026-10-07' }, features: { reasoning: false, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: true, vision: false, audio: true, video: false, batchAPI: false, promptCaching: false, pricing: { audioDurationPerMinute: 0.05 }, input: { tokens: 128_000, text: true, audio: true, cpm: 0 }, output: { tokens: null, text: true, audio: true, cpm: 0 }, }, }| - | |'gpt-realtime-2.1'|{ name: 'gpt-realtime-2.1', provider: Vendor.OpenAI, description: 'Most capable realtime reasoning voice model, with improved alphanumeric recognition, silence/noise handling, interruptions, instruction following, and tool use', isActive: true, preferred: true, knowledgeCutoff: '2024-09-30', voices: OPENAI_REALTIME_VOICES, features: { reasoning: true, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: true, vision: true, audio: true, video: false, batchAPI: false, promptCaching: true, pricing: { text: { input: 4, cachedInput: 0.4, output: 24 }, audio: { input: 32, cachedInput: 0.4, output: 64 }, image: { input: 5, cachedInput: 0.5 }, }, input: { tokens: 128000, text: true, image: true, audio: true, cpm: 4, cpmCached: 0.4 }, output: { tokens: 32000, text: true, audio: true, cpm: 24 }, }, }| - | |'gpt-realtime-2.1-mini'|{ name: 'gpt-realtime-2.1-mini', provider: Vendor.OpenAI, description: 'Fast, lower-cost distilled realtime reasoning model with speech, tools, and improved alphanumeric recognition', isActive: true, knowledgeCutoff: '2024-09-30', voices: OPENAI_REALTIME_VOICES, features: { reasoning: true, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: true, vision: true, audio: true, video: false, batchAPI: false, promptCaching: true, pricing: { text: { input: 0.6, cachedInput: 0.06, output: 2.4 }, audio: { input: 10, cachedInput: 0.3, output: 20 }, image: { input: 0.8, cachedInput: 0.08 }, }, input: { tokens: 128000, text: true, image: true, audio: true, cpm: 0.6, cpmCached: 0.06 }, output: { tokens: 32000, text: true, audio: true, cpm: 2.4 }, }, }| - | |'gpt-realtime-2'|{ name: 'gpt-realtime-2', provider: Vendor.OpenAI, description: 'Realtime reasoning model with configurable effort and reliable tool use for complex voice-agent workflows', isActive: true, knowledgeCutoff: '2024-09-30', voices: OPENAI_REALTIME_VOICES, features: { reasoning: true, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: true, vision: true, audio: true, video: false, batchAPI: false, promptCaching: true, pricing: { text: { input: 4, cachedInput: 0.4, output: 24 }, audio: { input: 32, cachedInput: 0.4, output: 64 }, image: { input: 5, cachedInput: 0.5 }, }, input: { tokens: 128000, text: true, image: true, audio: true, cpm: 4, cpmCached: 0.4 }, output: { tokens: 32000, text: true, audio: true, cpm: 24 }, }, }| - | |'gpt-realtime-translate'|{ name: 'gpt-realtime-translate', provider: Vendor.OpenAI, description: 'Streaming speech-to-speech translation model using the dedicated realtime translations endpoint', isActive: true, knowledgeCutoff: '2024-09-30', voices: OPENAI_REALTIME_VOICES, features: { reasoning: false, streaming: true, structuredOutput: false, functionCalling: false, fineTuning: false, predictedOutputs: false, realtime: true, vision: false, audio: true, video: false, batchAPI: false, promptCaching: false, pricing: { audioDurationPerMinute: 0.034 }, input: { tokens: 16000, text: false, audio: true, cpm: 0 }, output: { tokens: 2000, text: true, audio: true, cpm: 0 }, }, }| - | |'gpt-realtime-1.5'|{ name: 'gpt-realtime-1.5', provider: Vendor.OpenAI, description: 'Latest realtime model for voice/audio streaming. Text+audio+image input, text+audio output', isActive: true, releaseDate: '2025-12-01', knowledgeCutoff: '2024-09-30', voices: OPENAI_REALTIME_VOICES, features: { reasoning: false, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: true, vision: true, audio: true, video: false, batchAPI: false, promptCaching: false, pricing: { text: { input: 4, cachedInput: 0.4, output: 16 }, audio: { input: 32, cachedInput: 0.4, output: 64 }, image: { input: 5, cachedInput: 0.5 }, }, input: { tokens: 32000, text: true, image: true, audio: true, cpm: 4, }, output: { tokens: 4096, text: true, audio: true, cpm: 16, }, }, }| - | |'gpt-realtime'|{ name: 'gpt-realtime', provider: Vendor.OpenAI, description: 'Realtime model for voice/audio streaming. Text+audio+image input, text+audio output', isActive: true, lifecycle: 'deprecated', deprecationDate: '2026-07-20', retirementDate: '2027-01-20', replacementModel: 'gpt-realtime-2.1', releaseDate: '2025-06-01', knowledgeCutoff: '2023-10-01', voices: OPENAI_REALTIME_VOICES, features: { reasoning: false, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: true, vision: true, audio: true, video: false, batchAPI: false, promptCaching: false, pricing: { text: { input: 4, cachedInput: 0.4, output: 16 }, audio: { input: 32, cachedInput: 0.4, output: 64 }, image: { input: 5, cachedInput: 0.5 }, }, input: { tokens: 32000, text: true, image: true, audio: true, cpm: 4, }, output: { tokens: 4096, text: true, audio: true, cpm: 16, }, }, }| - | |'gpt-realtime-mini'|{ name: 'gpt-realtime-mini', provider: Vendor.OpenAI, description: 'Cost-efficient realtime model for voice/audio streaming', isActive: true, lifecycle: 'deprecated', deprecationDate: '2026-07-20', retirementDate: '2027-01-20', replacementModel: 'gpt-realtime-2.1-mini', releaseDate: '2025-06-01', knowledgeCutoff: '2023-10-01', voices: OPENAI_REALTIME_VOICES, features: { reasoning: false, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: true, vision: true, audio: true, video: false, batchAPI: false, promptCaching: false, pricing: { text: { input: 0.6, cachedInput: 0.06, output: 2.4 }, audio: { input: 10, cachedInput: 0.3, output: 20 }, image: { input: 0.8, cachedInput: 0.08 }, }, input: { tokens: 32000, text: true, image: true, audio: true, cpm: 0.6, }, output: { tokens: 4096, text: true, audio: true, cpm: 2.4, }, }, }| - | |'o3'|{ name: 'o3', provider: Vendor.OpenAI, description: 'Powerful reasoning model for coding, math, and science. 200K context', isActive: true, preferred: true, releaseDate: '2025-04-01', knowledgeCutoff: '2024-06-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 200000, text: true, image: true, cpm: 2, cpmCached: 0.5, }, output: { tokens: 100000, text: true, cpm: 8, }, }, }| - | |'o4-mini'|{ name: 'o4-mini', provider: Vendor.OpenAI, description: 'Fast, cost-efficient reasoning model. 200K context', isActive: true, releaseDate: '2025-04-01', knowledgeCutoff: '2024-06-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 200000, text: true, image: true, cpm: 1.1, cpmCached: 0.275, }, output: { tokens: 100000, text: true, cpm: 4.4, }, }, }| - | |'o3-mini'|{ name: 'o3-mini', provider: Vendor.OpenAI, description: 'Fast reasoning model tailored for coding, math, and science', isActive: true, releaseDate: '2025-01-31', knowledgeCutoff: '2023-10-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: false, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 200000, text: true, cpm: 1.1, cpmCached: 0.55, }, output: { tokens: 100000, text: true, cpm: 4.4, }, }, }| - | |'o1'|{ name: 'o1', provider: Vendor.OpenAI, description: 'Advanced reasoning model for complex problems', isActive: true, releaseDate: '2024-12-17', knowledgeCutoff: '2023-10-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 200000, text: true, image: true, cpm: 15, cpmCached: 7.50, }, output: { tokens: 100000, text: true, cpm: 60, }, }, }| - | |'o3-deep-research'|{ name: 'o3-deep-research', provider: Vendor.OpenAI, description: 'Deep research model for comprehensive web-based research. No function calling', isActive: true, releaseDate: '2025-06-01', knowledgeCutoff: '2024-06-01', features: { reasoning: true, streaming: true, structuredOutput: false, functionCalling: false, fineTuning: false, predictedOutputs: false, realtime: false, vision: false, audio: false, video: false, batchAPI: false, promptCaching: false, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 200000, text: true, cpm: 10, }, output: { tokens: 100000, text: true, cpm: 40, }, }, }| - | |'o4-mini-deep-research'|{ name: 'o4-mini-deep-research', provider: Vendor.OpenAI, description: 'Cost-efficient deep research model for web-based research. No function calling', isActive: true, releaseDate: '2025-06-01', knowledgeCutoff: '2024-06-01', features: { reasoning: true, streaming: true, structuredOutput: false, functionCalling: false, fineTuning: false, predictedOutputs: false, realtime: false, vision: false, audio: false, video: false, batchAPI: false, promptCaching: false, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false, }, input: { tokens: 200000, text: true, cpm: 2, }, output: { tokens: 100000, text: true, cpm: 8, }, }, }| - | |'gpt-oss-120b'|{ name: 'gpt-oss-120b', provider: Vendor.OpenAI, description: 'Open-weight 117B param MoE model (5.1B active). Apache 2.0 license. Runs on single H100', isActive: true, releaseDate: '2025-10-01', knowledgeCutoff: '2024-06-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: true, predictedOutputs: false, realtime: false, vision: false, audio: false, video: false, batchAPI: false, promptCaching: false, input: { tokens: 131072, text: true, cpm: 0, }, output: { tokens: 131072, text: true, cpm: 0, }, }, }| - | |'gpt-oss-20b'|{ name: 'gpt-oss-20b', provider: Vendor.OpenAI, description: 'Open-weight 21B param MoE model (3.6B active). Apache 2.0 license', isActive: true, releaseDate: '2025-10-01', knowledgeCutoff: '2024-06-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: true, predictedOutputs: false, realtime: false, vision: false, audio: false, video: false, batchAPI: false, promptCaching: false, input: { tokens: 131072, text: true, cpm: 0, }, output: { tokens: 131072, text: true, cpm: 0, }, }, }| - | |'claude-opus-5-5'|{ name: 'claude-opus-5-5', provider: Vendor.Anthropic, description: 'Anthropic flagship for the most demanding reasoning, coding, and long-horizon agentic work', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, endpoints: ['messages', 'batch'], releaseDate: '2026-09-22', knowledgeCutoff: '2026-06-01', sources: { documentation: 'https://platform.claude.com/docs/en/models/opus-5-5/overview', pricing: 'https://platform.claude.com/docs/en/about-claude/pricing', lastVerified: '2026-10-07' }, features: { reasoning: true, reasoningEfforts: ['low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, topK: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 1_000_000, text: true, image: true, cpm: 4, cpmCached: 0.2 }, output: { tokens: 128_000, text: true, cpm: 20 }, pricing: { text: { input: 4, cachedInput: 0.2, cacheWrite: 5, output: 20 }, processingMultipliers: { batch: 0.5 }, }, }, }| - | |'claude-sonnet-5-5'|{ name: 'claude-sonnet-5-5', provider: Vendor.Anthropic, description: 'Latest balanced Claude model for coding, agents, and production knowledge work', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, endpoints: ['messages', 'batch'], releaseDate: '2026-09-28', knowledgeCutoff: '2026-06-01', sources: { documentation: 'https://platform.claude.com/docs/en/models/sonnet-5-5/overview', pricing: 'https://platform.claude.com/docs/en/about-claude/pricing', lastVerified: '2026-10-07' }, features: { reasoning: true, reasoningEfforts: ['low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, topK: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 1_000_000, text: true, image: true, cpm: 2, cpmCached: 0.2 }, output: { tokens: 128_000, text: true, cpm: 10 }, pricing: { text: { input: 2, cachedInput: 0.2, cacheWrite: 2.5, output: 10 }, processingMultipliers: { batch: 0.5 }, }, }, }| - | |'claude-fable-5-1'|{ name: 'claude-fable-5-1', provider: Vendor.Anthropic, description: 'Anthropic's most capable public model for demanding reasoning and long-horizon agentic work; adaptive thinking is always on', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, endpoints: ['messages', 'batch'], releaseDate: '2026-09-01', knowledgeCutoff: '2026-06-01', sources: { documentation: 'https://platform.claude.com/docs/en/models/fable-5-1/overview', pricing: 'https://platform.claude.com/docs/en/models/fable-5-1/overview', lastVerified: '2026-09-04' }, features: { reasoning: true, reasoningEfforts: ['low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, topK: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 1_000_000, text: true, image: true, cpm: 10, cpmCached: 0.25 }, output: { tokens: 128_000, text: true, cpm: 50 }, pricing: { text: { input: 10, cachedInput: 0.25, cacheWrite: 12.5, output: 50 }, processingMultipliers: { batch: 0.5 }, }, }, }| - | |'claude-mythos-5-1'|{ name: 'claude-mythos-5-1', provider: Vendor.Anthropic, description: 'Invite-only Project Glasswing counterpart to Claude Fable 5.1 with the same specifications, capabilities, and pricing', isActive: true, lifecycle: 'active', availability: 'invite_only', endpoints: ['messages', 'batch'], releaseDate: '2026-09-01', knowledgeCutoff: '2026-06-01', sources: { documentation: 'https://platform.claude.com/docs/en/models/mythos-5-1/overview', pricing: 'https://platform.claude.com/docs/en/models/mythos-5-1/overview', lastVerified: '2026-09-04' }, features: { reasoning: true, reasoningEfforts: ['low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, topK: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 1_000_000, text: true, image: true, cpm: 10, cpmCached: 0.25 }, output: { tokens: 128_000, text: true, cpm: 50 }, pricing: { text: { input: 10, cachedInput: 0.25, cacheWrite: 12.5, output: 50 }, processingMultipliers: { batch: 0.5 }, }, }, }| - | |'claude-opus-5'|{ name: 'claude-opus-5', provider: Vendor.Anthropic, description: 'Frontier Claude model for complex agentic coding and enterprise work; adaptive thinking is enabled by default', isActive: true, lifecycle: 'legacy', availability: 'public', replacementModel: 'claude-opus-5-5', endpoints: ['messages', 'batch'], releaseDate: '2026-07-24', knowledgeCutoff: '2026-05-01', sources: { documentation: 'https://platform.claude.com/docs/en/models/opus-5/overview', pricing: 'https://platform.claude.com/docs/en/models/opus-5/overview', lastVerified: '2026-09-04' }, features: { reasoning: true, reasoningEfforts: ['low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 1000000, text: true, image: true, cpm: 5, cpmCached: 0.5 }, output: { tokens: 128000, text: true, cpm: 25 }, pricing: { text: { input: 5, cachedInput: 0.5, cacheWrite: 6.25, output: 25 }, processingMultipliers: { batch: 0.5, fast: 2 }, }, }, }| - | |'claude-mythos-5'|{ name: 'claude-mythos-5', provider: Vendor.Anthropic, description: 'Limited-release counterpart to Claude Fable 5 without its safety classifiers; always-on adaptive thinking', isActive: true, lifecycle: 'legacy', availability: 'invite_only', replacementModel: 'claude-mythos-5-1', endpoints: ['messages', 'batch'], releaseDate: '2026-06-09', knowledgeCutoff: '2026-01-01', sources: { documentation: 'https://platform.claude.com/docs/en/models/mythos-5/overview', pricing: 'https://platform.claude.com/docs/en/models/mythos-5/overview', lastVerified: '2026-09-04' }, features: { reasoning: true, reasoningEfforts: ['low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 1000000, text: true, image: true, cpm: 10, cpmCached: 1 }, output: { tokens: 128000, text: true, cpm: 50 }, pricing: { text: { input: 10, cachedInput: 1, cacheWrite: 12.5, output: 50 }, processingMultipliers: { batch: 0.5 }, }, }, }| - | |'claude-opus-4-8'|{ name: 'claude-opus-4-8', provider: Vendor.Anthropic, description: 'Previous-generation active Opus model for autonomous long-horizon agentic work, knowledge work, and memory. 1M context, 128K output, adaptive thinking (low/medium/high/xhigh/max effort), high-resolution vision. Does not accept temperature.', isActive: true, lifecycle: 'active', availability: 'public', endpoints: ['messages', 'batch'], releaseDate: '2026-05-01', knowledgeCutoff: '2026-01-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, parameters: { temperature: false, }, input: { tokens: 1000000, text: true, image: true, cpm: 5, cpmCached: 0.5, }, output: { tokens: 128000, text: true, cpm: 25, }, }, }| - | |'claude-sonnet-5'|{ name: 'claude-sonnet-5', provider: Vendor.Anthropic, description: 'Best combination of speed and intelligence; near-Opus quality on coding and agentic work. 1M context, 128K output, adaptive thinking on by default (low/medium/high/xhigh/max effort), high-resolution vision. New tokenizer. Does not accept temperature.', isActive: true, lifecycle: 'legacy', availability: 'public', endpoints: ['messages', 'batch'], replacementModel: 'claude-sonnet-5-5', releaseDate: '2026-06-30', knowledgeCutoff: '2026-01-01', sources: { documentation: 'https://platform.claude.com/docs/en/models/sonnet-5/overview', pricing: 'https://platform.claude.com/docs/en/models/sonnet-5/overview', lastVerified: '2026-09-04' }, features: { reasoning: true, reasoningEfforts: ['low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, parameters: { temperature: false, }, input: { tokens: 1000000, text: true, image: true, cpm: 2, cpmCached: 0.2, }, output: { tokens: 128000, text: true, cpm: 10, }, pricing: { text: { input: 2, cachedInput: 0.2, cacheWrite: 2.5, output: 10 }, processingMultipliers: { batch: 0.5 }, }, }, }| - | |'claude-fable-5'|{ name: 'claude-fable-5', provider: Vendor.Anthropic, description: 'Legacy Fable model for demanding reasoning and long-horizon agentic work. 1M context, 128K output, thinking always on (raw chain of thought never returned). Does not accept temperature. Requires 30-day data retention.', isActive: true, lifecycle: 'legacy', availability: 'public', replacementModel: 'claude-fable-5-1', endpoints: ['messages', 'batch'], releaseDate: '2026-06-09', knowledgeCutoff: '2026-01-01', sources: { documentation: 'https://platform.claude.com/docs/en/models/fable-5/overview', pricing: 'https://platform.claude.com/docs/en/models/fable-5/overview', lastVerified: '2026-09-04' }, features: { reasoning: true, reasoningEfforts: ['low', 'medium', 'high', 'xhigh', 'max'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, parameters: { temperature: false, }, input: { tokens: 1000000, text: true, image: true, cpm: 10, cpmCached: 1, }, output: { tokens: 128000, text: true, cpm: 50, }, }, }| - | |'claude-opus-4-7'|{ name: 'claude-opus-4-7', provider: Vendor.Anthropic, description: 'Legacy Opus 4.7. Superseded by Opus 4.8. Complex reasoning and agentic coding. 1M context, 128K output, adaptive thinking with xhigh effort level, high-resolution vision (2576px). New tokenizer. Does not accept temperature.', isActive: true, releaseDate: '2026-04-16', knowledgeCutoff: '2026-01-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: false, batchAPI: true, promptCaching: true, parameters: { temperature: false, }, input: { tokens: 1000000, text: true, image: true, cpm: 5, cpmCached: 0.5, }, output: { tokens: 128000, text: true, cpm: 25, }, }, }| - | |'claude-opus-4-6'|{ name: 'claude-opus-4-6', provider: Vendor.Anthropic, description: 'Legacy Opus 4.6. Superseded by Opus 4.7. 128K output, adaptive thinking', isActive: true, releaseDate: '2026-02-01', knowledgeCutoff: '2025-05-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, input: { tokens: 1000000, text: true, image: true, cpm: 5, cpmCached: 0.5, }, output: { tokens: 128000, text: true, cpm: 25, }, }, }| - | |'claude-sonnet-4-6'|{ name: 'claude-sonnet-4-6', provider: Vendor.Anthropic, description: 'Legacy Sonnet 4.6. Superseded by Sonnet 5. Adaptive thinking, 1M context', isActive: true, releaseDate: '2026-02-01', knowledgeCutoff: '2025-08-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, input: { tokens: 1000000, text: true, image: true, cpm: 3, cpmCached: 0.3, }, output: { tokens: 64000, text: true, cpm: 15, }, }, }| - | |'claude-opus-4-5-20251101'|{ name: 'claude-opus-4-5-20251101', provider: Vendor.Anthropic, description: 'Legacy Opus 4.5. Premium model combining maximum intelligence with practical performance', isActive: true, releaseDate: '2025-11-01', knowledgeCutoff: '2025-05-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, input: { tokens: 200000, text: true, image: true, cpm: 5, cpmCached: 0.5, }, output: { tokens: 64000, text: true, cpm: 25, }, }, }| - | |'claude-sonnet-4-5-20250929'|{ name: 'claude-sonnet-4-5-20250929', provider: Vendor.Anthropic, description: 'Legacy Sonnet 4.5. Smart model for complex agents and coding', isActive: true, releaseDate: '2025-09-29', knowledgeCutoff: '2025-01-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, input: { tokens: 200000, // 1M with beta header text: true, image: true, cpm: 3, cpmCached: 0.3, }, output: { tokens: 64000, text: true, cpm: 15, }, }, }| - | |'claude-haiku-4-5-20251001'|{ name: 'claude-haiku-4-5-20251001', provider: Vendor.Anthropic, description: 'Fastest model with near-frontier intelligence. Matches Sonnet 4 on coding', isActive: true, releaseDate: '2025-10-01', knowledgeCutoff: '2025-02-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, input: { tokens: 200000, text: true, image: true, cpm: 1, cpmCached: 0.1, }, output: { tokens: 64000, text: true, cpm: 5, }, }, }| - | |'claude-opus-4-1-20250805'|{ name: 'claude-opus-4-1-20250805', provider: Vendor.Anthropic, description: 'Legacy Opus 4.1 focused on agentic tasks, real-world coding, and reasoning', isActive: false, lifecycle: 'retired', retirementDate: '2026-08-05', replacementModel: 'claude-opus-4-8', releaseDate: '2025-08-05', knowledgeCutoff: '2025-01-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, input: { tokens: 200000, text: true, image: true, cpm: 15, cpmCached: 1.5, }, output: { tokens: 32000, text: true, cpm: 75, }, }, }| - | |'claude-opus-4-20250514'|{ name: 'claude-opus-4-20250514', provider: Vendor.Anthropic, description: 'Legacy Opus 4. Agentic tasks and reasoning', isActive: false, lifecycle: 'retired', retirementDate: '2026-06-15', replacementModel: 'claude-opus-4-8', releaseDate: '2025-05-14', knowledgeCutoff: '2025-01-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, input: { tokens: 200000, text: true, image: true, cpm: 15, cpmCached: 1.5, }, output: { tokens: 32000, text: true, cpm: 75, }, }, }| - | |'claude-sonnet-4-20250514'|{ name: 'claude-sonnet-4-20250514', provider: Vendor.Anthropic, description: 'Legacy Sonnet 4. Supports 1M context beta', isActive: false, lifecycle: 'retired', retirementDate: '2026-06-15', replacementModel: 'claude-sonnet-4-6', releaseDate: '2025-05-14', knowledgeCutoff: '2025-01-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, input: { tokens: 200000, // 1M with beta header text: true, image: true, cpm: 3, cpmCached: 0.3, }, output: { tokens: 64000, text: true, cpm: 15, }, }, }| - | |'claude-3-7-sonnet-20250219'|{ name: 'claude-3-7-sonnet-20250219', provider: Vendor.Anthropic, description: 'Deprecated. Claude 3.7 Sonnet with extended thinking', isActive: false, lifecycle: 'retired', retirementDate: '2026-02-19', replacementModel: 'claude-sonnet-4-6', releaseDate: '2025-02-19', knowledgeCutoff: '2024-10-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, extendedThinking: true, batchAPI: true, promptCaching: true, input: { tokens: 200000, text: true, image: true, cpm: 3, cpmCached: 0.3, }, output: { tokens: 64000, text: true, cpm: 15, }, }, }| - | |'gemini-3.8-live'|{ name: 'gemini-3.8-live', provider: Vendor.Google, description: 'Default low-latency Gemini audio-to-audio model with interleaved reasoning and asynchronous function calling', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, endpoints: ['live'], releaseDate: '2026-09-15', sources: { documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-3.8-live', pricing: 'https://ai.google.dev/gemini-api/docs/pricing', lastVerified: '2026-10-07' }, features: { reasoning: true, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: true, vision: true, audio: true, video: true, batchAPI: false, promptCaching: false, parameters: { temperature: true, topP: true, topK: true, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 131_072, text: true, image: true, audio: true, video: true, cpm: 0.75 }, output: { tokens: 65_536, text: true, audio: true, cpm: 4.5 }, pricing: { text: { input: 0.75, output: 4.5 }, audio: { input: 3, output: 12 }, image: { input: 1 }, }, }, }| - | |'gemini-3.8-live-extended-thinking'|{ name: 'gemini-3.8-live-extended-thinking', provider: Vendor.Google, description: 'High-reasoning Gemini audio-to-audio model with background reasoning and asynchronous tool execution', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, endpoints: ['live'], releaseDate: '2026-09-15', sources: { documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-3.8-live-extended-thinking', pricing: 'https://ai.google.dev/gemini-api/docs/pricing', lastVerified: '2026-10-07' }, features: { reasoning: true, reasoningEfforts: ['low', 'medium', 'high'], streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: true, vision: true, audio: true, video: true, batchAPI: false, promptCaching: false, parameters: { temperature: true, topP: true, topK: true, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 131_072, text: true, image: true, audio: true, video: true, cpm: 0.75 }, output: { tokens: 65_536, text: true, audio: true, cpm: 4.5 }, pricing: { text: { input: 0.75, output: 4.5 }, audio: { input: 3, output: 12 }, image: { input: 1 }, }, }, }| - | |'gemini-3.8-flash'|{ name: 'gemini-3.8-flash', provider: Vendor.Google, description: 'Google's most intelligent Flash model for long-horizon software engineering, autonomous agents, and complex enterprise workflows', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, endpoints: ['generate_content', 'interactions', 'batch'], releaseDate: '2026-09-02', sources: { documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-3.8-flash', pricing: 'https://ai.google.dev/gemini-api/docs/pricing', lastVerified: '2026-09-04' }, features: { reasoning: true, reasoningEfforts: ['low', 'medium', 'high'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: true, video: true, batchAPI: true, promptCaching: true, parameters: { temperature: true, topP: true, topK: true, frequencyPenalty: false, presencePenalty: false }, deprecatedParameters: ['temperature', 'topP', 'topK'], input: { tokens: 1_048_576, text: true, image: true, audio: true, video: true, cpm: 0.75, cpmCached: 0.075 }, output: { tokens: 65_536, text: true, cpm: 3.75 }, pricing: { text: { input: 0.75, cachedInput: 0.075, output: 3.75 }, processingMultipliers: { batch: 0.5, flex: 0.5, priority: 1.8 }, }, }, }| - | |'gemini-3.7-flash'|{ name: 'gemini-3.7-flash', provider: Vendor.Google, description: 'Previous-generation production Gemini Flash model for agentic workflows and multimodal reasoning', isActive: true, lifecycle: 'active', availability: 'public', endpoints: ['generate_content', 'interactions', 'batch'], releaseDate: '2026-08-13', knowledgeCutoff: '2026-01-01', sources: { documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-3.7-flash', pricing: 'https://ai.google.dev/gemini-api/docs/pricing', lastVerified: '2026-09-04' }, features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: true, video: true, batchAPI: true, promptCaching: true, parameters: { temperature: true, topP: true, topK: true, frequencyPenalty: false, presencePenalty: false }, deprecatedParameters: ['temperature', 'topP', 'topK'], input: { tokens: 1_048_576, text: true, image: true, audio: true, video: true, cpm: 0.75, cpmCached: 0.075 }, output: { tokens: 65_536, text: true, cpm: 3.75 }, pricing: { text: { input: 0.75, cachedInput: 0.075, output: 3.75 }, processingMultipliers: { batch: 0.5, flex: 0.5, priority: 1.8 }, }, }, }| - | |'gemini-3.6-flash'|{ name: 'gemini-3.6-flash', provider: Vendor.Google, description: 'Current production Gemini Flash model for agentic, coding, spatial, and multimodal work', isActive: true, lifecycle: 'active', availability: 'public', endpoints: ['generate_content', 'interactions', 'batch'], releaseDate: '2026-07-21', knowledgeCutoff: '2026-01-01', sources: { documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-3.6-flash', pricing: 'https://ai.google.dev/gemini-api/docs/pricing', lastVerified: '2026-08-30' }, features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: true, video: true, batchAPI: true, promptCaching: true, parameters: { temperature: true, topP: true, topK: true, frequencyPenalty: false, presencePenalty: false }, deprecatedParameters: ['temperature', 'topP', 'topK'], input: { tokens: 1048576, text: true, image: true, audio: true, video: true, cpm: 1.5, cpmCached: 0.15 }, output: { tokens: 65536, text: true, cpm: 7.5 }, pricing: { text: { input: 1.5, cachedInput: 0.15, output: 7.5 }, processingMultipliers: { batch: 0.5, flex: 0.5, priority: 1.8 }, }, }, }| - | |'gemini-3.5-flash'|{ name: 'gemini-3.5-flash', provider: Vendor.Google, description: 'High-capability Gemini Flash model for multimodal and agentic production workloads', isActive: true, lifecycle: 'active', availability: 'public', aliases: ['gemini-flash-latest'], endpoints: ['generate_content', 'interactions', 'batch'], releaseDate: '2026-05-01', knowledgeCutoff: '2026-01-01', sources: { documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-3.5-flash', pricing: 'https://ai.google.dev/gemini-api/docs/pricing', lastVerified: '2026-08-30' }, features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: true, video: true, batchAPI: true, promptCaching: true, parameters: { temperature: true, topP: true, topK: true, frequencyPenalty: false, presencePenalty: false }, deprecatedParameters: ['temperature', 'topP', 'topK'], input: { tokens: 1048576, text: true, image: true, audio: true, video: true, cpm: 1.5, cpmCached: 0.15 }, output: { tokens: 65536, text: true, cpm: 9 }, pricing: { text: { input: 1.5, cachedInput: 0.15, output: 9 }, processingMultipliers: { batch: 0.5, flex: 0.5, priority: 1.8 }, }, }, }| - | |'gemini-3.5-flash-lite'|{ name: 'gemini-3.5-flash-lite', provider: Vendor.Google, description: 'Current low-latency production model for high-throughput subagents and extraction', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, aliases: ['gemini-flash-lite-latest'], endpoints: ['generate_content', 'interactions', 'batch'], releaseDate: '2026-07-21', knowledgeCutoff: '2026-01-01', sources: { documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-3.5-flash-lite', pricing: 'https://ai.google.dev/gemini-api/docs/pricing', lastVerified: '2026-08-30' }, features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: true, video: true, batchAPI: true, promptCaching: true, parameters: { temperature: true, topP: true, topK: true, frequencyPenalty: false, presencePenalty: false }, deprecatedParameters: ['temperature', 'topP', 'topK'], input: { tokens: 1048576, text: true, image: true, audio: true, video: true, cpm: 0.3, cpmCached: 0.03 }, output: { tokens: 65536, text: true, cpm: 2.5 }, pricing: { text: { input: 0.3, cachedInput: 0.03, output: 2.5 }, processingMultipliers: { batch: 0.5, flex: 0.5, priority: 1.8 }, }, }, }| - | |'gemini-3.1-flash-lite'|{ name: 'gemini-3.1-flash-lite', provider: Vendor.Google, description: 'Stable cost-efficient Gemini 3.1 model for high-volume multimodal workloads', isActive: true, lifecycle: 'deprecated', retirementDate: '2027-05-07', replacementModel: 'gemini-3.5-flash-lite', availability: 'public', endpoints: ['generate_content', 'interactions', 'batch'], releaseDate: '2026-05-25', knowledgeCutoff: '2025-12-01', sources: { documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-lite', pricing: 'https://ai.google.dev/gemini-api/docs/pricing', lastVerified: '2026-08-30' }, features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: true, video: true, batchAPI: true, promptCaching: true, parameters: { temperature: true, topP: true, topK: true, frequencyPenalty: false, presencePenalty: false }, deprecatedParameters: ['temperature', 'topP', 'topK'], input: { tokens: 1048576, text: true, image: true, audio: true, video: true, cpm: 0.25, cpmCached: 0.025 }, output: { tokens: 65536, text: true, cpm: 1.5 }, pricing: { text: { input: 0.25, cachedInput: 0.025, output: 1.5 }, audio: { input: 0.5, cachedInput: 0.05, output: 1.5 }, processingMultipliers: { batch: 0.5, flex: 0.5, priority: 1.8 }, }, }, }| - | |'gemini-3.1-pro-preview'|{ name: 'gemini-3.1-pro-preview', provider: Vendor.Google, description: 'Advanced intelligence with powerful agentic and coding capabilities. Replaces gemini-3-pro-preview', isActive: true, preferred: true, releaseDate: '2026-02-01', knowledgeCutoff: '2025-01-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: true, video: true, batchAPI: true, promptCaching: true, input: { tokens: 1048576, text: true, image: true, audio: true, video: true, cpm: 2.00, cpmCached: 0.20, }, output: { tokens: 65536, text: true, cpm: 12.00, }, }, }| - | |'gemini-3.1-flash-lite-preview'|{ name: 'gemini-3.1-flash-lite-preview', provider: Vendor.Google, description: 'High performance, budget-friendly for high-volume agentic tasks and data extraction', isActive: false, lifecycle: 'retired', retirementDate: '2026-05-25', replacementModel: 'gemini-3.5-flash-lite', releaseDate: '2026-03-01', knowledgeCutoff: '2025-01-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: true, video: true, batchAPI: true, promptCaching: true, input: { tokens: 1048576, text: true, image: true, audio: true, video: true, cpm: 0.25, }, output: { tokens: 65536, text: true, cpm: 1.50, }, }, }| - | |'gemini-3.1-flash-image-preview'|{ name: 'gemini-3.1-flash-image-preview', provider: Vendor.Google, description: 'High-efficiency image generation with up to 4K output, search grounding support', isActive: false, lifecycle: 'retired', retirementDate: '2026-06-25', replacementModel: 'gemini-3.1-flash-image', releaseDate: '2026-02-01', knowledgeCutoff: '2025-01-01', features: { reasoning: true, streaming: true, structuredOutput: false, functionCalling: false, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: false, input: { tokens: 131072, text: true, image: true, cpm: 0.25, }, output: { tokens: 32768, text: true, image: true, cpm: 1.50, }, }, }| - | |'gemini-3.1-flash-live-preview'|{ name: 'gemini-3.1-flash-live-preview', provider: Vendor.Google, description: 'Low-latency Live API model for real-time audio dialogue with multimodal awareness', isActive: true, lifecycle: 'legacy', availability: 'public', replacementModel: 'gemini-3.8-live', endpoints: ['live'], releaseDate: '2026-03-01', knowledgeCutoff: '2025-01-01', sources: { documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-live-preview', pricing: 'https://ai.google.dev/gemini-api/docs/pricing', lastVerified: '2026-10-07' }, features: { reasoning: true, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: true, vision: true, audio: true, video: true, batchAPI: false, promptCaching: false, input: { tokens: 131072, text: true, image: true, audio: true, video: true, cpm: 0.75, }, output: { tokens: 65536, text: true, audio: true, cpm: 4.50, }, }, }| - | |'gemini-3-flash-preview'|{ name: 'gemini-3-flash-preview', provider: Vendor.Google, description: 'Most powerful agentic and coding model with frontier-class reasoning', isActive: true, preferred: true, releaseDate: '2025-12-01', knowledgeCutoff: '2025-01-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: true, video: true, batchAPI: true, promptCaching: true, input: { tokens: 1048576, text: true, image: true, audio: true, video: true, cpm: 0.50, cpmCached: 0.05, }, output: { tokens: 65536, text: true, cpm: 3.00, }, }, }| - | |'gemini-3-pro-image-preview'|{ name: 'gemini-3-pro-image-preview', provider: Vendor.Google, description: 'Nano Banana Pro — state-of-the-art native image generation and editing with reasoning', isActive: false, lifecycle: 'retired', retirementDate: '2026-06-25', replacementModel: 'gemini-3-pro-image', releaseDate: '2025-11-18', knowledgeCutoff: '2025-01-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: false, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: false, input: { tokens: 65536, text: true, image: true, cpm: 1.25, }, output: { tokens: 32768, text: true, image: true, cpm: 10, }, }, }| - | |'gemini-2.5-pro'|{ name: 'gemini-2.5-pro', provider: Vendor.Google, description: 'Most advanced model for complex tasks with deep reasoning and coding', isActive: true, releaseDate: '2025-03-01', knowledgeCutoff: '2025-01-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: true, video: true, batchAPI: true, promptCaching: true, input: { tokens: 1048576, text: true, image: true, audio: true, video: true, cpm: 1.25, cpmCached: 0.125, }, output: { tokens: 65536, text: true, cpm: 10, }, }, }| - | |'gemini-2.5-flash'|{ name: 'gemini-2.5-flash', provider: Vendor.Google, description: 'Best price-performance for low-latency, high-volume tasks with reasoning', isActive: true, releaseDate: '2025-06-17', knowledgeCutoff: '2025-01-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: true, video: true, batchAPI: true, promptCaching: true, input: { tokens: 1048576, text: true, image: true, audio: true, video: true, cpm: 0.30, cpmCached: 0.03, }, output: { tokens: 65536, text: true, cpm: 2.50, }, }, }| - | |'gemini-2.5-flash-lite'|{ name: 'gemini-2.5-flash-lite', provider: Vendor.Google, description: 'Fastest and most budget-friendly multimodal model in the 2.5 family', isActive: true, releaseDate: '2025-06-17', knowledgeCutoff: '2025-01-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: true, video: true, batchAPI: true, promptCaching: true, input: { tokens: 1048576, text: true, image: true, audio: true, video: true, cpm: 0.10, }, output: { tokens: 65536, text: true, cpm: 0.40, }, }, }| - | |'gemini-2.5-flash-image'|{ name: 'gemini-2.5-flash-image', provider: Vendor.Google, description: 'Fast native image generation and editing (Nano Banana)', isActive: true, releaseDate: '2025-10-01', knowledgeCutoff: '2025-06-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: false, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, input: { tokens: 65536, text: true, image: true, cpm: 0.15, }, output: { tokens: 32768, text: true, image: true, cpm: 0.6, }, }, }| - | |'grok-4.7'|{ name: 'grok-4.7', provider: Vendor.Grok, description: 'Latest xAI frontier reasoning model with a 500K context window and native agent tools', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, endpoints: ['responses'], releaseDate: '2026-09-21', knowledgeCutoff: '2026-05-01', sources: { documentation: 'https://docs.x.ai/developers/grok-4-7', pricing: 'https://docs.x.ai/developers/pricing', lastVerified: '2026-10-07' }, features: { reasoning: true, reasoningEfforts: ['low', 'medium', 'high', 'xhigh'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: false, promptCaching: true, nativeTools: ['web_search', 'x_search', 'code_execution'], parameters: { temperature: true, topP: true, frequencyPenalty: true, presencePenalty: true }, input: { tokens: 500_000, text: true, image: true, cpm: 2, cpmCached: 0.5 }, output: { tokens: null, text: true, cpm: 6 }, pricing: { text: { input: 2, cachedInput: 0.5, output: 6, longContext: { thresholdTokens: 200_000, input: 4, cachedInput: 1, output: 12 }, }, }, }, }| - | |'grok-4.6'|{ name: 'grok-4.6', provider: Vendor.Grok, description: 'Latest xAI frontier model for coding, agentic tasks, and knowledge work', isActive: true, lifecycle: 'active', availability: 'public', endpoints: ['responses', 'chat_completions'], releaseDate: '2026-08-12', knowledgeCutoff: '2026-02-01', sources: { documentation: 'https://docs.x.ai/developers/grok-4-6', pricing: 'https://docs.x.ai/developers/pricing', lastVerified: '2026-09-04' }, features: { reasoning: true, reasoningEfforts: ['low', 'medium', 'high', 'xhigh'], streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: false, promptCaching: true, parameters: { temperature: true, topP: true, frequencyPenalty: true, presencePenalty: true }, input: { tokens: 500_000, text: true, image: true, cpm: 2, cpmCached: 0.5 }, output: { tokens: null, text: true, cpm: 6 }, pricing: { text: { input: 2, cachedInput: 0.5, output: 6, longContext: { thresholdTokens: 200_000, input: 4, cachedInput: 1, output: 12 }, }, }, }, }| - | |'grok-4.5'|{ name: 'grok-4.5', provider: Vendor.Grok, description: 'Previous-generation xAI reasoning model for agents, coding, and multimodal tasks', isActive: true, lifecycle: 'active', availability: 'public', endpoints: ['responses', 'chat_completions', 'messages', 'completions'], releaseDate: '2026-06-01', knowledgeCutoff: '2026-02-01', sources: { documentation: 'https://docs.x.ai/developers/models/grok-4.5', pricing: 'https://docs.x.ai/developers/pricing', lastVerified: '2026-08-30' }, features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: true, topP: true, frequencyPenalty: true, presencePenalty: true }, input: { tokens: 500000, text: true, image: true, cpm: 2, cpmCached: 0.3 }, output: { tokens: 65536, text: true, cpm: 6 }, pricing: { text: { input: 2, cachedInput: 0.3, output: 6, longContext: { thresholdTokens: 200000, input: 4, cachedInput: 0.6, output: 12 }, }, }, }, }| - | |'grok-4.3'|{ name: 'grok-4.3', provider: Vendor.Grok, description: 'Production xAI model with a 1M-token context window and native agent tools', isActive: true, lifecycle: 'active', availability: 'public', endpoints: ['responses', 'chat_completions', 'messages'], releaseDate: '2026-05-15', knowledgeCutoff: '2026-02-01', sources: { documentation: 'https://docs.x.ai/developers/models/grok-4.3', pricing: 'https://docs.x.ai/developers/pricing', lastVerified: '2026-08-30' }, features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, parameters: { temperature: true, topP: true, frequencyPenalty: true, presencePenalty: true }, input: { tokens: 1000000, text: true, image: true, cpm: 1.25, cpmCached: 0.2 }, output: { tokens: 65536, text: true, cpm: 2.5 }, pricing: { text: { input: 1.25, cachedInput: 0.2, output: 2.5, longContext: { thresholdTokens: 200000, input: 2.5, cachedInput: 0.4, output: 5 }, }, }, }, }| - | |'grok-build-0.1'|{ name: 'grok-build-0.1', provider: Vendor.Grok, description: 'Specialized xAI software-building model for repository-scale coding agents', isActive: true, lifecycle: 'active', availability: 'public', endpoints: ['responses'], releaseDate: '2026-05-01', knowledgeCutoff: '2026-02-01', sources: { documentation: 'https://docs.x.ai/developers/models/grok-build-0.1', pricing: 'https://docs.x.ai/developers/pricing', lastVerified: '2026-08-30' }, features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: false, promptCaching: true, parameters: { temperature: false, topP: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: 256000, text: true, image: true, cpm: 1, cpmCached: 0.2 }, output: { tokens: 65536, text: true, cpm: 2 }, pricing: { text: { input: 1, cachedInput: 0.2, output: 2, longContext: { thresholdTokens: 200000, input: 2, cachedInput: 0.4, output: 4 }, }, }, }, }| - | |'grok-voice-think-fast-2.0'|{ name: 'grok-voice-think-fast-2.0', provider: Vendor.Grok, description: 'Current xAI speech-to-speech reasoning model for low-latency voice agents', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, aliases: ['grok-voice-latest'], endpoints: ['realtime'], releaseDate: '2026-07-29', sources: { documentation: 'https://docs.x.ai/developers/models/voice-agent-api', pricing: 'https://docs.x.ai/developers/pricing', lastVerified: '2026-08-30' }, voices: XAI_VOICES, features: { reasoning: true, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: true, vision: false, audio: true, video: false, batchAPI: false, promptCaching: false, parameters: { temperature: false, topP: false, topK: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: null, text: true, audio: true, cpm: 0 }, output: { tokens: null, text: true, audio: true, cpm: 0 }, pricing: { audioDurationPerMinute: 0.05, textInputPerMessage: 0.004 }, }, }| - | |'grok-voice-think-fast-1.0'|{ name: 'grok-voice-think-fast-1.0', provider: Vendor.Grok, description: 'Deprecated first-generation xAI reasoning voice model', isActive: true, lifecycle: 'deprecated', availability: 'public', endpoints: ['realtime'], replacementModel: 'grok-voice-think-fast-2.0', voices: XAI_VOICES, features: { reasoning: true, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: true, vision: false, audio: true, video: false, batchAPI: false, promptCaching: false, parameters: { temperature: false, topP: false, topK: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: null, text: true, audio: true, cpm: 0 }, output: { tokens: null, text: true, audio: true, cpm: 0 }, pricing: { audioDurationPerMinute: 0.05, textInputPerMessage: 0.004 }, }, }| - | |'grok-voice-fast-1.0'|{ name: 'grok-voice-fast-1.0', provider: Vendor.Grok, description: 'Deprecated first-generation xAI voice-agent model', isActive: true, lifecycle: 'deprecated', availability: 'public', endpoints: ['realtime'], replacementModel: 'grok-voice-think-fast-2.0', voices: XAI_VOICES, features: { reasoning: false, streaming: true, structuredOutput: false, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: true, vision: false, audio: true, video: false, batchAPI: false, promptCaching: false, parameters: { temperature: false, topP: false, topK: false, frequencyPenalty: false, presencePenalty: false }, input: { tokens: null, text: true, audio: true, cpm: 0 }, output: { tokens: null, text: true, audio: true, cpm: 0 }, pricing: { audioDurationPerMinute: 0.05, textInputPerMessage: 0.004 }, }, }| - | |'grok-4.20-0309-reasoning'|{ name: 'grok-4.20-0309-reasoning', provider: Vendor.Grok, description: 'Grok 4.20 reasoning model with a 1M-token context window and vision support', isActive: true, releaseDate: '2026-03-09', knowledgeCutoff: '2024-11-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, input: { tokens: 1000000, text: true, image: true, cpm: 1.25, cpmCached: 0.20, }, output: { tokens: 65536, text: true, cpm: 2.50, }, pricing: { text: { input: 1.25, cachedInput: 0.20, output: 2.50, longContext: { thresholdTokens: 200000, input: 2.50, cachedInput: 0.40, output: 5.00 }, }, }, }, }| - | |'grok-4.20-0309-non-reasoning'|{ name: 'grok-4.20-0309-non-reasoning', provider: Vendor.Grok, description: 'Grok 4.20 non-reasoning model with a 1M-token context window and vision support', isActive: true, releaseDate: '2026-03-09', knowledgeCutoff: '2024-11-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, input: { tokens: 1000000, text: true, image: true, cpm: 1.25, cpmCached: 0.20, }, output: { tokens: 65536, text: true, cpm: 2.50, }, pricing: { text: { input: 1.25, cachedInput: 0.20, output: 2.50, longContext: { thresholdTokens: 200000, input: 2.50, cachedInput: 0.40, output: 5.00 }, }, }, }, }| - | |'grok-4.20-multi-agent-0309'|{ name: 'grok-4.20-multi-agent-0309', provider: Vendor.Grok, description: 'Grok 4.20 optimized for multi-agent workflows with a 1M-token context window', isActive: true, releaseDate: '2026-03-09', knowledgeCutoff: '2024-11-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, input: { tokens: 1000000, text: true, image: true, cpm: 1.25, cpmCached: 0.20, }, output: { tokens: 65536, text: true, cpm: 2.50, }, pricing: { text: { input: 1.25, cachedInput: 0.20, output: 2.50, longContext: { thresholdTokens: 200000, input: 2.50, cachedInput: 0.40, output: 5.00 }, }, }, }, }| - | |'grok-4-1-fast-reasoning'|{ name: 'grok-4-1-fast-reasoning', provider: Vendor.Grok, description: 'Fast Grok 4.1 with reasoning, 2M context, vision support', isActive: false, lifecycle: 'retired', retirementDate: '2026-05-15', replacementModel: 'grok-4.3', releaseDate: '2025-11-01', knowledgeCutoff: '2024-11-01', features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, input: { tokens: 2000000, text: true, image: true, cpm: 0.20, }, output: { tokens: 65536, text: true, cpm: 0.50, }, }, }| - | |'grok-4-1-fast-non-reasoning'|{ name: 'grok-4-1-fast-non-reasoning', provider: Vendor.Grok, description: 'Fast Grok 4.1 without reasoning, 2M context, vision support', isActive: false, lifecycle: 'retired', retirementDate: '2026-05-15', replacementModel: 'grok-4.3', releaseDate: '2025-11-01', knowledgeCutoff: '2024-11-01', features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: true, promptCaching: true, input: { tokens: 2000000, text: true, image: true, cpm: 0.20, }, output: { tokens: 65536, text: true, cpm: 0.50, }, }, }| - | |'deepseek-v4-flash'|{ name: 'deepseek-v4-flash', provider: Vendor.DeepSeek, description: 'DeepSeek V4 Flash reasoning model with first-party Responses and Chat Completions support', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, endpoints: ['responses', 'chat_completions', 'messages'], releaseDate: '2026-04-24', sources: { documentation: 'https://api-docs.deepseek.com/quick_start/pricing/', pricing: 'https://api-docs.deepseek.com/quick_start/pricing/', lastVerified: '2026-08-30', }, features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: false, audio: false, video: false, batchAPI: false, promptCaching: true, parameters: { temperature: true, topP: true, frequencyPenalty: true, presencePenalty: true, }, input: { tokens: 1_000_000, text: true, cpm: 0.44, cpmCached: 0.014, }, output: { tokens: 384_000, text: true, cpm: 1.32, }, pricing: { text: { input: 0.44, cachedInput: 0.014, output: 1.32 }, processingMultipliers: { off_peak: 0.5 }, }, }, }| - | |'deepseek-v4-pro'|{ name: 'deepseek-v4-pro', provider: Vendor.DeepSeek, description: 'Highest-capability DeepSeek V4 reasoning model with Responses, Chat Completions, and Messages support', isActive: true, lifecycle: 'active', availability: 'public', preferred: true, endpoints: ['responses', 'chat_completions', 'messages', 'completions'], releaseDate: '2026-04-24', sources: { documentation: 'https://api-docs.deepseek.com/quick_start/pricing/', pricing: 'https://api-docs.deepseek.com/quick_start/pricing/', lastVerified: '2026-08-30', }, features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: false, audio: false, video: false, batchAPI: false, promptCaching: true, parameters: { temperature: true, topP: true, frequencyPenalty: true, presencePenalty: true, }, input: { tokens: 1_000_000, text: true, cpm: 1.32, cpmCached: 0.044, }, output: { tokens: 384_000, text: true, cpm: 3.96, }, pricing: { text: { input: 1.32, cachedInput: 0.044, output: 3.96 }, processingMultipliers: { off_peak: 0.5 }, }, }, }| - | |'deepseek-v4-flash-vision-exp'|{ name: 'deepseek-v4-flash-vision-exp', provider: Vendor.DeepSeek, description: 'Experimental DeepSeek V4 Flash variant with image understanding', isActive: true, lifecycle: 'preview', availability: 'public', endpoints: ['responses', 'chat_completions', 'messages'], releaseDate: '2026-08-21', sources: { documentation: 'https://api-docs.deepseek.com/guides/vision/', pricing: 'https://api-docs.deepseek.com/quick_start/pricing/', lastVerified: '2026-08-30', }, features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: true, audio: false, video: false, batchAPI: false, promptCaching: true, parameters: { temperature: true, topP: true, frequencyPenalty: true, presencePenalty: true, }, input: { tokens: 1_000_000, text: true, image: true, cpm: 0.44, cpmCached: 0.014, }, output: { tokens: 384_000, text: true, cpm: 1.32, }, pricing: { text: { input: 0.44, cachedInput: 0.014, output: 1.32 }, processingMultipliers: { off_peak: 0.5 }, }, }, }| - | |'deepseek-chat'|{ name: 'deepseek-chat', provider: Vendor.DeepSeek, description: 'Retired DeepSeek compatibility model ID', isActive: false, lifecycle: 'retired', availability: 'public', retirementDate: '2026-07-24', replacementModel: 'deepseek-v4-flash', endpoints: ['chat_completions'], sources: { documentation: 'https://api-docs.deepseek.com/updates/', lastVerified: '2026-08-30', }, features: { reasoning: false, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: false, audio: false, video: false, batchAPI: false, promptCaching: true, input: { tokens: 1_000_000, text: true, cpm: 0.14, cpmCached: 0.0028 }, output: { tokens: 384_000, text: true, cpm: 0.28 }, }, }| - | |'deepseek-reasoner'|{ name: 'deepseek-reasoner', provider: Vendor.DeepSeek, description: 'Retired DeepSeek reasoning compatibility model ID', isActive: false, lifecycle: 'retired', availability: 'public', retirementDate: '2026-07-24', replacementModel: 'deepseek-v4-flash', endpoints: ['chat_completions'], sources: { documentation: 'https://api-docs.deepseek.com/updates/', lastVerified: '2026-08-30', }, features: { reasoning: true, streaming: true, structuredOutput: true, functionCalling: true, fineTuning: false, predictedOutputs: false, realtime: false, vision: false, audio: false, video: false, batchAPI: false, promptCaching: true, input: { tokens: 1_000_000, text: true, cpm: 0.14, cpmCached: 0.0028 }, output: { tokens: 384_000, text: true, cpm: 0.28 }, }, }` | - |


Documentation snapshot · 2026-11-02Suggest a correction ↗

Search documentation

Type to search the v2 documentation.