From 5040e0b5dc76f23fcd459f9a9314aec121678540 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 14 Apr 2026 07:15:07 +0000 Subject: [PATCH] chore: sync model metadata from OpenRouter --- .../ai-openrouter/src/model-meta.ts | 25529 ++++++---------- scripts/.sync-models-last-run | 2 +- scripts/openrouter.models.ts | 1386 +- 3 files changed, 9153 insertions(+), 17764 deletions(-) diff --git a/packages/typescript/ai-openrouter/src/model-meta.ts b/packages/typescript/ai-openrouter/src/model-meta.ts index 350abe35..9aabd0e6 100644 --- a/packages/typescript/ai-openrouter/src/model-meta.ts +++ b/packages/typescript/ai-openrouter/src/model-meta.ts @@ -1,16898 +1,8642 @@ -import type { - OpenRouterBaseOptions, - OpenRouterCommonOptions, -} from './text/text-provider-options' -const AI21_JAMBA_LARGE_1_7 = { - id: 'ai21/jamba-large-1.7', - name: 'AI21: Jamba Large 1.7', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 256000, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 2, - cached: 0, - }, - output: { - normal: 8, - }, - }, - image: 0, - }, -} as const -const AION_LABS_AION_1_0 = { - id: 'aion-labs/aion-1.0', - name: 'AionLabs: Aion-1.0', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'temperature', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 4, - cached: 0, - }, - output: { - normal: 8, - }, - }, - image: 0, - }, -} as const -const AION_LABS_AION_1_0_MINI = { - id: 'aion-labs/aion-1.0-mini', - name: 'AionLabs: Aion-1.0-Mini', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'temperature', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.7, - cached: 0, - }, - output: { - normal: 1.4, - }, - }, - image: 0, - }, -} as const -const AION_LABS_AION_2_0 = { - id: 'aion-labs/aion-2.0', - name: 'AionLabs: Aion-2.0', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'temperature', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.8, - cached: 0.2, - }, - output: { - normal: 1.6, - }, - }, - image: 0, - }, -} as const -const AION_LABS_AION_RP_LLAMA_3_1_8B = { - id: 'aion-labs/aion-rp-llama-3.1-8b', - name: 'AionLabs: Aion-RP 1.0 (8B)', - supports: { - input: ['text'], - output: ['text'], - supports: ['maxCompletionTokens', 'temperature', 'topP'], - }, - context_window: 32768, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.8, - cached: 0, - }, - output: { - normal: 1.6, - }, - }, - image: 0, - }, -} as const -const ALFREDPROS_CODELLAMA_7B_INSTRUCT_SOLIDITY = { - id: 'alfredpros/codellama-7b-instruct-solidity', - name: 'AlfredPros: CodeLLaMa 7B Instruct Solidity', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 4096, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 0.8, - cached: 0, - }, - output: { - normal: 1.2, - }, - }, - image: 0, - }, -} as const -const ALIBABA_TONGYI_DEEPRESEARCH_30B_A3B = { - id: 'alibaba/tongyi-deepresearch-30b-a3b', - name: 'Tongyi DeepResearch 30B A3B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.09, - cached: 0.09, - }, - output: { - normal: 0.45, - }, - }, - image: 0, - }, -} as const -const ALLENAI_OLMO_2_0325_32B_INSTRUCT = { - id: 'allenai/olmo-2-0325-32b-instruct', - name: 'AllenAI: Olmo 2 32B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [], - }, - context_window: 128000, - pricing: { - text: { - input: { - normal: 0.05, - cached: 0, - }, - output: { - normal: 0.2, - }, - }, - image: 0, - }, -} as const -const ALLENAI_OLMO_3_32B_THINK = { - id: 'allenai/olmo-3-32b-think', - name: 'AllenAI: Olmo 3 32B Think', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 65536, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.15, - cached: 0, - }, - output: { - normal: 0.5, - }, - }, - image: 0, - }, -} as const -const ALLENAI_OLMO_3_1_32B_INSTRUCT = { - id: 'allenai/olmo-3.1-32b-instruct', - name: 'AllenAI: Olmo 3.1 32B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 65536, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0, - }, - output: { - normal: 0.6, - }, - }, - image: 0, - }, -} as const -const ALPINDALE_GOLIATH_120B = { - id: 'alpindale/goliath-120b', - name: 'Goliath 120B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topA', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 6144, - max_output_tokens: 1024, - pricing: { - text: { - input: { - normal: 3.75, - cached: 0, - }, - output: { - normal: 7.5, - }, - }, - image: 0, - }, -} as const -const AMAZON_NOVA_2_LITE_V1 = { - id: 'amazon/nova-2-lite-v1', - name: 'Amazon: Nova 2 Lite', - supports: { - input: ['text', 'image', 'video', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 1000000, - max_output_tokens: 65535, - pricing: { - text: { - input: { - normal: 0.3, - cached: 0, - }, - output: { - normal: 2.5, - }, - }, - image: 0, - }, -} as const -const AMAZON_NOVA_LITE_V1 = { - id: 'amazon/nova-lite-v1', - name: 'Amazon: Nova Lite 1.0', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: ['maxCompletionTokens', 'stop', 'temperature', 'topK', 'topP'], - }, - context_window: 300000, - max_output_tokens: 5120, - pricing: { - text: { - input: { - normal: 0.06, - cached: 0, - }, - output: { - normal: 0.24, - }, - }, - image: 0, - }, -} as const -const AMAZON_NOVA_MICRO_V1 = { - id: 'amazon/nova-micro-v1', - name: 'Amazon: Nova Micro 1.0', - supports: { - input: ['text'], - output: ['text'], - supports: ['maxCompletionTokens', 'stop', 'temperature', 'topK', 'topP'], - }, - context_window: 128000, - max_output_tokens: 5120, - pricing: { - text: { - input: { - normal: 0.035, - cached: 0, - }, - output: { - normal: 0.14, - }, - }, - image: 0, - }, -} as const -const AMAZON_NOVA_PREMIER_V1 = { - id: 'amazon/nova-premier-v1', - name: 'Amazon: Nova Premier 1.0', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: ['maxCompletionTokens', 'stop', 'temperature', 'topK', 'topP'], - }, - context_window: 1000000, - max_output_tokens: 32000, - pricing: { - text: { - input: { - normal: 2.5, - cached: 0.625, - }, - output: { - normal: 12.5, - }, - }, - image: 0, - }, -} as const -const AMAZON_NOVA_PRO_V1 = { - id: 'amazon/nova-pro-v1', - name: 'Amazon: Nova Pro 1.0', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: ['maxCompletionTokens', 'stop', 'temperature', 'topK', 'topP'], - }, - context_window: 300000, - max_output_tokens: 5120, - pricing: { - text: { - input: { - normal: 0.8, - cached: 0, - }, - output: { - normal: 3.2, - }, - }, - image: 0, - }, -} as const -const ANTHRACITE_ORG_MAGNUM_V4_72B = { - id: 'anthracite-org/magnum-v4-72b', - name: 'Magnum v4 72B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topA', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 16384, - max_output_tokens: 2048, - pricing: { - text: { - input: { - normal: 3, - cached: 0, - }, - output: { - normal: 5, - }, - }, - image: 0, - }, -} as const -const ANTHROPIC_CLAUDE_3_HAIKU = { - id: 'anthropic/claude-3-haiku', - name: 'Anthropic: Claude 3 Haiku', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 200000, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 0.25, - cached: 0.32999999999999996, - }, - output: { - normal: 1.25, - }, - }, - image: 0, - }, -} as const -const ANTHROPIC_CLAUDE_3_5_HAIKU = { - id: 'anthropic/claude-3.5-haiku', - name: 'Anthropic: Claude 3.5 Haiku', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 200000, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 0.8, - cached: 1.08, - }, - output: { - normal: 4, - }, - }, - image: 0, - }, -} as const -const ANTHROPIC_CLAUDE_3_7_SONNET = { - id: 'anthropic/claude-3.7-sonnet', - name: 'Anthropic: Claude 3.7 Sonnet', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 200000, - max_output_tokens: 64000, - pricing: { - text: { - input: { - normal: 3, - cached: 4.05, - }, - output: { - normal: 15, - }, - }, - image: 0, - }, -} as const -const ANTHROPIC_CLAUDE_3_7_SONNET_THINKING = { - id: 'anthropic/claude-3.7-sonnet:thinking', - name: 'Anthropic: Claude 3.7 Sonnet (thinking)', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 200000, - max_output_tokens: 64000, - pricing: { - text: { - input: { - normal: 3, - cached: 4.05, - }, - output: { - normal: 15, - }, - }, - image: 0, - }, -} as const -const ANTHROPIC_CLAUDE_HAIKU_4_5 = { - id: 'anthropic/claude-haiku-4.5', - name: 'Anthropic: Claude Haiku 4.5', - supports: { - input: ['image', 'text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 200000, - max_output_tokens: 64000, - pricing: { - text: { - input: { - normal: 1, - cached: 1.35, - }, - output: { - normal: 5, - }, - }, - image: 0, - }, -} as const -const ANTHROPIC_CLAUDE_OPUS_4 = { - id: 'anthropic/claude-opus-4', - name: 'Anthropic: Claude Opus 4', - supports: { - input: ['image', 'text', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 200000, - max_output_tokens: 32000, - pricing: { - text: { - input: { - normal: 15, - cached: 20.25, - }, - output: { - normal: 75, - }, - }, - image: 0, - }, -} as const -const ANTHROPIC_CLAUDE_OPUS_4_1 = { - id: 'anthropic/claude-opus-4.1', - name: 'Anthropic: Claude Opus 4.1', - supports: { - input: ['image', 'text', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 200000, - max_output_tokens: 32000, - pricing: { - text: { - input: { - normal: 15, - cached: 20.25, - }, - output: { - normal: 75, - }, - }, - image: 0, - }, -} as const -const ANTHROPIC_CLAUDE_OPUS_4_5 = { - id: 'anthropic/claude-opus-4.5', - name: 'Anthropic: Claude Opus 4.5', - supports: { - input: ['document', 'image', 'text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'verbosity', - ], - }, - context_window: 200000, - max_output_tokens: 64000, - pricing: { - text: { - input: { - normal: 5, - cached: 6.75, - }, - output: { - normal: 25, - }, - }, - image: 0, - }, -} as const -const ANTHROPIC_CLAUDE_OPUS_4_6 = { - id: 'anthropic/claude-opus-4.6', - name: 'Anthropic: Claude Opus 4.6', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - 'verbosity', - ], - }, - context_window: 1000000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 5, - cached: 6.75, - }, - output: { - normal: 25, - }, - }, - image: 0, - }, -} as const -const ANTHROPIC_CLAUDE_OPUS_4_6_FAST = { - id: 'anthropic/claude-opus-4.6-fast', - name: 'Anthropic: Claude Opus 4.6 (Fast)', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - 'verbosity', - ], - }, - context_window: 1000000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 30, - cached: 40.5, - }, - output: { - normal: 150, - }, - }, - image: 0, - }, -} as const -const ANTHROPIC_CLAUDE_SONNET_4 = { - id: 'anthropic/claude-sonnet-4', - name: 'Anthropic: Claude Sonnet 4', - supports: { - input: ['image', 'text', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 200000, - max_output_tokens: 64000, - pricing: { - text: { - input: { - normal: 3, - cached: 4.05, - }, - output: { - normal: 15, - }, - }, - image: 0, - }, -} as const -const ANTHROPIC_CLAUDE_SONNET_4_5 = { - id: 'anthropic/claude-sonnet-4.5', - name: 'Anthropic: Claude Sonnet 4.5', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 1000000, - max_output_tokens: 64000, - pricing: { - text: { - input: { - normal: 3, - cached: 4.05, - }, - output: { - normal: 15, - }, - }, - image: 0, - }, -} as const -const ANTHROPIC_CLAUDE_SONNET_4_6 = { - id: 'anthropic/claude-sonnet-4.6', - name: 'Anthropic: Claude Sonnet 4.6', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - 'verbosity', - ], - }, - context_window: 1000000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 3, - cached: 4.05, - }, - output: { - normal: 15, - }, - }, - image: 0, - }, -} as const -const ARCEE_AI_CODER_LARGE = { - id: 'arcee-ai/coder-large', - name: 'Arcee AI: Coder Large', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 32768, - pricing: { - text: { - input: { - normal: 0.5, - cached: 0, - }, - output: { - normal: 0.8, - }, - }, - image: 0, - }, -} as const -const ARCEE_AI_MAESTRO_REASONING = { - id: 'arcee-ai/maestro-reasoning', - name: 'Arcee AI: Maestro Reasoning', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 32000, - pricing: { - text: { - input: { - normal: 0.9, - cached: 0, - }, - output: { - normal: 3.3, - }, - }, - image: 0, - }, -} as const -const ARCEE_AI_SPOTLIGHT = { - id: 'arcee-ai/spotlight', - name: 'Arcee AI: Spotlight', - supports: { - input: ['image', 'text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 65537, - pricing: { - text: { - input: { - normal: 0.18, - cached: 0, - }, - output: { - normal: 0.18, - }, - }, - image: 0, - }, -} as const -const ARCEE_AI_TRINITY_LARGE_PREVIEW_FREE = { - id: 'arcee-ai/trinity-large-preview:free', - name: 'Arcee AI: Trinity Large Preview (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'responseFormat', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131000, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const ARCEE_AI_TRINITY_LARGE_THINKING = { - id: 'arcee-ai/trinity-large-thinking', - name: 'Arcee AI: Trinity Large Thinking', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 262144, - pricing: { - text: { - input: { - normal: 0.22, - cached: 0, - }, - output: { - normal: 0.85, - }, - }, - image: 0, - }, -} as const -const ARCEE_AI_TRINITY_MINI = { - id: 'arcee-ai/trinity-mini', - name: 'Arcee AI: Trinity Mini', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.045, - cached: 0, - }, - output: { - normal: 0.15, - }, - }, - image: 0, - }, -} as const -const ARCEE_AI_VIRTUOSO_LARGE = { - id: 'arcee-ai/virtuoso-large', - name: 'Arcee AI: Virtuoso Large', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 64000, - pricing: { - text: { - input: { - normal: 0.75, - cached: 0, - }, - output: { - normal: 1.2, - }, - }, - image: 0, - }, -} as const -const BAIDU_ERNIE_4_5_21B_A3B = { - id: 'baidu/ernie-4.5-21b-a3b', - name: 'Baidu: ERNIE 4.5 21B A3B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 120000, - max_output_tokens: 8000, - pricing: { - text: { - input: { - normal: 0.07, - cached: 0, - }, - output: { - normal: 0.28, - }, - }, - image: 0, - }, -} as const -const BAIDU_ERNIE_4_5_21B_A3B_THINKING = { - id: 'baidu/ernie-4.5-21b-a3b-thinking', - name: 'Baidu: ERNIE 4.5 21B A3B Thinking', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.07, - cached: 0, - }, - output: { - normal: 0.28, - }, - }, - image: 0, - }, -} as const -const BAIDU_ERNIE_4_5_300B_A47B = { - id: 'baidu/ernie-4.5-300b-a47b', - name: 'Baidu: ERNIE 4.5 300B A47B ', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 123000, - max_output_tokens: 12000, - pricing: { - text: { - input: { - normal: 0.28, - cached: 0, - }, - output: { - normal: 1.1, - }, - }, - image: 0, - }, -} as const -const BAIDU_ERNIE_4_5_VL_28B_A3B = { - id: 'baidu/ernie-4.5-vl-28b-a3b', - name: 'Baidu: ERNIE 4.5 VL 28B A3B', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 30000, - max_output_tokens: 8000, - pricing: { - text: { - input: { - normal: 0.14, - cached: 0, - }, - output: { - normal: 0.56, - }, - }, - image: 0, - }, -} as const -const BAIDU_ERNIE_4_5_VL_424B_A47B = { - id: 'baidu/ernie-4.5-vl-424b-a47b', - name: 'Baidu: ERNIE 4.5 VL 424B A47B ', - supports: { - input: ['image', 'text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 123000, - max_output_tokens: 16000, - pricing: { - text: { - input: { - normal: 0.42, - cached: 0, - }, - output: { - normal: 1.25, - }, - }, - image: 0, - }, -} as const -const BYTEDANCE_SEED_SEED_1_6 = { - id: 'bytedance-seed/seed-1.6', - name: 'ByteDance Seed: Seed 1.6', - supports: { - input: ['image', 'text', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.25, - cached: 0, - }, - output: { - normal: 2, - }, - }, - image: 0, - }, -} as const -const BYTEDANCE_SEED_SEED_1_6_FLASH = { - id: 'bytedance-seed/seed-1.6-flash', - name: 'ByteDance Seed: Seed 1.6 Flash', - supports: { - input: ['image', 'text', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.075, - cached: 0, - }, - output: { - normal: 0.3, - }, - }, - image: 0, - }, -} as const -const BYTEDANCE_SEED_SEED_2_0_LITE = { - id: 'bytedance-seed/seed-2.0-lite', - name: 'ByteDance Seed: Seed-2.0-Lite', - supports: { - input: ['text', 'image', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.25, - cached: 0, - }, - output: { - normal: 2, - }, - }, - image: 0, - }, -} as const -const BYTEDANCE_SEED_SEED_2_0_MINI = { - id: 'bytedance-seed/seed-2.0-mini', - name: 'ByteDance Seed: Seed-2.0-Mini', - supports: { - input: ['text', 'image', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0, - }, - output: { - normal: 0.4, - }, - }, - image: 0, - }, -} as const -const BYTEDANCE_UI_TARS_1_5_7B = { - id: 'bytedance/ui-tars-1.5-7b', - name: 'ByteDance: UI-TARS 7B ', - supports: { - input: ['image', 'text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 128000, - max_output_tokens: 2048, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0, - }, - output: { - normal: 0.2, - }, - }, - image: 0, - }, -} as const -const COGNITIVECOMPUTATIONS_DOLPHIN_MISTRAL_24B_VENICE_EDITION_FREE = { - id: 'cognitivecomputations/dolphin-mistral-24b-venice-edition:free', - name: 'Venice: Uncensored (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 32768, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const COHERE_COMMAND_A = { - id: 'cohere/command-a', - name: 'Cohere: Command A', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 256000, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 2.5, - cached: 0, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const COHERE_COMMAND_R_08_2024 = { - id: 'cohere/command-r-08-2024', - name: 'Cohere: Command R (08-2024)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 128000, - max_output_tokens: 4000, - pricing: { - text: { - input: { - normal: 0.15, - cached: 0, - }, - output: { - normal: 0.6, - }, - }, - image: 0, - }, -} as const -const COHERE_COMMAND_R_PLUS_08_2024 = { - id: 'cohere/command-r-plus-08-2024', - name: 'Cohere: Command R+ (08-2024)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 128000, - max_output_tokens: 4000, - pricing: { - text: { - input: { - normal: 2.5, - cached: 0, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const COHERE_COMMAND_R7B_12_2024 = { - id: 'cohere/command-r7b-12-2024', - name: 'Cohere: Command R7B (12-2024)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 128000, - max_output_tokens: 4000, - pricing: { - text: { - input: { - normal: 0.0375, - cached: 0, - }, - output: { - normal: 0.15, - }, - }, - image: 0, - }, -} as const -const DEEPCOGITO_COGITO_V2_1_671B = { - id: 'deepcogito/cogito-v2.1-671b', - name: 'Deep Cogito: Cogito v2.1 671B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 128000, - pricing: { - text: { - input: { - normal: 1.25, - cached: 0, - }, - output: { - normal: 1.25, - }, - }, - image: 0, - }, -} as const -const DEEPSEEK_DEEPSEEK_CHAT = { - id: 'deepseek/deepseek-chat', - name: 'DeepSeek: DeepSeek V3', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 163840, - max_output_tokens: 163840, - pricing: { - text: { - input: { - normal: 0.32, - cached: 0, - }, - output: { - normal: 0.89, - }, - }, - image: 0, - }, -} as const -const DEEPSEEK_DEEPSEEK_CHAT_V3_0324 = { - id: 'deepseek/deepseek-chat-v3-0324', - name: 'DeepSeek: DeepSeek V3 0324', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 163840, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0.135, - }, - output: { - normal: 0.77, - }, - }, - image: 0, - }, -} as const -const DEEPSEEK_DEEPSEEK_CHAT_V3_1 = { - id: 'deepseek/deepseek-chat-v3.1', - name: 'DeepSeek: DeepSeek V3.1', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 32768, - max_output_tokens: 7168, - pricing: { - text: { - input: { - normal: 0.15, - cached: 0, - }, - output: { - normal: 0.75, - }, - }, - image: 0, - }, -} as const -const DEEPSEEK_DEEPSEEK_R1 = { - id: 'deepseek/deepseek-r1', - name: 'DeepSeek: R1', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 64000, - max_output_tokens: 16000, - pricing: { - text: { - input: { - normal: 0.7, - cached: 0, - }, - output: { - normal: 2.5, - }, - }, - image: 0, - }, -} as const -const DEEPSEEK_DEEPSEEK_R1_0528 = { - id: 'deepseek/deepseek-r1-0528', - name: 'DeepSeek: R1 0528', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 163840, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.45, - cached: 0.225, - }, - output: { - normal: 2.15, - }, - }, - image: 0, - }, -} as const -const DEEPSEEK_DEEPSEEK_R1_DISTILL_LLAMA_70B = { - id: 'deepseek/deepseek-r1-distill-llama-70b', - name: 'DeepSeek: R1 Distill Llama 70B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.7, - cached: 0, - }, - output: { - normal: 0.8, - }, - }, - image: 0, - }, -} as const -const DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_32B = { - id: 'deepseek/deepseek-r1-distill-qwen-32b', - name: 'DeepSeek: R1 Distill Qwen 32B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'topLogprobs', - 'topP', - ], - }, - context_window: 32768, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.29, - cached: 0, - }, - output: { - normal: 0.29, - }, - }, - image: 0, - }, -} as const -const DEEPSEEK_DEEPSEEK_V3_1_TERMINUS = { - id: 'deepseek/deepseek-v3.1-terminus', - name: 'DeepSeek: DeepSeek V3.1 Terminus', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 163840, - pricing: { - text: { - input: { - normal: 0.21, - cached: 0.1300000002, - }, - output: { - normal: 0.79, - }, - }, - image: 0, - }, -} as const -const DEEPSEEK_DEEPSEEK_V3_2 = { - id: 'deepseek/deepseek-v3.2', - name: 'DeepSeek: DeepSeek V3.2', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 163840, - pricing: { - text: { - input: { - normal: 0.26, - cached: 0.13, - }, - output: { - normal: 0.38, - }, - }, - image: 0, - }, -} as const -const DEEPSEEK_DEEPSEEK_V3_2_EXP = { - id: 'deepseek/deepseek-v3.2-exp', - name: 'DeepSeek: DeepSeek V3.2 Exp', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 163840, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.27, - cached: 0, - }, - output: { - normal: 0.41, - }, - }, - image: 0, - }, -} as const -const DEEPSEEK_DEEPSEEK_V3_2_SPECIALE = { - id: 'deepseek/deepseek-v3.2-speciale', - name: 'DeepSeek: DeepSeek V3.2 Speciale', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 163840, - max_output_tokens: 163840, - pricing: { - text: { - input: { - normal: 0.4, - cached: 0.2, - }, - output: { - normal: 1.2, - }, - }, - image: 0, - }, -} as const -const ELEUTHERAI_LLEMMA_7B = { - id: 'eleutherai/llemma_7b', - name: 'EleutherAI: Llemma 7b', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 4096, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 0.8, - cached: 0, - }, - output: { - normal: 1.2, - }, - }, - image: 0, - }, -} as const -const ESSENTIALAI_RNJ_1_INSTRUCT = { - id: 'essentialai/rnj-1-instruct', - name: 'EssentialAI: Rnj 1 Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 32768, - pricing: { - text: { - input: { - normal: 0.15, - cached: 0, - }, - output: { - normal: 0.15, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMINI_2_0_FLASH_001 = { - id: 'google/gemini-2.0-flash-001', - name: 'Google: Gemini 2.0 Flash', - supports: { - input: ['text', 'image', 'document', 'audio', 'video'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0.1083333333, - }, - output: { - normal: 0.4, - }, - }, - image: 1e-7, - }, -} as const -const GOOGLE_GEMINI_2_0_FLASH_LITE_001 = { - id: 'google/gemini-2.0-flash-lite-001', - name: 'Google: Gemini 2.0 Flash Lite', - supports: { - input: ['text', 'image', 'document', 'audio', 'video'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 0.075, - cached: 0, - }, - output: { - normal: 0.3, - }, - }, - image: 7.5e-8, - }, -} as const -const GOOGLE_GEMINI_2_5_FLASH = { - id: 'google/gemini-2.5-flash', - name: 'Google: Gemini 2.5 Flash', - supports: { - input: ['document', 'image', 'text', 'audio', 'video'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 65535, - pricing: { - text: { - input: { - normal: 0.3, - cached: 0.1133333333, - }, - output: { - normal: 2.5, - }, - }, - image: 3e-7, - }, -} as const -const GOOGLE_GEMINI_2_5_FLASH_IMAGE = { - id: 'google/gemini-2.5-flash-image', - name: 'Google: Nano Banana (Gemini 2.5 Flash Image)', - supports: { - input: ['image', 'text'], - output: ['image', 'text'], - supports: [ - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topP', - ], - }, - context_window: 32768, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.3, - cached: 0.1133333333, - }, - output: { - normal: 2.5, - }, - }, - image: 3e-7, - }, -} as const -const GOOGLE_GEMINI_2_5_FLASH_LITE = { - id: 'google/gemini-2.5-flash-lite', - name: 'Google: Gemini 2.5 Flash Lite', - supports: { - input: ['text', 'image', 'document', 'audio', 'video'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 65535, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0.0933333333, - }, - output: { - normal: 0.4, - }, - }, - image: 1e-7, - }, -} as const -const GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025 = { - id: 'google/gemini-2.5-flash-lite-preview-09-2025', - name: 'Google: Gemini 2.5 Flash Lite Preview 09-2025', - supports: { - input: ['text', 'image', 'document', 'audio', 'video'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 65535, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0.0933333333, - }, - output: { - normal: 0.4, - }, - }, - image: 1e-7, - }, -} as const -const GOOGLE_GEMINI_2_5_PRO = { - id: 'google/gemini-2.5-pro', - name: 'Google: Gemini 2.5 Pro', - supports: { - input: ['text', 'image', 'document', 'audio', 'video'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 1.25, - cached: 0.5, - }, - output: { - normal: 10, - }, - }, - image: 0.00000125, - }, -} as const -const GOOGLE_GEMINI_2_5_PRO_PREVIEW = { - id: 'google/gemini-2.5-pro-preview', - name: 'Google: Gemini 2.5 Pro Preview 06-05', - supports: { - input: ['document', 'image', 'text', 'audio'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 1.25, - cached: 0.5, - }, - output: { - normal: 10, - }, - }, - image: 0.00000125, - }, -} as const -const GOOGLE_GEMINI_2_5_PRO_PREVIEW_05_06 = { - id: 'google/gemini-2.5-pro-preview-05-06', - name: 'Google: Gemini 2.5 Pro Preview 05-06', - supports: { - input: ['text', 'image', 'document', 'audio', 'video'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 65535, - pricing: { - text: { - input: { - normal: 1.25, - cached: 0.5, - }, - output: { - normal: 10, - }, - }, - image: 0.00000125, - }, -} as const -const GOOGLE_GEMINI_3_FLASH_PREVIEW = { - id: 'google/gemini-3-flash-preview', - name: 'Google: Gemini 3 Flash Preview', - supports: { - input: ['text', 'image', 'document', 'audio', 'video'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.5, - cached: 0.13333333330000002, - }, - output: { - normal: 3, - }, - }, - image: 5e-7, - }, -} as const -const GOOGLE_GEMINI_3_PRO_IMAGE_PREVIEW = { - id: 'google/gemini-3-pro-image-preview', - name: 'Google: Nano Banana Pro (Gemini 3 Pro Image Preview)', - supports: { - input: ['image', 'text'], - output: ['image', 'text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topP', - ], - }, - context_window: 65536, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 2, - cached: 0.575, - }, - output: { - normal: 12, - }, - }, - image: 0.000002, - }, -} as const -const GOOGLE_GEMINI_3_1_FLASH_IMAGE_PREVIEW = { - id: 'google/gemini-3.1-flash-image-preview', - name: 'Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)', - supports: { - input: ['image', 'text'], - output: ['image', 'text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topP', - ], - }, - context_window: 65536, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.5, - cached: 0, - }, - output: { - normal: 3, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMINI_3_1_FLASH_LITE_PREVIEW = { - id: 'google/gemini-3.1-flash-lite-preview', - name: 'Google: Gemini 3.1 Flash Lite Preview', - supports: { - input: ['text', 'image', 'video', 'document', 'audio'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.25, - cached: 0.1083333333, - }, - output: { - normal: 1.5, - }, - }, - image: 2.5e-7, - }, -} as const -const GOOGLE_GEMINI_3_1_PRO_PREVIEW = { - id: 'google/gemini-3.1-pro-preview', - name: 'Google: Gemini 3.1 Pro Preview', - supports: { - input: ['audio', 'document', 'image', 'text', 'video'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 2, - cached: 0.575, - }, - output: { - normal: 12, - }, - }, - image: 0.000002, - }, -} as const -const GOOGLE_GEMINI_3_1_PRO_PREVIEW_CUSTOMTOOLS = { - id: 'google/gemini-3.1-pro-preview-customtools', - name: 'Google: Gemini 3.1 Pro Preview Custom Tools', - supports: { - input: ['text', 'audio', 'image', 'video', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 2, - cached: 0.575, - }, - output: { - normal: 12, - }, - }, - image: 0.000002, - }, -} as const -const GOOGLE_GEMMA_2_27B_IT = { - id: 'google/gemma-2-27b-it', - name: 'Google: Gemma 2 27B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'stop', - 'temperature', - 'topP', - ], - }, - context_window: 8192, - max_output_tokens: 2048, - pricing: { - text: { - input: { - normal: 0.65, - cached: 0, - }, - output: { - normal: 0.65, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMMA_2_9B_IT = { - id: 'google/gemma-2-9b-it', - name: 'Google: Gemma 2 9B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 8192, - pricing: { - text: { - input: { - normal: 0.03, - cached: 0, - }, - output: { - normal: 0.09, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMMA_3_12B_IT = { - id: 'google/gemma-3-12b-it', - name: 'Google: Gemma 3 12B', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.04, - cached: 0, - }, - output: { - normal: 0.13, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMMA_3_12B_IT_FREE = { - id: 'google/gemma-3-12b-it:free', - name: 'Google: Gemma 3 12B (free)', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: ['maxCompletionTokens', 'seed', 'stop', 'temperature', 'topP'], - }, - context_window: 32768, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMMA_3_27B_IT = { - id: 'google/gemma-3-27b-it', - name: 'Google: Gemma 3 27B', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.08, - cached: 0, - }, - output: { - normal: 0.16, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMMA_3_27B_IT_FREE = { - id: 'google/gemma-3-27b-it:free', - name: 'Google: Gemma 3 27B (free)', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMMA_3_4B_IT = { - id: 'google/gemma-3-4b-it', - name: 'Google: Gemma 3 4B', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.04, - cached: 0, - }, - output: { - normal: 0.08, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMMA_3_4B_IT_FREE = { - id: 'google/gemma-3-4b-it:free', - name: 'Google: Gemma 3 4B (free)', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topP', - ], - }, - context_window: 32768, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMMA_3N_E2B_IT_FREE = { - id: 'google/gemma-3n-e2b-it:free', - name: 'Google: Gemma 3n 2B (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'temperature', - 'topP', - ], - }, - context_window: 8192, - max_output_tokens: 2048, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMMA_3N_E4B_IT = { - id: 'google/gemma-3n-e4b-it', - name: 'Google: Gemma 3n 4B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 32768, - pricing: { - text: { - input: { - normal: 0.02, - cached: 0, - }, - output: { - normal: 0.04, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMMA_3N_E4B_IT_FREE = { - id: 'google/gemma-3n-e4b-it:free', - name: 'Google: Gemma 3n 4B (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'temperature', - 'topP', - ], - }, - context_window: 8192, - max_output_tokens: 2048, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMMA_4_26B_A4B_IT = { - id: 'google/gemma-4-26b-a4b-it', - name: 'Google: Gemma 4 26B A4B ', - supports: { - input: ['image', 'text', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 262144, - pricing: { - text: { - input: { - normal: 0.13, - cached: 0, - }, - output: { - normal: 0.4, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMMA_4_26B_A4B_IT_FREE = { - id: 'google/gemma-4-26b-a4b-it:free', - name: 'Google: Gemma 4 26B A4B (free)', - supports: { - input: ['image', 'text', 'video'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMMA_4_31B_IT = { - id: 'google/gemma-4-31b-it', - name: 'Google: Gemma 4 31B', - supports: { - input: ['image', 'text', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.14, - cached: 0, - }, - output: { - normal: 0.4, - }, - }, - image: 0, - }, -} as const -const GOOGLE_GEMMA_4_31B_IT_FREE = { - id: 'google/gemma-4-31b-it:free', - name: 'Google: Gemma 4 31B (free)', - supports: { - input: ['image', 'text', 'video'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const GOOGLE_LYRIA_3_CLIP_PREVIEW = { - id: 'google/lyria-3-clip-preview', - name: 'Google: Lyria 3 Clip Preview', - supports: { - input: ['text', 'image'], - output: ['text', 'audio'], - supports: [ - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'temperature', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const GOOGLE_LYRIA_3_PRO_PREVIEW = { - id: 'google/lyria-3-pro-preview', - name: 'Google: Lyria 3 Pro Preview', - supports: { - input: ['text', 'image'], - output: ['text', 'audio'], - supports: [ - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'temperature', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const GRYPHE_MYTHOMAX_L2_13B = { - id: 'gryphe/mythomax-l2-13b', - name: 'MythoMax 13B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topA', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 4096, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 0.06, - cached: 0, - }, - output: { - normal: 0.06, - }, - }, - image: 0, - }, -} as const -const IBM_GRANITE_GRANITE_4_0_H_MICRO = { - id: 'ibm-granite/granite-4.0-h-micro', - name: 'IBM: Granite 4.0 Micro', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131000, - pricing: { - text: { - input: { - normal: 0.017, - cached: 0, - }, - output: { - normal: 0.11, - }, - }, - image: 0, - }, -} as const -const INCEPTION_MERCURY = { - id: 'inception/mercury', - name: 'Inception: Mercury', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - ], - }, - context_window: 128000, - max_output_tokens: 32000, - pricing: { - text: { - input: { - normal: 0.25, - cached: 0.025, - }, - output: { - normal: 0.75, - }, - }, - image: 0, - }, -} as const -const INCEPTION_MERCURY_2 = { - id: 'inception/mercury-2', - name: 'Inception: Mercury 2', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - ], - }, - context_window: 128000, - max_output_tokens: 50000, - pricing: { - text: { - input: { - normal: 0.25, - cached: 0.025, - }, - output: { - normal: 0.75, - }, - }, - image: 0, - }, -} as const -const INCEPTION_MERCURY_CODER = { - id: 'inception/mercury-coder', - name: 'Inception: Mercury Coder', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - ], - }, - context_window: 128000, - max_output_tokens: 32000, - pricing: { - text: { - input: { - normal: 0.25, - cached: 0.025, - }, - output: { - normal: 0.75, - }, - }, - image: 0, - }, -} as const -const INFLECTION_INFLECTION_3_PI = { - id: 'inflection/inflection-3-pi', - name: 'Inflection: Inflection 3 Pi', - supports: { - input: ['text'], - output: ['text'], - supports: ['maxCompletionTokens', 'stop', 'temperature', 'topP'], - }, - context_window: 8000, - max_output_tokens: 1024, - pricing: { - text: { - input: { - normal: 2.5, - cached: 0, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const INFLECTION_INFLECTION_3_PRODUCTIVITY = { - id: 'inflection/inflection-3-productivity', - name: 'Inflection: Inflection 3 Productivity', - supports: { - input: ['text'], - output: ['text'], - supports: ['maxCompletionTokens', 'stop', 'temperature', 'topP'], - }, - context_window: 8000, - max_output_tokens: 1024, - pricing: { - text: { - input: { - normal: 2.5, - cached: 0, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const KWAIPILOT_KAT_CODER_PRO_V2 = { - id: 'kwaipilot/kat-coder-pro-v2', - name: 'Kwaipilot: KAT-Coder-Pro V2', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 256000, - max_output_tokens: 80000, - pricing: { - text: { - input: { - normal: 0.3, - cached: 0.06, - }, - output: { - normal: 1.2, - }, - }, - image: 0, - }, -} as const -const LIQUID_LFM_2_24B_A2B = { - id: 'liquid/lfm-2-24b-a2b', - name: 'LiquidAI: LFM2-24B-A2B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 32768, - pricing: { - text: { - input: { - normal: 0.03, - cached: 0, - }, - output: { - normal: 0.12, - }, - }, - image: 0, - }, -} as const -const LIQUID_LFM_2_5_1_2B_INSTRUCT_FREE = { - id: 'liquid/lfm-2.5-1.2b-instruct:free', - name: 'LiquidAI: LFM2.5-1.2B-Instruct (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 32768, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const LIQUID_LFM_2_5_1_2B_THINKING_FREE = { - id: 'liquid/lfm-2.5-1.2b-thinking:free', - name: 'LiquidAI: LFM2.5-1.2B-Thinking (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 32768, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const MANCER_WEAVER = { - id: 'mancer/weaver', - name: 'Mancer: Weaver (alpha)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topA', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 8000, - max_output_tokens: 2000, - pricing: { - text: { - input: { - normal: 0.75, - cached: 0, - }, - output: { - normal: 1, - }, - }, - image: 0, - }, -} as const -const MEITUAN_LONGCAT_FLASH_CHAT = { - id: 'meituan/longcat-flash-chat', - name: 'Meituan: LongCat Flash Chat', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0.2, - }, - output: { - normal: 0.8, - }, - }, - image: 0, - }, -} as const -const META_LLAMA_LLAMA_3_70B_INSTRUCT = { - id: 'meta-llama/llama-3-70b-instruct', - name: 'Meta: Llama 3 70B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 8192, - max_output_tokens: 8000, - pricing: { - text: { - input: { - normal: 0.51, - cached: 0, - }, - output: { - normal: 0.74, - }, - }, - image: 0, - }, -} as const -const META_LLAMA_LLAMA_3_8B_INSTRUCT = { - id: 'meta-llama/llama-3-8b-instruct', - name: 'Meta: Llama 3 8B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 8192, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.03, - cached: 0, - }, - output: { - normal: 0.04, - }, - }, - image: 0, - }, -} as const -const META_LLAMA_LLAMA_3_1_70B_INSTRUCT = { - id: 'meta-llama/llama-3.1-70b-instruct', - name: 'Meta: Llama 3.1 70B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.4, - cached: 0, - }, - output: { - normal: 0.4, - }, - }, - image: 0, - }, -} as const -const META_LLAMA_LLAMA_3_1_8B_INSTRUCT = { - id: 'meta-llama/llama-3.1-8b-instruct', - name: 'Meta: Llama 3.1 8B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 16384, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.02, - cached: 0, - }, - output: { - normal: 0.05, - }, - }, - image: 0, - }, -} as const -const META_LLAMA_LLAMA_3_2_11B_VISION_INSTRUCT = { - id: 'meta-llama/llama-3.2-11b-vision-instruct', - name: 'Meta: Llama 3.2 11B Vision Instruct', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.049, - cached: 0, - }, - output: { - normal: 0.049, - }, - }, - image: 0, - }, -} as const -const META_LLAMA_LLAMA_3_2_1B_INSTRUCT = { - id: 'meta-llama/llama-3.2-1b-instruct', - name: 'Meta: Llama 3.2 1B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 60000, - pricing: { - text: { - input: { - normal: 0.027, - cached: 0, - }, - output: { - normal: 0.2, - }, - }, - image: 0, - }, -} as const -const META_LLAMA_LLAMA_3_2_3B_INSTRUCT = { - id: 'meta-llama/llama-3.2-3b-instruct', - name: 'Meta: Llama 3.2 3B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 80000, - pricing: { - text: { - input: { - normal: 0.051, - cached: 0, - }, - output: { - normal: 0.34, - }, - }, - image: 0, - }, -} as const -const META_LLAMA_LLAMA_3_2_3B_INSTRUCT_FREE = { - id: 'meta-llama/llama-3.2-3b-instruct:free', - name: 'Meta: Llama 3.2 3B Instruct (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const META_LLAMA_LLAMA_3_3_70B_INSTRUCT = { - id: 'meta-llama/llama-3.3-70b-instruct', - name: 'Meta: Llama 3.3 70B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0, - }, - output: { - normal: 0.32, - }, - }, - image: 0, - }, -} as const -const META_LLAMA_LLAMA_3_3_70B_INSTRUCT_FREE = { - id: 'meta-llama/llama-3.3-70b-instruct:free', - name: 'Meta: Llama 3.3 70B Instruct (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 65536, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const META_LLAMA_LLAMA_4_MAVERICK = { - id: 'meta-llama/llama-4-maverick', - name: 'Meta: Llama 4 Maverick', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.15, - cached: 0, - }, - output: { - normal: 0.6, - }, - }, - image: 0, - }, -} as const -const META_LLAMA_LLAMA_4_SCOUT = { - id: 'meta-llama/llama-4-scout', - name: 'Meta: Llama 4 Scout', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 327680, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.08, - cached: 0, - }, - output: { - normal: 0.3, - }, - }, - image: 0, - }, -} as const -const META_LLAMA_LLAMA_GUARD_3_8B = { - id: 'meta-llama/llama-guard-3-8b', - name: 'Llama Guard 3 8B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.02, - cached: 0, - }, - output: { - normal: 0.06, - }, - }, - image: 0, - }, -} as const -const META_LLAMA_LLAMA_GUARD_4_12B = { - id: 'meta-llama/llama-guard-4-12b', - name: 'Meta: Llama Guard 4 12B', - supports: { - input: ['image', 'text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 163840, - pricing: { - text: { - input: { - normal: 0.18, - cached: 0, - }, - output: { - normal: 0.18, - }, - }, - image: 0, - }, -} as const -const MICROSOFT_PHI_4 = { - id: 'microsoft/phi-4', - name: 'Microsoft: Phi 4', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 16384, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.065, - cached: 0, - }, - output: { - normal: 0.14, - }, - }, - image: 0, - }, -} as const -const MICROSOFT_WIZARDLM_2_8X22B = { - id: 'microsoft/wizardlm-2-8x22b', - name: 'WizardLM-2 8x22B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 65535, - max_output_tokens: 8000, - pricing: { - text: { - input: { - normal: 0.62, - cached: 0, - }, - output: { - normal: 0.62, - }, - }, - image: 0, - }, -} as const -const MINIMAX_MINIMAX_01 = { - id: 'minimax/minimax-01', - name: 'MiniMax: MiniMax-01', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: ['maxCompletionTokens', 'temperature', 'topP'], - }, - context_window: 1000192, - max_output_tokens: 1000192, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0, - }, - output: { - normal: 1.1, - }, - }, - image: 0, - }, -} as const -const MINIMAX_MINIMAX_M1 = { - id: 'minimax/minimax-m1', - name: 'MiniMax: MiniMax M1', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 1000000, - max_output_tokens: 40000, - pricing: { - text: { - input: { - normal: 0.4, - cached: 0, - }, - output: { - normal: 2.2, - }, - }, - image: 0, - }, -} as const -const MINIMAX_MINIMAX_M2 = { - id: 'minimax/minimax-m2', - name: 'MiniMax: MiniMax M2', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 196608, - max_output_tokens: 196608, - pricing: { - text: { - input: { - normal: 0.255, - cached: 0.03, - }, - output: { - normal: 1, - }, - }, - image: 0, - }, -} as const -const MINIMAX_MINIMAX_M2_HER = { - id: 'minimax/minimax-m2-her', - name: 'MiniMax: MiniMax M2-her', - supports: { - input: ['text'], - output: ['text'], - supports: ['maxCompletionTokens', 'temperature', 'topP'], - }, - context_window: 65536, - max_output_tokens: 2048, - pricing: { - text: { - input: { - normal: 0.3, - cached: 0.03, - }, - output: { - normal: 1.2, - }, - }, - image: 0, - }, -} as const -const MINIMAX_MINIMAX_M2_1 = { - id: 'minimax/minimax-m2.1', - name: 'MiniMax: MiniMax M2.1', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 196608, - max_output_tokens: 196608, - pricing: { - text: { - input: { - normal: 0.29, - cached: 0.03, - }, - output: { - normal: 0.95, - }, - }, - image: 0, - }, -} as const -const MINIMAX_MINIMAX_M2_5 = { - id: 'minimax/minimax-m2.5', - name: 'MiniMax: MiniMax M2.5', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'parallelToolCalls', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 196608, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.118, - cached: 0.059, - }, - output: { - normal: 0.99, - }, - }, - image: 0, - }, -} as const -const MINIMAX_MINIMAX_M2_5_FREE = { - id: 'minimax/minimax-m2.5:free', - name: 'MiniMax: MiniMax M2.5 (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - ], - }, - context_window: 196608, - max_output_tokens: 196608, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const MINIMAX_MINIMAX_M2_7 = { - id: 'minimax/minimax-m2.7', - name: 'MiniMax: MiniMax M2.7', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 204800, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.3, - cached: 0.06, - }, - output: { - normal: 1.2, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_CODESTRAL_2508 = { - id: 'mistralai/codestral-2508', - name: 'Mistral: Codestral 2508', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 256000, - pricing: { - text: { - input: { - normal: 0.3, - cached: 0.03, - }, - output: { - normal: 0.9, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_DEVSTRAL_2512 = { - id: 'mistralai/devstral-2512', - name: 'Mistral: Devstral 2 2512', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 262144, - pricing: { - text: { - input: { - normal: 0.4, - cached: 0.04, - }, - output: { - normal: 2, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_DEVSTRAL_MEDIUM = { - id: 'mistralai/devstral-medium', - name: 'Mistral: Devstral Medium', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.4, - cached: 0.04, - }, - output: { - normal: 2, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_DEVSTRAL_SMALL = { - id: 'mistralai/devstral-small', - name: 'Mistral: Devstral Small 1.1', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0.01, - }, - output: { - normal: 0.3, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MINISTRAL_14B_2512 = { - id: 'mistralai/ministral-14b-2512', - name: 'Mistral: Ministral 3 14B 2512', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 262144, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0.02, - }, - output: { - normal: 0.2, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MINISTRAL_3B_2512 = { - id: 'mistralai/ministral-3b-2512', - name: 'Mistral: Ministral 3 3B 2512', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0.01, - }, - output: { - normal: 0.1, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MINISTRAL_8B_2512 = { - id: 'mistralai/ministral-8b-2512', - name: 'Mistral: Ministral 3 8B 2512', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 262144, - pricing: { - text: { - input: { - normal: 0.15, - cached: 0.015, - }, - output: { - normal: 0.15, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MISTRAL_7B_INSTRUCT_V0_1 = { - id: 'mistralai/mistral-7b-instruct-v0.1', - name: 'Mistral: Mistral 7B Instruct v0.1', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 2824, - pricing: { - text: { - input: { - normal: 0.11, - cached: 0, - }, - output: { - normal: 0.19, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MISTRAL_LARGE = { - id: 'mistralai/mistral-large', - name: 'Mistral Large', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 128000, - pricing: { - text: { - input: { - normal: 2, - cached: 0.2, - }, - output: { - normal: 6, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MISTRAL_LARGE_2407 = { - id: 'mistralai/mistral-large-2407', - name: 'Mistral Large 2407', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 2, - cached: 0.2, - }, - output: { - normal: 6, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MISTRAL_LARGE_2411 = { - id: 'mistralai/mistral-large-2411', - name: 'Mistral Large 2411', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 2, - cached: 0.2, - }, - output: { - normal: 6, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MISTRAL_LARGE_2512 = { - id: 'mistralai/mistral-large-2512', - name: 'Mistral: Mistral Large 3 2512', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 262144, - pricing: { - text: { - input: { - normal: 0.5, - cached: 0.05, - }, - output: { - normal: 1.5, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MISTRAL_MEDIUM_3 = { - id: 'mistralai/mistral-medium-3', - name: 'Mistral: Mistral Medium 3', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.4, - cached: 0.04, - }, - output: { - normal: 2, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MISTRAL_MEDIUM_3_1 = { - id: 'mistralai/mistral-medium-3.1', - name: 'Mistral: Mistral Medium 3.1', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.4, - cached: 0.04, - }, - output: { - normal: 2, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MISTRAL_NEMO = { - id: 'mistralai/mistral-nemo', - name: 'Mistral: Mistral Nemo', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.02, - cached: 0, - }, - output: { - normal: 0.04, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MISTRAL_SABA = { - id: 'mistralai/mistral-saba', - name: 'Mistral: Saba', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 32768, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0.02, - }, - output: { - normal: 0.6, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MISTRAL_SMALL_24B_INSTRUCT_2501 = { - id: 'mistralai/mistral-small-24b-instruct-2501', - name: 'Mistral: Mistral Small 3', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 32768, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.05, - cached: 0, - }, - output: { - normal: 0.08, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MISTRAL_SMALL_2603 = { - id: 'mistralai/mistral-small-2603', - name: 'Mistral: Mistral Small 4', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262144, - pricing: { - text: { - input: { - normal: 0.15, - cached: 0.015, - }, - output: { - normal: 0.6, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MISTRAL_SMALL_3_1_24B_INSTRUCT = { - id: 'mistralai/mistral-small-3.1-24b-instruct', - name: 'Mistral: Mistral Small 3.1 24B', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.03, - cached: 0.015, - }, - output: { - normal: 0.11, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MISTRAL_SMALL_3_2_24B_INSTRUCT = { - id: 'mistralai/mistral-small-3.2-24b-instruct', - name: 'Mistral: Mistral Small 3.2 24B', - supports: { - input: ['image', 'text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 128000, - pricing: { - text: { - input: { - normal: 0.075, - cached: 0, - }, - output: { - normal: 0.2, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MISTRAL_SMALL_CREATIVE = { - id: 'mistralai/mistral-small-creative', - name: 'Mistral: Mistral Small Creative', - supports: { - input: ['text'], - output: ['text'], - supports: ['toolChoice'], - }, - context_window: 32768, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0.01, - }, - output: { - normal: 0.3, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MIXTRAL_8X22B_INSTRUCT = { - id: 'mistralai/mixtral-8x22b-instruct', - name: 'Mistral: Mixtral 8x22B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 65536, - pricing: { - text: { - input: { - normal: 2, - cached: 0.2, - }, - output: { - normal: 6, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_MIXTRAL_8X7B_INSTRUCT = { - id: 'mistralai/mixtral-8x7b-instruct', - name: 'Mistral: Mixtral 8x7B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 32768, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.54, - cached: 0, - }, - output: { - normal: 0.54, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_PIXTRAL_LARGE_2411 = { - id: 'mistralai/pixtral-large-2411', - name: 'Mistral: Pixtral Large 2411', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 2, - cached: 0.2, - }, - output: { - normal: 6, - }, - }, - image: 0, - }, -} as const -const MISTRALAI_VOXTRAL_SMALL_24B_2507 = { - id: 'mistralai/voxtral-small-24b-2507', - name: 'Mistral: Voxtral Small 24B 2507', - supports: { - input: ['text', 'audio'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 32000, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0.01, - }, - output: { - normal: 0.3, - }, - }, - image: 0, - }, -} as const -const MOONSHOTAI_KIMI_K2 = { - id: 'moonshotai/kimi-k2', - name: 'MoonshotAI: Kimi K2 0711', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.57, - cached: 0, - }, - output: { - normal: 2.3, - }, - }, - image: 0, - }, -} as const -const MOONSHOTAI_KIMI_K2_0905 = { - id: 'moonshotai/kimi-k2-0905', - name: 'MoonshotAI: Kimi K2 0905', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 262144, - pricing: { - text: { - input: { - normal: 0.4, - cached: 0, - }, - output: { - normal: 2, - }, - }, - image: 0, - }, -} as const -const MOONSHOTAI_KIMI_K2_THINKING = { - id: 'moonshotai/kimi-k2-thinking', - name: 'MoonshotAI: Kimi K2 Thinking', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262144, - pricing: { - text: { - input: { - normal: 0.6, - cached: 0, - }, - output: { - normal: 2.5, - }, - }, - image: 0, - }, -} as const -const MOONSHOTAI_KIMI_K2_5 = { - id: 'moonshotai/kimi-k2.5', - name: 'MoonshotAI: Kimi K2.5', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'parallelToolCalls', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 65535, - pricing: { - text: { - input: { - normal: 0.3827, - cached: 0.19135, - }, - output: { - normal: 1.72, - }, - }, - image: 0, - }, -} as const -const MORPH_MORPH_V3_FAST = { - id: 'morph/morph-v3-fast', - name: 'Morph: Morph V3 Fast', - supports: { - input: ['text'], - output: ['text'], - supports: ['maxCompletionTokens', 'stop', 'temperature'], - }, - context_window: 81920, - max_output_tokens: 38000, - pricing: { - text: { - input: { - normal: 0.8, - cached: 0, - }, - output: { - normal: 1.2, - }, - }, - image: 0, - }, -} as const -const MORPH_MORPH_V3_LARGE = { - id: 'morph/morph-v3-large', - name: 'Morph: Morph V3 Large', - supports: { - input: ['text'], - output: ['text'], - supports: ['maxCompletionTokens', 'stop', 'temperature'], - }, - context_window: 262144, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.9, - cached: 0, - }, - output: { - normal: 1.9, - }, - }, - image: 0, - }, -} as const -const NEX_AGI_DEEPSEEK_V3_1_NEX_N1 = { - id: 'nex-agi/deepseek-v3.1-nex-n1', - name: 'Nex AGI: DeepSeek V3.1 Nex N1', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'responseFormat', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 163840, - pricing: { - text: { - input: { - normal: 0.135, - cached: 0, - }, - output: { - normal: 0.5, - }, - }, - image: 0, - }, -} as const -const NOUSRESEARCH_HERMES_2_PRO_LLAMA_3_8B = { - id: 'nousresearch/hermes-2-pro-llama-3-8b', - name: 'NousResearch: Hermes 2 Pro - Llama-3 8B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 8192, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 0.14, - cached: 0, - }, - output: { - normal: 0.14, - }, - }, - image: 0, - }, -} as const -const NOUSRESEARCH_HERMES_3_LLAMA_3_1_405B = { - id: 'nousresearch/hermes-3-llama-3.1-405b', - name: 'Nous: Hermes 3 405B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 1, - cached: 0, - }, - output: { - normal: 1, - }, - }, - image: 0, - }, -} as const -const NOUSRESEARCH_HERMES_3_LLAMA_3_1_405B_FREE = { - id: 'nousresearch/hermes-3-llama-3.1-405b:free', - name: 'Nous: Hermes 3 405B Instruct (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const NOUSRESEARCH_HERMES_3_LLAMA_3_1_70B = { - id: 'nousresearch/hermes-3-llama-3.1-70b', - name: 'Nous: Hermes 3 70B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.3, - cached: 0, - }, - output: { - normal: 0.3, - }, - }, - image: 0, - }, -} as const -const NOUSRESEARCH_HERMES_4_405B = { - id: 'nousresearch/hermes-4-405b', - name: 'Nous: Hermes 4 405B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 1, - cached: 0, - }, - output: { - normal: 3, - }, - }, - image: 0, - }, -} as const -const NOUSRESEARCH_HERMES_4_70B = { - id: 'nousresearch/hermes-4-70b', - name: 'Nous: Hermes 4 70B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.13, - cached: 0, - }, - output: { - normal: 0.4, - }, - }, - image: 0, - }, -} as const -const NVIDIA_LLAMA_3_1_NEMOTRON_70B_INSTRUCT = { - id: 'nvidia/llama-3.1-nemotron-70b-instruct', - name: 'NVIDIA: Llama 3.1 Nemotron 70B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 1.2, - cached: 0, - }, - output: { - normal: 1.2, - }, - }, - image: 0, - }, -} as const -const NVIDIA_LLAMA_3_1_NEMOTRON_ULTRA_253B_V1 = { - id: 'nvidia/llama-3.1-nemotron-ultra-253b-v1', - name: 'NVIDIA: Llama 3.1 Nemotron Ultra 253B v1', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.6, - cached: 0, - }, - output: { - normal: 1.8, - }, - }, - image: 0, - }, -} as const -const NVIDIA_LLAMA_3_3_NEMOTRON_SUPER_49B_V1_5 = { - id: 'nvidia/llama-3.3-nemotron-super-49b-v1.5', - name: 'NVIDIA: Llama 3.3 Nemotron Super 49B V1.5', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0, - }, - output: { - normal: 0.4, - }, - }, - image: 0, - }, -} as const -const NVIDIA_NEMOTRON_3_NANO_30B_A3B = { - id: 'nvidia/nemotron-3-nano-30b-a3b', - name: 'NVIDIA: Nemotron 3 Nano 30B A3B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262144, - pricing: { - text: { - input: { - normal: 0.05, - cached: 0, - }, - output: { - normal: 0.2, - }, - }, - image: 0, - }, -} as const -const NVIDIA_NEMOTRON_3_NANO_30B_A3B_FREE = { - id: 'nvidia/nemotron-3-nano-30b-a3b:free', - name: 'NVIDIA: Nemotron 3 Nano 30B A3B (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 256000, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const NVIDIA_NEMOTRON_3_SUPER_120B_A12B = { - id: 'nvidia/nemotron-3-super-120b-a12b', - name: 'NVIDIA: Nemotron 3 Super', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262144, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0.1, - }, - output: { - normal: 0.5, - }, - }, - image: 0, - }, -} as const -const NVIDIA_NEMOTRON_3_SUPER_120B_A12B_FREE = { - id: 'nvidia/nemotron-3-super-120b-a12b:free', - name: 'NVIDIA: Nemotron 3 Super (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 262144, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const NVIDIA_NEMOTRON_NANO_12B_V2_VL = { - id: 'nvidia/nemotron-nano-12b-v2-vl', - name: 'NVIDIA: Nemotron Nano 12B 2 VL', - supports: { - input: ['image', 'text', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0, - }, - output: { - normal: 0.6, - }, - }, - image: 0, - }, -} as const -const NVIDIA_NEMOTRON_NANO_12B_V2_VL_FREE = { - id: 'nvidia/nemotron-nano-12b-v2-vl:free', - name: 'NVIDIA: Nemotron Nano 12B 2 VL (free)', - supports: { - input: ['image', 'text', 'video'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 128000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const NVIDIA_NEMOTRON_NANO_9B_V2 = { - id: 'nvidia/nemotron-nano-9b-v2', - name: 'NVIDIA: Nemotron Nano 9B V2', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.04, - cached: 0, - }, - output: { - normal: 0.16, - }, - }, - image: 0, - }, -} as const -const NVIDIA_NEMOTRON_NANO_9B_V2_FREE = { - id: 'nvidia/nemotron-nano-9b-v2:free', - name: 'NVIDIA: Nemotron Nano 9B V2 (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 128000, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_3_5_TURBO = { - id: 'openai/gpt-3.5-turbo', - name: 'OpenAI: GPT-3.5 Turbo', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 16385, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 0.5, - cached: 0, - }, - output: { - normal: 1.5, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_3_5_TURBO_0613 = { - id: 'openai/gpt-3.5-turbo-0613', - name: 'OpenAI: GPT-3.5 Turbo (older v0613)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 4095, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 1, - cached: 0, - }, - output: { - normal: 2, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_3_5_TURBO_16K = { - id: 'openai/gpt-3.5-turbo-16k', - name: 'OpenAI: GPT-3.5 Turbo 16k', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 16385, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 3, - cached: 0, - }, - output: { - normal: 4, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_3_5_TURBO_INSTRUCT = { - id: 'openai/gpt-3.5-turbo-instruct', - name: 'OpenAI: GPT-3.5 Turbo Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topLogprobs', - 'topP', - ], - }, - context_window: 4095, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 1.5, - cached: 0, - }, - output: { - normal: 2, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4 = { - id: 'openai/gpt-4', - name: 'OpenAI: GPT-4', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 8191, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 30, - cached: 0, - }, - output: { - normal: 60, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4_0314 = { - id: 'openai/gpt-4-0314', - name: 'OpenAI: GPT-4 (older v0314)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 8191, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 30, - cached: 0, - }, - output: { - normal: 60, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4_1106_PREVIEW = { - id: 'openai/gpt-4-1106-preview', - name: 'OpenAI: GPT-4 Turbo (older v1106)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 128000, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 10, - cached: 0, - }, - output: { - normal: 30, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4_TURBO = { - id: 'openai/gpt-4-turbo', - name: 'OpenAI: GPT-4 Turbo', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 128000, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 10, - cached: 0, - }, - output: { - normal: 30, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4_TURBO_PREVIEW = { - id: 'openai/gpt-4-turbo-preview', - name: 'OpenAI: GPT-4 Turbo Preview', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 128000, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 10, - cached: 0, - }, - output: { - normal: 30, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4_1 = { - id: 'openai/gpt-4.1', - name: 'OpenAI: GPT-4.1', - supports: { - input: ['image', 'text', 'document'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1047576, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 2, - cached: 0.5, - }, - output: { - normal: 8, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4_1_MINI = { - id: 'openai/gpt-4.1-mini', - name: 'OpenAI: GPT-4.1 Mini', - supports: { - input: ['image', 'text', 'document'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1047576, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.4, - cached: 0.1, - }, - output: { - normal: 1.6, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4_1_NANO = { - id: 'openai/gpt-4.1-nano', - name: 'OpenAI: GPT-4.1 Nano', - supports: { - input: ['image', 'text', 'document'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1047576, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0.025, - }, - output: { - normal: 0.4, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4O = { - id: 'openai/gpt-4o', - name: 'OpenAI: GPT-4o', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - 'webSearchOptions', - ], - }, - context_window: 128000, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 2.5, - cached: 1.25, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4O_2024_05_13 = { - id: 'openai/gpt-4o-2024-05-13', - name: 'OpenAI: GPT-4o (2024-05-13)', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - 'webSearchOptions', - ], - }, - context_window: 128000, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 5, - cached: 0, - }, - output: { - normal: 15, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4O_2024_08_06 = { - id: 'openai/gpt-4o-2024-08-06', - name: 'OpenAI: GPT-4o (2024-08-06)', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - 'webSearchOptions', - ], - }, - context_window: 128000, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 2.5, - cached: 1.25, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4O_2024_11_20 = { - id: 'openai/gpt-4o-2024-11-20', - name: 'OpenAI: GPT-4o (2024-11-20)', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - 'webSearchOptions', - ], - }, - context_window: 128000, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 2.5, - cached: 1.25, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4O_AUDIO_PREVIEW = { - id: 'openai/gpt-4o-audio-preview', - name: 'OpenAI: GPT-4o Audio', - supports: { - input: ['audio', 'text'], - output: ['text', 'audio'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 128000, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 2.5, - cached: 0, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4O_MINI = { - id: 'openai/gpt-4o-mini', - name: 'OpenAI: GPT-4o-mini', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - 'webSearchOptions', - ], - }, - context_window: 128000, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.15, - cached: 0.075, - }, - output: { - normal: 0.6, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4O_MINI_2024_07_18 = { - id: 'openai/gpt-4o-mini-2024-07-18', - name: 'OpenAI: GPT-4o-mini (2024-07-18)', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - 'webSearchOptions', - ], - }, - context_window: 128000, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.15, - cached: 0.075, - }, - output: { - normal: 0.6, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4O_MINI_SEARCH_PREVIEW = { - id: 'openai/gpt-4o-mini-search-preview', - name: 'OpenAI: GPT-4o-mini Search Preview', - supports: { - input: ['text'], - output: ['text'], - supports: ['maxCompletionTokens', 'responseFormat', 'webSearchOptions'], - }, - context_window: 128000, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.15, - cached: 0, - }, - output: { - normal: 0.6, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4O_SEARCH_PREVIEW = { - id: 'openai/gpt-4o-search-preview', - name: 'OpenAI: GPT-4o Search Preview', - supports: { - input: ['text'], - output: ['text'], - supports: ['maxCompletionTokens', 'responseFormat', 'webSearchOptions'], - }, - context_window: 128000, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 2.5, - cached: 0, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_4O_EXTENDED = { - id: 'openai/gpt-4o:extended', - name: 'OpenAI: GPT-4o (extended)', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - 'webSearchOptions', - ], - }, - context_window: 128000, - max_output_tokens: 64000, - pricing: { - text: { - input: { - normal: 6, - cached: 0, - }, - output: { - normal: 18, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5 = { - id: 'openai/gpt-5', - name: 'OpenAI: GPT-5', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 1.25, - cached: 0.125, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_CHAT = { - id: 'openai/gpt-5-chat', - name: 'OpenAI: GPT-5 Chat', - supports: { - input: ['document', 'image', 'text'], - output: ['text'], - supports: ['maxCompletionTokens', 'responseFormat', 'seed'], - }, - context_window: 128000, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 1.25, - cached: 0.125, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_CODEX = { - id: 'openai/gpt-5-codex', - name: 'OpenAI: GPT-5 Codex', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 1.25, - cached: 0.125, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_IMAGE = { - id: 'openai/gpt-5-image', - name: 'OpenAI: GPT-5 Image', - supports: { - input: ['image', 'text', 'document'], - output: ['image', 'text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 10, - cached: 1.25, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_IMAGE_MINI = { - id: 'openai/gpt-5-image-mini', - name: 'OpenAI: GPT-5 Image Mini', - supports: { - input: ['document', 'image', 'text'], - output: ['image', 'text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 2.5, - cached: 0.25, - }, - output: { - normal: 2, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_MINI = { - id: 'openai/gpt-5-mini', - name: 'OpenAI: GPT-5 Mini', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 0.25, - cached: 0.025, - }, - output: { - normal: 2, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_NANO = { - id: 'openai/gpt-5-nano', - name: 'OpenAI: GPT-5 Nano', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 0.05, - cached: 0.005, - }, - output: { - normal: 0.4, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_PRO = { - id: 'openai/gpt-5-pro', - name: 'OpenAI: GPT-5 Pro', - supports: { - input: ['image', 'text', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 15, - cached: 0, - }, - output: { - normal: 120, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_1 = { - id: 'openai/gpt-5.1', - name: 'OpenAI: GPT-5.1', - supports: { - input: ['image', 'text', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 1.25, - cached: 0.125, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_1_CHAT = { - id: 'openai/gpt-5.1-chat', - name: 'OpenAI: GPT-5.1 Chat', - supports: { - input: ['document', 'image', 'text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 128000, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 1.25, - cached: 0.125, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_1_CODEX = { - id: 'openai/gpt-5.1-codex', - name: 'OpenAI: GPT-5.1-Codex', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 1.25, - cached: 0.125, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_1_CODEX_MAX = { - id: 'openai/gpt-5.1-codex-max', - name: 'OpenAI: GPT-5.1-Codex-Max', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 1.25, - cached: 0.125, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_1_CODEX_MINI = { - id: 'openai/gpt-5.1-codex-mini', - name: 'OpenAI: GPT-5.1-Codex-Mini', - supports: { - input: ['image', 'text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 100000, - pricing: { - text: { - input: { - normal: 0.25, - cached: 0.025, - }, - output: { - normal: 2, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_2 = { - id: 'openai/gpt-5.2', - name: 'OpenAI: GPT-5.2', - supports: { - input: ['document', 'image', 'text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 1.75, - cached: 0.175, - }, - output: { - normal: 14, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_2_CHAT = { - id: 'openai/gpt-5.2-chat', - name: 'OpenAI: GPT-5.2 Chat', - supports: { - input: ['document', 'image', 'text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 128000, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 1.75, - cached: 0.175, - }, - output: { - normal: 14, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_2_CODEX = { - id: 'openai/gpt-5.2-codex', - name: 'OpenAI: GPT-5.2-Codex', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 1.75, - cached: 0.175, - }, - output: { - normal: 14, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_2_PRO = { - id: 'openai/gpt-5.2-pro', - name: 'OpenAI: GPT-5.2 Pro', - supports: { - input: ['image', 'text', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 21, - cached: 0, - }, - output: { - normal: 168, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_3_CHAT = { - id: 'openai/gpt-5.3-chat', - name: 'OpenAI: GPT-5.3 Chat', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'maxCompletionTokens', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 128000, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 1.75, - cached: 0.175, - }, - output: { - normal: 14, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_3_CODEX = { - id: 'openai/gpt-5.3-codex', - name: 'OpenAI: GPT-5.3-Codex', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 1.75, - cached: 0.175, - }, - output: { - normal: 14, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_4 = { - id: 'openai/gpt-5.4', - name: 'OpenAI: GPT-5.4', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 1050000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 2.5, - cached: 0.25, - }, - output: { - normal: 15, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_4_MINI = { - id: 'openai/gpt-5.4-mini', - name: 'OpenAI: GPT-5.4 Mini', - supports: { - input: ['document', 'image', 'text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 0.75, - cached: 0.075, - }, - output: { - normal: 4.5, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_4_NANO = { - id: 'openai/gpt-5.4-nano', - name: 'OpenAI: GPT-5.4 Nano', - supports: { - input: ['document', 'image', 'text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 400000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0.02, - }, - output: { - normal: 1.25, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_5_4_PRO = { - id: 'openai/gpt-5.4-pro', - name: 'OpenAI: GPT-5.4 Pro', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 1050000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 30, - cached: 0, - }, - output: { - normal: 180, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_AUDIO = { - id: 'openai/gpt-audio', - name: 'OpenAI: GPT Audio', - supports: { - input: ['text', 'audio'], - output: ['text', 'audio'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 128000, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 2.5, - cached: 0, - }, - output: { - normal: 10, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_AUDIO_MINI = { - id: 'openai/gpt-audio-mini', - name: 'OpenAI: GPT Audio Mini', - supports: { - input: ['text', 'audio'], - output: ['text', 'audio'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 128000, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.6, - cached: 0, - }, - output: { - normal: 2.4, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_OSS_120B = { - id: 'openai/gpt-oss-120b', - name: 'OpenAI: gpt-oss-120b', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.039, - cached: 0, - }, - output: { - normal: 0.19, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_OSS_120B_FREE = { - id: 'openai/gpt-oss-120b:free', - name: 'OpenAI: gpt-oss-120b (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - ], - }, - context_window: 131072, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_OSS_20B = { - id: 'openai/gpt-oss-20b', - name: 'OpenAI: gpt-oss-20b', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.03, - cached: 0.015, - }, - output: { - normal: 0.11, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_OSS_20B_FREE = { - id: 'openai/gpt-oss-20b:free', - name: 'OpenAI: gpt-oss-20b (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - ], - }, - context_window: 131072, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const OPENAI_GPT_OSS_SAFEGUARD_20B = { - id: 'openai/gpt-oss-safeguard-20b', - name: 'OpenAI: gpt-oss-safeguard-20b', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.075, - cached: 0.037, - }, - output: { - normal: 0.3, - }, - }, - image: 0, - }, -} as const -const OPENAI_O1 = { - id: 'openai/o1', - name: 'OpenAI: o1', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 200000, - max_output_tokens: 100000, - pricing: { - text: { - input: { - normal: 15, - cached: 7.5, - }, - output: { - normal: 60, - }, - }, - image: 0, - }, -} as const -const OPENAI_O1_PRO = { - id: 'openai/o1-pro', - name: 'OpenAI: o1-pro', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - ], - }, - context_window: 200000, - max_output_tokens: 100000, - pricing: { - text: { - input: { - normal: 150, - cached: 0, - }, - output: { - normal: 600, - }, - }, - image: 0, - }, -} as const -const OPENAI_O3 = { - id: 'openai/o3', - name: 'OpenAI: o3', - supports: { - input: ['image', 'text', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 200000, - max_output_tokens: 100000, - pricing: { - text: { - input: { - normal: 2, - cached: 0.5, - }, - output: { - normal: 8, - }, - }, - image: 0, - }, -} as const -const OPENAI_O3_DEEP_RESEARCH = { - id: 'openai/o3-deep-research', - name: 'OpenAI: o3 Deep Research', - supports: { - input: ['image', 'text', 'document'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 200000, - max_output_tokens: 100000, - pricing: { - text: { - input: { - normal: 10, - cached: 2.5, - }, - output: { - normal: 40, - }, - }, - image: 0, - }, -} as const -const OPENAI_O3_MINI = { - id: 'openai/o3-mini', - name: 'OpenAI: o3 Mini', - supports: { - input: ['text', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 200000, - max_output_tokens: 100000, - pricing: { - text: { - input: { - normal: 1.1, - cached: 0.55, - }, - output: { - normal: 4.4, - }, - }, - image: 0, - }, -} as const -const OPENAI_O3_MINI_HIGH = { - id: 'openai/o3-mini-high', - name: 'OpenAI: o3 Mini High', - supports: { - input: ['text', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 200000, - max_output_tokens: 100000, - pricing: { - text: { - input: { - normal: 1.1, - cached: 0.55, - }, - output: { - normal: 4.4, - }, - }, - image: 0, - }, -} as const -const OPENAI_O3_PRO = { - id: 'openai/o3-pro', - name: 'OpenAI: o3 Pro', - supports: { - input: ['text', 'document', 'image'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 200000, - max_output_tokens: 100000, - pricing: { - text: { - input: { - normal: 20, - cached: 0, - }, - output: { - normal: 80, - }, - }, - image: 0, - }, -} as const -const OPENAI_O4_MINI = { - id: 'openai/o4-mini', - name: 'OpenAI: o4 Mini', - supports: { - input: ['image', 'text', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 200000, - max_output_tokens: 100000, - pricing: { - text: { - input: { - normal: 1.1, - cached: 0.275, - }, - output: { - normal: 4.4, - }, - }, - image: 0, - }, -} as const -const OPENAI_O4_MINI_DEEP_RESEARCH = { - id: 'openai/o4-mini-deep-research', - name: 'OpenAI: o4 Mini Deep Research', - supports: { - input: ['document', 'image', 'text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 200000, - max_output_tokens: 100000, - pricing: { - text: { - input: { - normal: 2, - cached: 0.5, - }, - output: { - normal: 8, - }, - }, - image: 0, - }, -} as const -const OPENAI_O4_MINI_HIGH = { - id: 'openai/o4-mini-high', - name: 'OpenAI: o4 Mini High', - supports: { - input: ['image', 'text', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'toolChoice', - ], - }, - context_window: 200000, - max_output_tokens: 100000, - pricing: { - text: { - input: { - normal: 1.1, - cached: 0.275, - }, - output: { - normal: 4.4, - }, - }, - image: 0, - }, -} as const -const OPENROUTER_AUTO = { - id: 'openrouter/auto', - name: 'Auto Router', - supports: { - input: ['text', 'image', 'audio', 'document', 'video'], - output: ['text', 'image'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - 'webSearchOptions', - ], - }, - context_window: 2000000, - pricing: { - text: { - input: { - normal: -1000000, - cached: 0, - }, - output: { - normal: -1000000, - }, - }, - image: 0, - }, -} as const -const OPENROUTER_BODYBUILDER = { - id: 'openrouter/bodybuilder', - name: 'Body Builder (beta)', - supports: { - input: ['text'], - output: ['text'], - supports: [], - }, - context_window: 128000, - pricing: { - text: { - input: { - normal: -1000000, - cached: 0, - }, - output: { - normal: -1000000, - }, - }, - image: 0, - }, -} as const -const OPENROUTER_FREE = { - id: 'openrouter/free', - name: 'Free Models Router', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 200000, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const PERPLEXITY_SONAR = { - id: 'perplexity/sonar', - name: 'Perplexity: Sonar', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'temperature', - 'topK', - 'topP', - 'webSearchOptions', - ], - }, - context_window: 127072, - pricing: { - text: { - input: { - normal: 1, - cached: 0, - }, - output: { - normal: 1, - }, - }, - image: 0, - }, -} as const -const PERPLEXITY_SONAR_DEEP_RESEARCH = { - id: 'perplexity/sonar-deep-research', - name: 'Perplexity: Sonar Deep Research', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'temperature', - 'topK', - 'topP', - 'webSearchOptions', - ], - }, - context_window: 128000, - pricing: { - text: { - input: { - normal: 2, - cached: 0, - }, - output: { - normal: 8, - }, - }, - image: 0, - }, -} as const -const PERPLEXITY_SONAR_PRO = { - id: 'perplexity/sonar-pro', - name: 'Perplexity: Sonar Pro', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'temperature', - 'topK', - 'topP', - 'webSearchOptions', - ], - }, - context_window: 200000, - max_output_tokens: 8000, - pricing: { - text: { - input: { - normal: 3, - cached: 0, - }, - output: { - normal: 15, - }, - }, - image: 0, - }, -} as const -const PERPLEXITY_SONAR_PRO_SEARCH = { - id: 'perplexity/sonar-pro-search', - name: 'Perplexity: Sonar Pro Search', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'temperature', - 'topK', - 'topP', - 'webSearchOptions', - ], - }, - context_window: 200000, - max_output_tokens: 8000, - pricing: { - text: { - input: { - normal: 3, - cached: 0, - }, - output: { - normal: 15, - }, - }, - image: 0, - }, -} as const -const PERPLEXITY_SONAR_REASONING_PRO = { - id: 'perplexity/sonar-reasoning-pro', - name: 'Perplexity: Sonar Reasoning Pro', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'temperature', - 'topK', - 'topP', - 'webSearchOptions', - ], - }, - context_window: 128000, - pricing: { - text: { - input: { - normal: 2, - cached: 0, - }, - output: { - normal: 8, - }, - }, - image: 0, - }, -} as const -const PRIME_INTELLECT_INTELLECT_3 = { - id: 'prime-intellect/intellect-3', - name: 'Prime Intellect: INTELLECT-3', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0, - }, - output: { - normal: 1.1, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN_2_5_72B_INSTRUCT = { - id: 'qwen/qwen-2.5-72b-instruct', - name: 'Qwen2.5 72B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 32768, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.12, - cached: 0, - }, - output: { - normal: 0.39, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN_2_5_7B_INSTRUCT = { - id: 'qwen/qwen-2.5-7b-instruct', - name: 'Qwen: Qwen2.5 7B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 32768, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.04, - cached: 0, - }, - output: { - normal: 0.1, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN_2_5_CODER_32B_INSTRUCT = { - id: 'qwen/qwen-2.5-coder-32b-instruct', - name: 'Qwen2.5 Coder 32B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 32768, - pricing: { - text: { - input: { - normal: 0.66, - cached: 0, - }, - output: { - normal: 1, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN_MAX = { - id: 'qwen/qwen-max', - name: 'Qwen: Qwen-Max ', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 32768, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 1.04, - cached: 0.208, - }, - output: { - normal: 4.16, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN_PLUS = { - id: 'qwen/qwen-plus', - name: 'Qwen: Qwen-Plus', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1000000, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.26, - cached: 0.052, - }, - output: { - normal: 0.78, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN_PLUS_2025_07_28 = { - id: 'qwen/qwen-plus-2025-07-28', - name: 'Qwen: Qwen Plus 0728', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1000000, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.26, - cached: 0, - }, - output: { - normal: 0.78, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN_PLUS_2025_07_28_THINKING = { - id: 'qwen/qwen-plus-2025-07-28:thinking', - name: 'Qwen: Qwen Plus 0728 (thinking)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1000000, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.26, - cached: 0, - }, - output: { - normal: 0.78, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN_TURBO = { - id: 'qwen/qwen-turbo', - name: 'Qwen: Qwen-Turbo', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 0.0325, - cached: 0.0065, - }, - output: { - normal: 0.13, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN_VL_MAX = { - id: 'qwen/qwen-vl-max', - name: 'Qwen: Qwen VL Max', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.52, - cached: 0, - }, - output: { - normal: 2.08, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN_VL_PLUS = { - id: 'qwen/qwen-vl-plus', - name: 'Qwen: Qwen VL Plus', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'temperature', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 0.1365, - cached: 0.0273, - }, - output: { - normal: 0.4095, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN2_5_CODER_7B_INSTRUCT = { - id: 'qwen/qwen2.5-coder-7b-instruct', - name: 'Qwen: Qwen2.5 Coder 7B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 32768, - pricing: { - text: { - input: { - normal: 0.03, - cached: 0, - }, - output: { - normal: 0.09, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN2_5_VL_32B_INSTRUCT = { - id: 'qwen/qwen2.5-vl-32b-instruct', - name: 'Qwen: Qwen2.5 VL 32B Instruct', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 128000, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0, - }, - output: { - normal: 0.6, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN2_5_VL_72B_INSTRUCT = { - id: 'qwen/qwen2.5-vl-72b-instruct', - name: 'Qwen: Qwen2.5 VL 72B Instruct', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 32768, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.8, - cached: 0, - }, - output: { - normal: 0.8, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_14B = { - id: 'qwen/qwen3-14b', - name: 'Qwen: Qwen3 14B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 40960, - max_output_tokens: 40960, - pricing: { - text: { - input: { - normal: 0.06, - cached: 0, - }, - output: { - normal: 0.24, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_235B_A22B = { - id: 'qwen/qwen3-235b-a22b', - name: 'Qwen: Qwen3 235B A22B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 0.455, - cached: 0, - }, - output: { - normal: 1.82, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_235B_A22B_2507 = { - id: 'qwen/qwen3-235b-a22b-2507', - name: 'Qwen: Qwen3 235B A22B Instruct 2507', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 262144, - pricing: { - text: { - input: { - normal: 0.071, - cached: 0, - }, - output: { - normal: 0.1, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_235B_A22B_THINKING_2507 = { - id: 'qwen/qwen3-235b-a22b-thinking-2507', - name: 'Qwen: Qwen3 235B A22B Thinking 2507', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.1495, - cached: 0, - }, - output: { - normal: 1.495, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_30B_A3B = { - id: 'qwen/qwen3-30b-a3b', - name: 'Qwen: Qwen3 30B A3B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 40960, - max_output_tokens: 40960, - pricing: { - text: { - input: { - normal: 0.08, - cached: 0, - }, - output: { - normal: 0.28, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_30B_A3B_INSTRUCT_2507 = { - id: 'qwen/qwen3-30b-a3b-instruct-2507', - name: 'Qwen: Qwen3 30B A3B Instruct 2507', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 262144, - pricing: { - text: { - input: { - normal: 0.09, - cached: 0, - }, - output: { - normal: 0.3, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_30B_A3B_THINKING_2507 = { - id: 'qwen/qwen3-30b-a3b-thinking-2507', - name: 'Qwen: Qwen3 30B A3B Thinking 2507', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.08, - cached: 0.08, - }, - output: { - normal: 0.4, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_32B = { - id: 'qwen/qwen3-32b', - name: 'Qwen: Qwen3 32B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 40960, - max_output_tokens: 40960, - pricing: { - text: { - input: { - normal: 0.08, - cached: 0.04, - }, - output: { - normal: 0.24, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_8B = { - id: 'qwen/qwen3-8b', - name: 'Qwen: Qwen3 8B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 40960, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 0.05, - cached: 0.05, - }, - output: { - normal: 0.4, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_CODER = { - id: 'qwen/qwen3-coder', - name: 'Qwen: Qwen3 Coder 480B A35B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262144, - pricing: { - text: { - input: { - normal: 0.22, - cached: 0.022, - }, - output: { - normal: 1, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_CODER_30B_A3B_INSTRUCT = { - id: 'qwen/qwen3-coder-30b-a3b-instruct', - name: 'Qwen: Qwen3 Coder 30B A3B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 160000, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.07, - cached: 0, - }, - output: { - normal: 0.27, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_CODER_FLASH = { - id: 'qwen/qwen3-coder-flash', - name: 'Qwen: Qwen3 Coder Flash', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1000000, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.195, - cached: 0.039, - }, - output: { - normal: 0.975, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_CODER_NEXT = { - id: 'qwen/qwen3-coder-next', - name: 'Qwen: Qwen3 Coder Next', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.12, - cached: 0.06, - }, - output: { - normal: 0.75, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_CODER_PLUS = { - id: 'qwen/qwen3-coder-plus', - name: 'Qwen: Qwen3 Coder Plus', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1000000, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.65, - cached: 0.13, - }, - output: { - normal: 3.25, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_CODER_FREE = { - id: 'qwen/qwen3-coder:free', - name: 'Qwen: Qwen3 Coder 480B A35B (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262000, - max_output_tokens: 262000, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_MAX = { - id: 'qwen/qwen3-max', - name: 'Qwen: Qwen3 Max', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.78, - cached: 0.156, - }, - output: { - normal: 3.9, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_MAX_THINKING = { - id: 'qwen/qwen3-max-thinking', - name: 'Qwen: Qwen3 Max Thinking', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.78, - cached: 0, - }, - output: { - normal: 3.9, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_NEXT_80B_A3B_INSTRUCT = { - id: 'qwen/qwen3-next-80b-a3b-instruct', - name: 'Qwen: Qwen3 Next 80B A3B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262144, - pricing: { - text: { - input: { - normal: 0.09, - cached: 0, - }, - output: { - normal: 1.1, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_NEXT_80B_A3B_INSTRUCT_FREE = { - id: 'qwen/qwen3-next-80b-a3b-instruct:free', - name: 'Qwen: Qwen3 Next 80B A3B Instruct (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262144, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_NEXT_80B_A3B_THINKING = { - id: 'qwen/qwen3-next-80b-a3b-thinking', - name: 'Qwen: Qwen3 Next 80B A3B Thinking', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.0975, - cached: 0, - }, - output: { - normal: 0.78, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_VL_235B_A22B_INSTRUCT = { - id: 'qwen/qwen3-vl-235b-a22b-instruct', - name: 'Qwen: Qwen3 VL 235B A22B Instruct', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262144, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0.11, - }, - output: { - normal: 0.88, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_VL_235B_A22B_THINKING = { - id: 'qwen/qwen3-vl-235b-a22b-thinking', - name: 'Qwen: Qwen3 VL 235B A22B Thinking', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.26, - cached: 0, - }, - output: { - normal: 2.6, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_VL_30B_A3B_INSTRUCT = { - id: 'qwen/qwen3-vl-30b-a3b-instruct', - name: 'Qwen: Qwen3 VL 30B A3B Instruct', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.13, - cached: 0, - }, - output: { - normal: 0.52, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_VL_30B_A3B_THINKING = { - id: 'qwen/qwen3-vl-30b-a3b-thinking', - name: 'Qwen: Qwen3 VL 30B A3B Thinking', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.13, - cached: 0, - }, - output: { - normal: 1.56, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_VL_32B_INSTRUCT = { - id: 'qwen/qwen3-vl-32b-instruct', - name: 'Qwen: Qwen3 VL 32B Instruct', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.104, - cached: 0, - }, - output: { - normal: 0.416, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_VL_8B_INSTRUCT = { - id: 'qwen/qwen3-vl-8b-instruct', - name: 'Qwen: Qwen3 VL 8B Instruct', - supports: { - input: ['image', 'text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.08, - cached: 0, - }, - output: { - normal: 0.5, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_VL_8B_THINKING = { - id: 'qwen/qwen3-vl-8b-thinking', - name: 'Qwen: Qwen3 VL 8B Thinking', - supports: { - input: ['image', 'text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.117, - cached: 0, - }, - output: { - normal: 1.365, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_5_122B_A10B = { - id: 'qwen/qwen3.5-122b-a10b', - name: 'Qwen: Qwen3.5-122B-A10B', - supports: { - input: ['text', 'image', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.26, - cached: 0, - }, - output: { - normal: 2.08, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_5_27B = { - id: 'qwen/qwen3.5-27b', - name: 'Qwen: Qwen3.5-27B', - supports: { - input: ['text', 'image', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.195, - cached: 0, - }, - output: { - normal: 1.56, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_5_35B_A3B = { - id: 'qwen/qwen3.5-35b-a3b', - name: 'Qwen: Qwen3.5-35B-A3B', - supports: { - input: ['text', 'image', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.1625, - cached: 0, - }, - output: { - normal: 1.3, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_5_397B_A17B = { - id: 'qwen/qwen3.5-397b-a17b', - name: 'Qwen: Qwen3.5 397B A17B', - supports: { - input: ['text', 'image', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.39, - cached: 0, - }, - output: { - normal: 2.34, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_5_9B = { - id: 'qwen/qwen3.5-9b', - name: 'Qwen: Qwen3.5-9B', - supports: { - input: ['text', 'image', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 256000, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.05, - cached: 0, - }, - output: { - normal: 0.15, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_5_FLASH_02_23 = { - id: 'qwen/qwen3.5-flash-02-23', - name: 'Qwen: Qwen3.5-Flash', - supports: { - input: ['text', 'image', 'video'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1000000, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.065, - cached: 0, - }, - output: { - normal: 0.26, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_5_PLUS_02_15 = { - id: 'qwen/qwen3.5-plus-02-15', - name: 'Qwen: Qwen3.5 Plus 2026-02-15', - supports: { - input: ['text', 'image', 'video'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1000000, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.26, - cached: 0, - }, - output: { - normal: 1.56, - }, - }, - image: 0, - }, -} as const -const QWEN_QWEN3_6_PLUS = { - id: 'qwen/qwen3.6-plus', - name: 'Qwen: Qwen3.6 Plus', - supports: { - input: ['text', 'image', 'video'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1000000, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.325, - cached: 0, - }, - output: { - normal: 1.95, - }, - }, - image: 0, - }, -} as const -const QWEN_QWQ_32B = { - id: 'qwen/qwq-32b', - name: 'Qwen: QwQ 32B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'reasoning', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.15, - cached: 0, - }, - output: { - normal: 0.58, - }, - }, - image: 0, - }, -} as const -const REKAAI_REKA_EDGE = { - id: 'rekaai/reka-edge', - name: 'Reka Edge', - supports: { - input: ['image', 'text', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 16384, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0, - }, - output: { - normal: 0.1, - }, - }, - image: 0, - }, -} as const -const REKAAI_REKA_FLASH_3 = { - id: 'rekaai/reka-flash-3', - name: 'Reka Flash 3', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 65536, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0, - }, - output: { - normal: 0.2, - }, - }, - image: 0, - }, -} as const -const RELACE_RELACE_APPLY_3 = { - id: 'relace/relace-apply-3', - name: 'Relace: Relace Apply 3', - supports: { - input: ['text'], - output: ['text'], - supports: ['maxCompletionTokens', 'seed', 'stop'], - }, - context_window: 256000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 0.85, - cached: 0, - }, - output: { - normal: 1.25, - }, - }, - image: 0, - }, -} as const -const RELACE_RELACE_SEARCH = { - id: 'relace/relace-search', - name: 'Relace: Relace Search', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'maxCompletionTokens', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 256000, - max_output_tokens: 128000, - pricing: { - text: { - input: { - normal: 1, - cached: 0, - }, - output: { - normal: 3, - }, - }, - image: 0, - }, -} as const -const SAO10K_L3_EURYALE_70B = { - id: 'sao10k/l3-euryale-70b', - name: 'Sao10k: Llama 3 Euryale 70B v2.1', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 8192, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 1.48, - cached: 0, - }, - output: { - normal: 1.48, - }, - }, - image: 0, - }, -} as const -const SAO10K_L3_LUNARIS_8B = { - id: 'sao10k/l3-lunaris-8b', - name: 'Sao10K: Llama 3 8B Lunaris', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 8192, - pricing: { - text: { - input: { - normal: 0.04, - cached: 0, - }, - output: { - normal: 0.05, - }, - }, - image: 0, - }, -} as const -const SAO10K_L3_1_70B_HANAMI_X1 = { - id: 'sao10k/l3.1-70b-hanami-x1', - name: 'Sao10K: Llama 3.1 70B Hanami x1', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 16000, - pricing: { - text: { - input: { - normal: 3, - cached: 0, - }, - output: { - normal: 3, - }, - }, - image: 0, - }, -} as const -const SAO10K_L3_1_EURYALE_70B = { - id: 'sao10k/l3.1-euryale-70b', - name: 'Sao10K: Llama 3.1 Euryale 70B v2.2', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.85, - cached: 0, - }, - output: { - normal: 0.85, - }, - }, - image: 0, - }, -} as const -const SAO10K_L3_3_EURYALE_70B = { - id: 'sao10k/l3.3-euryale-70b', - name: 'Sao10K: Llama 3.3 Euryale 70B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.65, - cached: 0, - }, - output: { - normal: 0.75, - }, - }, - image: 0, - }, -} as const -const STEPFUN_STEP_3_5_FLASH = { - id: 'stepfun/step-3.5-flash', - name: 'StepFun: Step 3.5 Flash', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0, - }, - output: { - normal: 0.3, - }, - }, - image: 0, - }, -} as const -const SWITCHPOINT_ROUTER = { - id: 'switchpoint/router', - name: 'Switchpoint Router', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.85, - cached: 0, - }, - output: { - normal: 3.4, - }, - }, - image: 0, - }, -} as const -const TENCENT_HUNYUAN_A13B_INSTRUCT = { - id: 'tencent/hunyuan-a13b-instruct', - name: 'Tencent: Hunyuan A13B Instruct', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'reasoning', - 'responseFormat', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.14, - cached: 0, - }, - output: { - normal: 0.57, - }, - }, - image: 0, - }, -} as const -const THEDRUMMER_CYDONIA_24B_V4_1 = { - id: 'thedrummer/cydonia-24b-v4.1', - name: 'TheDrummer: Cydonia 24B V4.1', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.3, - cached: 0, - }, - output: { - normal: 0.5, - }, - }, - image: 0, - }, -} as const -const THEDRUMMER_ROCINANTE_12B = { - id: 'thedrummer/rocinante-12b', - name: 'TheDrummer: Rocinante 12B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 32768, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.17, - cached: 0, - }, - output: { - normal: 0.43, - }, - }, - image: 0, - }, -} as const -const THEDRUMMER_SKYFALL_36B_V2 = { - id: 'thedrummer/skyfall-36b-v2', - name: 'TheDrummer: Skyfall 36B V2', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'topK', - 'topP', - ], - }, - context_window: 32768, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.55, - cached: 0, - }, - output: { - normal: 0.8, - }, - }, - image: 0, - }, -} as const -const THEDRUMMER_UNSLOPNEMO_12B = { - id: 'thedrummer/unslopnemo-12b', - name: 'TheDrummer: UnslopNemo 12B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 32768, - max_output_tokens: 32768, - pricing: { - text: { - input: { - normal: 0.4, - cached: 0, - }, - output: { - normal: 0.4, - }, - }, - image: 0, - }, -} as const -const TNGTECH_DEEPSEEK_R1T2_CHIMERA = { - id: 'tngtech/deepseek-r1t2-chimera', - name: 'TNG: DeepSeek R1T2 Chimera', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 163840, - max_output_tokens: 163840, - pricing: { - text: { - input: { - normal: 0.3, - cached: 0.15, - }, - output: { - normal: 1.1, - }, - }, - image: 0, - }, -} as const -const UNDI95_REMM_SLERP_L2_13B = { - id: 'undi95/remm-slerp-l2-13b', - name: 'ReMM SLERP 13B', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topA', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 6144, - max_output_tokens: 4096, - pricing: { - text: { - input: { - normal: 0.45, - cached: 0, - }, - output: { - normal: 0.65, - }, - }, - image: 0, - }, -} as const -const UPSTAGE_SOLAR_PRO_3 = { - id: 'upstage/solar-pro-3', - name: 'Upstage: Solar Pro 3', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'temperature', - 'toolChoice', - ], - }, - context_window: 128000, - pricing: { - text: { - input: { - normal: 0.15, - cached: 0.015, - }, - output: { - normal: 0.6, - }, - }, - image: 0, - }, -} as const -const WRITER_PALMYRA_X5 = { - id: 'writer/palmyra-x5', - name: 'Writer: Palmyra X5', - supports: { - input: ['text'], - output: ['text'], - supports: ['maxCompletionTokens', 'stop', 'temperature', 'topK', 'topP'], - }, - context_window: 1040000, - max_output_tokens: 8192, - pricing: { - text: { - input: { - normal: 0.6, - cached: 0, - }, - output: { - normal: 6, - }, - }, - image: 0, - }, -} as const -const X_AI_GROK_3 = { - id: 'x-ai/grok-3', - name: 'xAI: Grok 3', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 3, - cached: 0.75, - }, - output: { - normal: 15, - }, - }, - image: 0, - }, -} as const -const X_AI_GROK_3_BETA = { - id: 'x-ai/grok-3-beta', - name: 'xAI: Grok 3 Beta', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 3, - cached: 0.75, - }, - output: { - normal: 15, - }, - }, - image: 0, - }, -} as const -const X_AI_GROK_3_MINI = { - id: 'x-ai/grok-3-mini', - name: 'xAI: Grok 3 Mini', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'logprobs', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.3, - cached: 0.075, - }, - output: { - normal: 0.5, - }, - }, - image: 0, - }, -} as const -const X_AI_GROK_3_MINI_BETA = { - id: 'x-ai/grok-3-mini-beta', - name: 'xAI: Grok 3 Mini Beta', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'logprobs', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 131072, - pricing: { - text: { - input: { - normal: 0.3, - cached: 0.075, - }, - output: { - normal: 0.5, - }, - }, - image: 0, - }, -} as const -const X_AI_GROK_4 = { - id: 'x-ai/grok-4', - name: 'xAI: Grok 4', - supports: { - input: ['image', 'text', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'logprobs', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 256000, - pricing: { - text: { - input: { - normal: 3, - cached: 0.75, - }, - output: { - normal: 15, - }, - }, - image: 0, - }, -} as const -const X_AI_GROK_4_FAST = { - id: 'x-ai/grok-4-fast', - name: 'xAI: Grok 4 Fast', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'logprobs', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 2000000, - max_output_tokens: 30000, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0.05, - }, - output: { - normal: 0.5, - }, - }, - image: 0, - }, -} as const -const X_AI_GROK_4_1_FAST = { - id: 'x-ai/grok-4.1-fast', - name: 'xAI: Grok 4.1 Fast', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'logprobs', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 2000000, - max_output_tokens: 30000, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0.05, - }, - output: { - normal: 0.5, - }, - }, - image: 0, - }, -} as const -const X_AI_GROK_4_20 = { - id: 'x-ai/grok-4.20', - name: 'xAI: Grok 4.20', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'logprobs', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 2000000, - pricing: { - text: { - input: { - normal: 2, - cached: 0.2, - }, - output: { - normal: 6, - }, - }, - image: 0, - }, -} as const -const X_AI_GROK_4_20_MULTI_AGENT = { - id: 'x-ai/grok-4.20-multi-agent', - name: 'xAI: Grok 4.20 Multi-Agent', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'includeReasoning', - 'logprobs', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'temperature', - 'topLogprobs', - 'topP', - ], - }, - context_window: 2000000, - pricing: { - text: { - input: { - normal: 2, - cached: 0.2, - }, - output: { - normal: 6, - }, - }, - image: 0, - }, -} as const -const X_AI_GROK_CODE_FAST_1 = { - id: 'x-ai/grok-code-fast-1', - name: 'xAI: Grok Code Fast 1', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'logprobs', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 256000, - max_output_tokens: 10000, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0.02, - }, - output: { - normal: 1.5, - }, - }, - image: 0, - }, -} as const -const XIAOMI_MIMO_V2_FLASH = { - id: 'xiaomi/mimo-v2-flash', - name: 'Xiaomi: MiMo-V2-Flash', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.09, - cached: 0.045, - }, - output: { - normal: 0.29, - }, - }, - image: 0, - }, -} as const -const XIAOMI_MIMO_V2_OMNI = { - id: 'xiaomi/mimo-v2-omni', - name: 'Xiaomi: MiMo-V2-Omni', - supports: { - input: ['text', 'audio', 'image', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 262144, - max_output_tokens: 65536, - pricing: { - text: { - input: { - normal: 0.4, - cached: 0.08, - }, - output: { - normal: 2, - }, - }, - image: 0, - }, -} as const -const XIAOMI_MIMO_V2_PRO = { - id: 'xiaomi/mimo-v2-pro', - name: 'Xiaomi: MiMo-V2-Pro', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'responseFormat', - 'stop', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 1048576, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 1, - cached: 0.2, - }, - output: { - normal: 3, - }, - }, - image: 0, - }, -} as const -const Z_AI_GLM_4_32B = { - id: 'z-ai/glm-4-32b', - name: 'Z.ai: GLM 4 32B ', - supports: { - input: ['text'], - output: ['text'], - supports: ['maxCompletionTokens', 'temperature', 'toolChoice', 'topP'], - }, - context_window: 128000, - pricing: { - text: { - input: { - normal: 0.1, - cached: 0, - }, - output: { - normal: 0.1, - }, - }, - image: 0, - }, -} as const -const Z_AI_GLM_4_5 = { - id: 'z-ai/glm-4.5', - name: 'Z.ai: GLM 4.5', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 98304, - pricing: { - text: { - input: { - normal: 0.6, - cached: 0.11, - }, - output: { - normal: 2.2, - }, - }, - image: 0, - }, -} as const -const Z_AI_GLM_4_5_AIR = { - id: 'z-ai/glm-4.5-air', - name: 'Z.ai: GLM 4.5 Air', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 98304, - pricing: { - text: { - input: { - normal: 0.13, - cached: 0.025, - }, - output: { - normal: 0.85, - }, - }, - image: 0, - }, -} as const -const Z_AI_GLM_4_5_AIR_FREE = { - id: 'z-ai/glm-4.5-air:free', - name: 'Z.ai: GLM 4.5 Air (free)', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 96000, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const -const Z_AI_GLM_4_5V = { - id: 'z-ai/glm-4.5v', - name: 'Z.ai: GLM 4.5V', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 65536, - max_output_tokens: 16384, - pricing: { - text: { - input: { - normal: 0.6, - cached: 0.11, - }, - output: { - normal: 1.8, - }, - }, - image: 0, - }, -} as const -const Z_AI_GLM_4_6 = { - id: 'z-ai/glm-4.6', - name: 'Z.ai: GLM 4.6', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 204800, - max_output_tokens: 204800, - pricing: { - text: { - input: { - normal: 0.39, - cached: 0, - }, - output: { - normal: 1.9, - }, - }, - image: 0, - }, -} as const -const Z_AI_GLM_4_6V = { - id: 'z-ai/glm-4.6v', - name: 'Z.ai: GLM 4.6V', - supports: { - input: ['image', 'text', 'video'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 131072, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.3, - cached: 0, - }, - output: { - normal: 0.9, - }, - }, - image: 0, - }, -} as const -const Z_AI_GLM_4_7 = { - id: 'z-ai/glm-4.7', - name: 'Z.ai: GLM 4.7', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 202752, - max_output_tokens: 65535, - pricing: { - text: { - input: { - normal: 0.39, - cached: 0.195, - }, - output: { - normal: 1.75, - }, - }, - image: 0, - }, -} as const -const Z_AI_GLM_4_7_FLASH = { - id: 'z-ai/glm-4.7-flash', - name: 'Z.ai: GLM 4.7 Flash', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 202752, - pricing: { - text: { - input: { - normal: 0.06, - cached: 0.0100000002, - }, - output: { - normal: 0.4, - }, - }, - image: 0, - }, -} as const -const Z_AI_GLM_5 = { - id: 'z-ai/glm-5', - name: 'Z.ai: GLM 5', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 80000, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 0.72, - cached: 0, - }, - output: { - normal: 2.3, - }, - }, - image: 0, - }, -} as const -const Z_AI_GLM_5_TURBO = { - id: 'z-ai/glm-5-turbo', - name: 'Z.ai: GLM 5 Turbo', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topP', - ], - }, - context_window: 202752, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 1.2, - cached: 0.24, - }, - output: { - normal: 4, - }, - }, - image: 0, - }, -} as const -const Z_AI_GLM_5_1 = { - id: 'z-ai/glm-5.1', - name: 'Z.ai: GLM 5.1', - supports: { - input: ['text'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'includeReasoning', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'minP', - 'presencePenalty', - 'reasoning', - 'repetitionPenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topK', - 'topLogprobs', - 'topP', - ], - }, - context_window: 202752, - pricing: { - text: { - input: { - normal: 1.26, - cached: 0, - }, - output: { - normal: 3.96, - }, - }, - image: 0, - }, -} as const -const Z_AI_GLM_5V_TURBO = { - id: 'z-ai/glm-5v-turbo', - name: 'Z.ai: GLM 5V Turbo', - supports: { - input: ['image', 'text', 'video'], - output: ['text'], - supports: [ - 'includeReasoning', - 'maxCompletionTokens', - 'reasoning', - 'responseFormat', - 'temperature', - 'toolChoice', - 'topP', - ], - }, - context_window: 202752, - max_output_tokens: 131072, - pricing: { - text: { - input: { - normal: 1.2, - cached: 0.24, - }, - output: { - normal: 4, - }, - }, - image: 0, - }, -} as const +import type { OpenRouterBaseOptions, OpenRouterCommonOptions } from './text/text-provider-options' + +const AI21_JAMBA_LARGE_1_7 = { + id: 'ai21/jamba-large-1.7', + name: 'AI21: Jamba Large 1.7', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 256000, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 2, + cached: 0, + }, + output: { + normal: 8, + }, + }, + image: 0, + }, + } as const +const AION_LABS_AION_1_0 = { + id: 'aion-labs/aion-1.0', + name: 'AionLabs: Aion-1.0', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'temperature', 'topP'], + }, + context_window: 131072, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 4, + cached: 0, + }, + output: { + normal: 8, + }, + }, + image: 0, + }, + } as const +const AION_LABS_AION_1_0_MINI = { + id: 'aion-labs/aion-1.0-mini', + name: 'AionLabs: Aion-1.0-Mini', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'temperature', 'topP'], + }, + context_window: 131072, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.7, + cached: 0, + }, + output: { + normal: 1.4, + }, + }, + image: 0, + }, + } as const +const AION_LABS_AION_2_0 = { + id: 'aion-labs/aion-2.0', + name: 'AionLabs: Aion-2.0', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'temperature', 'topP'], + }, + context_window: 131072, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.8, + cached: 0.2, + }, + output: { + normal: 1.6, + }, + }, + image: 0, + }, + } as const +const AION_LABS_AION_RP_LLAMA_3_1_8B = { + id: 'aion-labs/aion-rp-llama-3.1-8b', + name: 'AionLabs: Aion-RP 1.0 (8B)', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'temperature', 'topP'], + }, + context_window: 32768, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.8, + cached: 0, + }, + output: { + normal: 1.6, + }, + }, + image: 0, + }, + } as const +const ALFREDPROS_CODELLAMA_7B_INSTRUCT_SOLIDITY = { + id: 'alfredpros/codellama-7b-instruct-solidity', + name: 'AlfredPros: CodeLLaMa 7B Instruct Solidity', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 4096, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 0.8, + cached: 0, + }, + output: { + normal: 1.2, + }, + }, + image: 0, + }, + } as const +const ALIBABA_TONGYI_DEEPRESEARCH_30B_A3B = { + id: 'alibaba/tongyi-deepresearch-30b-a3b', + name: 'Tongyi DeepResearch 30B A3B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 0.09, + cached: 0.09, + }, + output: { + normal: 0.45, + }, + }, + image: 0, + }, + } as const +const ALLENAI_OLMO_2_0325_32B_INSTRUCT = { + id: 'allenai/olmo-2-0325-32b-instruct', + name: 'AllenAI: Olmo 2 32B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: [], + }, + context_window: 128000, + pricing: { + text: { + input: { + normal: 0.05, + cached: 0, + }, + output: { + normal: 0.2, + }, + }, + image: 0, + }, + } as const +const ALLENAI_OLMO_3_32B_THINK = { + id: 'allenai/olmo-3-32b-think', + name: 'AllenAI: Olmo 3 32B Think', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 65536, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.15, + cached: 0, + }, + output: { + normal: 0.5, + }, + }, + image: 0, + }, + } as const +const ALLENAI_OLMO_3_1_32B_INSTRUCT = { + id: 'allenai/olmo-3.1-32b-instruct', + name: 'AllenAI: Olmo 3.1 32B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 65536, + pricing: { + text: { + input: { + normal: 0.2, + cached: 0, + }, + output: { + normal: 0.6, + }, + }, + image: 0, + }, + } as const +const ALPINDALE_GOLIATH_120B = { + id: 'alpindale/goliath-120b', + name: 'Goliath 120B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topA', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 6144, + max_output_tokens: 1024, + pricing: { + text: { + input: { + normal: 3.75, + cached: 0, + }, + output: { + normal: 7.5, + }, + }, + image: 0, + }, + } as const +const AMAZON_NOVA_2_LITE_V1 = { + id: 'amazon/nova-2-lite-v1', + name: 'Amazon: Nova 2 Lite', + supports: { + input: ['text', 'image', 'video', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 1000000, + max_output_tokens: 65535, + pricing: { + text: { + input: { + normal: 0.3, + cached: 0, + }, + output: { + normal: 2.5, + }, + }, + image: 0, + }, + } as const +const AMAZON_NOVA_LITE_V1 = { + id: 'amazon/nova-lite-v1', + name: 'Amazon: Nova Lite 1.0', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['maxCompletionTokens', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 300000, + max_output_tokens: 5120, + pricing: { + text: { + input: { + normal: 0.06, + cached: 0, + }, + output: { + normal: 0.24, + }, + }, + image: 0, + }, + } as const +const AMAZON_NOVA_MICRO_V1 = { + id: 'amazon/nova-micro-v1', + name: 'Amazon: Nova Micro 1.0', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 128000, + max_output_tokens: 5120, + pricing: { + text: { + input: { + normal: 0.035, + cached: 0, + }, + output: { + normal: 0.14, + }, + }, + image: 0, + }, + } as const +const AMAZON_NOVA_PREMIER_V1 = { + id: 'amazon/nova-premier-v1', + name: 'Amazon: Nova Premier 1.0', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['maxCompletionTokens', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 1000000, + max_output_tokens: 32000, + pricing: { + text: { + input: { + normal: 2.5, + cached: 0.625, + }, + output: { + normal: 12.5, + }, + }, + image: 0, + }, + } as const +const AMAZON_NOVA_PRO_V1 = { + id: 'amazon/nova-pro-v1', + name: 'Amazon: Nova Pro 1.0', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['maxCompletionTokens', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 300000, + max_output_tokens: 5120, + pricing: { + text: { + input: { + normal: 0.8, + cached: 0, + }, + output: { + normal: 3.2, + }, + }, + image: 0, + }, + } as const +const ANTHRACITE_ORG_MAGNUM_V4_72B = { + id: 'anthracite-org/magnum-v4-72b', + name: 'Magnum v4 72B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topA', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 16384, + max_output_tokens: 2048, + pricing: { + text: { + input: { + normal: 3, + cached: 0, + }, + output: { + normal: 5, + }, + }, + image: 0, + }, + } as const +const ANTHROPIC_CLAUDE_3_HAIKU = { + id: 'anthropic/claude-3-haiku', + name: 'Anthropic: Claude 3 Haiku', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['maxCompletionTokens', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 200000, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 0.25, + cached: 0.32999999999999996, + }, + output: { + normal: 1.25, + }, + }, + image: 0, + }, + } as const +const ANTHROPIC_CLAUDE_3_5_HAIKU = { + id: 'anthropic/claude-3.5-haiku', + name: 'Anthropic: Claude 3.5 Haiku', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['maxCompletionTokens', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 200000, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 0.8, + cached: 1.08, + }, + output: { + normal: 4, + }, + }, + image: 0, + }, + } as const +const ANTHROPIC_CLAUDE_3_7_SONNET = { + id: 'anthropic/claude-3.7-sonnet', + name: 'Anthropic: Claude 3.7 Sonnet', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 200000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 3, + cached: 4.05, + }, + output: { + normal: 15, + }, + }, + image: 0, + }, + } as const +const ANTHROPIC_CLAUDE_3_7_SONNET_THINKING = { + id: 'anthropic/claude-3.7-sonnet:thinking', + name: 'Anthropic: Claude 3.7 Sonnet (thinking)', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 200000, + max_output_tokens: 64000, + pricing: { + text: { + input: { + normal: 3, + cached: 4.05, + }, + output: { + normal: 15, + }, + }, + image: 0, + }, + } as const +const ANTHROPIC_CLAUDE_HAIKU_4_5 = { + id: 'anthropic/claude-haiku-4.5', + name: 'Anthropic: Claude Haiku 4.5', + supports: { + input: ['image', 'text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 200000, + max_output_tokens: 64000, + pricing: { + text: { + input: { + normal: 1, + cached: 1.35, + }, + output: { + normal: 5, + }, + }, + image: 0, + }, + } as const +const ANTHROPIC_CLAUDE_OPUS_4 = { + id: 'anthropic/claude-opus-4', + name: 'Anthropic: Claude Opus 4', + supports: { + input: ['image', 'text', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 200000, + max_output_tokens: 32000, + pricing: { + text: { + input: { + normal: 15, + cached: 20.25, + }, + output: { + normal: 75, + }, + }, + image: 0, + }, + } as const +const ANTHROPIC_CLAUDE_OPUS_4_1 = { + id: 'anthropic/claude-opus-4.1', + name: 'Anthropic: Claude Opus 4.1', + supports: { + input: ['image', 'text', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 200000, + max_output_tokens: 32000, + pricing: { + text: { + input: { + normal: 15, + cached: 20.25, + }, + output: { + normal: 75, + }, + }, + image: 0, + }, + } as const +const ANTHROPIC_CLAUDE_OPUS_4_5 = { + id: 'anthropic/claude-opus-4.5', + name: 'Anthropic: Claude Opus 4.5', + supports: { + input: ['document', 'image', 'text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topK', 'verbosity'], + }, + context_window: 200000, + max_output_tokens: 64000, + pricing: { + text: { + input: { + normal: 5, + cached: 6.75, + }, + output: { + normal: 25, + }, + }, + image: 0, + }, + } as const +const ANTHROPIC_CLAUDE_OPUS_4_6 = { + id: 'anthropic/claude-opus-4.6', + name: 'Anthropic: Claude Opus 4.6', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topK', 'topP', 'verbosity'], + }, + context_window: 1000000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 5, + cached: 6.75, + }, + output: { + normal: 25, + }, + }, + image: 0, + }, + } as const +const ANTHROPIC_CLAUDE_OPUS_4_6_FAST = { + id: 'anthropic/claude-opus-4.6-fast', + name: 'Anthropic: Claude Opus 4.6 (Fast)', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topP', 'verbosity'], + }, + context_window: 1000000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 30, + cached: 40.5, + }, + output: { + normal: 150, + }, + }, + image: 0, + }, + } as const +const ANTHROPIC_CLAUDE_SONNET_4 = { + id: 'anthropic/claude-sonnet-4', + name: 'Anthropic: Claude Sonnet 4', + supports: { + input: ['image', 'text', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 1000000, + max_output_tokens: 64000, + pricing: { + text: { + input: { + normal: 3, + cached: 4.05, + }, + output: { + normal: 15, + }, + }, + image: 0, + }, + } as const +const ANTHROPIC_CLAUDE_SONNET_4_5 = { + id: 'anthropic/claude-sonnet-4.5', + name: 'Anthropic: Claude Sonnet 4.5', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 1000000, + max_output_tokens: 64000, + pricing: { + text: { + input: { + normal: 3, + cached: 4.05, + }, + output: { + normal: 15, + }, + }, + image: 0, + }, + } as const +const ANTHROPIC_CLAUDE_SONNET_4_6 = { + id: 'anthropic/claude-sonnet-4.6', + name: 'Anthropic: Claude Sonnet 4.6', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topK', 'topP', 'verbosity'], + }, + context_window: 1000000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 3, + cached: 4.05, + }, + output: { + normal: 15, + }, + }, + image: 0, + }, + } as const +const ARCEE_AI_CODER_LARGE = { + id: 'arcee-ai/coder-large', + name: 'Arcee AI: Coder Large', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 32768, + pricing: { + text: { + input: { + normal: 0.5, + cached: 0, + }, + output: { + normal: 0.8, + }, + }, + image: 0, + }, + } as const +const ARCEE_AI_MAESTRO_REASONING = { + id: 'arcee-ai/maestro-reasoning', + name: 'Arcee AI: Maestro Reasoning', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 32000, + pricing: { + text: { + input: { + normal: 0.9, + cached: 0, + }, + output: { + normal: 3.3, + }, + }, + image: 0, + }, + } as const +const ARCEE_AI_SPOTLIGHT = { + id: 'arcee-ai/spotlight', + name: 'Arcee AI: Spotlight', + supports: { + input: ['image', 'text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 65537, + pricing: { + text: { + input: { + normal: 0.18, + cached: 0, + }, + output: { + normal: 0.18, + }, + }, + image: 0, + }, + } as const +const ARCEE_AI_TRINITY_LARGE_PREVIEW_FREE = { + id: 'arcee-ai/trinity-large-preview:free', + name: 'Arcee AI: Trinity Large Preview (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'responseFormat', 'temperature', 'topK', 'topP'], + }, + context_window: 131000, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const ARCEE_AI_TRINITY_LARGE_THINKING = { + id: 'arcee-ai/trinity-large-thinking', + name: 'Arcee AI: Trinity Large Thinking', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + max_output_tokens: 262144, + pricing: { + text: { + input: { + normal: 0.22, + cached: 0.06, + }, + output: { + normal: 0.85, + }, + }, + image: 0, + }, + } as const +const ARCEE_AI_TRINITY_MINI = { + id: 'arcee-ai/trinity-mini', + name: 'Arcee AI: Trinity Mini', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 0.045, + cached: 0, + }, + output: { + normal: 0.15, + }, + }, + image: 0, + }, + } as const +const ARCEE_AI_VIRTUOSO_LARGE = { + id: 'arcee-ai/virtuoso-large', + name: 'Arcee AI: Virtuoso Large', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 64000, + pricing: { + text: { + input: { + normal: 0.75, + cached: 0, + }, + output: { + normal: 1.2, + }, + }, + image: 0, + }, + } as const +const BAIDU_ERNIE_4_5_21B_A3B = { + id: 'baidu/ernie-4.5-21b-a3b', + name: 'Baidu: ERNIE 4.5 21B A3B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 120000, + max_output_tokens: 8000, + pricing: { + text: { + input: { + normal: 0.07, + cached: 0, + }, + output: { + normal: 0.28, + }, + }, + image: 0, + }, + } as const +const BAIDU_ERNIE_4_5_21B_A3B_THINKING = { + id: 'baidu/ernie-4.5-21b-a3b-thinking', + name: 'Baidu: ERNIE 4.5 21B A3B Thinking', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.07, + cached: 0, + }, + output: { + normal: 0.28, + }, + }, + image: 0, + }, + } as const +const BAIDU_ERNIE_4_5_300B_A47B = { + id: 'baidu/ernie-4.5-300b-a47b', + name: 'Baidu: ERNIE 4.5 300B A47B ', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 123000, + max_output_tokens: 12000, + pricing: { + text: { + input: { + normal: 0.28, + cached: 0, + }, + output: { + normal: 1.1, + }, + }, + image: 0, + }, + } as const +const BAIDU_ERNIE_4_5_VL_28B_A3B = { + id: 'baidu/ernie-4.5-vl-28b-a3b', + name: 'Baidu: ERNIE 4.5 VL 28B A3B', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 30000, + max_output_tokens: 8000, + pricing: { + text: { + input: { + normal: 0.14, + cached: 0, + }, + output: { + normal: 0.56, + }, + }, + image: 0, + }, + } as const +const BAIDU_ERNIE_4_5_VL_424B_A47B = { + id: 'baidu/ernie-4.5-vl-424b-a47b', + name: 'Baidu: ERNIE 4.5 VL 424B A47B ', + supports: { + input: ['image', 'text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 123000, + max_output_tokens: 16000, + pricing: { + text: { + input: { + normal: 0.42, + cached: 0, + }, + output: { + normal: 1.25, + }, + }, + image: 0, + }, + } as const +const BYTEDANCE_SEED_SEED_1_6 = { + id: 'bytedance-seed/seed-1.6', + name: 'ByteDance Seed: Seed 1.6', + supports: { + input: ['image', 'text', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 262144, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.25, + cached: 0, + }, + output: { + normal: 2, + }, + }, + image: 0, + }, + } as const +const BYTEDANCE_SEED_SEED_1_6_FLASH = { + id: 'bytedance-seed/seed-1.6-flash', + name: 'ByteDance Seed: Seed 1.6 Flash', + supports: { + input: ['image', 'text', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 262144, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.075, + cached: 0, + }, + output: { + normal: 0.3, + }, + }, + image: 0, + }, + } as const +const BYTEDANCE_SEED_SEED_2_0_LITE = { + id: 'bytedance-seed/seed-2.0-lite', + name: 'ByteDance Seed: Seed-2.0-Lite', + supports: { + input: ['text', 'image', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 262144, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 0.25, + cached: 0, + }, + output: { + normal: 2, + }, + }, + image: 0, + }, + } as const +const BYTEDANCE_SEED_SEED_2_0_MINI = { + id: 'bytedance-seed/seed-2.0-mini', + name: 'ByteDance Seed: Seed-2.0-Mini', + supports: { + input: ['text', 'image', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 262144, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0, + }, + output: { + normal: 0.4, + }, + }, + image: 0, + }, + } as const +const BYTEDANCE_UI_TARS_1_5_7B = { + id: 'bytedance/ui-tars-1.5-7b', + name: 'ByteDance: UI-TARS 7B ', + supports: { + input: ['image', 'text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 128000, + max_output_tokens: 2048, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0.1, + }, + output: { + normal: 0.2, + }, + }, + image: 0, + }, + } as const +const COGNITIVECOMPUTATIONS_DOLPHIN_MISTRAL_24B_VENICE_EDITION_FREE = { + id: 'cognitivecomputations/dolphin-mistral-24b-venice-edition:free', + name: 'Venice: Uncensored (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 32768, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const COHERE_COMMAND_A = { + id: 'cohere/command-a', + name: 'Cohere: Command A', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 256000, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 2.5, + cached: 0, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const COHERE_COMMAND_R_08_2024 = { + id: 'cohere/command-r-08-2024', + name: 'Cohere: Command R (08-2024)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 128000, + max_output_tokens: 4000, + pricing: { + text: { + input: { + normal: 0.15, + cached: 0, + }, + output: { + normal: 0.6, + }, + }, + image: 0, + }, + } as const +const COHERE_COMMAND_R_PLUS_08_2024 = { + id: 'cohere/command-r-plus-08-2024', + name: 'Cohere: Command R+ (08-2024)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 128000, + max_output_tokens: 4000, + pricing: { + text: { + input: { + normal: 2.5, + cached: 0, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const COHERE_COMMAND_R7B_12_2024 = { + id: 'cohere/command-r7b-12-2024', + name: 'Cohere: Command R7B (12-2024)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 128000, + max_output_tokens: 4000, + pricing: { + text: { + input: { + normal: 0.0375, + cached: 0, + }, + output: { + normal: 0.15, + }, + }, + image: 0, + }, + } as const +const DEEPCOGITO_COGITO_V2_1_671B = { + id: 'deepcogito/cogito-v2.1-671b', + name: 'Deep Cogito: Cogito v2.1 671B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 128000, + pricing: { + text: { + input: { + normal: 1.25, + cached: 0, + }, + output: { + normal: 1.25, + }, + }, + image: 0, + }, + } as const +const DEEPSEEK_DEEPSEEK_CHAT = { + id: 'deepseek/deepseek-chat', + name: 'DeepSeek: DeepSeek V3', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 163840, + max_output_tokens: 163840, + pricing: { + text: { + input: { + normal: 0.32, + cached: 0, + }, + output: { + normal: 0.89, + }, + }, + image: 0, + }, + } as const +const DEEPSEEK_DEEPSEEK_CHAT_V3_0324 = { + id: 'deepseek/deepseek-chat-v3-0324', + name: 'DeepSeek: DeepSeek V3 0324', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 163840, + pricing: { + text: { + input: { + normal: 0.2, + cached: 0.135, + }, + output: { + normal: 0.77, + }, + }, + image: 0, + }, + } as const +const DEEPSEEK_DEEPSEEK_CHAT_V3_1 = { + id: 'deepseek/deepseek-chat-v3.1', + name: 'DeepSeek: DeepSeek V3.1', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 32768, + max_output_tokens: 7168, + pricing: { + text: { + input: { + normal: 0.15, + cached: 0, + }, + output: { + normal: 0.75, + }, + }, + image: 0, + }, + } as const +const DEEPSEEK_DEEPSEEK_R1 = { + id: 'deepseek/deepseek-r1', + name: 'DeepSeek: R1', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 64000, + max_output_tokens: 16000, + pricing: { + text: { + input: { + normal: 0.7, + cached: 0, + }, + output: { + normal: 2.5, + }, + }, + image: 0, + }, + } as const +const DEEPSEEK_DEEPSEEK_R1_0528 = { + id: 'deepseek/deepseek-r1-0528', + name: 'DeepSeek: R1 0528', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 163840, + pricing: { + text: { + input: { + normal: 0.5, + cached: 0.35, + }, + output: { + normal: 2.15, + }, + }, + image: 0, + }, + } as const +const DEEPSEEK_DEEPSEEK_R1_DISTILL_LLAMA_70B = { + id: 'deepseek/deepseek-r1-distill-llama-70b', + name: 'DeepSeek: R1 Distill Llama 70B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.7, + cached: 0, + }, + output: { + normal: 0.8, + }, + }, + image: 0, + }, + } as const +const DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_32B = { + id: 'deepseek/deepseek-r1-distill-qwen-32b', + name: 'DeepSeek: R1 Distill Qwen 32B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'stop', 'temperature', 'topLogprobs', 'topP'], + }, + context_window: 32768, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.29, + cached: 0, + }, + output: { + normal: 0.29, + }, + }, + image: 0, + }, + } as const +const DEEPSEEK_DEEPSEEK_V3_1_TERMINUS = { + id: 'deepseek/deepseek-v3.1-terminus', + name: 'DeepSeek: DeepSeek V3.1 Terminus', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 163840, + pricing: { + text: { + input: { + normal: 0.21, + cached: 0.1300000002, + }, + output: { + normal: 0.79, + }, + }, + image: 0, + }, + } as const +const DEEPSEEK_DEEPSEEK_V3_2 = { + id: 'deepseek/deepseek-v3.2', + name: 'DeepSeek: DeepSeek V3.2', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 163840, + pricing: { + text: { + input: { + normal: 0.26, + cached: 0.13, + }, + output: { + normal: 0.38, + }, + }, + image: 0, + }, + } as const +const DEEPSEEK_DEEPSEEK_V3_2_EXP = { + id: 'deepseek/deepseek-v3.2-exp', + name: 'DeepSeek: DeepSeek V3.2 Exp', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 163840, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.27, + cached: 0, + }, + output: { + normal: 0.41, + }, + }, + image: 0, + }, + } as const +const DEEPSEEK_DEEPSEEK_V3_2_SPECIALE = { + id: 'deepseek/deepseek-v3.2-speciale', + name: 'DeepSeek: DeepSeek V3.2 Speciale', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 163840, + max_output_tokens: 163840, + pricing: { + text: { + input: { + normal: 0.4, + cached: 0.2, + }, + output: { + normal: 1.2, + }, + }, + image: 0, + }, + } as const +const ESSENTIALAI_RNJ_1_INSTRUCT = { + id: 'essentialai/rnj-1-instruct', + name: 'EssentialAI: Rnj 1 Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 32768, + pricing: { + text: { + input: { + normal: 0.15, + cached: 0, + }, + output: { + normal: 0.15, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMINI_2_0_FLASH_001 = { + id: 'google/gemini-2.0-flash-001', + name: 'Google: Gemini 2.0 Flash', + supports: { + input: ['text', 'image', 'document', 'audio', 'video'], + output: ['text'], + supports: ['maxCompletionTokens', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0.1083333333, + }, + output: { + normal: 0.4, + }, + }, + image: 1e-7, + }, + } as const +const GOOGLE_GEMINI_2_0_FLASH_LITE_001 = { + id: 'google/gemini-2.0-flash-lite-001', + name: 'Google: Gemini 2.0 Flash Lite', + supports: { + input: ['text', 'image', 'document', 'audio', 'video'], + output: ['text'], + supports: ['maxCompletionTokens', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 0.075, + cached: 0, + }, + output: { + normal: 0.3, + }, + }, + image: 7.5e-8, + }, + } as const +const GOOGLE_GEMINI_2_5_FLASH = { + id: 'google/gemini-2.5-flash', + name: 'Google: Gemini 2.5 Flash', + supports: { + input: ['document', 'image', 'text', 'audio', 'video'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 65535, + pricing: { + text: { + input: { + normal: 0.3, + cached: 0.1133333333, + }, + output: { + normal: 2.5, + }, + }, + image: 3e-7, + }, + } as const +const GOOGLE_GEMINI_2_5_FLASH_IMAGE = { + id: 'google/gemini-2.5-flash-image', + name: 'Google: Nano Banana (Gemini 2.5 Flash Image)', + supports: { + input: ['image', 'text'], + output: ['image', 'text'], + supports: ['maxCompletionTokens', 'responseFormat', 'seed', 'stop', 'temperature', 'topP'], + }, + context_window: 32768, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.3, + cached: 0.1133333333, + }, + output: { + normal: 2.5, + }, + }, + image: 3e-7, + }, + } as const +const GOOGLE_GEMINI_2_5_FLASH_LITE = { + id: 'google/gemini-2.5-flash-lite', + name: 'Google: Gemini 2.5 Flash Lite', + supports: { + input: ['text', 'image', 'document', 'audio', 'video'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 65535, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0.0933333333, + }, + output: { + normal: 0.4, + }, + }, + image: 1e-7, + }, + } as const +const GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025 = { + id: 'google/gemini-2.5-flash-lite-preview-09-2025', + name: 'Google: Gemini 2.5 Flash Lite Preview 09-2025', + supports: { + input: ['text', 'image', 'document', 'audio', 'video'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 65535, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0.0933333333, + }, + output: { + normal: 0.4, + }, + }, + image: 1e-7, + }, + } as const +const GOOGLE_GEMINI_2_5_PRO = { + id: 'google/gemini-2.5-pro', + name: 'Google: Gemini 2.5 Pro', + supports: { + input: ['text', 'image', 'document', 'audio', 'video'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 1.25, + cached: 0.5, + }, + output: { + normal: 10, + }, + }, + image: 0.00000125, + }, + } as const +const GOOGLE_GEMINI_2_5_PRO_PREVIEW = { + id: 'google/gemini-2.5-pro-preview', + name: 'Google: Gemini 2.5 Pro Preview 06-05', + supports: { + input: ['document', 'image', 'text', 'audio'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 1.25, + cached: 0.5, + }, + output: { + normal: 10, + }, + }, + image: 0.00000125, + }, + } as const +const GOOGLE_GEMINI_2_5_PRO_PREVIEW_05_06 = { + id: 'google/gemini-2.5-pro-preview-05-06', + name: 'Google: Gemini 2.5 Pro Preview 05-06', + supports: { + input: ['text', 'image', 'document', 'audio', 'video'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 65535, + pricing: { + text: { + input: { + normal: 1.25, + cached: 0.5, + }, + output: { + normal: 10, + }, + }, + image: 0.00000125, + }, + } as const +const GOOGLE_GEMINI_3_FLASH_PREVIEW = { + id: 'google/gemini-3-flash-preview', + name: 'Google: Gemini 3 Flash Preview', + supports: { + input: ['text', 'image', 'document', 'audio', 'video'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.5, + cached: 0.13333333330000002, + }, + output: { + normal: 3, + }, + }, + image: 5e-7, + }, + } as const +const GOOGLE_GEMINI_3_PRO_IMAGE_PREVIEW = { + id: 'google/gemini-3-pro-image-preview', + name: 'Google: Nano Banana Pro (Gemini 3 Pro Image Preview)', + supports: { + input: ['image', 'text'], + output: ['image', 'text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'topP'], + }, + context_window: 65536, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 2, + cached: 0.575, + }, + output: { + normal: 12, + }, + }, + image: 0.000002, + }, + } as const +const GOOGLE_GEMINI_3_1_FLASH_IMAGE_PREVIEW = { + id: 'google/gemini-3.1-flash-image-preview', + name: 'Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)', + supports: { + input: ['image', 'text'], + output: ['image', 'text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'topP'], + }, + context_window: 65536, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.5, + cached: 0, + }, + output: { + normal: 3, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMINI_3_1_FLASH_LITE_PREVIEW = { + id: 'google/gemini-3.1-flash-lite-preview', + name: 'Google: Gemini 3.1 Flash Lite Preview', + supports: { + input: ['text', 'image', 'video', 'document', 'audio'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.25, + cached: 0.1083333333, + }, + output: { + normal: 1.5, + }, + }, + image: 2.5e-7, + }, + } as const +const GOOGLE_GEMINI_3_1_PRO_PREVIEW = { + id: 'google/gemini-3.1-pro-preview', + name: 'Google: Gemini 3.1 Pro Preview', + supports: { + input: ['audio', 'document', 'image', 'text', 'video'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 2, + cached: 0.575, + }, + output: { + normal: 12, + }, + }, + image: 0.000002, + }, + } as const +const GOOGLE_GEMINI_3_1_PRO_PREVIEW_CUSTOMTOOLS = { + id: 'google/gemini-3.1-pro-preview-customtools', + name: 'Google: Gemini 3.1 Pro Preview Custom Tools', + supports: { + input: ['text', 'audio', 'image', 'video', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 2, + cached: 0.575, + }, + output: { + normal: 12, + }, + }, + image: 0.000002, + }, + } as const +const GOOGLE_GEMMA_2_27B_IT = { + id: 'google/gemma-2-27b-it', + name: 'Google: Gemma 2 27B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'stop', 'temperature', 'topP'], + }, + context_window: 8192, + max_output_tokens: 2048, + pricing: { + text: { + input: { + normal: 0.65, + cached: 0, + }, + output: { + normal: 0.65, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMMA_2_9B_IT = { + id: 'google/gemma-2-9b-it', + name: 'Google: Gemma 2 9B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'temperature', 'topK', 'topP'], + }, + context_window: 8192, + pricing: { + text: { + input: { + normal: 0.03, + cached: 0, + }, + output: { + normal: 0.09, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMMA_3_12B_IT = { + id: 'google/gemma-3-12b-it', + name: 'Google: Gemma 3 12B', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.04, + cached: 0, + }, + output: { + normal: 0.13, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMMA_3_12B_IT_FREE = { + id: 'google/gemma-3-12b-it:free', + name: 'Google: Gemma 3 12B (free)', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['maxCompletionTokens', 'seed', 'stop', 'temperature', 'topP'], + }, + context_window: 32768, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMMA_3_27B_IT = { + id: 'google/gemma-3-27b-it', + name: 'Google: Gemma 3 27B', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.08, + cached: 0, + }, + output: { + normal: 0.16, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMMA_3_27B_IT_FREE = { + id: 'google/gemma-3-27b-it:free', + name: 'Google: Gemma 3 27B (free)', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['maxCompletionTokens', 'responseFormat', 'seed', 'stop', 'temperature', 'topP'], + }, + context_window: 131072, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMMA_3_4B_IT = { + id: 'google/gemma-3-4b-it', + name: 'Google: Gemma 3 4B', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.04, + cached: 0, + }, + output: { + normal: 0.08, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMMA_3_4B_IT_FREE = { + id: 'google/gemma-3-4b-it:free', + name: 'Google: Gemma 3 4B (free)', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['maxCompletionTokens', 'responseFormat', 'seed', 'stop', 'temperature', 'topP'], + }, + context_window: 32768, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMMA_3N_E2B_IT_FREE = { + id: 'google/gemma-3n-e2b-it:free', + name: 'Google: Gemma 3n 2B (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'responseFormat', 'seed', 'temperature', 'topP'], + }, + context_window: 8192, + max_output_tokens: 2048, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMMA_3N_E4B_IT = { + id: 'google/gemma-3n-e4b-it', + name: 'Google: Gemma 3n 4B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 32768, + pricing: { + text: { + input: { + normal: 0.02, + cached: 0, + }, + output: { + normal: 0.04, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMMA_3N_E4B_IT_FREE = { + id: 'google/gemma-3n-e4b-it:free', + name: 'Google: Gemma 3n 4B (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'responseFormat', 'seed', 'temperature', 'topP'], + }, + context_window: 8192, + max_output_tokens: 2048, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMMA_4_26B_A4B_IT = { + id: 'google/gemma-4-26b-a4b-it', + name: 'Google: Gemma 4 26B A4B ', + supports: { + input: ['image', 'text', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0.08, + cached: 0.01, + }, + output: { + normal: 0.35, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMMA_4_26B_A4B_IT_FREE = { + id: 'google/gemma-4-26b-a4b-it:free', + name: 'Google: Gemma 4 26B A4B (free)', + supports: { + input: ['image', 'text', 'video'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 262144, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMMA_4_31B_IT = { + id: 'google/gemma-4-31b-it', + name: 'Google: Gemma 4 31B', + supports: { + input: ['image', 'text', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0.13, + cached: 0.0199999995, + }, + output: { + normal: 0.38, + }, + }, + image: 0, + }, + } as const +const GOOGLE_GEMMA_4_31B_IT_FREE = { + id: 'google/gemma-4-31b-it:free', + name: 'Google: Gemma 4 31B (free)', + supports: { + input: ['image', 'text', 'video'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 262144, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const GOOGLE_LYRIA_3_CLIP_PREVIEW = { + id: 'google/lyria-3-clip-preview', + name: 'Google: Lyria 3 Clip Preview', + supports: { + input: ['text', 'image'], + output: ['text', 'audio'], + supports: ['maxCompletionTokens', 'responseFormat', 'seed', 'temperature', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const GOOGLE_LYRIA_3_PRO_PREVIEW = { + id: 'google/lyria-3-pro-preview', + name: 'Google: Lyria 3 Pro Preview', + supports: { + input: ['text', 'image'], + output: ['text', 'audio'], + supports: ['maxCompletionTokens', 'responseFormat', 'seed', 'temperature', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const GRYPHE_MYTHOMAX_L2_13B = { + id: 'gryphe/mythomax-l2-13b', + name: 'MythoMax 13B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topA', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 4096, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 0.06, + cached: 0, + }, + output: { + normal: 0.06, + }, + }, + image: 0, + }, + } as const +const IBM_GRANITE_GRANITE_4_0_H_MICRO = { + id: 'ibm-granite/granite-4.0-h-micro', + name: 'IBM: Granite 4.0 Micro', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'temperature', 'topK', 'topP'], + }, + context_window: 131000, + pricing: { + text: { + input: { + normal: 0.017, + cached: 0, + }, + output: { + normal: 0.11, + }, + }, + image: 0, + }, + } as const +const INCEPTION_MERCURY = { + id: 'inception/mercury', + name: 'Inception: Mercury', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'responseFormat', 'stop', 'temperature', 'toolChoice'], + }, + context_window: 128000, + max_output_tokens: 32000, + pricing: { + text: { + input: { + normal: 0.25, + cached: 0.025, + }, + output: { + normal: 0.75, + }, + }, + image: 0, + }, + } as const +const INCEPTION_MERCURY_2 = { + id: 'inception/mercury-2', + name: 'Inception: Mercury 2', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice'], + }, + context_window: 128000, + max_output_tokens: 50000, + pricing: { + text: { + input: { + normal: 0.25, + cached: 0.025, + }, + output: { + normal: 0.75, + }, + }, + image: 0, + }, + } as const +const INCEPTION_MERCURY_CODER = { + id: 'inception/mercury-coder', + name: 'Inception: Mercury Coder', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'responseFormat', 'stop', 'temperature', 'toolChoice'], + }, + context_window: 128000, + max_output_tokens: 32000, + pricing: { + text: { + input: { + normal: 0.25, + cached: 0.025, + }, + output: { + normal: 0.75, + }, + }, + image: 0, + }, + } as const +const INFLECTION_INFLECTION_3_PI = { + id: 'inflection/inflection-3-pi', + name: 'Inflection: Inflection 3 Pi', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'stop', 'temperature', 'topP'], + }, + context_window: 8000, + max_output_tokens: 1024, + pricing: { + text: { + input: { + normal: 2.5, + cached: 0, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const INFLECTION_INFLECTION_3_PRODUCTIVITY = { + id: 'inflection/inflection-3-productivity', + name: 'Inflection: Inflection 3 Productivity', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'stop', 'temperature', 'topP'], + }, + context_window: 8000, + max_output_tokens: 1024, + pricing: { + text: { + input: { + normal: 2.5, + cached: 0, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const KWAIPILOT_KAT_CODER_PRO_V2 = { + id: 'kwaipilot/kat-coder-pro-v2', + name: 'Kwaipilot: KAT-Coder-Pro V2', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 256000, + max_output_tokens: 80000, + pricing: { + text: { + input: { + normal: 0.3, + cached: 0.06, + }, + output: { + normal: 1.2, + }, + }, + image: 0, + }, + } as const +const LIQUID_LFM_2_24B_A2B = { + id: 'liquid/lfm-2-24b-a2b', + name: 'LiquidAI: LFM2-24B-A2B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 32768, + pricing: { + text: { + input: { + normal: 0.03, + cached: 0, + }, + output: { + normal: 0.12, + }, + }, + image: 0, + }, + } as const +const LIQUID_LFM_2_5_1_2B_INSTRUCT_FREE = { + id: 'liquid/lfm-2.5-1.2b-instruct:free', + name: 'LiquidAI: LFM2.5-1.2B-Instruct (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 32768, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const LIQUID_LFM_2_5_1_2B_THINKING_FREE = { + id: 'liquid/lfm-2.5-1.2b-thinking:free', + name: 'LiquidAI: LFM2.5-1.2B-Thinking (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 32768, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const MANCER_WEAVER = { + id: 'mancer/weaver', + name: 'Mancer: Weaver (alpha)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topA', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 8000, + max_output_tokens: 2000, + pricing: { + text: { + input: { + normal: 0.75, + cached: 0, + }, + output: { + normal: 1, + }, + }, + image: 0, + }, + } as const +const META_LLAMA_LLAMA_3_70B_INSTRUCT = { + id: 'meta-llama/llama-3-70b-instruct', + name: 'Meta: Llama 3 70B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 8192, + max_output_tokens: 8000, + pricing: { + text: { + input: { + normal: 0.51, + cached: 0, + }, + output: { + normal: 0.74, + }, + }, + image: 0, + }, + } as const +const META_LLAMA_LLAMA_3_8B_INSTRUCT = { + id: 'meta-llama/llama-3-8b-instruct', + name: 'Meta: Llama 3 8B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 8192, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.03, + cached: 0, + }, + output: { + normal: 0.04, + }, + }, + image: 0, + }, + } as const +const META_LLAMA_LLAMA_3_1_70B_INSTRUCT = { + id: 'meta-llama/llama-3.1-70b-instruct', + name: 'Meta: Llama 3.1 70B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.4, + cached: 0, + }, + output: { + normal: 0.4, + }, + }, + image: 0, + }, + } as const +const META_LLAMA_LLAMA_3_1_8B_INSTRUCT = { + id: 'meta-llama/llama-3.1-8b-instruct', + name: 'Meta: Llama 3.1 8B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 16384, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.02, + cached: 0, + }, + output: { + normal: 0.05, + }, + }, + image: 0, + }, + } as const +const META_LLAMA_LLAMA_3_2_11B_VISION_INSTRUCT = { + id: 'meta-llama/llama-3.2-11b-vision-instruct', + name: 'Meta: Llama 3.2 11B Vision Instruct', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.245, + cached: 0, + }, + output: { + normal: 0.245, + }, + }, + image: 0, + }, + } as const +const META_LLAMA_LLAMA_3_2_1B_INSTRUCT = { + id: 'meta-llama/llama-3.2-1b-instruct', + name: 'Meta: Llama 3.2 1B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'temperature', 'topK', 'topP'], + }, + context_window: 60000, + pricing: { + text: { + input: { + normal: 0.027, + cached: 0, + }, + output: { + normal: 0.2, + }, + }, + image: 0, + }, + } as const +const META_LLAMA_LLAMA_3_2_3B_INSTRUCT = { + id: 'meta-llama/llama-3.2-3b-instruct', + name: 'Meta: Llama 3.2 3B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'temperature', 'topK', 'topP'], + }, + context_window: 80000, + pricing: { + text: { + input: { + normal: 0.051, + cached: 0, + }, + output: { + normal: 0.34, + }, + }, + image: 0, + }, + } as const +const META_LLAMA_LLAMA_3_2_3B_INSTRUCT_FREE = { + id: 'meta-llama/llama-3.2-3b-instruct:free', + name: 'Meta: Llama 3.2 3B Instruct (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const META_LLAMA_LLAMA_3_3_70B_INSTRUCT = { + id: 'meta-llama/llama-3.3-70b-instruct', + name: 'Meta: Llama 3.3 70B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 131072, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0, + }, + output: { + normal: 0.32, + }, + }, + image: 0, + }, + } as const +const META_LLAMA_LLAMA_3_3_70B_INSTRUCT_FREE = { + id: 'meta-llama/llama-3.3-70b-instruct:free', + name: 'Meta: Llama 3.3 70B Instruct (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 65536, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const META_LLAMA_LLAMA_4_MAVERICK = { + id: 'meta-llama/llama-4-maverick', + name: 'Meta: Llama 4 Maverick', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.15, + cached: 0, + }, + output: { + normal: 0.6, + }, + }, + image: 0, + }, + } as const +const META_LLAMA_LLAMA_4_SCOUT = { + id: 'meta-llama/llama-4-scout', + name: 'Meta: Llama 4 Scout', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 327680, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.08, + cached: 0, + }, + output: { + normal: 0.3, + }, + }, + image: 0, + }, + } as const +const META_LLAMA_LLAMA_GUARD_3_8B = { + id: 'meta-llama/llama-guard-3-8b', + name: 'Llama Guard 3 8B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.02, + cached: 0, + }, + output: { + normal: 0.06, + }, + }, + image: 0, + }, + } as const +const META_LLAMA_LLAMA_GUARD_4_12B = { + id: 'meta-llama/llama-guard-4-12b', + name: 'Meta: Llama Guard 4 12B', + supports: { + input: ['image', 'text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 163840, + pricing: { + text: { + input: { + normal: 0.18, + cached: 0, + }, + output: { + normal: 0.18, + }, + }, + image: 0, + }, + } as const +const MICROSOFT_PHI_4 = { + id: 'microsoft/phi-4', + name: 'Microsoft: Phi 4', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 16384, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.065, + cached: 0, + }, + output: { + normal: 0.14, + }, + }, + image: 0, + }, + } as const +const MICROSOFT_WIZARDLM_2_8X22B = { + id: 'microsoft/wizardlm-2-8x22b', + name: 'WizardLM-2 8x22B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 65535, + max_output_tokens: 8000, + pricing: { + text: { + input: { + normal: 0.62, + cached: 0, + }, + output: { + normal: 0.62, + }, + }, + image: 0, + }, + } as const +const MINIMAX_MINIMAX_01 = { + id: 'minimax/minimax-01', + name: 'MiniMax: MiniMax-01', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['maxCompletionTokens', 'temperature', 'topP'], + }, + context_window: 1000192, + max_output_tokens: 1000192, + pricing: { + text: { + input: { + normal: 0.2, + cached: 0, + }, + output: { + normal: 1.1, + }, + }, + image: 0, + }, + } as const +const MINIMAX_MINIMAX_M1 = { + id: 'minimax/minimax-m1', + name: 'MiniMax: MiniMax M1', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 1000000, + max_output_tokens: 40000, + pricing: { + text: { + input: { + normal: 0.4, + cached: 0, + }, + output: { + normal: 2.2, + }, + }, + image: 0, + }, + } as const +const MINIMAX_MINIMAX_M2 = { + id: 'minimax/minimax-m2', + name: 'MiniMax: MiniMax M2', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 196608, + max_output_tokens: 196608, + pricing: { + text: { + input: { + normal: 0.255, + cached: 0.03, + }, + output: { + normal: 1, + }, + }, + image: 0, + }, + } as const +const MINIMAX_MINIMAX_M2_HER = { + id: 'minimax/minimax-m2-her', + name: 'MiniMax: MiniMax M2-her', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'temperature', 'topP'], + }, + context_window: 65536, + max_output_tokens: 2048, + pricing: { + text: { + input: { + normal: 0.3, + cached: 0.03, + }, + output: { + normal: 1.2, + }, + }, + image: 0, + }, + } as const +const MINIMAX_MINIMAX_M2_1 = { + id: 'minimax/minimax-m2.1', + name: 'MiniMax: MiniMax M2.1', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 196608, + max_output_tokens: 196608, + pricing: { + text: { + input: { + normal: 0.29, + cached: 0.03, + }, + output: { + normal: 0.95, + }, + }, + image: 0, + }, + } as const +const MINIMAX_MINIMAX_M2_5 = { + id: 'minimax/minimax-m2.5', + name: 'MiniMax: MiniMax M2.5', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'parallelToolCalls', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 196608, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.118, + cached: 0.059, + }, + output: { + normal: 0.99, + }, + }, + image: 0, + }, + } as const +const MINIMAX_MINIMAX_M2_5_FREE = { + id: 'minimax/minimax-m2.5:free', + name: 'MiniMax: MiniMax M2.5 (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature'], + }, + context_window: 196608, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const MINIMAX_MINIMAX_M2_7 = { + id: 'minimax/minimax-m2.7', + name: 'MiniMax: MiniMax M2.7', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 196608, + pricing: { + text: { + input: { + normal: 0.3, + cached: 0.059, + }, + output: { + normal: 1.2, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_CODESTRAL_2508 = { + id: 'mistralai/codestral-2508', + name: 'Mistral: Codestral 2508', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 256000, + pricing: { + text: { + input: { + normal: 0.3, + cached: 0.03, + }, + output: { + normal: 0.9, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_DEVSTRAL_2512 = { + id: 'mistralai/devstral-2512', + name: 'Mistral: Devstral 2 2512', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0.4, + cached: 0.04, + }, + output: { + normal: 2, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_DEVSTRAL_MEDIUM = { + id: 'mistralai/devstral-medium', + name: 'Mistral: Devstral Medium', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.4, + cached: 0.04, + }, + output: { + normal: 2, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_DEVSTRAL_SMALL = { + id: 'mistralai/devstral-small', + name: 'Mistral: Devstral Small 1.1', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0.01, + }, + output: { + normal: 0.3, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MINISTRAL_14B_2512 = { + id: 'mistralai/ministral-14b-2512', + name: 'Mistral: Ministral 3 14B 2512', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0.2, + cached: 0.02, + }, + output: { + normal: 0.2, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MINISTRAL_3B_2512 = { + id: 'mistralai/ministral-3b-2512', + name: 'Mistral: Ministral 3 3B 2512', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0.01, + }, + output: { + normal: 0.1, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MINISTRAL_8B_2512 = { + id: 'mistralai/ministral-8b-2512', + name: 'Mistral: Ministral 3 8B 2512', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0.15, + cached: 0.015, + }, + output: { + normal: 0.15, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MISTRAL_7B_INSTRUCT_V0_1 = { + id: 'mistralai/mistral-7b-instruct-v0.1', + name: 'Mistral: Mistral 7B Instruct v0.1', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'temperature', 'topK', 'topP'], + }, + context_window: 2824, + pricing: { + text: { + input: { + normal: 0.11, + cached: 0, + }, + output: { + normal: 0.19, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MISTRAL_LARGE = { + id: 'mistralai/mistral-large', + name: 'Mistral Large', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 128000, + pricing: { + text: { + input: { + normal: 2, + cached: 0.2, + }, + output: { + normal: 6, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MISTRAL_LARGE_2407 = { + id: 'mistralai/mistral-large-2407', + name: 'Mistral Large 2407', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 2, + cached: 0.2, + }, + output: { + normal: 6, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MISTRAL_LARGE_2411 = { + id: 'mistralai/mistral-large-2411', + name: 'Mistral Large 2411', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 2, + cached: 0.2, + }, + output: { + normal: 6, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MISTRAL_LARGE_2512 = { + id: 'mistralai/mistral-large-2512', + name: 'Mistral: Mistral Large 3 2512', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0.5, + cached: 0.05, + }, + output: { + normal: 1.5, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MISTRAL_MEDIUM_3 = { + id: 'mistralai/mistral-medium-3', + name: 'Mistral: Mistral Medium 3', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.4, + cached: 0.04, + }, + output: { + normal: 2, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MISTRAL_MEDIUM_3_1 = { + id: 'mistralai/mistral-medium-3.1', + name: 'Mistral: Mistral Medium 3.1', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.4, + cached: 0.04, + }, + output: { + normal: 2, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MISTRAL_NEMO = { + id: 'mistralai/mistral-nemo', + name: 'Mistral: Mistral Nemo', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.02, + cached: 0, + }, + output: { + normal: 0.04, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MISTRAL_SABA = { + id: 'mistralai/mistral-saba', + name: 'Mistral: Saba', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 32768, + pricing: { + text: { + input: { + normal: 0.2, + cached: 0.02, + }, + output: { + normal: 0.6, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MISTRAL_SMALL_24B_INSTRUCT_2501 = { + id: 'mistralai/mistral-small-24b-instruct-2501', + name: 'Mistral: Mistral Small 3', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 32768, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.05, + cached: 0, + }, + output: { + normal: 0.08, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MISTRAL_SMALL_2603 = { + id: 'mistralai/mistral-small-2603', + name: 'Mistral: Mistral Small 4', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0.15, + cached: 0.015, + }, + output: { + normal: 0.6, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MISTRAL_SMALL_3_1_24B_INSTRUCT = { + id: 'mistralai/mistral-small-3.1-24b-instruct', + name: 'Mistral: Mistral Small 3.1 24B', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'temperature', 'topK', 'topP'], + }, + context_window: 128000, + pricing: { + text: { + input: { + normal: 0.35, + cached: 0, + }, + output: { + normal: 0.56, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MISTRAL_SMALL_3_2_24B_INSTRUCT = { + id: 'mistralai/mistral-small-3.2-24b-instruct', + name: 'Mistral: Mistral Small 3.2 24B', + supports: { + input: ['image', 'text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 128000, + pricing: { + text: { + input: { + normal: 0.075, + cached: 0, + }, + output: { + normal: 0.2, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MISTRAL_SMALL_CREATIVE = { + id: 'mistralai/mistral-small-creative', + name: 'Mistral: Mistral Small Creative', + supports: { + input: ['text'], + output: ['text'], + supports: ['toolChoice'], + }, + context_window: 32768, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0.01, + }, + output: { + normal: 0.3, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MIXTRAL_8X22B_INSTRUCT = { + id: 'mistralai/mixtral-8x22b-instruct', + name: 'Mistral: Mixtral 8x22B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 65536, + pricing: { + text: { + input: { + normal: 2, + cached: 0.2, + }, + output: { + normal: 6, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_MIXTRAL_8X7B_INSTRUCT = { + id: 'mistralai/mixtral-8x7b-instruct', + name: 'Mistral: Mixtral 8x7B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 32768, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.54, + cached: 0, + }, + output: { + normal: 0.54, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_PIXTRAL_LARGE_2411 = { + id: 'mistralai/pixtral-large-2411', + name: 'Mistral: Pixtral Large 2411', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 2, + cached: 0.2, + }, + output: { + normal: 6, + }, + }, + image: 0, + }, + } as const +const MISTRALAI_VOXTRAL_SMALL_24B_2507 = { + id: 'mistralai/voxtral-small-24b-2507', + name: 'Mistral: Voxtral Small 24B 2507', + supports: { + input: ['text', 'audio'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 32000, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0.01, + }, + output: { + normal: 0.3, + }, + }, + image: 0, + }, + } as const +const MOONSHOTAI_KIMI_K2 = { + id: 'moonshotai/kimi-k2', + name: 'MoonshotAI: Kimi K2 0711', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 0.57, + cached: 0, + }, + output: { + normal: 2.3, + }, + }, + image: 0, + }, + } as const +const MOONSHOTAI_KIMI_K2_0905 = { + id: 'moonshotai/kimi-k2-0905', + name: 'MoonshotAI: Kimi K2 0905', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 262144, + max_output_tokens: 262144, + pricing: { + text: { + input: { + normal: 0.4, + cached: 0, + }, + output: { + normal: 2, + }, + }, + image: 0, + }, + } as const +const MOONSHOTAI_KIMI_K2_THINKING = { + id: 'moonshotai/kimi-k2-thinking', + name: 'MoonshotAI: Kimi K2 Thinking', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0.6, + cached: 0, + }, + output: { + normal: 2.5, + }, + }, + image: 0, + }, + } as const +const MOONSHOTAI_KIMI_K2_5 = { + id: 'moonshotai/kimi-k2.5', + name: 'MoonshotAI: Kimi K2.5', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'parallelToolCalls', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 262144, + max_output_tokens: 65535, + pricing: { + text: { + input: { + normal: 0.3827, + cached: 0.19135, + }, + output: { + normal: 1.72, + }, + }, + image: 0, + }, + } as const +const MORPH_MORPH_V3_FAST = { + id: 'morph/morph-v3-fast', + name: 'Morph: Morph V3 Fast', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'stop', 'temperature'], + }, + context_window: 81920, + max_output_tokens: 38000, + pricing: { + text: { + input: { + normal: 0.8, + cached: 0, + }, + output: { + normal: 1.2, + }, + }, + image: 0, + }, + } as const +const MORPH_MORPH_V3_LARGE = { + id: 'morph/morph-v3-large', + name: 'Morph: Morph V3 Large', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'stop', 'temperature'], + }, + context_window: 262144, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 0.9, + cached: 0, + }, + output: { + normal: 1.9, + }, + }, + image: 0, + }, + } as const +const NEX_AGI_DEEPSEEK_V3_1_NEX_N1 = { + id: 'nex-agi/deepseek-v3.1-nex-n1', + name: 'Nex AGI: DeepSeek V3.1 Nex N1', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'responseFormat', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 163840, + pricing: { + text: { + input: { + normal: 0.135, + cached: 0, + }, + output: { + normal: 0.5, + }, + }, + image: 0, + }, + } as const +const NOUSRESEARCH_HERMES_2_PRO_LLAMA_3_8B = { + id: 'nousresearch/hermes-2-pro-llama-3-8b', + name: 'NousResearch: Hermes 2 Pro - Llama-3 8B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 8192, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 0.14, + cached: 0, + }, + output: { + normal: 0.14, + }, + }, + image: 0, + }, + } as const +const NOUSRESEARCH_HERMES_3_LLAMA_3_1_405B = { + id: 'nousresearch/hermes-3-llama-3.1-405b', + name: 'Nous: Hermes 3 405B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 1, + cached: 0, + }, + output: { + normal: 1, + }, + }, + image: 0, + }, + } as const +const NOUSRESEARCH_HERMES_3_LLAMA_3_1_405B_FREE = { + id: 'nousresearch/hermes-3-llama-3.1-405b:free', + name: 'Nous: Hermes 3 405B Instruct (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const NOUSRESEARCH_HERMES_3_LLAMA_3_1_70B = { + id: 'nousresearch/hermes-3-llama-3.1-70b', + name: 'Nous: Hermes 3 70B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.3, + cached: 0, + }, + output: { + normal: 0.3, + }, + }, + image: 0, + }, + } as const +const NOUSRESEARCH_HERMES_4_405B = { + id: 'nousresearch/hermes-4-405b', + name: 'Nous: Hermes 4 405B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 1, + cached: 0, + }, + output: { + normal: 3, + }, + }, + image: 0, + }, + } as const +const NOUSRESEARCH_HERMES_4_70B = { + id: 'nousresearch/hermes-4-70b', + name: 'Nous: Hermes 4 70B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.13, + cached: 0, + }, + output: { + normal: 0.4, + }, + }, + image: 0, + }, + } as const +const NVIDIA_LLAMA_3_1_NEMOTRON_70B_INSTRUCT = { + id: 'nvidia/llama-3.1-nemotron-70b-instruct', + name: 'NVIDIA: Llama 3.1 Nemotron 70B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 1.2, + cached: 0, + }, + output: { + normal: 1.2, + }, + }, + image: 0, + }, + } as const +const NVIDIA_LLAMA_3_1_NEMOTRON_ULTRA_253B_V1 = { + id: 'nvidia/llama-3.1-nemotron-ultra-253b-v1', + name: 'NVIDIA: Llama 3.1 Nemotron Ultra 253B v1', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.6, + cached: 0, + }, + output: { + normal: 1.8, + }, + }, + image: 0, + }, + } as const +const NVIDIA_LLAMA_3_3_NEMOTRON_SUPER_49B_V1_5 = { + id: 'nvidia/llama-3.3-nemotron-super-49b-v1.5', + name: 'NVIDIA: Llama 3.3 Nemotron Super 49B V1.5', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0, + }, + output: { + normal: 0.4, + }, + }, + image: 0, + }, + } as const +const NVIDIA_NEMOTRON_3_NANO_30B_A3B = { + id: 'nvidia/nemotron-3-nano-30b-a3b', + name: 'NVIDIA: Nemotron 3 Nano 30B A3B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0.05, + cached: 0, + }, + output: { + normal: 0.2, + }, + }, + image: 0, + }, + } as const +const NVIDIA_NEMOTRON_3_NANO_30B_A3B_FREE = { + id: 'nvidia/nemotron-3-nano-30b-a3b:free', + name: 'NVIDIA: Nemotron 3 Nano 30B A3B (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 256000, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const NVIDIA_NEMOTRON_3_SUPER_120B_A12B = { + id: 'nvidia/nemotron-3-super-120b-a12b', + name: 'NVIDIA: Nemotron 3 Super', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0.1, + }, + output: { + normal: 0.5, + }, + }, + image: 0, + }, + } as const +const NVIDIA_NEMOTRON_3_SUPER_120B_A12B_FREE = { + id: 'nvidia/nemotron-3-super-120b-a12b:free', + name: 'NVIDIA: Nemotron 3 Super (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 262144, + max_output_tokens: 262144, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const NVIDIA_NEMOTRON_NANO_12B_V2_VL = { + id: 'nvidia/nemotron-nano-12b-v2-vl', + name: 'NVIDIA: Nemotron Nano 12B 2 VL', + supports: { + input: ['image', 'text', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.2, + cached: 0, + }, + output: { + normal: 0.6, + }, + }, + image: 0, + }, + } as const +const NVIDIA_NEMOTRON_NANO_12B_V2_VL_FREE = { + id: 'nvidia/nemotron-nano-12b-v2-vl:free', + name: 'NVIDIA: Nemotron Nano 12B 2 VL (free)', + supports: { + input: ['image', 'text', 'video'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 128000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const NVIDIA_NEMOTRON_NANO_9B_V2 = { + id: 'nvidia/nemotron-nano-9b-v2', + name: 'NVIDIA: Nemotron Nano 9B V2', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.04, + cached: 0, + }, + output: { + normal: 0.16, + }, + }, + image: 0, + }, + } as const +const NVIDIA_NEMOTRON_NANO_9B_V2_FREE = { + id: 'nvidia/nemotron-nano-9b-v2:free', + name: 'NVIDIA: Nemotron Nano 9B V2 (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 128000, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_3_5_TURBO = { + id: 'openai/gpt-3.5-turbo', + name: 'OpenAI: GPT-3.5 Turbo', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 16385, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 0.5, + cached: 0, + }, + output: { + normal: 1.5, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_3_5_TURBO_0613 = { + id: 'openai/gpt-3.5-turbo-0613', + name: 'OpenAI: GPT-3.5 Turbo (older v0613)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 4095, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 1, + cached: 0, + }, + output: { + normal: 2, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_3_5_TURBO_16K = { + id: 'openai/gpt-3.5-turbo-16k', + name: 'OpenAI: GPT-3.5 Turbo 16k', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 16385, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 3, + cached: 0, + }, + output: { + normal: 4, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_3_5_TURBO_INSTRUCT = { + id: 'openai/gpt-3.5-turbo-instruct', + name: 'OpenAI: GPT-3.5 Turbo Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topLogprobs', 'topP'], + }, + context_window: 4095, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 1.5, + cached: 0, + }, + output: { + normal: 2, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4 = { + id: 'openai/gpt-4', + name: 'OpenAI: GPT-4', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 8191, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 30, + cached: 0, + }, + output: { + normal: 60, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4_0314 = { + id: 'openai/gpt-4-0314', + name: 'OpenAI: GPT-4 (older v0314)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 8191, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 30, + cached: 0, + }, + output: { + normal: 60, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4_1106_PREVIEW = { + id: 'openai/gpt-4-1106-preview', + name: 'OpenAI: GPT-4 Turbo (older v1106)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 128000, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 10, + cached: 0, + }, + output: { + normal: 30, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4_TURBO = { + id: 'openai/gpt-4-turbo', + name: 'OpenAI: GPT-4 Turbo', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 128000, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 10, + cached: 0, + }, + output: { + normal: 30, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4_TURBO_PREVIEW = { + id: 'openai/gpt-4-turbo-preview', + name: 'OpenAI: GPT-4 Turbo Preview', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 128000, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 10, + cached: 0, + }, + output: { + normal: 30, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4_1 = { + id: 'openai/gpt-4.1', + name: 'OpenAI: GPT-4.1', + supports: { + input: ['image', 'text', 'document'], + output: ['text'], + supports: ['maxCompletionTokens', 'maxCompletionTokens', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1047576, + pricing: { + text: { + input: { + normal: 2, + cached: 0.5, + }, + output: { + normal: 8, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4_1_MINI = { + id: 'openai/gpt-4.1-mini', + name: 'OpenAI: GPT-4.1 Mini', + supports: { + input: ['image', 'text', 'document'], + output: ['text'], + supports: ['maxCompletionTokens', 'maxCompletionTokens', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1047576, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.4, + cached: 0.1, + }, + output: { + normal: 1.6, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4_1_NANO = { + id: 'openai/gpt-4.1-nano', + name: 'OpenAI: GPT-4.1 Nano', + supports: { + input: ['image', 'text', 'document'], + output: ['text'], + supports: ['maxCompletionTokens', 'maxCompletionTokens', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1047576, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0.025, + }, + output: { + normal: 0.4, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4O = { + id: 'openai/gpt-4o', + name: 'OpenAI: GPT-4o', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP', 'webSearchOptions'], + }, + context_window: 128000, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 2.5, + cached: 0, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4O_2024_05_13 = { + id: 'openai/gpt-4o-2024-05-13', + name: 'OpenAI: GPT-4o (2024-05-13)', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP', 'webSearchOptions'], + }, + context_window: 128000, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 5, + cached: 0, + }, + output: { + normal: 15, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4O_2024_08_06 = { + id: 'openai/gpt-4o-2024-08-06', + name: 'OpenAI: GPT-4o (2024-08-06)', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP', 'webSearchOptions'], + }, + context_window: 128000, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 2.5, + cached: 1.25, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4O_2024_11_20 = { + id: 'openai/gpt-4o-2024-11-20', + name: 'OpenAI: GPT-4o (2024-11-20)', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP', 'webSearchOptions'], + }, + context_window: 128000, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 2.5, + cached: 1.25, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4O_AUDIO_PREVIEW = { + id: 'openai/gpt-4o-audio-preview', + name: 'OpenAI: GPT-4o Audio', + supports: { + input: ['audio', 'text'], + output: ['text', 'audio'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 128000, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 2.5, + cached: 0, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4O_MINI = { + id: 'openai/gpt-4o-mini', + name: 'OpenAI: GPT-4o-mini', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP', 'webSearchOptions'], + }, + context_window: 128000, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.15, + cached: 0.075, + }, + output: { + normal: 0.6, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4O_MINI_2024_07_18 = { + id: 'openai/gpt-4o-mini-2024-07-18', + name: 'OpenAI: GPT-4o-mini (2024-07-18)', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP', 'webSearchOptions'], + }, + context_window: 128000, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.15, + cached: 0.075, + }, + output: { + normal: 0.6, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4O_MINI_SEARCH_PREVIEW = { + id: 'openai/gpt-4o-mini-search-preview', + name: 'OpenAI: GPT-4o-mini Search Preview', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'responseFormat', 'webSearchOptions'], + }, + context_window: 128000, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.15, + cached: 0, + }, + output: { + normal: 0.6, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4O_SEARCH_PREVIEW = { + id: 'openai/gpt-4o-search-preview', + name: 'OpenAI: GPT-4o Search Preview', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'responseFormat', 'webSearchOptions'], + }, + context_window: 128000, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 2.5, + cached: 0, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_4O_EXTENDED = { + id: 'openai/gpt-4o:extended', + name: 'OpenAI: GPT-4o (extended)', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP', 'webSearchOptions'], + }, + context_window: 128000, + max_output_tokens: 64000, + pricing: { + text: { + input: { + normal: 6, + cached: 0, + }, + output: { + normal: 18, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5 = { + id: 'openai/gpt-5', + name: 'OpenAI: GPT-5', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 1.25, + cached: 0.125, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_CHAT = { + id: 'openai/gpt-5-chat', + name: 'OpenAI: GPT-5 Chat', + supports: { + input: ['document', 'image', 'text'], + output: ['text'], + supports: ['maxCompletionTokens', 'responseFormat', 'seed'], + }, + context_window: 128000, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 1.25, + cached: 0.125, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_CODEX = { + id: 'openai/gpt-5-codex', + name: 'OpenAI: GPT-5 Codex', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 1.25, + cached: 0.125, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_IMAGE = { + id: 'openai/gpt-5-image', + name: 'OpenAI: GPT-5 Image', + supports: { + input: ['image', 'text', 'document'], + output: ['image', 'text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 10, + cached: 1.25, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_IMAGE_MINI = { + id: 'openai/gpt-5-image-mini', + name: 'OpenAI: GPT-5 Image Mini', + supports: { + input: ['document', 'image', 'text'], + output: ['image', 'text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 2.5, + cached: 0.25, + }, + output: { + normal: 2, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_MINI = { + id: 'openai/gpt-5-mini', + name: 'OpenAI: GPT-5 Mini', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 0.25, + cached: 0.025, + }, + output: { + normal: 2, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_NANO = { + id: 'openai/gpt-5-nano', + name: 'OpenAI: GPT-5 Nano', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + pricing: { + text: { + input: { + normal: 0.05, + cached: 0.01, + }, + output: { + normal: 0.4, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_PRO = { + id: 'openai/gpt-5-pro', + name: 'OpenAI: GPT-5 Pro', + supports: { + input: ['image', 'text', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 15, + cached: 0, + }, + output: { + normal: 120, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_1 = { + id: 'openai/gpt-5.1', + name: 'OpenAI: GPT-5.1', + supports: { + input: ['image', 'text', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 1.25, + cached: 0.13, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_1_CHAT = { + id: 'openai/gpt-5.1-chat', + name: 'OpenAI: GPT-5.1 Chat', + supports: { + input: ['document', 'image', 'text'], + output: ['text'], + supports: ['maxCompletionTokens', 'maxCompletionTokens', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 128000, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 1.25, + cached: 0.125, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_1_CODEX = { + id: 'openai/gpt-5.1-codex', + name: 'OpenAI: GPT-5.1-Codex', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 1.25, + cached: 0.125, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_1_CODEX_MAX = { + id: 'openai/gpt-5.1-codex-max', + name: 'OpenAI: GPT-5.1-Codex-Max', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 1.25, + cached: 0.125, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_1_CODEX_MINI = { + id: 'openai/gpt-5.1-codex-mini', + name: 'OpenAI: GPT-5.1-Codex-Mini', + supports: { + input: ['image', 'text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 0.25, + cached: 0.03, + }, + output: { + normal: 2, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_2 = { + id: 'openai/gpt-5.2', + name: 'OpenAI: GPT-5.2', + supports: { + input: ['document', 'image', 'text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 1.75, + cached: 0.175, + }, + output: { + normal: 14, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_2_CHAT = { + id: 'openai/gpt-5.2-chat', + name: 'OpenAI: GPT-5.2 Chat', + supports: { + input: ['document', 'image', 'text'], + output: ['text'], + supports: ['maxCompletionTokens', 'maxCompletionTokens', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 128000, + max_output_tokens: 32000, + pricing: { + text: { + input: { + normal: 1.75, + cached: 0.175, + }, + output: { + normal: 14, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_2_CODEX = { + id: 'openai/gpt-5.2-codex', + name: 'OpenAI: GPT-5.2-Codex', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 1.75, + cached: 0.175, + }, + output: { + normal: 14, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_2_PRO = { + id: 'openai/gpt-5.2-pro', + name: 'OpenAI: GPT-5.2 Pro', + supports: { + input: ['image', 'text', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 21, + cached: 0, + }, + output: { + normal: 168, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_3_CHAT = { + id: 'openai/gpt-5.3-chat', + name: 'OpenAI: GPT-5.3 Chat', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['maxCompletionTokens', 'maxCompletionTokens', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 128000, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 1.75, + cached: 0.175, + }, + output: { + normal: 14, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_3_CODEX = { + id: 'openai/gpt-5.3-codex', + name: 'OpenAI: GPT-5.3-Codex', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 1.75, + cached: 0.175, + }, + output: { + normal: 14, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_4 = { + id: 'openai/gpt-5.4', + name: 'OpenAI: GPT-5.4', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 1050000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 2.5, + cached: 0.25, + }, + output: { + normal: 15, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_4_MINI = { + id: 'openai/gpt-5.4-mini', + name: 'OpenAI: GPT-5.4 Mini', + supports: { + input: ['document', 'image', 'text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 0.75, + cached: 0.075, + }, + output: { + normal: 4.5, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_4_NANO = { + id: 'openai/gpt-5.4-nano', + name: 'OpenAI: GPT-5.4 Nano', + supports: { + input: ['document', 'image', 'text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 400000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 0.2, + cached: 0.02, + }, + output: { + normal: 1.25, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_5_4_PRO = { + id: 'openai/gpt-5.4-pro', + name: 'OpenAI: GPT-5.4 Pro', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 1050000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 30, + cached: 0, + }, + output: { + normal: 180, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_AUDIO = { + id: 'openai/gpt-audio', + name: 'OpenAI: GPT Audio', + supports: { + input: ['text', 'audio'], + output: ['text', 'audio'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 128000, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 2.5, + cached: 0, + }, + output: { + normal: 10, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_AUDIO_MINI = { + id: 'openai/gpt-audio-mini', + name: 'OpenAI: GPT Audio Mini', + supports: { + input: ['text', 'audio'], + output: ['text', 'audio'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 128000, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.6, + cached: 0, + }, + output: { + normal: 2.4, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_OSS_120B = { + id: 'openai/gpt-oss-120b', + name: 'OpenAI: gpt-oss-120b', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.039, + cached: 0, + }, + output: { + normal: 0.19, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_OSS_120B_FREE = { + id: 'openai/gpt-oss-120b:free', + name: 'OpenAI: gpt-oss-120b (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'seed', 'stop', 'temperature', 'toolChoice'], + }, + context_window: 131072, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_OSS_20B = { + id: 'openai/gpt-oss-20b', + name: 'OpenAI: gpt-oss-20b', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.03, + cached: 0, + }, + output: { + normal: 0.14, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_OSS_20B_FREE = { + id: 'openai/gpt-oss-20b:free', + name: 'OpenAI: gpt-oss-20b (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'seed', 'stop', 'temperature', 'toolChoice'], + }, + context_window: 131072, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const OPENAI_GPT_OSS_SAFEGUARD_20B = { + id: 'openai/gpt-oss-safeguard-20b', + name: 'OpenAI: gpt-oss-safeguard-20b', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.075, + cached: 0.037, + }, + output: { + normal: 0.3, + }, + }, + image: 0, + }, + } as const +const OPENAI_O1 = { + id: 'openai/o1', + name: 'OpenAI: o1', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 200000, + max_output_tokens: 100000, + pricing: { + text: { + input: { + normal: 15, + cached: 7.5, + }, + output: { + normal: 60, + }, + }, + image: 0, + }, + } as const +const OPENAI_O1_PRO = { + id: 'openai/o1-pro', + name: 'OpenAI: o1-pro', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed'], + }, + context_window: 200000, + max_output_tokens: 100000, + pricing: { + text: { + input: { + normal: 150, + cached: 0, + }, + output: { + normal: 600, + }, + }, + image: 0, + }, + } as const +const OPENAI_O3 = { + id: 'openai/o3', + name: 'OpenAI: o3', + supports: { + input: ['image', 'text', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 200000, + max_output_tokens: 100000, + pricing: { + text: { + input: { + normal: 2, + cached: 0.5, + }, + output: { + normal: 8, + }, + }, + image: 0, + }, + } as const +const OPENAI_O3_DEEP_RESEARCH = { + id: 'openai/o3-deep-research', + name: 'OpenAI: o3 Deep Research', + supports: { + input: ['image', 'text', 'document'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 200000, + max_output_tokens: 100000, + pricing: { + text: { + input: { + normal: 10, + cached: 2.5, + }, + output: { + normal: 40, + }, + }, + image: 0, + }, + } as const +const OPENAI_O3_MINI = { + id: 'openai/o3-mini', + name: 'OpenAI: o3 Mini', + supports: { + input: ['text', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 200000, + max_output_tokens: 100000, + pricing: { + text: { + input: { + normal: 1.1, + cached: 0.55, + }, + output: { + normal: 4.4, + }, + }, + image: 0, + }, + } as const +const OPENAI_O3_MINI_HIGH = { + id: 'openai/o3-mini-high', + name: 'OpenAI: o3 Mini High', + supports: { + input: ['text', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 200000, + max_output_tokens: 100000, + pricing: { + text: { + input: { + normal: 1.1, + cached: 0.55, + }, + output: { + normal: 4.4, + }, + }, + image: 0, + }, + } as const +const OPENAI_O3_PRO = { + id: 'openai/o3-pro', + name: 'OpenAI: o3 Pro', + supports: { + input: ['text', 'document', 'image'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 200000, + max_output_tokens: 100000, + pricing: { + text: { + input: { + normal: 20, + cached: 0, + }, + output: { + normal: 80, + }, + }, + image: 0, + }, + } as const +const OPENAI_O4_MINI = { + id: 'openai/o4-mini', + name: 'OpenAI: o4 Mini', + supports: { + input: ['image', 'text', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 200000, + max_output_tokens: 100000, + pricing: { + text: { + input: { + normal: 1.1, + cached: 0.275, + }, + output: { + normal: 4.4, + }, + }, + image: 0, + }, + } as const +const OPENAI_O4_MINI_DEEP_RESEARCH = { + id: 'openai/o4-mini-deep-research', + name: 'OpenAI: o4 Mini Deep Research', + supports: { + input: ['document', 'image', 'text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 200000, + max_output_tokens: 100000, + pricing: { + text: { + input: { + normal: 2, + cached: 0.5, + }, + output: { + normal: 8, + }, + }, + image: 0, + }, + } as const +const OPENAI_O4_MINI_HIGH = { + id: 'openai/o4-mini-high', + name: 'OpenAI: o4 Mini High', + supports: { + input: ['image', 'text', 'document'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'toolChoice'], + }, + context_window: 200000, + max_output_tokens: 100000, + pricing: { + text: { + input: { + normal: 1.1, + cached: 0.275, + }, + output: { + normal: 4.4, + }, + }, + image: 0, + }, + } as const +const OPENROUTER_AUTO = { + id: 'openrouter/auto', + name: 'Auto Router', + supports: { + input: ['text', 'image', 'audio', 'document', 'video'], + output: ['text', 'image'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP', 'webSearchOptions'], + }, + context_window: 2000000, + pricing: { + text: { + input: { + normal: -1000000, + cached: 0, + }, + output: { + normal: -1000000, + }, + }, + image: 0, + }, + } as const +const OPENROUTER_BODYBUILDER = { + id: 'openrouter/bodybuilder', + name: 'Body Builder (beta)', + supports: { + input: ['text'], + output: ['text'], + supports: [], + }, + context_window: 128000, + pricing: { + text: { + input: { + normal: -1000000, + cached: 0, + }, + output: { + normal: -1000000, + }, + }, + image: 0, + }, + } as const +const OPENROUTER_ELEPHANT_ALPHA = { + id: 'openrouter/elephant-alpha', + name: 'Elephant', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'responseFormat', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 262144, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const OPENROUTER_FREE = { + id: 'openrouter/free', + name: 'Free Models Router', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 200000, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const PERPLEXITY_SONAR = { + id: 'perplexity/sonar', + name: 'Perplexity: Sonar', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'temperature', 'topK', 'topP', 'webSearchOptions'], + }, + context_window: 127072, + pricing: { + text: { + input: { + normal: 1, + cached: 0, + }, + output: { + normal: 1, + }, + }, + image: 0, + }, + } as const +const PERPLEXITY_SONAR_DEEP_RESEARCH = { + id: 'perplexity/sonar-deep-research', + name: 'Perplexity: Sonar Deep Research', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'temperature', 'topK', 'topP', 'webSearchOptions'], + }, + context_window: 128000, + pricing: { + text: { + input: { + normal: 2, + cached: 0, + }, + output: { + normal: 8, + }, + }, + image: 0, + }, + } as const +const PERPLEXITY_SONAR_PRO = { + id: 'perplexity/sonar-pro', + name: 'Perplexity: Sonar Pro', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'temperature', 'topK', 'topP', 'webSearchOptions'], + }, + context_window: 200000, + max_output_tokens: 8000, + pricing: { + text: { + input: { + normal: 3, + cached: 0, + }, + output: { + normal: 15, + }, + }, + image: 0, + }, + } as const +const PERPLEXITY_SONAR_PRO_SEARCH = { + id: 'perplexity/sonar-pro-search', + name: 'Perplexity: Sonar Pro Search', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'temperature', 'topK', 'topP', 'webSearchOptions'], + }, + context_window: 200000, + max_output_tokens: 8000, + pricing: { + text: { + input: { + normal: 3, + cached: 0, + }, + output: { + normal: 15, + }, + }, + image: 0, + }, + } as const +const PERPLEXITY_SONAR_REASONING_PRO = { + id: 'perplexity/sonar-reasoning-pro', + name: 'Perplexity: Sonar Reasoning Pro', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'temperature', 'topK', 'topP', 'webSearchOptions'], + }, + context_window: 128000, + pricing: { + text: { + input: { + normal: 2, + cached: 0, + }, + output: { + normal: 8, + }, + }, + image: 0, + }, + } as const +const PRIME_INTELLECT_INTELLECT_3 = { + id: 'prime-intellect/intellect-3', + name: 'Prime Intellect: INTELLECT-3', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 0.2, + cached: 0, + }, + output: { + normal: 1.1, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN_2_5_72B_INSTRUCT = { + id: 'qwen/qwen-2.5-72b-instruct', + name: 'Qwen2.5 72B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 32768, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.12, + cached: 0, + }, + output: { + normal: 0.39, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN_2_5_7B_INSTRUCT = { + id: 'qwen/qwen-2.5-7b-instruct', + name: 'Qwen: Qwen2.5 7B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 32768, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.04, + cached: 0, + }, + output: { + normal: 0.1, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN_2_5_CODER_32B_INSTRUCT = { + id: 'qwen/qwen-2.5-coder-32b-instruct', + name: 'Qwen2.5 Coder 32B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'temperature', 'topK', 'topP'], + }, + context_window: 32768, + pricing: { + text: { + input: { + normal: 0.66, + cached: 0, + }, + output: { + normal: 1, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN_MAX = { + id: 'qwen/qwen-max', + name: 'Qwen: Qwen-Max ', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 32768, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 1.04, + cached: 0.208, + }, + output: { + normal: 4.16, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN_PLUS = { + id: 'qwen/qwen-plus', + name: 'Qwen: Qwen-Plus', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1000000, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.26, + cached: 0.052, + }, + output: { + normal: 0.78, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN_PLUS_2025_07_28 = { + id: 'qwen/qwen-plus-2025-07-28', + name: 'Qwen: Qwen Plus 0728', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1000000, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.26, + cached: 0, + }, + output: { + normal: 0.78, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN_PLUS_2025_07_28_THINKING = { + id: 'qwen/qwen-plus-2025-07-28:thinking', + name: 'Qwen: Qwen Plus 0728 (thinking)', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1000000, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.26, + cached: 0, + }, + output: { + normal: 0.78, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN_TURBO = { + id: 'qwen/qwen-turbo', + name: 'Qwen: Qwen-Turbo', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 0.0325, + cached: 0.0065, + }, + output: { + normal: 0.13, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN_VL_MAX = { + id: 'qwen/qwen-vl-max', + name: 'Qwen: Qwen VL Max', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.52, + cached: 0, + }, + output: { + normal: 2.08, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN_VL_PLUS = { + id: 'qwen/qwen-vl-plus', + name: 'Qwen: Qwen VL Plus', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'temperature', 'topP'], + }, + context_window: 131072, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 0.1365, + cached: 0.0273, + }, + output: { + normal: 0.4095, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN2_5_CODER_7B_INSTRUCT = { + id: 'qwen/qwen2.5-coder-7b-instruct', + name: 'Qwen: Qwen2.5 Coder 7B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'temperature', 'topK', 'topP'], + }, + context_window: 32768, + pricing: { + text: { + input: { + normal: 0.03, + cached: 0, + }, + output: { + normal: 0.09, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN2_5_VL_32B_INSTRUCT = { + id: 'qwen/qwen2.5-vl-32b-instruct', + name: 'Qwen: Qwen2.5 VL 32B Instruct', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 128000, + pricing: { + text: { + input: { + normal: 0.2, + cached: 0, + }, + output: { + normal: 0.6, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN2_5_VL_72B_INSTRUCT = { + id: 'qwen/qwen2.5-vl-72b-instruct', + name: 'Qwen: Qwen2.5 VL 72B Instruct', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 32768, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.8, + cached: 0, + }, + output: { + normal: 0.8, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_14B = { + id: 'qwen/qwen3-14b', + name: 'Qwen: Qwen3 14B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 40960, + max_output_tokens: 40960, + pricing: { + text: { + input: { + normal: 0.06, + cached: 0, + }, + output: { + normal: 0.24, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_235B_A22B = { + id: 'qwen/qwen3-235b-a22b', + name: 'Qwen: Qwen3 235B A22B', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 0.455, + cached: 0, + }, + output: { + normal: 1.82, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_235B_A22B_2507 = { + id: 'qwen/qwen3-235b-a22b-2507', + name: 'Qwen: Qwen3 235B A22B Instruct 2507', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0.071, + cached: 0, + }, + output: { + normal: 0.1, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_235B_A22B_THINKING_2507 = { + id: 'qwen/qwen3-235b-a22b-thinking-2507', + name: 'Qwen: Qwen3 235B A22B Thinking 2507', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.1495, + cached: 0, + }, + output: { + normal: 1.495, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_30B_A3B = { + id: 'qwen/qwen3-30b-a3b', + name: 'Qwen: Qwen3 30B A3B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 40960, + max_output_tokens: 40960, + pricing: { + text: { + input: { + normal: 0.08, + cached: 0, + }, + output: { + normal: 0.28, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_30B_A3B_INSTRUCT_2507 = { + id: 'qwen/qwen3-30b-a3b-instruct-2507', + name: 'Qwen: Qwen3 30B A3B Instruct 2507', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + max_output_tokens: 262144, + pricing: { + text: { + input: { + normal: 0.09, + cached: 0, + }, + output: { + normal: 0.3, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_30B_A3B_THINKING_2507 = { + id: 'qwen/qwen3-30b-a3b-thinking-2507', + name: 'Qwen: Qwen3 30B A3B Thinking 2507', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 0.08, + cached: 0.08, + }, + output: { + normal: 0.4, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_32B = { + id: 'qwen/qwen3-32b', + name: 'Qwen: Qwen3 32B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 40960, + max_output_tokens: 40960, + pricing: { + text: { + input: { + normal: 0.08, + cached: 0.04, + }, + output: { + normal: 0.24, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_8B = { + id: 'qwen/qwen3-8b', + name: 'Qwen: Qwen3 8B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 40960, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 0.05, + cached: 0.05, + }, + output: { + normal: 0.4, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_CODER = { + id: 'qwen/qwen3-coder', + name: 'Qwen: Qwen3 Coder 480B A35B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0.22, + cached: 0.022, + }, + output: { + normal: 1, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_CODER_30B_A3B_INSTRUCT = { + id: 'qwen/qwen3-coder-30b-a3b-instruct', + name: 'Qwen: Qwen3 Coder 30B A3B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 160000, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.07, + cached: 0, + }, + output: { + normal: 0.27, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_CODER_FLASH = { + id: 'qwen/qwen3-coder-flash', + name: 'Qwen: Qwen3 Coder Flash', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1000000, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.195, + cached: 0.039, + }, + output: { + normal: 0.975, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_CODER_NEXT = { + id: 'qwen/qwen3-coder-next', + name: 'Qwen: Qwen3 Coder Next', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + max_output_tokens: 262144, + pricing: { + text: { + input: { + normal: 0.15, + cached: 0.12, + }, + output: { + normal: 0.8, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_CODER_PLUS = { + id: 'qwen/qwen3-coder-plus', + name: 'Qwen: Qwen3 Coder Plus', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1000000, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.65, + cached: 0.13, + }, + output: { + normal: 3.25, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_CODER_FREE = { + id: 'qwen/qwen3-coder:free', + name: 'Qwen: Qwen3 Coder 480B A35B (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262000, + max_output_tokens: 262000, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_MAX = { + id: 'qwen/qwen3-max', + name: 'Qwen: Qwen3 Max', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 262144, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.78, + cached: 0.156, + }, + output: { + normal: 3.9, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_MAX_THINKING = { + id: 'qwen/qwen3-max-thinking', + name: 'Qwen: Qwen3 Max Thinking', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 262144, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.78, + cached: 0, + }, + output: { + normal: 3.9, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_NEXT_80B_A3B_INSTRUCT = { + id: 'qwen/qwen3-next-80b-a3b-instruct', + name: 'Qwen: Qwen3 Next 80B A3B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0.09, + cached: 0, + }, + output: { + normal: 1.1, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_NEXT_80B_A3B_INSTRUCT_FREE = { + id: 'qwen/qwen3-next-80b-a3b-instruct:free', + name: 'Qwen: Qwen3 Next 80B A3B Instruct (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_NEXT_80B_A3B_THINKING = { + id: 'qwen/qwen3-next-80b-a3b-thinking', + name: 'Qwen: Qwen3 Next 80B A3B Thinking', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.0975, + cached: 0, + }, + output: { + normal: 0.78, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_VL_235B_A22B_INSTRUCT = { + id: 'qwen/qwen3-vl-235b-a22b-instruct', + name: 'Qwen: Qwen3 VL 235B A22B Instruct', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + pricing: { + text: { + input: { + normal: 0.2, + cached: 0.11, + }, + output: { + normal: 0.88, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_VL_235B_A22B_THINKING = { + id: 'qwen/qwen3-vl-235b-a22b-thinking', + name: 'Qwen: Qwen3 VL 235B A22B Thinking', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.26, + cached: 0, + }, + output: { + normal: 2.6, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_VL_30B_A3B_INSTRUCT = { + id: 'qwen/qwen3-vl-30b-a3b-instruct', + name: 'Qwen: Qwen3 VL 30B A3B Instruct', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.13, + cached: 0, + }, + output: { + normal: 0.52, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_VL_30B_A3B_THINKING = { + id: 'qwen/qwen3-vl-30b-a3b-thinking', + name: 'Qwen: Qwen3 VL 30B A3B Thinking', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.13, + cached: 0, + }, + output: { + normal: 1.56, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_VL_32B_INSTRUCT = { + id: 'qwen/qwen3-vl-32b-instruct', + name: 'Qwen: Qwen3 VL 32B Instruct', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.104, + cached: 0, + }, + output: { + normal: 0.416, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_VL_8B_INSTRUCT = { + id: 'qwen/qwen3-vl-8b-instruct', + name: 'Qwen: Qwen3 VL 8B Instruct', + supports: { + input: ['image', 'text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.08, + cached: 0, + }, + output: { + normal: 0.5, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_VL_8B_THINKING = { + id: 'qwen/qwen3-vl-8b-thinking', + name: 'Qwen: Qwen3 VL 8B Thinking', + supports: { + input: ['image', 'text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.117, + cached: 0, + }, + output: { + normal: 1.365, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_5_122B_A10B = { + id: 'qwen/qwen3.5-122b-a10b', + name: 'Qwen: Qwen3.5-122B-A10B', + supports: { + input: ['text', 'image', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 262144, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.26, + cached: 0, + }, + output: { + normal: 2.08, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_5_27B = { + id: 'qwen/qwen3.5-27b', + name: 'Qwen: Qwen3.5-27B', + supports: { + input: ['text', 'image', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 262144, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.195, + cached: 0, + }, + output: { + normal: 1.56, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_5_35B_A3B = { + id: 'qwen/qwen3.5-35b-a3b', + name: 'Qwen: Qwen3.5-35B-A3B', + supports: { + input: ['text', 'image', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 262144, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.1625, + cached: 0, + }, + output: { + normal: 1.3, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_5_397B_A17B = { + id: 'qwen/qwen3.5-397b-a17b', + name: 'Qwen: Qwen3.5 397B A17B', + supports: { + input: ['text', 'image', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.39, + cached: 0, + }, + output: { + normal: 2.34, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_5_9B = { + id: 'qwen/qwen3.5-9b', + name: 'Qwen: Qwen3.5-9B', + supports: { + input: ['text', 'image', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 256000, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.05, + cached: 0, + }, + output: { + normal: 0.15, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_5_FLASH_02_23 = { + id: 'qwen/qwen3.5-flash-02-23', + name: 'Qwen: Qwen3.5-Flash', + supports: { + input: ['text', 'image', 'video'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1000000, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.065, + cached: 0, + }, + output: { + normal: 0.26, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_5_PLUS_02_15 = { + id: 'qwen/qwen3.5-plus-02-15', + name: 'Qwen: Qwen3.5 Plus 2026-02-15', + supports: { + input: ['text', 'image', 'video'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1000000, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.26, + cached: 0, + }, + output: { + normal: 1.56, + }, + }, + image: 0, + }, + } as const +const QWEN_QWEN3_6_PLUS = { + id: 'qwen/qwen3.6-plus', + name: 'Qwen: Qwen3.6 Plus', + supports: { + input: ['text', 'image', 'video'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1000000, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.325, + cached: 0, + }, + output: { + normal: 1.95, + }, + }, + image: 0, + }, + } as const +const QWEN_QWQ_32B = { + id: 'qwen/qwq-32b', + name: 'Qwen: QwQ 32B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'reasoning', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 0.15, + cached: 0, + }, + output: { + normal: 0.58, + }, + }, + image: 0, + }, + } as const +const REKAAI_REKA_EDGE = { + id: 'rekaai/reka-edge', + name: 'Reka Edge', + supports: { + input: ['image', 'text', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 16384, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0, + }, + output: { + normal: 0.1, + }, + }, + image: 0, + }, + } as const +const REKAAI_REKA_FLASH_3 = { + id: 'rekaai/reka-flash-3', + name: 'Reka Flash 3', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 65536, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0, + }, + output: { + normal: 0.2, + }, + }, + image: 0, + }, + } as const +const RELACE_RELACE_APPLY_3 = { + id: 'relace/relace-apply-3', + name: 'Relace: Relace Apply 3', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'seed', 'stop'], + }, + context_window: 256000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 0.85, + cached: 0, + }, + output: { + normal: 1.25, + }, + }, + image: 0, + }, + } as const +const RELACE_RELACE_SEARCH = { + id: 'relace/relace-search', + name: 'Relace: Relace Search', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'seed', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 256000, + max_output_tokens: 128000, + pricing: { + text: { + input: { + normal: 1, + cached: 0, + }, + output: { + normal: 3, + }, + }, + image: 0, + }, + } as const +const SAO10K_L3_EURYALE_70B = { + id: 'sao10k/l3-euryale-70b', + name: 'Sao10k: Llama 3 Euryale 70B v2.1', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 8192, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 1.48, + cached: 0, + }, + output: { + normal: 1.48, + }, + }, + image: 0, + }, + } as const +const SAO10K_L3_LUNARIS_8B = { + id: 'sao10k/l3-lunaris-8b', + name: 'Sao10K: Llama 3 8B Lunaris', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 8192, + pricing: { + text: { + input: { + normal: 0.04, + cached: 0, + }, + output: { + normal: 0.05, + }, + }, + image: 0, + }, + } as const +const SAO10K_L3_1_70B_HANAMI_X1 = { + id: 'sao10k/l3.1-70b-hanami-x1', + name: 'Sao10K: Llama 3.1 70B Hanami x1', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 16000, + pricing: { + text: { + input: { + normal: 3, + cached: 0, + }, + output: { + normal: 3, + }, + }, + image: 0, + }, + } as const +const SAO10K_L3_1_EURYALE_70B = { + id: 'sao10k/l3.1-euryale-70b', + name: 'Sao10K: Llama 3.1 Euryale 70B v2.2', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.85, + cached: 0, + }, + output: { + normal: 0.85, + }, + }, + image: 0, + }, + } as const +const SAO10K_L3_3_EURYALE_70B = { + id: 'sao10k/l3.3-euryale-70b', + name: 'Sao10K: Llama 3.3 Euryale 70B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 131072, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.65, + cached: 0, + }, + output: { + normal: 0.75, + }, + }, + image: 0, + }, + } as const +const STEPFUN_STEP_3_5_FLASH = { + id: 'stepfun/step-3.5-flash', + name: 'StepFun: Step 3.5 Flash', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0, + }, + output: { + normal: 0.3, + }, + }, + image: 0, + }, + } as const +const SWITCHPOINT_ROUTER = { + id: 'switchpoint/router', + name: 'Switchpoint Router', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.85, + cached: 0, + }, + output: { + normal: 3.4, + }, + }, + image: 0, + }, + } as const +const TENCENT_HUNYUAN_A13B_INSTRUCT = { + id: 'tencent/hunyuan-a13b-instruct', + name: 'Tencent: Hunyuan A13B Instruct', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'reasoning', 'responseFormat', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 0.14, + cached: 0, + }, + output: { + normal: 0.57, + }, + }, + image: 0, + }, + } as const +const THEDRUMMER_CYDONIA_24B_V4_1 = { + id: 'thedrummer/cydonia-24b-v4.1', + name: 'TheDrummer: Cydonia 24B V4.1', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 0.3, + cached: 0.15, + }, + output: { + normal: 0.5, + }, + }, + image: 0, + }, + } as const +const THEDRUMMER_ROCINANTE_12B = { + id: 'thedrummer/rocinante-12b', + name: 'TheDrummer: Rocinante 12B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 32768, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.17, + cached: 0, + }, + output: { + normal: 0.43, + }, + }, + image: 0, + }, + } as const +const THEDRUMMER_SKYFALL_36B_V2 = { + id: 'thedrummer/skyfall-36b-v2', + name: 'TheDrummer: Skyfall 36B V2', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 32768, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.55, + cached: 0.25, + }, + output: { + normal: 0.8, + }, + }, + image: 0, + }, + } as const +const THEDRUMMER_UNSLOPNEMO_12B = { + id: 'thedrummer/unslopnemo-12b', + name: 'TheDrummer: UnslopNemo 12B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 32768, + max_output_tokens: 32768, + pricing: { + text: { + input: { + normal: 0.4, + cached: 0, + }, + output: { + normal: 0.4, + }, + }, + image: 0, + }, + } as const +const TNGTECH_DEEPSEEK_R1T2_CHIMERA = { + id: 'tngtech/deepseek-r1t2-chimera', + name: 'TNG: DeepSeek R1T2 Chimera', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 163840, + max_output_tokens: 163840, + pricing: { + text: { + input: { + normal: 0.3, + cached: 0.15, + }, + output: { + normal: 1.1, + }, + }, + image: 0, + }, + } as const +const UNDI95_REMM_SLERP_L2_13B = { + id: 'undi95/remm-slerp-l2-13b', + name: 'ReMM SLERP 13B', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'topA', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 6144, + max_output_tokens: 4096, + pricing: { + text: { + input: { + normal: 0.45, + cached: 0, + }, + output: { + normal: 0.65, + }, + }, + image: 0, + }, + } as const +const UPSTAGE_SOLAR_PRO_3 = { + id: 'upstage/solar-pro-3', + name: 'Upstage: Solar Pro 3', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'temperature', 'toolChoice'], + }, + context_window: 128000, + pricing: { + text: { + input: { + normal: 0.15, + cached: 0.015, + }, + output: { + normal: 0.6, + }, + }, + image: 0, + }, + } as const +const WRITER_PALMYRA_X5 = { + id: 'writer/palmyra-x5', + name: 'Writer: Palmyra X5', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'stop', 'temperature', 'topK', 'topP'], + }, + context_window: 1040000, + max_output_tokens: 8192, + pricing: { + text: { + input: { + normal: 0.6, + cached: 0, + }, + output: { + normal: 6, + }, + }, + image: 0, + }, + } as const +const X_AI_GROK_3 = { + id: 'x-ai/grok-3', + name: 'xAI: Grok 3', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 3, + cached: 0.75, + }, + output: { + normal: 15, + }, + }, + image: 0, + }, + } as const +const X_AI_GROK_3_BETA = { + id: 'x-ai/grok-3-beta', + name: 'xAI: Grok 3 Beta', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 3, + cached: 0.75, + }, + output: { + normal: 15, + }, + }, + image: 0, + }, + } as const +const X_AI_GROK_3_MINI = { + id: 'x-ai/grok-3-mini', + name: 'xAI: Grok 3 Mini', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'logprobs', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.3, + cached: 0.075, + }, + output: { + normal: 0.5, + }, + }, + image: 0, + }, + } as const +const X_AI_GROK_3_MINI_BETA = { + id: 'x-ai/grok-3-mini-beta', + name: 'xAI: Grok 3 Mini Beta', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'logprobs', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 131072, + pricing: { + text: { + input: { + normal: 0.3, + cached: 0.075, + }, + output: { + normal: 0.5, + }, + }, + image: 0, + }, + } as const +const X_AI_GROK_4 = { + id: 'x-ai/grok-4', + name: 'xAI: Grok 4', + supports: { + input: ['image', 'text', 'document'], + output: ['text'], + supports: ['includeReasoning', 'logprobs', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 256000, + pricing: { + text: { + input: { + normal: 3, + cached: 0.75, + }, + output: { + normal: 15, + }, + }, + image: 0, + }, + } as const +const X_AI_GROK_4_FAST = { + id: 'x-ai/grok-4-fast', + name: 'xAI: Grok 4 Fast', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'logprobs', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 2000000, + max_output_tokens: 30000, + pricing: { + text: { + input: { + normal: 0.2, + cached: 0.05, + }, + output: { + normal: 0.5, + }, + }, + image: 0, + }, + } as const +const X_AI_GROK_4_1_FAST = { + id: 'x-ai/grok-4.1-fast', + name: 'xAI: Grok 4.1 Fast', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'logprobs', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 2000000, + max_output_tokens: 30000, + pricing: { + text: { + input: { + normal: 0.2, + cached: 0.05, + }, + output: { + normal: 0.5, + }, + }, + image: 0, + }, + } as const +const X_AI_GROK_4_20 = { + id: 'x-ai/grok-4.20', + name: 'xAI: Grok 4.20', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'logprobs', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 2000000, + pricing: { + text: { + input: { + normal: 2, + cached: 0.2, + }, + output: { + normal: 6, + }, + }, + image: 0, + }, + } as const +const X_AI_GROK_4_20_MULTI_AGENT = { + id: 'x-ai/grok-4.20-multi-agent', + name: 'xAI: Grok 4.20 Multi-Agent', + supports: { + input: ['text', 'image', 'document'], + output: ['text'], + supports: ['includeReasoning', 'logprobs', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'temperature', 'topLogprobs', 'topP'], + }, + context_window: 2000000, + pricing: { + text: { + input: { + normal: 2, + cached: 0.2, + }, + output: { + normal: 6, + }, + }, + image: 0, + }, + } as const +const X_AI_GROK_CODE_FAST_1 = { + id: 'x-ai/grok-code-fast-1', + name: 'xAI: Grok Code Fast 1', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'logprobs', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topLogprobs', 'topP'], + }, + context_window: 256000, + max_output_tokens: 10000, + pricing: { + text: { + input: { + normal: 0.2, + cached: 0.02, + }, + output: { + normal: 1.5, + }, + }, + image: 0, + }, + } as const +const XIAOMI_MIMO_V2_FLASH = { + id: 'xiaomi/mimo-v2-flash', + name: 'Xiaomi: MiMo-V2-Flash', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 262144, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.09, + cached: 0.045, + }, + output: { + normal: 0.29, + }, + }, + image: 0, + }, + } as const +const XIAOMI_MIMO_V2_OMNI = { + id: 'xiaomi/mimo-v2-omni', + name: 'Xiaomi: MiMo-V2-Omni', + supports: { + input: ['text', 'audio', 'image', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 262144, + max_output_tokens: 65536, + pricing: { + text: { + input: { + normal: 0.4, + cached: 0.08, + }, + output: { + normal: 2, + }, + }, + image: 0, + }, + } as const +const XIAOMI_MIMO_V2_PRO = { + id: 'xiaomi/mimo-v2-pro', + name: 'Xiaomi: MiMo-V2-Pro', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'responseFormat', 'stop', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 1048576, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 1, + cached: 0.2, + }, + output: { + normal: 3, + }, + }, + image: 0, + }, + } as const +const Z_AI_GLM_4_32B = { + id: 'z-ai/glm-4-32b', + name: 'Z.ai: GLM 4 32B ', + supports: { + input: ['text'], + output: ['text'], + supports: ['maxCompletionTokens', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 128000, + pricing: { + text: { + input: { + normal: 0.1, + cached: 0, + }, + output: { + normal: 0.1, + }, + }, + image: 0, + }, + } as const +const Z_AI_GLM_4_5 = { + id: 'z-ai/glm-4.5', + name: 'Z.ai: GLM 4.5', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 98304, + pricing: { + text: { + input: { + normal: 0.6, + cached: 0.11, + }, + output: { + normal: 2.2, + }, + }, + image: 0, + }, + } as const +const Z_AI_GLM_4_5_AIR = { + id: 'z-ai/glm-4.5-air', + name: 'Z.ai: GLM 4.5 Air', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 98304, + pricing: { + text: { + input: { + normal: 0.13, + cached: 0.025, + }, + output: { + normal: 0.85, + }, + }, + image: 0, + }, + } as const +const Z_AI_GLM_4_5_AIR_FREE = { + id: 'z-ai/glm-4.5-air:free', + name: 'Z.ai: GLM 4.5 Air (free)', + supports: { + input: ['text'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 131072, + max_output_tokens: 96000, + pricing: { + text: { + input: { + normal: 0, + cached: 0, + }, + output: { + normal: 0, + }, + }, + image: 0, + }, + } as const +const Z_AI_GLM_4_5V = { + id: 'z-ai/glm-4.5v', + name: 'Z.ai: GLM 4.5V', + supports: { + input: ['text', 'image'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 65536, + max_output_tokens: 16384, + pricing: { + text: { + input: { + normal: 0.6, + cached: 0.11, + }, + output: { + normal: 1.8, + }, + }, + image: 0, + }, + } as const +const Z_AI_GLM_4_6 = { + id: 'z-ai/glm-4.6', + name: 'Z.ai: GLM 4.6', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 204800, + max_output_tokens: 204800, + pricing: { + text: { + input: { + normal: 0.39, + cached: 0, + }, + output: { + normal: 1.9, + }, + }, + image: 0, + }, + } as const +const Z_AI_GLM_4_6V = { + id: 'z-ai/glm-4.6v', + name: 'Z.ai: GLM 4.6V', + supports: { + input: ['image', 'text', 'video'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 131072, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 0.3, + cached: 0, + }, + output: { + normal: 0.9, + }, + }, + image: 0, + }, + } as const +const Z_AI_GLM_4_7 = { + id: 'z-ai/glm-4.7', + name: 'Z.ai: GLM 4.7', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 202752, + max_output_tokens: 65535, + pricing: { + text: { + input: { + normal: 0.39, + cached: 0.195, + }, + output: { + normal: 1.75, + }, + }, + image: 0, + }, + } as const +const Z_AI_GLM_4_7_FLASH = { + id: 'z-ai/glm-4.7-flash', + name: 'Z.ai: GLM 4.7 Flash', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 202752, + pricing: { + text: { + input: { + normal: 0.06, + cached: 0.0100000002, + }, + output: { + normal: 0.4, + }, + }, + image: 0, + }, + } as const +const Z_AI_GLM_5 = { + id: 'z-ai/glm-5', + name: 'Z.ai: GLM 5', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 80000, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 0.72, + cached: 0, + }, + output: { + normal: 2.3, + }, + }, + image: 0, + }, + } as const +const Z_AI_GLM_5_TURBO = { + id: 'z-ai/glm-5-turbo', + name: 'Z.ai: GLM 5 Turbo', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'maxCompletionTokens', 'minP', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topP'], + }, + context_window: 202752, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 1.2, + cached: 0.24, + }, + output: { + normal: 4, + }, + }, + image: 0, + }, + } as const +const Z_AI_GLM_5_1 = { + id: 'z-ai/glm-5.1', + name: 'Z.ai: GLM 5.1', + supports: { + input: ['text'], + output: ['text'], + supports: ['frequencyPenalty', 'includeReasoning', 'logitBias', 'logprobs', 'maxCompletionTokens', 'minP', 'parallelToolCalls', 'presencePenalty', 'reasoning', 'repetitionPenalty', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', 'topK', 'topLogprobs', 'topP'], + }, + context_window: 202752, + max_output_tokens: 65535, + pricing: { + text: { + input: { + normal: 0.95, + cached: 0.475, + }, + output: { + normal: 3.15, + }, + }, + image: 0, + }, + } as const +const Z_AI_GLM_5V_TURBO = { + id: 'z-ai/glm-5v-turbo', + name: 'Z.ai: GLM 5V Turbo', + supports: { + input: ['image', 'text', 'video'], + output: ['text'], + supports: ['includeReasoning', 'maxCompletionTokens', 'reasoning', 'responseFormat', 'temperature', 'toolChoice', 'topP'], + }, + context_window: 202752, + max_output_tokens: 131072, + pricing: { + text: { + input: { + normal: 1.2, + cached: 0.24, + }, + output: { + normal: 4, + }, + }, + image: 0, + }, + } as const -export type OpenRouterModelOptionsByName = { - [AI21_JAMBA_LARGE_1_7.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [AION_LABS_AION_1_0.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'temperature' - | 'topP' - > - [AION_LABS_AION_1_0_MINI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'temperature' - | 'topP' - > - [AION_LABS_AION_2_0.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'temperature' - | 'topP' - > - [AION_LABS_AION_RP_LLAMA_3_1_8B.id]: OpenRouterCommonOptions & - Pick - [ALFREDPROS_CODELLAMA_7B_INSTRUCT_SOLIDITY.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [ALIBABA_TONGYI_DEEPRESEARCH_30B_A3B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [ALLENAI_OLMO_2_0325_32B_INSTRUCT.id]: OpenRouterCommonOptions & - OpenRouterBaseOptions - [ALLENAI_OLMO_3_32B_THINK.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [ALLENAI_OLMO_3_1_32B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [ALPINDALE_GOLIATH_120B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topA' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [AMAZON_NOVA_2_LITE_V1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [AMAZON_NOVA_LITE_V1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'stop' | 'temperature' | 'topK' | 'topP' - > - [AMAZON_NOVA_MICRO_V1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'stop' | 'temperature' | 'topK' | 'topP' - > - [AMAZON_NOVA_PREMIER_V1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'stop' | 'temperature' | 'topK' | 'topP' - > - [AMAZON_NOVA_PRO_V1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'stop' | 'temperature' | 'topK' | 'topP' - > - [ANTHRACITE_ORG_MAGNUM_V4_72B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topA' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [ANTHROPIC_CLAUDE_3_HAIKU.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [ANTHROPIC_CLAUDE_3_5_HAIKU.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [ANTHROPIC_CLAUDE_3_7_SONNET.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [ANTHROPIC_CLAUDE_3_7_SONNET_THINKING.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [ANTHROPIC_CLAUDE_HAIKU_4_5.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [ANTHROPIC_CLAUDE_OPUS_4.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [ANTHROPIC_CLAUDE_OPUS_4_1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [ANTHROPIC_CLAUDE_OPUS_4_5.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'verbosity' - > - [ANTHROPIC_CLAUDE_OPUS_4_6.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - | 'verbosity' - > - [ANTHROPIC_CLAUDE_OPUS_4_6_FAST.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - | 'verbosity' - > - [ANTHROPIC_CLAUDE_SONNET_4.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [ANTHROPIC_CLAUDE_SONNET_4_5.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [ANTHROPIC_CLAUDE_SONNET_4_6.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - | 'verbosity' - > - [ARCEE_AI_CODER_LARGE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [ARCEE_AI_MAESTRO_REASONING.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [ARCEE_AI_SPOTLIGHT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [ARCEE_AI_TRINITY_LARGE_PREVIEW_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'responseFormat' | 'temperature' | 'topK' | 'topP' - > - [ARCEE_AI_TRINITY_LARGE_THINKING.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [ARCEE_AI_TRINITY_MINI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [ARCEE_AI_VIRTUOSO_LARGE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [BAIDU_ERNIE_4_5_21B_A3B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [BAIDU_ERNIE_4_5_21B_A3B_THINKING.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [BAIDU_ERNIE_4_5_300B_A47B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [BAIDU_ERNIE_4_5_VL_28B_A3B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [BAIDU_ERNIE_4_5_VL_424B_A47B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [BYTEDANCE_SEED_SEED_1_6.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [BYTEDANCE_SEED_SEED_1_6_FLASH.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [BYTEDANCE_SEED_SEED_2_0_LITE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [BYTEDANCE_SEED_SEED_2_0_MINI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [BYTEDANCE_UI_TARS_1_5_7B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [COGNITIVECOMPUTATIONS_DOLPHIN_MISTRAL_24B_VENICE_EDITION_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [COHERE_COMMAND_A.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [COHERE_COMMAND_R_08_2024.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [COHERE_COMMAND_R_PLUS_08_2024.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [COHERE_COMMAND_R7B_12_2024.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [DEEPCOGITO_COGITO_V2_1_671B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [DEEPSEEK_DEEPSEEK_CHAT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [DEEPSEEK_DEEPSEEK_CHAT_V3_0324.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [DEEPSEEK_DEEPSEEK_CHAT_V3_1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [DEEPSEEK_DEEPSEEK_R1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [DEEPSEEK_DEEPSEEK_R1_0528.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [DEEPSEEK_DEEPSEEK_R1_DISTILL_LLAMA_70B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_32B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'topLogprobs' - | 'topP' - > - [DEEPSEEK_DEEPSEEK_V3_1_TERMINUS.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [DEEPSEEK_DEEPSEEK_V3_2.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [DEEPSEEK_DEEPSEEK_V3_2_EXP.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [DEEPSEEK_DEEPSEEK_V3_2_SPECIALE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [ELEUTHERAI_LLEMMA_7B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [ESSENTIALAI_RNJ_1_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [GOOGLE_GEMINI_2_0_FLASH_001.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [GOOGLE_GEMINI_2_0_FLASH_LITE_001.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [GOOGLE_GEMINI_2_5_FLASH.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [GOOGLE_GEMINI_2_5_FLASH_IMAGE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topP' - > - [GOOGLE_GEMINI_2_5_FLASH_LITE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [GOOGLE_GEMINI_2_5_PRO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [GOOGLE_GEMINI_2_5_PRO_PREVIEW.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [GOOGLE_GEMINI_2_5_PRO_PREVIEW_05_06.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [GOOGLE_GEMINI_3_FLASH_PREVIEW.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [GOOGLE_GEMINI_3_PRO_IMAGE_PREVIEW.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topP' - > - [GOOGLE_GEMINI_3_1_FLASH_IMAGE_PREVIEW.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topP' - > - [GOOGLE_GEMINI_3_1_FLASH_LITE_PREVIEW.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [GOOGLE_GEMINI_3_1_PRO_PREVIEW.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [GOOGLE_GEMINI_3_1_PRO_PREVIEW_CUSTOMTOOLS.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [GOOGLE_GEMMA_2_27B_IT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'topP' - > - [GOOGLE_GEMMA_2_9B_IT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'temperature' - | 'topK' - | 'topP' - > - [GOOGLE_GEMMA_3_12B_IT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [GOOGLE_GEMMA_3_12B_IT_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'seed' | 'stop' | 'temperature' | 'topP' - > - [GOOGLE_GEMMA_3_27B_IT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [GOOGLE_GEMMA_3_27B_IT_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topP' - > - [GOOGLE_GEMMA_3_4B_IT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [GOOGLE_GEMMA_3_4B_IT_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topP' - > - [GOOGLE_GEMMA_3N_E2B_IT_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'responseFormat' | 'seed' | 'temperature' | 'topP' - > - [GOOGLE_GEMMA_3N_E4B_IT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [GOOGLE_GEMMA_3N_E4B_IT_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'responseFormat' | 'seed' | 'temperature' | 'topP' - > - [GOOGLE_GEMMA_4_26B_A4B_IT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [GOOGLE_GEMMA_4_26B_A4B_IT_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [GOOGLE_GEMMA_4_31B_IT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [GOOGLE_GEMMA_4_31B_IT_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [GOOGLE_LYRIA_3_CLIP_PREVIEW.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'responseFormat' | 'seed' | 'temperature' | 'topP' - > - [GOOGLE_LYRIA_3_PRO_PREVIEW.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'responseFormat' | 'seed' | 'temperature' | 'topP' - > - [GRYPHE_MYTHOMAX_L2_13B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topA' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [IBM_GRANITE_GRANITE_4_0_H_MICRO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'temperature' - | 'topK' - | 'topP' - > - [INCEPTION_MERCURY.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - > - [INCEPTION_MERCURY_2.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - > - [INCEPTION_MERCURY_CODER.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - > - [INFLECTION_INFLECTION_3_PI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'stop' | 'temperature' | 'topP' - > - [INFLECTION_INFLECTION_3_PRODUCTIVITY.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'stop' | 'temperature' | 'topP' - > - [KWAIPILOT_KAT_CODER_PRO_V2.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [LIQUID_LFM_2_24B_A2B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [LIQUID_LFM_2_5_1_2B_INSTRUCT_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [LIQUID_LFM_2_5_1_2B_THINKING_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [MANCER_WEAVER.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topA' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [MEITUAN_LONGCAT_FLASH_CHAT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [META_LLAMA_LLAMA_3_70B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [META_LLAMA_LLAMA_3_8B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [META_LLAMA_LLAMA_3_1_70B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [META_LLAMA_LLAMA_3_1_8B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [META_LLAMA_LLAMA_3_2_11B_VISION_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [META_LLAMA_LLAMA_3_2_1B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'temperature' - | 'topK' - | 'topP' - > - [META_LLAMA_LLAMA_3_2_3B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'temperature' - | 'topK' - | 'topP' - > - [META_LLAMA_LLAMA_3_2_3B_INSTRUCT_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [META_LLAMA_LLAMA_3_3_70B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [META_LLAMA_LLAMA_3_3_70B_INSTRUCT_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [META_LLAMA_LLAMA_4_MAVERICK.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [META_LLAMA_LLAMA_4_SCOUT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [META_LLAMA_LLAMA_GUARD_3_8B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'temperature' - | 'topK' - | 'topP' - > - [META_LLAMA_LLAMA_GUARD_4_12B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [MICROSOFT_PHI_4.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [MICROSOFT_WIZARDLM_2_8X22B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [MINIMAX_MINIMAX_01.id]: OpenRouterCommonOptions & - Pick - [MINIMAX_MINIMAX_M1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [MINIMAX_MINIMAX_M2.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [MINIMAX_MINIMAX_M2_HER.id]: OpenRouterCommonOptions & - Pick - [MINIMAX_MINIMAX_M2_1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [MINIMAX_MINIMAX_M2_5.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'parallelToolCalls' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [MINIMAX_MINIMAX_M2_5_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - > - [MINIMAX_MINIMAX_M2_7.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MISTRALAI_CODESTRAL_2508.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MISTRALAI_DEVSTRAL_2512.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MISTRALAI_DEVSTRAL_MEDIUM.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MISTRALAI_DEVSTRAL_SMALL.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MISTRALAI_MINISTRAL_14B_2512.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [MISTRALAI_MINISTRAL_3B_2512.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [MISTRALAI_MINISTRAL_8B_2512.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [MISTRALAI_MISTRAL_7B_INSTRUCT_V0_1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'temperature' - | 'topK' - | 'topP' - > - [MISTRALAI_MISTRAL_LARGE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MISTRALAI_MISTRAL_LARGE_2407.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MISTRALAI_MISTRAL_LARGE_2411.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MISTRALAI_MISTRAL_LARGE_2512.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MISTRALAI_MISTRAL_MEDIUM_3.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MISTRALAI_MISTRAL_MEDIUM_3_1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MISTRALAI_MISTRAL_NEMO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [MISTRALAI_MISTRAL_SABA.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MISTRALAI_MISTRAL_SMALL_24B_INSTRUCT_2501.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [MISTRALAI_MISTRAL_SMALL_2603.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [MISTRALAI_MISTRAL_SMALL_3_1_24B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [MISTRALAI_MISTRAL_SMALL_3_2_24B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [MISTRALAI_MISTRAL_SMALL_CREATIVE.id]: OpenRouterCommonOptions & - Pick - [MISTRALAI_MIXTRAL_8X22B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MISTRALAI_MIXTRAL_8X7B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [MISTRALAI_PIXTRAL_LARGE_2411.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MISTRALAI_VOXTRAL_SMALL_24B_2507.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [MOONSHOTAI_KIMI_K2.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [MOONSHOTAI_KIMI_K2_0905.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [MOONSHOTAI_KIMI_K2_THINKING.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [MOONSHOTAI_KIMI_K2_5.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'parallelToolCalls' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [MORPH_MORPH_V3_FAST.id]: OpenRouterCommonOptions & - Pick - [MORPH_MORPH_V3_LARGE.id]: OpenRouterCommonOptions & - Pick - [NEX_AGI_DEEPSEEK_V3_1_NEX_N1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'responseFormat' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [NOUSRESEARCH_HERMES_2_PRO_LLAMA_3_8B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [NOUSRESEARCH_HERMES_3_LLAMA_3_1_405B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [NOUSRESEARCH_HERMES_3_LLAMA_3_1_405B_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [NOUSRESEARCH_HERMES_3_LLAMA_3_1_70B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [NOUSRESEARCH_HERMES_4_405B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'temperature' - | 'topK' - | 'topP' - > - [NOUSRESEARCH_HERMES_4_70B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'temperature' - | 'topK' - | 'topP' - > - [NVIDIA_LLAMA_3_1_NEMOTRON_70B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [NVIDIA_LLAMA_3_1_NEMOTRON_ULTRA_253B_V1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'temperature' - | 'topK' - | 'topP' - > - [NVIDIA_LLAMA_3_3_NEMOTRON_SUPER_49B_V1_5.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [NVIDIA_NEMOTRON_3_NANO_30B_A3B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [NVIDIA_NEMOTRON_3_NANO_30B_A3B_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [NVIDIA_NEMOTRON_3_SUPER_120B_A12B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [NVIDIA_NEMOTRON_3_SUPER_120B_A12B_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [NVIDIA_NEMOTRON_NANO_12B_V2_VL.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [NVIDIA_NEMOTRON_NANO_12B_V2_VL_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [NVIDIA_NEMOTRON_NANO_9B_V2.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [NVIDIA_NEMOTRON_NANO_9B_V2_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [OPENAI_GPT_3_5_TURBO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_3_5_TURBO_0613.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_3_5_TURBO_16K.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_3_5_TURBO_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_4.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_4_0314.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_4_1106_PREVIEW.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_4_TURBO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_4_TURBO_PREVIEW.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_4_1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [OPENAI_GPT_4_1_MINI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [OPENAI_GPT_4_1_NANO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [OPENAI_GPT_4O.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - | 'webSearchOptions' - > - [OPENAI_GPT_4O_2024_05_13.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - | 'webSearchOptions' - > - [OPENAI_GPT_4O_2024_08_06.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - | 'webSearchOptions' - > - [OPENAI_GPT_4O_2024_11_20.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - | 'webSearchOptions' - > - [OPENAI_GPT_4O_AUDIO_PREVIEW.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_4O_MINI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - | 'webSearchOptions' - > - [OPENAI_GPT_4O_MINI_2024_07_18.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - | 'webSearchOptions' - > - [OPENAI_GPT_4O_MINI_SEARCH_PREVIEW.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'responseFormat' | 'webSearchOptions' - > - [OPENAI_GPT_4O_SEARCH_PREVIEW.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'responseFormat' | 'webSearchOptions' - > - [OPENAI_GPT_4O_EXTENDED.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - | 'webSearchOptions' - > - [OPENAI_GPT_5.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_CHAT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'responseFormat' | 'seed' - > - [OPENAI_GPT_5_CODEX.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_IMAGE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_5_IMAGE_MINI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_5_MINI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_NANO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_PRO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_1_CHAT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_1_CODEX.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_1_CODEX_MAX.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_1_CODEX_MINI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_2.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_2_CHAT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_2_CODEX.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_2_PRO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_3_CHAT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_3_CODEX.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_4.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_4_MINI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_4_NANO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_5_4_PRO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_GPT_AUDIO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_AUDIO_MINI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_OSS_120B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_OSS_120B_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - > - [OPENAI_GPT_OSS_20B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [OPENAI_GPT_OSS_20B_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - > - [OPENAI_GPT_OSS_SAFEGUARD_20B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [OPENAI_O1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_O1_PRO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - > - [OPENAI_O3.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_O3_DEEP_RESEARCH.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_O3_MINI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_O3_MINI_HIGH.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_O3_PRO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_O4_MINI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENAI_O4_MINI_DEEP_RESEARCH.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [OPENAI_O4_MINI_HIGH.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'toolChoice' - > - [OPENROUTER_AUTO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - | 'webSearchOptions' - > - [OPENROUTER_BODYBUILDER.id]: OpenRouterCommonOptions & OpenRouterBaseOptions - [OPENROUTER_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [PERPLEXITY_SONAR.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'temperature' - | 'topK' - | 'topP' - | 'webSearchOptions' - > - [PERPLEXITY_SONAR_DEEP_RESEARCH.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'temperature' - | 'topK' - | 'topP' - | 'webSearchOptions' - > - [PERPLEXITY_SONAR_PRO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'temperature' - | 'topK' - | 'topP' - | 'webSearchOptions' - > - [PERPLEXITY_SONAR_PRO_SEARCH.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'temperature' - | 'topK' - | 'topP' - | 'webSearchOptions' - > - [PERPLEXITY_SONAR_REASONING_PRO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'temperature' - | 'topK' - | 'topP' - | 'webSearchOptions' - > - [PRIME_INTELLECT_INTELLECT_3.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN_2_5_72B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN_2_5_7B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN_2_5_CODER_32B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'temperature' - | 'topK' - | 'topP' - > - [QWEN_QWEN_MAX.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN_PLUS.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN_PLUS_2025_07_28.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN_PLUS_2025_07_28_THINKING.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN_TURBO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN_VL_MAX.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN_VL_PLUS.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'topP' - > - [QWEN_QWEN2_5_CODER_7B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'temperature' - | 'topK' - | 'topP' - > - [QWEN_QWEN2_5_VL_32B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [QWEN_QWEN2_5_VL_72B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_14B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [QWEN_QWEN3_235B_A22B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN3_235B_A22B_2507.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [QWEN_QWEN3_235B_A22B_THINKING_2507.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_30B_A3B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [QWEN_QWEN3_30B_A3B_INSTRUCT_2507.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_30B_A3B_THINKING_2507.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_32B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_8B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_CODER.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_CODER_30B_A3B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_CODER_FLASH.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN3_CODER_NEXT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_CODER_PLUS.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN3_CODER_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_MAX.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN3_MAX_THINKING.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN3_NEXT_80B_A3B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_NEXT_80B_A3B_INSTRUCT_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_NEXT_80B_A3B_THINKING.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_VL_235B_A22B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_VL_235B_A22B_THINKING.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_VL_30B_A3B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_VL_30B_A3B_THINKING.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_VL_32B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN3_VL_8B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_VL_8B_THINKING.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN3_5_122B_A10B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [QWEN_QWEN3_5_27B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [QWEN_QWEN3_5_35B_A3B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [QWEN_QWEN3_5_397B_A17B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [QWEN_QWEN3_5_9B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [QWEN_QWEN3_5_FLASH_02_23.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN3_5_PLUS_02_15.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWEN3_6_PLUS.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [QWEN_QWQ_32B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'reasoning' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [REKAAI_REKA_EDGE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [REKAAI_REKA_FLASH_3.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [RELACE_RELACE_APPLY_3.id]: OpenRouterCommonOptions & - Pick - [RELACE_RELACE_SEARCH.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'maxCompletionTokens' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [SAO10K_L3_EURYALE_70B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [SAO10K_L3_LUNARIS_8B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [SAO10K_L3_1_70B_HANAMI_X1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [SAO10K_L3_1_EURYALE_70B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [SAO10K_L3_3_EURYALE_70B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [STEPFUN_STEP_3_5_FLASH.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [SWITCHPOINT_ROUTER.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [TENCENT_HUNYUAN_A13B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'reasoning' - | 'responseFormat' - | 'temperature' - | 'topK' - | 'topP' - > - [THEDRUMMER_CYDONIA_24B_V4_1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [THEDRUMMER_ROCINANTE_12B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [THEDRUMMER_SKYFALL_36B_V2.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'topK' - | 'topP' - > - [THEDRUMMER_UNSLOPNEMO_12B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [TNGTECH_DEEPSEEK_R1T2_CHIMERA.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [UNDI95_REMM_SLERP_L2_13B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topA' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [UPSTAGE_SOLAR_PRO_3.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'temperature' - | 'toolChoice' - > - [WRITER_PALMYRA_X5.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'stop' | 'temperature' | 'topK' | 'topP' - > - [X_AI_GROK_3.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [X_AI_GROK_3_BETA.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [X_AI_GROK_3_MINI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'logprobs' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [X_AI_GROK_3_MINI_BETA.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'logprobs' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [X_AI_GROK_4.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'logprobs' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [X_AI_GROK_4_FAST.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'logprobs' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [X_AI_GROK_4_1_FAST.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'logprobs' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [X_AI_GROK_4_20.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'logprobs' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [X_AI_GROK_4_20_MULTI_AGENT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'logprobs' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'temperature' - | 'topLogprobs' - | 'topP' - > - [X_AI_GROK_CODE_FAST_1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'logprobs' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > - [XIAOMI_MIMO_V2_FLASH.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [XIAOMI_MIMO_V2_OMNI.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [XIAOMI_MIMO_V2_PRO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'responseFormat' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [Z_AI_GLM_4_32B.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'temperature' | 'toolChoice' | 'topP' - > - [Z_AI_GLM_4_5.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [Z_AI_GLM_4_5_AIR.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [Z_AI_GLM_4_5_AIR_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'temperature' - | 'toolChoice' - | 'topP' - > - [Z_AI_GLM_4_5V.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [Z_AI_GLM_4_6.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [Z_AI_GLM_4_6V.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [Z_AI_GLM_4_7.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [Z_AI_GLM_4_7_FLASH.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [Z_AI_GLM_5.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [Z_AI_GLM_5_TURBO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topP' - > - [Z_AI_GLM_5_1.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'includeReasoning' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'minP' - | 'presencePenalty' - | 'reasoning' - | 'repetitionPenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topK' - | 'topLogprobs' - | 'topP' - > - [Z_AI_GLM_5V_TURBO.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'includeReasoning' - | 'maxCompletionTokens' - | 'reasoning' - | 'responseFormat' - | 'temperature' - | 'toolChoice' - | 'topP' - > + +export type OpenRouterModelOptionsByName = { + [AI21_JAMBA_LARGE_1_7.id]: OpenRouterCommonOptions & Pick; + [AION_LABS_AION_1_0.id]: OpenRouterCommonOptions & Pick; + [AION_LABS_AION_1_0_MINI.id]: OpenRouterCommonOptions & Pick; + [AION_LABS_AION_2_0.id]: OpenRouterCommonOptions & Pick; + [AION_LABS_AION_RP_LLAMA_3_1_8B.id]: OpenRouterCommonOptions & Pick; + [ALFREDPROS_CODELLAMA_7B_INSTRUCT_SOLIDITY.id]: OpenRouterCommonOptions & Pick; + [ALIBABA_TONGYI_DEEPRESEARCH_30B_A3B.id]: OpenRouterCommonOptions & Pick; + [ALLENAI_OLMO_2_0325_32B_INSTRUCT.id]: OpenRouterCommonOptions & OpenRouterBaseOptions; + [ALLENAI_OLMO_3_32B_THINK.id]: OpenRouterCommonOptions & Pick; + [ALLENAI_OLMO_3_1_32B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [ALPINDALE_GOLIATH_120B.id]: OpenRouterCommonOptions & Pick; + [AMAZON_NOVA_2_LITE_V1.id]: OpenRouterCommonOptions & Pick; + [AMAZON_NOVA_LITE_V1.id]: OpenRouterCommonOptions & Pick; + [AMAZON_NOVA_MICRO_V1.id]: OpenRouterCommonOptions & Pick; + [AMAZON_NOVA_PREMIER_V1.id]: OpenRouterCommonOptions & Pick; + [AMAZON_NOVA_PRO_V1.id]: OpenRouterCommonOptions & Pick; + [ANTHRACITE_ORG_MAGNUM_V4_72B.id]: OpenRouterCommonOptions & Pick; + [ANTHROPIC_CLAUDE_3_HAIKU.id]: OpenRouterCommonOptions & Pick; + [ANTHROPIC_CLAUDE_3_5_HAIKU.id]: OpenRouterCommonOptions & Pick; + [ANTHROPIC_CLAUDE_3_7_SONNET.id]: OpenRouterCommonOptions & Pick; + [ANTHROPIC_CLAUDE_3_7_SONNET_THINKING.id]: OpenRouterCommonOptions & Pick; + [ANTHROPIC_CLAUDE_HAIKU_4_5.id]: OpenRouterCommonOptions & Pick; + [ANTHROPIC_CLAUDE_OPUS_4.id]: OpenRouterCommonOptions & Pick; + [ANTHROPIC_CLAUDE_OPUS_4_1.id]: OpenRouterCommonOptions & Pick; + [ANTHROPIC_CLAUDE_OPUS_4_5.id]: OpenRouterCommonOptions & Pick; + [ANTHROPIC_CLAUDE_OPUS_4_6.id]: OpenRouterCommonOptions & Pick; + [ANTHROPIC_CLAUDE_OPUS_4_6_FAST.id]: OpenRouterCommonOptions & Pick; + [ANTHROPIC_CLAUDE_SONNET_4.id]: OpenRouterCommonOptions & Pick; + [ANTHROPIC_CLAUDE_SONNET_4_5.id]: OpenRouterCommonOptions & Pick; + [ANTHROPIC_CLAUDE_SONNET_4_6.id]: OpenRouterCommonOptions & Pick; + [ARCEE_AI_CODER_LARGE.id]: OpenRouterCommonOptions & Pick; + [ARCEE_AI_MAESTRO_REASONING.id]: OpenRouterCommonOptions & Pick; + [ARCEE_AI_SPOTLIGHT.id]: OpenRouterCommonOptions & Pick; + [ARCEE_AI_TRINITY_LARGE_PREVIEW_FREE.id]: OpenRouterCommonOptions & Pick; + [ARCEE_AI_TRINITY_LARGE_THINKING.id]: OpenRouterCommonOptions & Pick; + [ARCEE_AI_TRINITY_MINI.id]: OpenRouterCommonOptions & Pick; + [ARCEE_AI_VIRTUOSO_LARGE.id]: OpenRouterCommonOptions & Pick; + [BAIDU_ERNIE_4_5_21B_A3B.id]: OpenRouterCommonOptions & Pick; + [BAIDU_ERNIE_4_5_21B_A3B_THINKING.id]: OpenRouterCommonOptions & Pick; + [BAIDU_ERNIE_4_5_300B_A47B.id]: OpenRouterCommonOptions & Pick; + [BAIDU_ERNIE_4_5_VL_28B_A3B.id]: OpenRouterCommonOptions & Pick; + [BAIDU_ERNIE_4_5_VL_424B_A47B.id]: OpenRouterCommonOptions & Pick; + [BYTEDANCE_SEED_SEED_1_6.id]: OpenRouterCommonOptions & Pick; + [BYTEDANCE_SEED_SEED_1_6_FLASH.id]: OpenRouterCommonOptions & Pick; + [BYTEDANCE_SEED_SEED_2_0_LITE.id]: OpenRouterCommonOptions & Pick; + [BYTEDANCE_SEED_SEED_2_0_MINI.id]: OpenRouterCommonOptions & Pick; + [BYTEDANCE_UI_TARS_1_5_7B.id]: OpenRouterCommonOptions & Pick; + [COGNITIVECOMPUTATIONS_DOLPHIN_MISTRAL_24B_VENICE_EDITION_FREE.id]: OpenRouterCommonOptions & Pick; + [COHERE_COMMAND_A.id]: OpenRouterCommonOptions & Pick; + [COHERE_COMMAND_R_08_2024.id]: OpenRouterCommonOptions & Pick; + [COHERE_COMMAND_R_PLUS_08_2024.id]: OpenRouterCommonOptions & Pick; + [COHERE_COMMAND_R7B_12_2024.id]: OpenRouterCommonOptions & Pick; + [DEEPCOGITO_COGITO_V2_1_671B.id]: OpenRouterCommonOptions & Pick; + [DEEPSEEK_DEEPSEEK_CHAT.id]: OpenRouterCommonOptions & Pick; + [DEEPSEEK_DEEPSEEK_CHAT_V3_0324.id]: OpenRouterCommonOptions & Pick; + [DEEPSEEK_DEEPSEEK_CHAT_V3_1.id]: OpenRouterCommonOptions & Pick; + [DEEPSEEK_DEEPSEEK_R1.id]: OpenRouterCommonOptions & Pick; + [DEEPSEEK_DEEPSEEK_R1_0528.id]: OpenRouterCommonOptions & Pick; + [DEEPSEEK_DEEPSEEK_R1_DISTILL_LLAMA_70B.id]: OpenRouterCommonOptions & Pick; + [DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_32B.id]: OpenRouterCommonOptions & Pick; + [DEEPSEEK_DEEPSEEK_V3_1_TERMINUS.id]: OpenRouterCommonOptions & Pick; + [DEEPSEEK_DEEPSEEK_V3_2.id]: OpenRouterCommonOptions & Pick; + [DEEPSEEK_DEEPSEEK_V3_2_EXP.id]: OpenRouterCommonOptions & Pick; + [DEEPSEEK_DEEPSEEK_V3_2_SPECIALE.id]: OpenRouterCommonOptions & Pick; + [ESSENTIALAI_RNJ_1_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_2_0_FLASH_001.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_2_0_FLASH_LITE_001.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_2_5_FLASH.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_2_5_FLASH_IMAGE.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_2_5_FLASH_LITE.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_2_5_PRO.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_2_5_PRO_PREVIEW.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_2_5_PRO_PREVIEW_05_06.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_3_FLASH_PREVIEW.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_3_PRO_IMAGE_PREVIEW.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_3_1_FLASH_IMAGE_PREVIEW.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_3_1_FLASH_LITE_PREVIEW.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_3_1_PRO_PREVIEW.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMINI_3_1_PRO_PREVIEW_CUSTOMTOOLS.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_2_27B_IT.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_2_9B_IT.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_3_12B_IT.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_3_12B_IT_FREE.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_3_27B_IT.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_3_27B_IT_FREE.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_3_4B_IT.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_3_4B_IT_FREE.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_3N_E2B_IT_FREE.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_3N_E4B_IT.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_3N_E4B_IT_FREE.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_4_26B_A4B_IT.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_4_26B_A4B_IT_FREE.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_4_31B_IT.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_GEMMA_4_31B_IT_FREE.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_LYRIA_3_CLIP_PREVIEW.id]: OpenRouterCommonOptions & Pick; + [GOOGLE_LYRIA_3_PRO_PREVIEW.id]: OpenRouterCommonOptions & Pick; + [GRYPHE_MYTHOMAX_L2_13B.id]: OpenRouterCommonOptions & Pick; + [IBM_GRANITE_GRANITE_4_0_H_MICRO.id]: OpenRouterCommonOptions & Pick; + [INCEPTION_MERCURY.id]: OpenRouterCommonOptions & Pick; + [INCEPTION_MERCURY_2.id]: OpenRouterCommonOptions & Pick; + [INCEPTION_MERCURY_CODER.id]: OpenRouterCommonOptions & Pick; + [INFLECTION_INFLECTION_3_PI.id]: OpenRouterCommonOptions & Pick; + [INFLECTION_INFLECTION_3_PRODUCTIVITY.id]: OpenRouterCommonOptions & Pick; + [KWAIPILOT_KAT_CODER_PRO_V2.id]: OpenRouterCommonOptions & Pick; + [LIQUID_LFM_2_24B_A2B.id]: OpenRouterCommonOptions & Pick; + [LIQUID_LFM_2_5_1_2B_INSTRUCT_FREE.id]: OpenRouterCommonOptions & Pick; + [LIQUID_LFM_2_5_1_2B_THINKING_FREE.id]: OpenRouterCommonOptions & Pick; + [MANCER_WEAVER.id]: OpenRouterCommonOptions & Pick; + [META_LLAMA_LLAMA_3_70B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [META_LLAMA_LLAMA_3_8B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [META_LLAMA_LLAMA_3_1_70B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [META_LLAMA_LLAMA_3_1_8B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [META_LLAMA_LLAMA_3_2_11B_VISION_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [META_LLAMA_LLAMA_3_2_1B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [META_LLAMA_LLAMA_3_2_3B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [META_LLAMA_LLAMA_3_2_3B_INSTRUCT_FREE.id]: OpenRouterCommonOptions & Pick; + [META_LLAMA_LLAMA_3_3_70B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [META_LLAMA_LLAMA_3_3_70B_INSTRUCT_FREE.id]: OpenRouterCommonOptions & Pick; + [META_LLAMA_LLAMA_4_MAVERICK.id]: OpenRouterCommonOptions & Pick; + [META_LLAMA_LLAMA_4_SCOUT.id]: OpenRouterCommonOptions & Pick; + [META_LLAMA_LLAMA_GUARD_3_8B.id]: OpenRouterCommonOptions & Pick; + [META_LLAMA_LLAMA_GUARD_4_12B.id]: OpenRouterCommonOptions & Pick; + [MICROSOFT_PHI_4.id]: OpenRouterCommonOptions & Pick; + [MICROSOFT_WIZARDLM_2_8X22B.id]: OpenRouterCommonOptions & Pick; + [MINIMAX_MINIMAX_01.id]: OpenRouterCommonOptions & Pick; + [MINIMAX_MINIMAX_M1.id]: OpenRouterCommonOptions & Pick; + [MINIMAX_MINIMAX_M2.id]: OpenRouterCommonOptions & Pick; + [MINIMAX_MINIMAX_M2_HER.id]: OpenRouterCommonOptions & Pick; + [MINIMAX_MINIMAX_M2_1.id]: OpenRouterCommonOptions & Pick; + [MINIMAX_MINIMAX_M2_5.id]: OpenRouterCommonOptions & Pick; + [MINIMAX_MINIMAX_M2_5_FREE.id]: OpenRouterCommonOptions & Pick; + [MINIMAX_MINIMAX_M2_7.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_CODESTRAL_2508.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_DEVSTRAL_2512.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_DEVSTRAL_MEDIUM.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_DEVSTRAL_SMALL.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MINISTRAL_14B_2512.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MINISTRAL_3B_2512.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MINISTRAL_8B_2512.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MISTRAL_7B_INSTRUCT_V0_1.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MISTRAL_LARGE.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MISTRAL_LARGE_2407.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MISTRAL_LARGE_2411.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MISTRAL_LARGE_2512.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MISTRAL_MEDIUM_3.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MISTRAL_MEDIUM_3_1.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MISTRAL_NEMO.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MISTRAL_SABA.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MISTRAL_SMALL_24B_INSTRUCT_2501.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MISTRAL_SMALL_2603.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MISTRAL_SMALL_3_1_24B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MISTRAL_SMALL_3_2_24B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MISTRAL_SMALL_CREATIVE.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MIXTRAL_8X22B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_MIXTRAL_8X7B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_PIXTRAL_LARGE_2411.id]: OpenRouterCommonOptions & Pick; + [MISTRALAI_VOXTRAL_SMALL_24B_2507.id]: OpenRouterCommonOptions & Pick; + [MOONSHOTAI_KIMI_K2.id]: OpenRouterCommonOptions & Pick; + [MOONSHOTAI_KIMI_K2_0905.id]: OpenRouterCommonOptions & Pick; + [MOONSHOTAI_KIMI_K2_THINKING.id]: OpenRouterCommonOptions & Pick; + [MOONSHOTAI_KIMI_K2_5.id]: OpenRouterCommonOptions & Pick; + [MORPH_MORPH_V3_FAST.id]: OpenRouterCommonOptions & Pick; + [MORPH_MORPH_V3_LARGE.id]: OpenRouterCommonOptions & Pick; + [NEX_AGI_DEEPSEEK_V3_1_NEX_N1.id]: OpenRouterCommonOptions & Pick; + [NOUSRESEARCH_HERMES_2_PRO_LLAMA_3_8B.id]: OpenRouterCommonOptions & Pick; + [NOUSRESEARCH_HERMES_3_LLAMA_3_1_405B.id]: OpenRouterCommonOptions & Pick; + [NOUSRESEARCH_HERMES_3_LLAMA_3_1_405B_FREE.id]: OpenRouterCommonOptions & Pick; + [NOUSRESEARCH_HERMES_3_LLAMA_3_1_70B.id]: OpenRouterCommonOptions & Pick; + [NOUSRESEARCH_HERMES_4_405B.id]: OpenRouterCommonOptions & Pick; + [NOUSRESEARCH_HERMES_4_70B.id]: OpenRouterCommonOptions & Pick; + [NVIDIA_LLAMA_3_1_NEMOTRON_70B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [NVIDIA_LLAMA_3_1_NEMOTRON_ULTRA_253B_V1.id]: OpenRouterCommonOptions & Pick; + [NVIDIA_LLAMA_3_3_NEMOTRON_SUPER_49B_V1_5.id]: OpenRouterCommonOptions & Pick; + [NVIDIA_NEMOTRON_3_NANO_30B_A3B.id]: OpenRouterCommonOptions & Pick; + [NVIDIA_NEMOTRON_3_NANO_30B_A3B_FREE.id]: OpenRouterCommonOptions & Pick; + [NVIDIA_NEMOTRON_3_SUPER_120B_A12B.id]: OpenRouterCommonOptions & Pick; + [NVIDIA_NEMOTRON_3_SUPER_120B_A12B_FREE.id]: OpenRouterCommonOptions & Pick; + [NVIDIA_NEMOTRON_NANO_12B_V2_VL.id]: OpenRouterCommonOptions & Pick; + [NVIDIA_NEMOTRON_NANO_12B_V2_VL_FREE.id]: OpenRouterCommonOptions & Pick; + [NVIDIA_NEMOTRON_NANO_9B_V2.id]: OpenRouterCommonOptions & Pick; + [NVIDIA_NEMOTRON_NANO_9B_V2_FREE.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_3_5_TURBO.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_3_5_TURBO_0613.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_3_5_TURBO_16K.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_3_5_TURBO_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4_0314.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4_1106_PREVIEW.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4_TURBO.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4_TURBO_PREVIEW.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4_1.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4_1_MINI.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4_1_NANO.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4O.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4O_2024_05_13.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4O_2024_08_06.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4O_2024_11_20.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4O_AUDIO_PREVIEW.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4O_MINI.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4O_MINI_2024_07_18.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4O_MINI_SEARCH_PREVIEW.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4O_SEARCH_PREVIEW.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_4O_EXTENDED.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_CHAT.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_CODEX.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_IMAGE.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_IMAGE_MINI.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_MINI.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_NANO.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_PRO.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_1.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_1_CHAT.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_1_CODEX.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_1_CODEX_MAX.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_1_CODEX_MINI.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_2.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_2_CHAT.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_2_CODEX.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_2_PRO.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_3_CHAT.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_3_CODEX.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_4.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_4_MINI.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_4_NANO.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_5_4_PRO.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_AUDIO.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_AUDIO_MINI.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_OSS_120B.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_OSS_120B_FREE.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_OSS_20B.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_OSS_20B_FREE.id]: OpenRouterCommonOptions & Pick; + [OPENAI_GPT_OSS_SAFEGUARD_20B.id]: OpenRouterCommonOptions & Pick; + [OPENAI_O1.id]: OpenRouterCommonOptions & Pick; + [OPENAI_O1_PRO.id]: OpenRouterCommonOptions & Pick; + [OPENAI_O3.id]: OpenRouterCommonOptions & Pick; + [OPENAI_O3_DEEP_RESEARCH.id]: OpenRouterCommonOptions & Pick; + [OPENAI_O3_MINI.id]: OpenRouterCommonOptions & Pick; + [OPENAI_O3_MINI_HIGH.id]: OpenRouterCommonOptions & Pick; + [OPENAI_O3_PRO.id]: OpenRouterCommonOptions & Pick; + [OPENAI_O4_MINI.id]: OpenRouterCommonOptions & Pick; + [OPENAI_O4_MINI_DEEP_RESEARCH.id]: OpenRouterCommonOptions & Pick; + [OPENAI_O4_MINI_HIGH.id]: OpenRouterCommonOptions & Pick; + [OPENROUTER_AUTO.id]: OpenRouterCommonOptions & Pick; + [OPENROUTER_BODYBUILDER.id]: OpenRouterCommonOptions & OpenRouterBaseOptions; + [OPENROUTER_ELEPHANT_ALPHA.id]: OpenRouterCommonOptions & Pick; + [OPENROUTER_FREE.id]: OpenRouterCommonOptions & Pick; + [PERPLEXITY_SONAR.id]: OpenRouterCommonOptions & Pick; + [PERPLEXITY_SONAR_DEEP_RESEARCH.id]: OpenRouterCommonOptions & Pick; + [PERPLEXITY_SONAR_PRO.id]: OpenRouterCommonOptions & Pick; + [PERPLEXITY_SONAR_PRO_SEARCH.id]: OpenRouterCommonOptions & Pick; + [PERPLEXITY_SONAR_REASONING_PRO.id]: OpenRouterCommonOptions & Pick; + [PRIME_INTELLECT_INTELLECT_3.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN_2_5_72B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN_2_5_7B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN_2_5_CODER_32B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN_MAX.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN_PLUS.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN_PLUS_2025_07_28.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN_PLUS_2025_07_28_THINKING.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN_TURBO.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN_VL_MAX.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN_VL_PLUS.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN2_5_CODER_7B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN2_5_VL_32B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN2_5_VL_72B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_14B.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_235B_A22B.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_235B_A22B_2507.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_235B_A22B_THINKING_2507.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_30B_A3B.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_30B_A3B_INSTRUCT_2507.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_30B_A3B_THINKING_2507.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_32B.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_8B.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_CODER.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_CODER_30B_A3B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_CODER_FLASH.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_CODER_NEXT.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_CODER_PLUS.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_CODER_FREE.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_MAX.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_MAX_THINKING.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_NEXT_80B_A3B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_NEXT_80B_A3B_INSTRUCT_FREE.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_NEXT_80B_A3B_THINKING.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_VL_235B_A22B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_VL_235B_A22B_THINKING.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_VL_30B_A3B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_VL_30B_A3B_THINKING.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_VL_32B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_VL_8B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_VL_8B_THINKING.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_5_122B_A10B.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_5_27B.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_5_35B_A3B.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_5_397B_A17B.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_5_9B.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_5_FLASH_02_23.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_5_PLUS_02_15.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWEN3_6_PLUS.id]: OpenRouterCommonOptions & Pick; + [QWEN_QWQ_32B.id]: OpenRouterCommonOptions & Pick; + [REKAAI_REKA_EDGE.id]: OpenRouterCommonOptions & Pick; + [REKAAI_REKA_FLASH_3.id]: OpenRouterCommonOptions & Pick; + [RELACE_RELACE_APPLY_3.id]: OpenRouterCommonOptions & Pick; + [RELACE_RELACE_SEARCH.id]: OpenRouterCommonOptions & Pick; + [SAO10K_L3_EURYALE_70B.id]: OpenRouterCommonOptions & Pick; + [SAO10K_L3_LUNARIS_8B.id]: OpenRouterCommonOptions & Pick; + [SAO10K_L3_1_70B_HANAMI_X1.id]: OpenRouterCommonOptions & Pick; + [SAO10K_L3_1_EURYALE_70B.id]: OpenRouterCommonOptions & Pick; + [SAO10K_L3_3_EURYALE_70B.id]: OpenRouterCommonOptions & Pick; + [STEPFUN_STEP_3_5_FLASH.id]: OpenRouterCommonOptions & Pick; + [SWITCHPOINT_ROUTER.id]: OpenRouterCommonOptions & Pick; + [TENCENT_HUNYUAN_A13B_INSTRUCT.id]: OpenRouterCommonOptions & Pick; + [THEDRUMMER_CYDONIA_24B_V4_1.id]: OpenRouterCommonOptions & Pick; + [THEDRUMMER_ROCINANTE_12B.id]: OpenRouterCommonOptions & Pick; + [THEDRUMMER_SKYFALL_36B_V2.id]: OpenRouterCommonOptions & Pick; + [THEDRUMMER_UNSLOPNEMO_12B.id]: OpenRouterCommonOptions & Pick; + [TNGTECH_DEEPSEEK_R1T2_CHIMERA.id]: OpenRouterCommonOptions & Pick; + [UNDI95_REMM_SLERP_L2_13B.id]: OpenRouterCommonOptions & Pick; + [UPSTAGE_SOLAR_PRO_3.id]: OpenRouterCommonOptions & Pick; + [WRITER_PALMYRA_X5.id]: OpenRouterCommonOptions & Pick; + [X_AI_GROK_3.id]: OpenRouterCommonOptions & Pick; + [X_AI_GROK_3_BETA.id]: OpenRouterCommonOptions & Pick; + [X_AI_GROK_3_MINI.id]: OpenRouterCommonOptions & Pick; + [X_AI_GROK_3_MINI_BETA.id]: OpenRouterCommonOptions & Pick; + [X_AI_GROK_4.id]: OpenRouterCommonOptions & Pick; + [X_AI_GROK_4_FAST.id]: OpenRouterCommonOptions & Pick; + [X_AI_GROK_4_1_FAST.id]: OpenRouterCommonOptions & Pick; + [X_AI_GROK_4_20.id]: OpenRouterCommonOptions & Pick; + [X_AI_GROK_4_20_MULTI_AGENT.id]: OpenRouterCommonOptions & Pick; + [X_AI_GROK_CODE_FAST_1.id]: OpenRouterCommonOptions & Pick; + [XIAOMI_MIMO_V2_FLASH.id]: OpenRouterCommonOptions & Pick; + [XIAOMI_MIMO_V2_OMNI.id]: OpenRouterCommonOptions & Pick; + [XIAOMI_MIMO_V2_PRO.id]: OpenRouterCommonOptions & Pick; + [Z_AI_GLM_4_32B.id]: OpenRouterCommonOptions & Pick; + [Z_AI_GLM_4_5.id]: OpenRouterCommonOptions & Pick; + [Z_AI_GLM_4_5_AIR.id]: OpenRouterCommonOptions & Pick; + [Z_AI_GLM_4_5_AIR_FREE.id]: OpenRouterCommonOptions & Pick; + [Z_AI_GLM_4_5V.id]: OpenRouterCommonOptions & Pick; + [Z_AI_GLM_4_6.id]: OpenRouterCommonOptions & Pick; + [Z_AI_GLM_4_6V.id]: OpenRouterCommonOptions & Pick; + [Z_AI_GLM_4_7.id]: OpenRouterCommonOptions & Pick; + [Z_AI_GLM_4_7_FLASH.id]: OpenRouterCommonOptions & Pick; + [Z_AI_GLM_5.id]: OpenRouterCommonOptions & Pick; + [Z_AI_GLM_5_TURBO.id]: OpenRouterCommonOptions & Pick; + [Z_AI_GLM_5_1.id]: OpenRouterCommonOptions & Pick; + [Z_AI_GLM_5V_TURBO.id]: OpenRouterCommonOptions & Pick; } -export type OpenRouterModelInputModalitiesByName = { - [AI21_JAMBA_LARGE_1_7.id]: ReadonlyArray<'text'> - [AION_LABS_AION_1_0.id]: ReadonlyArray<'text'> - [AION_LABS_AION_1_0_MINI.id]: ReadonlyArray<'text'> - [AION_LABS_AION_2_0.id]: ReadonlyArray<'text'> - [AION_LABS_AION_RP_LLAMA_3_1_8B.id]: ReadonlyArray<'text'> - [ALFREDPROS_CODELLAMA_7B_INSTRUCT_SOLIDITY.id]: ReadonlyArray<'text'> - [ALIBABA_TONGYI_DEEPRESEARCH_30B_A3B.id]: ReadonlyArray<'text'> - [ALLENAI_OLMO_2_0325_32B_INSTRUCT.id]: ReadonlyArray<'text'> - [ALLENAI_OLMO_3_32B_THINK.id]: ReadonlyArray<'text'> - [ALLENAI_OLMO_3_1_32B_INSTRUCT.id]: ReadonlyArray<'text'> - [ALPINDALE_GOLIATH_120B.id]: ReadonlyArray<'text'> - [AMAZON_NOVA_2_LITE_V1.id]: ReadonlyArray< - 'text' | 'image' | 'video' | 'document' - > - [AMAZON_NOVA_LITE_V1.id]: ReadonlyArray<'text' | 'image'> - [AMAZON_NOVA_MICRO_V1.id]: ReadonlyArray<'text'> - [AMAZON_NOVA_PREMIER_V1.id]: ReadonlyArray<'text' | 'image'> - [AMAZON_NOVA_PRO_V1.id]: ReadonlyArray<'text' | 'image'> - [ANTHRACITE_ORG_MAGNUM_V4_72B.id]: ReadonlyArray<'text'> - [ANTHROPIC_CLAUDE_3_HAIKU.id]: ReadonlyArray<'text' | 'image'> - [ANTHROPIC_CLAUDE_3_5_HAIKU.id]: ReadonlyArray<'text' | 'image'> - [ANTHROPIC_CLAUDE_3_7_SONNET.id]: ReadonlyArray<'text' | 'image' | 'document'> - [ANTHROPIC_CLAUDE_3_7_SONNET_THINKING.id]: ReadonlyArray< - 'text' | 'image' | 'document' - > - [ANTHROPIC_CLAUDE_HAIKU_4_5.id]: ReadonlyArray<'image' | 'text'> - [ANTHROPIC_CLAUDE_OPUS_4.id]: ReadonlyArray<'image' | 'text' | 'document'> - [ANTHROPIC_CLAUDE_OPUS_4_1.id]: ReadonlyArray<'image' | 'text' | 'document'> - [ANTHROPIC_CLAUDE_OPUS_4_5.id]: ReadonlyArray<'document' | 'image' | 'text'> - [ANTHROPIC_CLAUDE_OPUS_4_6.id]: ReadonlyArray<'text' | 'image'> - [ANTHROPIC_CLAUDE_OPUS_4_6_FAST.id]: ReadonlyArray<'text' | 'image'> - [ANTHROPIC_CLAUDE_SONNET_4.id]: ReadonlyArray<'image' | 'text' | 'document'> - [ANTHROPIC_CLAUDE_SONNET_4_5.id]: ReadonlyArray<'text' | 'image' | 'document'> - [ANTHROPIC_CLAUDE_SONNET_4_6.id]: ReadonlyArray<'text' | 'image'> - [ARCEE_AI_CODER_LARGE.id]: ReadonlyArray<'text'> - [ARCEE_AI_MAESTRO_REASONING.id]: ReadonlyArray<'text'> - [ARCEE_AI_SPOTLIGHT.id]: ReadonlyArray<'image' | 'text'> - [ARCEE_AI_TRINITY_LARGE_PREVIEW_FREE.id]: ReadonlyArray<'text'> - [ARCEE_AI_TRINITY_LARGE_THINKING.id]: ReadonlyArray<'text'> - [ARCEE_AI_TRINITY_MINI.id]: ReadonlyArray<'text'> - [ARCEE_AI_VIRTUOSO_LARGE.id]: ReadonlyArray<'text'> - [BAIDU_ERNIE_4_5_21B_A3B.id]: ReadonlyArray<'text'> - [BAIDU_ERNIE_4_5_21B_A3B_THINKING.id]: ReadonlyArray<'text'> - [BAIDU_ERNIE_4_5_300B_A47B.id]: ReadonlyArray<'text'> - [BAIDU_ERNIE_4_5_VL_28B_A3B.id]: ReadonlyArray<'text' | 'image'> - [BAIDU_ERNIE_4_5_VL_424B_A47B.id]: ReadonlyArray<'image' | 'text'> - [BYTEDANCE_SEED_SEED_1_6.id]: ReadonlyArray<'image' | 'text' | 'video'> - [BYTEDANCE_SEED_SEED_1_6_FLASH.id]: ReadonlyArray<'image' | 'text' | 'video'> - [BYTEDANCE_SEED_SEED_2_0_LITE.id]: ReadonlyArray<'text' | 'image' | 'video'> - [BYTEDANCE_SEED_SEED_2_0_MINI.id]: ReadonlyArray<'text' | 'image' | 'video'> - [BYTEDANCE_UI_TARS_1_5_7B.id]: ReadonlyArray<'image' | 'text'> - [COGNITIVECOMPUTATIONS_DOLPHIN_MISTRAL_24B_VENICE_EDITION_FREE.id]: ReadonlyArray<'text'> - [COHERE_COMMAND_A.id]: ReadonlyArray<'text'> - [COHERE_COMMAND_R_08_2024.id]: ReadonlyArray<'text'> - [COHERE_COMMAND_R_PLUS_08_2024.id]: ReadonlyArray<'text'> - [COHERE_COMMAND_R7B_12_2024.id]: ReadonlyArray<'text'> - [DEEPCOGITO_COGITO_V2_1_671B.id]: ReadonlyArray<'text'> - [DEEPSEEK_DEEPSEEK_CHAT.id]: ReadonlyArray<'text'> - [DEEPSEEK_DEEPSEEK_CHAT_V3_0324.id]: ReadonlyArray<'text'> - [DEEPSEEK_DEEPSEEK_CHAT_V3_1.id]: ReadonlyArray<'text'> - [DEEPSEEK_DEEPSEEK_R1.id]: ReadonlyArray<'text'> - [DEEPSEEK_DEEPSEEK_R1_0528.id]: ReadonlyArray<'text'> - [DEEPSEEK_DEEPSEEK_R1_DISTILL_LLAMA_70B.id]: ReadonlyArray<'text'> - [DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_32B.id]: ReadonlyArray<'text'> - [DEEPSEEK_DEEPSEEK_V3_1_TERMINUS.id]: ReadonlyArray<'text'> - [DEEPSEEK_DEEPSEEK_V3_2.id]: ReadonlyArray<'text'> - [DEEPSEEK_DEEPSEEK_V3_2_EXP.id]: ReadonlyArray<'text'> - [DEEPSEEK_DEEPSEEK_V3_2_SPECIALE.id]: ReadonlyArray<'text'> - [ELEUTHERAI_LLEMMA_7B.id]: ReadonlyArray<'text'> - [ESSENTIALAI_RNJ_1_INSTRUCT.id]: ReadonlyArray<'text'> - [GOOGLE_GEMINI_2_0_FLASH_001.id]: ReadonlyArray< - 'text' | 'image' | 'document' | 'audio' | 'video' - > - [GOOGLE_GEMINI_2_0_FLASH_LITE_001.id]: ReadonlyArray< - 'text' | 'image' | 'document' | 'audio' | 'video' - > - [GOOGLE_GEMINI_2_5_FLASH.id]: ReadonlyArray< - 'document' | 'image' | 'text' | 'audio' | 'video' - > - [GOOGLE_GEMINI_2_5_FLASH_IMAGE.id]: ReadonlyArray<'image' | 'text'> - [GOOGLE_GEMINI_2_5_FLASH_LITE.id]: ReadonlyArray< - 'text' | 'image' | 'document' | 'audio' | 'video' - > - [GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025.id]: ReadonlyArray< - 'text' | 'image' | 'document' | 'audio' | 'video' - > - [GOOGLE_GEMINI_2_5_PRO.id]: ReadonlyArray< - 'text' | 'image' | 'document' | 'audio' | 'video' - > - [GOOGLE_GEMINI_2_5_PRO_PREVIEW.id]: ReadonlyArray< - 'document' | 'image' | 'text' | 'audio' - > - [GOOGLE_GEMINI_2_5_PRO_PREVIEW_05_06.id]: ReadonlyArray< - 'text' | 'image' | 'document' | 'audio' | 'video' - > - [GOOGLE_GEMINI_3_FLASH_PREVIEW.id]: ReadonlyArray< - 'text' | 'image' | 'document' | 'audio' | 'video' - > - [GOOGLE_GEMINI_3_PRO_IMAGE_PREVIEW.id]: ReadonlyArray<'image' | 'text'> - [GOOGLE_GEMINI_3_1_FLASH_IMAGE_PREVIEW.id]: ReadonlyArray<'image' | 'text'> - [GOOGLE_GEMINI_3_1_FLASH_LITE_PREVIEW.id]: ReadonlyArray< - 'text' | 'image' | 'video' | 'document' | 'audio' - > - [GOOGLE_GEMINI_3_1_PRO_PREVIEW.id]: ReadonlyArray< - 'audio' | 'document' | 'image' | 'text' | 'video' - > - [GOOGLE_GEMINI_3_1_PRO_PREVIEW_CUSTOMTOOLS.id]: ReadonlyArray< - 'text' | 'audio' | 'image' | 'video' | 'document' - > - [GOOGLE_GEMMA_2_27B_IT.id]: ReadonlyArray<'text'> - [GOOGLE_GEMMA_2_9B_IT.id]: ReadonlyArray<'text'> - [GOOGLE_GEMMA_3_12B_IT.id]: ReadonlyArray<'text' | 'image'> - [GOOGLE_GEMMA_3_12B_IT_FREE.id]: ReadonlyArray<'text' | 'image'> - [GOOGLE_GEMMA_3_27B_IT.id]: ReadonlyArray<'text' | 'image'> - [GOOGLE_GEMMA_3_27B_IT_FREE.id]: ReadonlyArray<'text' | 'image'> - [GOOGLE_GEMMA_3_4B_IT.id]: ReadonlyArray<'text' | 'image'> - [GOOGLE_GEMMA_3_4B_IT_FREE.id]: ReadonlyArray<'text' | 'image'> - [GOOGLE_GEMMA_3N_E2B_IT_FREE.id]: ReadonlyArray<'text'> - [GOOGLE_GEMMA_3N_E4B_IT.id]: ReadonlyArray<'text'> - [GOOGLE_GEMMA_3N_E4B_IT_FREE.id]: ReadonlyArray<'text'> - [GOOGLE_GEMMA_4_26B_A4B_IT.id]: ReadonlyArray<'image' | 'text' | 'video'> - [GOOGLE_GEMMA_4_26B_A4B_IT_FREE.id]: ReadonlyArray<'image' | 'text' | 'video'> - [GOOGLE_GEMMA_4_31B_IT.id]: ReadonlyArray<'image' | 'text' | 'video'> - [GOOGLE_GEMMA_4_31B_IT_FREE.id]: ReadonlyArray<'image' | 'text' | 'video'> - [GOOGLE_LYRIA_3_CLIP_PREVIEW.id]: ReadonlyArray<'text' | 'image'> - [GOOGLE_LYRIA_3_PRO_PREVIEW.id]: ReadonlyArray<'text' | 'image'> - [GRYPHE_MYTHOMAX_L2_13B.id]: ReadonlyArray<'text'> - [IBM_GRANITE_GRANITE_4_0_H_MICRO.id]: ReadonlyArray<'text'> - [INCEPTION_MERCURY.id]: ReadonlyArray<'text'> - [INCEPTION_MERCURY_2.id]: ReadonlyArray<'text'> - [INCEPTION_MERCURY_CODER.id]: ReadonlyArray<'text'> - [INFLECTION_INFLECTION_3_PI.id]: ReadonlyArray<'text'> - [INFLECTION_INFLECTION_3_PRODUCTIVITY.id]: ReadonlyArray<'text'> - [KWAIPILOT_KAT_CODER_PRO_V2.id]: ReadonlyArray<'text'> - [LIQUID_LFM_2_24B_A2B.id]: ReadonlyArray<'text'> - [LIQUID_LFM_2_5_1_2B_INSTRUCT_FREE.id]: ReadonlyArray<'text'> - [LIQUID_LFM_2_5_1_2B_THINKING_FREE.id]: ReadonlyArray<'text'> - [MANCER_WEAVER.id]: ReadonlyArray<'text'> - [MEITUAN_LONGCAT_FLASH_CHAT.id]: ReadonlyArray<'text'> - [META_LLAMA_LLAMA_3_70B_INSTRUCT.id]: ReadonlyArray<'text'> - [META_LLAMA_LLAMA_3_8B_INSTRUCT.id]: ReadonlyArray<'text'> - [META_LLAMA_LLAMA_3_1_70B_INSTRUCT.id]: ReadonlyArray<'text'> - [META_LLAMA_LLAMA_3_1_8B_INSTRUCT.id]: ReadonlyArray<'text'> - [META_LLAMA_LLAMA_3_2_11B_VISION_INSTRUCT.id]: ReadonlyArray<'text' | 'image'> - [META_LLAMA_LLAMA_3_2_1B_INSTRUCT.id]: ReadonlyArray<'text'> - [META_LLAMA_LLAMA_3_2_3B_INSTRUCT.id]: ReadonlyArray<'text'> - [META_LLAMA_LLAMA_3_2_3B_INSTRUCT_FREE.id]: ReadonlyArray<'text'> - [META_LLAMA_LLAMA_3_3_70B_INSTRUCT.id]: ReadonlyArray<'text'> - [META_LLAMA_LLAMA_3_3_70B_INSTRUCT_FREE.id]: ReadonlyArray<'text'> - [META_LLAMA_LLAMA_4_MAVERICK.id]: ReadonlyArray<'text' | 'image'> - [META_LLAMA_LLAMA_4_SCOUT.id]: ReadonlyArray<'text' | 'image'> - [META_LLAMA_LLAMA_GUARD_3_8B.id]: ReadonlyArray<'text'> - [META_LLAMA_LLAMA_GUARD_4_12B.id]: ReadonlyArray<'image' | 'text'> - [MICROSOFT_PHI_4.id]: ReadonlyArray<'text'> - [MICROSOFT_WIZARDLM_2_8X22B.id]: ReadonlyArray<'text'> - [MINIMAX_MINIMAX_01.id]: ReadonlyArray<'text' | 'image'> - [MINIMAX_MINIMAX_M1.id]: ReadonlyArray<'text'> - [MINIMAX_MINIMAX_M2.id]: ReadonlyArray<'text'> - [MINIMAX_MINIMAX_M2_HER.id]: ReadonlyArray<'text'> - [MINIMAX_MINIMAX_M2_1.id]: ReadonlyArray<'text'> - [MINIMAX_MINIMAX_M2_5.id]: ReadonlyArray<'text'> - [MINIMAX_MINIMAX_M2_5_FREE.id]: ReadonlyArray<'text'> - [MINIMAX_MINIMAX_M2_7.id]: ReadonlyArray<'text'> - [MISTRALAI_CODESTRAL_2508.id]: ReadonlyArray<'text'> - [MISTRALAI_DEVSTRAL_2512.id]: ReadonlyArray<'text'> - [MISTRALAI_DEVSTRAL_MEDIUM.id]: ReadonlyArray<'text'> - [MISTRALAI_DEVSTRAL_SMALL.id]: ReadonlyArray<'text'> - [MISTRALAI_MINISTRAL_14B_2512.id]: ReadonlyArray<'text' | 'image'> - [MISTRALAI_MINISTRAL_3B_2512.id]: ReadonlyArray<'text' | 'image'> - [MISTRALAI_MINISTRAL_8B_2512.id]: ReadonlyArray<'text' | 'image'> - [MISTRALAI_MISTRAL_7B_INSTRUCT_V0_1.id]: ReadonlyArray<'text'> - [MISTRALAI_MISTRAL_LARGE.id]: ReadonlyArray<'text'> - [MISTRALAI_MISTRAL_LARGE_2407.id]: ReadonlyArray<'text'> - [MISTRALAI_MISTRAL_LARGE_2411.id]: ReadonlyArray<'text'> - [MISTRALAI_MISTRAL_LARGE_2512.id]: ReadonlyArray<'text' | 'image'> - [MISTRALAI_MISTRAL_MEDIUM_3.id]: ReadonlyArray<'text' | 'image'> - [MISTRALAI_MISTRAL_MEDIUM_3_1.id]: ReadonlyArray<'text' | 'image'> - [MISTRALAI_MISTRAL_NEMO.id]: ReadonlyArray<'text'> - [MISTRALAI_MISTRAL_SABA.id]: ReadonlyArray<'text'> - [MISTRALAI_MISTRAL_SMALL_24B_INSTRUCT_2501.id]: ReadonlyArray<'text'> - [MISTRALAI_MISTRAL_SMALL_2603.id]: ReadonlyArray<'text' | 'image'> - [MISTRALAI_MISTRAL_SMALL_3_1_24B_INSTRUCT.id]: ReadonlyArray<'text' | 'image'> - [MISTRALAI_MISTRAL_SMALL_3_2_24B_INSTRUCT.id]: ReadonlyArray<'image' | 'text'> - [MISTRALAI_MISTRAL_SMALL_CREATIVE.id]: ReadonlyArray<'text'> - [MISTRALAI_MIXTRAL_8X22B_INSTRUCT.id]: ReadonlyArray<'text'> - [MISTRALAI_MIXTRAL_8X7B_INSTRUCT.id]: ReadonlyArray<'text'> - [MISTRALAI_PIXTRAL_LARGE_2411.id]: ReadonlyArray<'text' | 'image'> - [MISTRALAI_VOXTRAL_SMALL_24B_2507.id]: ReadonlyArray<'text' | 'audio'> - [MOONSHOTAI_KIMI_K2.id]: ReadonlyArray<'text'> - [MOONSHOTAI_KIMI_K2_0905.id]: ReadonlyArray<'text'> - [MOONSHOTAI_KIMI_K2_THINKING.id]: ReadonlyArray<'text'> - [MOONSHOTAI_KIMI_K2_5.id]: ReadonlyArray<'text' | 'image'> - [MORPH_MORPH_V3_FAST.id]: ReadonlyArray<'text'> - [MORPH_MORPH_V3_LARGE.id]: ReadonlyArray<'text'> - [NEX_AGI_DEEPSEEK_V3_1_NEX_N1.id]: ReadonlyArray<'text'> - [NOUSRESEARCH_HERMES_2_PRO_LLAMA_3_8B.id]: ReadonlyArray<'text'> - [NOUSRESEARCH_HERMES_3_LLAMA_3_1_405B.id]: ReadonlyArray<'text'> - [NOUSRESEARCH_HERMES_3_LLAMA_3_1_405B_FREE.id]: ReadonlyArray<'text'> - [NOUSRESEARCH_HERMES_3_LLAMA_3_1_70B.id]: ReadonlyArray<'text'> - [NOUSRESEARCH_HERMES_4_405B.id]: ReadonlyArray<'text'> - [NOUSRESEARCH_HERMES_4_70B.id]: ReadonlyArray<'text'> - [NVIDIA_LLAMA_3_1_NEMOTRON_70B_INSTRUCT.id]: ReadonlyArray<'text'> - [NVIDIA_LLAMA_3_1_NEMOTRON_ULTRA_253B_V1.id]: ReadonlyArray<'text'> - [NVIDIA_LLAMA_3_3_NEMOTRON_SUPER_49B_V1_5.id]: ReadonlyArray<'text'> - [NVIDIA_NEMOTRON_3_NANO_30B_A3B.id]: ReadonlyArray<'text'> - [NVIDIA_NEMOTRON_3_NANO_30B_A3B_FREE.id]: ReadonlyArray<'text'> - [NVIDIA_NEMOTRON_3_SUPER_120B_A12B.id]: ReadonlyArray<'text'> - [NVIDIA_NEMOTRON_3_SUPER_120B_A12B_FREE.id]: ReadonlyArray<'text'> - [NVIDIA_NEMOTRON_NANO_12B_V2_VL.id]: ReadonlyArray<'image' | 'text' | 'video'> - [NVIDIA_NEMOTRON_NANO_12B_V2_VL_FREE.id]: ReadonlyArray< - 'image' | 'text' | 'video' - > - [NVIDIA_NEMOTRON_NANO_9B_V2.id]: ReadonlyArray<'text'> - [NVIDIA_NEMOTRON_NANO_9B_V2_FREE.id]: ReadonlyArray<'text'> - [OPENAI_GPT_3_5_TURBO.id]: ReadonlyArray<'text'> - [OPENAI_GPT_3_5_TURBO_0613.id]: ReadonlyArray<'text'> - [OPENAI_GPT_3_5_TURBO_16K.id]: ReadonlyArray<'text'> - [OPENAI_GPT_3_5_TURBO_INSTRUCT.id]: ReadonlyArray<'text'> - [OPENAI_GPT_4.id]: ReadonlyArray<'text'> - [OPENAI_GPT_4_0314.id]: ReadonlyArray<'text'> - [OPENAI_GPT_4_1106_PREVIEW.id]: ReadonlyArray<'text'> - [OPENAI_GPT_4_TURBO.id]: ReadonlyArray<'text' | 'image'> - [OPENAI_GPT_4_TURBO_PREVIEW.id]: ReadonlyArray<'text'> - [OPENAI_GPT_4_1.id]: ReadonlyArray<'image' | 'text' | 'document'> - [OPENAI_GPT_4_1_MINI.id]: ReadonlyArray<'image' | 'text' | 'document'> - [OPENAI_GPT_4_1_NANO.id]: ReadonlyArray<'image' | 'text' | 'document'> - [OPENAI_GPT_4O.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_GPT_4O_2024_05_13.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_GPT_4O_2024_08_06.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_GPT_4O_2024_11_20.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_GPT_4O_AUDIO_PREVIEW.id]: ReadonlyArray<'audio' | 'text'> - [OPENAI_GPT_4O_MINI.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_GPT_4O_MINI_2024_07_18.id]: ReadonlyArray< - 'text' | 'image' | 'document' - > - [OPENAI_GPT_4O_MINI_SEARCH_PREVIEW.id]: ReadonlyArray<'text'> - [OPENAI_GPT_4O_SEARCH_PREVIEW.id]: ReadonlyArray<'text'> - [OPENAI_GPT_4O_EXTENDED.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_GPT_5.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_GPT_5_CHAT.id]: ReadonlyArray<'document' | 'image' | 'text'> - [OPENAI_GPT_5_CODEX.id]: ReadonlyArray<'text' | 'image'> - [OPENAI_GPT_5_IMAGE.id]: ReadonlyArray<'image' | 'text' | 'document'> - [OPENAI_GPT_5_IMAGE_MINI.id]: ReadonlyArray<'document' | 'image' | 'text'> - [OPENAI_GPT_5_MINI.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_GPT_5_NANO.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_GPT_5_PRO.id]: ReadonlyArray<'image' | 'text' | 'document'> - [OPENAI_GPT_5_1.id]: ReadonlyArray<'image' | 'text' | 'document'> - [OPENAI_GPT_5_1_CHAT.id]: ReadonlyArray<'document' | 'image' | 'text'> - [OPENAI_GPT_5_1_CODEX.id]: ReadonlyArray<'text' | 'image'> - [OPENAI_GPT_5_1_CODEX_MAX.id]: ReadonlyArray<'text' | 'image'> - [OPENAI_GPT_5_1_CODEX_MINI.id]: ReadonlyArray<'image' | 'text'> - [OPENAI_GPT_5_2.id]: ReadonlyArray<'document' | 'image' | 'text'> - [OPENAI_GPT_5_2_CHAT.id]: ReadonlyArray<'document' | 'image' | 'text'> - [OPENAI_GPT_5_2_CODEX.id]: ReadonlyArray<'text' | 'image'> - [OPENAI_GPT_5_2_PRO.id]: ReadonlyArray<'image' | 'text' | 'document'> - [OPENAI_GPT_5_3_CHAT.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_GPT_5_3_CODEX.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_GPT_5_4.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_GPT_5_4_MINI.id]: ReadonlyArray<'document' | 'image' | 'text'> - [OPENAI_GPT_5_4_NANO.id]: ReadonlyArray<'document' | 'image' | 'text'> - [OPENAI_GPT_5_4_PRO.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_GPT_AUDIO.id]: ReadonlyArray<'text' | 'audio'> - [OPENAI_GPT_AUDIO_MINI.id]: ReadonlyArray<'text' | 'audio'> - [OPENAI_GPT_OSS_120B.id]: ReadonlyArray<'text'> - [OPENAI_GPT_OSS_120B_FREE.id]: ReadonlyArray<'text'> - [OPENAI_GPT_OSS_20B.id]: ReadonlyArray<'text'> - [OPENAI_GPT_OSS_20B_FREE.id]: ReadonlyArray<'text'> - [OPENAI_GPT_OSS_SAFEGUARD_20B.id]: ReadonlyArray<'text'> - [OPENAI_O1.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_O1_PRO.id]: ReadonlyArray<'text' | 'image' | 'document'> - [OPENAI_O3.id]: ReadonlyArray<'image' | 'text' | 'document'> - [OPENAI_O3_DEEP_RESEARCH.id]: ReadonlyArray<'image' | 'text' | 'document'> - [OPENAI_O3_MINI.id]: ReadonlyArray<'text' | 'document'> - [OPENAI_O3_MINI_HIGH.id]: ReadonlyArray<'text' | 'document'> - [OPENAI_O3_PRO.id]: ReadonlyArray<'text' | 'document' | 'image'> - [OPENAI_O4_MINI.id]: ReadonlyArray<'image' | 'text' | 'document'> - [OPENAI_O4_MINI_DEEP_RESEARCH.id]: ReadonlyArray< - 'document' | 'image' | 'text' - > - [OPENAI_O4_MINI_HIGH.id]: ReadonlyArray<'image' | 'text' | 'document'> - [OPENROUTER_AUTO.id]: ReadonlyArray< - 'text' | 'image' | 'audio' | 'document' | 'video' - > - [OPENROUTER_BODYBUILDER.id]: ReadonlyArray<'text'> - [OPENROUTER_FREE.id]: ReadonlyArray<'text' | 'image'> - [PERPLEXITY_SONAR.id]: ReadonlyArray<'text' | 'image'> - [PERPLEXITY_SONAR_DEEP_RESEARCH.id]: ReadonlyArray<'text'> - [PERPLEXITY_SONAR_PRO.id]: ReadonlyArray<'text' | 'image'> - [PERPLEXITY_SONAR_PRO_SEARCH.id]: ReadonlyArray<'text' | 'image'> - [PERPLEXITY_SONAR_REASONING_PRO.id]: ReadonlyArray<'text' | 'image'> - [PRIME_INTELLECT_INTELLECT_3.id]: ReadonlyArray<'text'> - [QWEN_QWEN_2_5_72B_INSTRUCT.id]: ReadonlyArray<'text'> - [QWEN_QWEN_2_5_7B_INSTRUCT.id]: ReadonlyArray<'text'> - [QWEN_QWEN_2_5_CODER_32B_INSTRUCT.id]: ReadonlyArray<'text'> - [QWEN_QWEN_MAX.id]: ReadonlyArray<'text'> - [QWEN_QWEN_PLUS.id]: ReadonlyArray<'text'> - [QWEN_QWEN_PLUS_2025_07_28.id]: ReadonlyArray<'text'> - [QWEN_QWEN_PLUS_2025_07_28_THINKING.id]: ReadonlyArray<'text'> - [QWEN_QWEN_TURBO.id]: ReadonlyArray<'text'> - [QWEN_QWEN_VL_MAX.id]: ReadonlyArray<'text' | 'image'> - [QWEN_QWEN_VL_PLUS.id]: ReadonlyArray<'text' | 'image'> - [QWEN_QWEN2_5_CODER_7B_INSTRUCT.id]: ReadonlyArray<'text'> - [QWEN_QWEN2_5_VL_32B_INSTRUCT.id]: ReadonlyArray<'text' | 'image'> - [QWEN_QWEN2_5_VL_72B_INSTRUCT.id]: ReadonlyArray<'text' | 'image'> - [QWEN_QWEN3_14B.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_235B_A22B.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_235B_A22B_2507.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_235B_A22B_THINKING_2507.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_30B_A3B.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_30B_A3B_INSTRUCT_2507.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_30B_A3B_THINKING_2507.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_32B.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_8B.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_CODER.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_CODER_30B_A3B_INSTRUCT.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_CODER_FLASH.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_CODER_NEXT.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_CODER_PLUS.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_CODER_FREE.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_MAX.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_MAX_THINKING.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_NEXT_80B_A3B_INSTRUCT.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_NEXT_80B_A3B_INSTRUCT_FREE.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_NEXT_80B_A3B_THINKING.id]: ReadonlyArray<'text'> - [QWEN_QWEN3_VL_235B_A22B_INSTRUCT.id]: ReadonlyArray<'text' | 'image'> - [QWEN_QWEN3_VL_235B_A22B_THINKING.id]: ReadonlyArray<'text' | 'image'> - [QWEN_QWEN3_VL_30B_A3B_INSTRUCT.id]: ReadonlyArray<'text' | 'image'> - [QWEN_QWEN3_VL_30B_A3B_THINKING.id]: ReadonlyArray<'text' | 'image'> - [QWEN_QWEN3_VL_32B_INSTRUCT.id]: ReadonlyArray<'text' | 'image'> - [QWEN_QWEN3_VL_8B_INSTRUCT.id]: ReadonlyArray<'image' | 'text'> - [QWEN_QWEN3_VL_8B_THINKING.id]: ReadonlyArray<'image' | 'text'> - [QWEN_QWEN3_5_122B_A10B.id]: ReadonlyArray<'text' | 'image' | 'video'> - [QWEN_QWEN3_5_27B.id]: ReadonlyArray<'text' | 'image' | 'video'> - [QWEN_QWEN3_5_35B_A3B.id]: ReadonlyArray<'text' | 'image' | 'video'> - [QWEN_QWEN3_5_397B_A17B.id]: ReadonlyArray<'text' | 'image' | 'video'> - [QWEN_QWEN3_5_9B.id]: ReadonlyArray<'text' | 'image' | 'video'> - [QWEN_QWEN3_5_FLASH_02_23.id]: ReadonlyArray<'text' | 'image' | 'video'> - [QWEN_QWEN3_5_PLUS_02_15.id]: ReadonlyArray<'text' | 'image' | 'video'> - [QWEN_QWEN3_6_PLUS.id]: ReadonlyArray<'text' | 'image' | 'video'> - [QWEN_QWQ_32B.id]: ReadonlyArray<'text'> - [REKAAI_REKA_EDGE.id]: ReadonlyArray<'image' | 'text' | 'video'> - [REKAAI_REKA_FLASH_3.id]: ReadonlyArray<'text'> - [RELACE_RELACE_APPLY_3.id]: ReadonlyArray<'text'> - [RELACE_RELACE_SEARCH.id]: ReadonlyArray<'text'> - [SAO10K_L3_EURYALE_70B.id]: ReadonlyArray<'text'> - [SAO10K_L3_LUNARIS_8B.id]: ReadonlyArray<'text'> - [SAO10K_L3_1_70B_HANAMI_X1.id]: ReadonlyArray<'text'> - [SAO10K_L3_1_EURYALE_70B.id]: ReadonlyArray<'text'> - [SAO10K_L3_3_EURYALE_70B.id]: ReadonlyArray<'text'> - [STEPFUN_STEP_3_5_FLASH.id]: ReadonlyArray<'text'> - [SWITCHPOINT_ROUTER.id]: ReadonlyArray<'text'> - [TENCENT_HUNYUAN_A13B_INSTRUCT.id]: ReadonlyArray<'text'> - [THEDRUMMER_CYDONIA_24B_V4_1.id]: ReadonlyArray<'text'> - [THEDRUMMER_ROCINANTE_12B.id]: ReadonlyArray<'text'> - [THEDRUMMER_SKYFALL_36B_V2.id]: ReadonlyArray<'text'> - [THEDRUMMER_UNSLOPNEMO_12B.id]: ReadonlyArray<'text'> - [TNGTECH_DEEPSEEK_R1T2_CHIMERA.id]: ReadonlyArray<'text'> - [UNDI95_REMM_SLERP_L2_13B.id]: ReadonlyArray<'text'> - [UPSTAGE_SOLAR_PRO_3.id]: ReadonlyArray<'text'> - [WRITER_PALMYRA_X5.id]: ReadonlyArray<'text'> - [X_AI_GROK_3.id]: ReadonlyArray<'text'> - [X_AI_GROK_3_BETA.id]: ReadonlyArray<'text'> - [X_AI_GROK_3_MINI.id]: ReadonlyArray<'text'> - [X_AI_GROK_3_MINI_BETA.id]: ReadonlyArray<'text'> - [X_AI_GROK_4.id]: ReadonlyArray<'image' | 'text' | 'document'> - [X_AI_GROK_4_FAST.id]: ReadonlyArray<'text' | 'image' | 'document'> - [X_AI_GROK_4_1_FAST.id]: ReadonlyArray<'text' | 'image' | 'document'> - [X_AI_GROK_4_20.id]: ReadonlyArray<'text' | 'image' | 'document'> - [X_AI_GROK_4_20_MULTI_AGENT.id]: ReadonlyArray<'text' | 'image' | 'document'> - [X_AI_GROK_CODE_FAST_1.id]: ReadonlyArray<'text'> - [XIAOMI_MIMO_V2_FLASH.id]: ReadonlyArray<'text'> - [XIAOMI_MIMO_V2_OMNI.id]: ReadonlyArray<'text' | 'audio' | 'image' | 'video'> - [XIAOMI_MIMO_V2_PRO.id]: ReadonlyArray<'text'> - [Z_AI_GLM_4_32B.id]: ReadonlyArray<'text'> - [Z_AI_GLM_4_5.id]: ReadonlyArray<'text'> - [Z_AI_GLM_4_5_AIR.id]: ReadonlyArray<'text'> - [Z_AI_GLM_4_5_AIR_FREE.id]: ReadonlyArray<'text'> - [Z_AI_GLM_4_5V.id]: ReadonlyArray<'text' | 'image'> - [Z_AI_GLM_4_6.id]: ReadonlyArray<'text'> - [Z_AI_GLM_4_6V.id]: ReadonlyArray<'image' | 'text' | 'video'> - [Z_AI_GLM_4_7.id]: ReadonlyArray<'text'> - [Z_AI_GLM_4_7_FLASH.id]: ReadonlyArray<'text'> - [Z_AI_GLM_5.id]: ReadonlyArray<'text'> - [Z_AI_GLM_5_TURBO.id]: ReadonlyArray<'text'> - [Z_AI_GLM_5_1.id]: ReadonlyArray<'text'> - [Z_AI_GLM_5V_TURBO.id]: ReadonlyArray<'image' | 'text' | 'video'> + +export type OpenRouterModelInputModalitiesByName = { + [AI21_JAMBA_LARGE_1_7.id]: ReadonlyArray<'text'>; + [AION_LABS_AION_1_0.id]: ReadonlyArray<'text'>; + [AION_LABS_AION_1_0_MINI.id]: ReadonlyArray<'text'>; + [AION_LABS_AION_2_0.id]: ReadonlyArray<'text'>; + [AION_LABS_AION_RP_LLAMA_3_1_8B.id]: ReadonlyArray<'text'>; + [ALFREDPROS_CODELLAMA_7B_INSTRUCT_SOLIDITY.id]: ReadonlyArray<'text'>; + [ALIBABA_TONGYI_DEEPRESEARCH_30B_A3B.id]: ReadonlyArray<'text'>; + [ALLENAI_OLMO_2_0325_32B_INSTRUCT.id]: ReadonlyArray<'text'>; + [ALLENAI_OLMO_3_32B_THINK.id]: ReadonlyArray<'text'>; + [ALLENAI_OLMO_3_1_32B_INSTRUCT.id]: ReadonlyArray<'text'>; + [ALPINDALE_GOLIATH_120B.id]: ReadonlyArray<'text'>; + [AMAZON_NOVA_2_LITE_V1.id]: ReadonlyArray<'text' | 'image' | 'video' | 'document'>; + [AMAZON_NOVA_LITE_V1.id]: ReadonlyArray<'text' | 'image'>; + [AMAZON_NOVA_MICRO_V1.id]: ReadonlyArray<'text'>; + [AMAZON_NOVA_PREMIER_V1.id]: ReadonlyArray<'text' | 'image'>; + [AMAZON_NOVA_PRO_V1.id]: ReadonlyArray<'text' | 'image'>; + [ANTHRACITE_ORG_MAGNUM_V4_72B.id]: ReadonlyArray<'text'>; + [ANTHROPIC_CLAUDE_3_HAIKU.id]: ReadonlyArray<'text' | 'image'>; + [ANTHROPIC_CLAUDE_3_5_HAIKU.id]: ReadonlyArray<'text' | 'image'>; + [ANTHROPIC_CLAUDE_3_7_SONNET.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [ANTHROPIC_CLAUDE_3_7_SONNET_THINKING.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [ANTHROPIC_CLAUDE_HAIKU_4_5.id]: ReadonlyArray<'image' | 'text'>; + [ANTHROPIC_CLAUDE_OPUS_4.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [ANTHROPIC_CLAUDE_OPUS_4_1.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [ANTHROPIC_CLAUDE_OPUS_4_5.id]: ReadonlyArray<'document' | 'image' | 'text'>; + [ANTHROPIC_CLAUDE_OPUS_4_6.id]: ReadonlyArray<'text' | 'image'>; + [ANTHROPIC_CLAUDE_OPUS_4_6_FAST.id]: ReadonlyArray<'text' | 'image'>; + [ANTHROPIC_CLAUDE_SONNET_4.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [ANTHROPIC_CLAUDE_SONNET_4_5.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [ANTHROPIC_CLAUDE_SONNET_4_6.id]: ReadonlyArray<'text' | 'image'>; + [ARCEE_AI_CODER_LARGE.id]: ReadonlyArray<'text'>; + [ARCEE_AI_MAESTRO_REASONING.id]: ReadonlyArray<'text'>; + [ARCEE_AI_SPOTLIGHT.id]: ReadonlyArray<'image' | 'text'>; + [ARCEE_AI_TRINITY_LARGE_PREVIEW_FREE.id]: ReadonlyArray<'text'>; + [ARCEE_AI_TRINITY_LARGE_THINKING.id]: ReadonlyArray<'text'>; + [ARCEE_AI_TRINITY_MINI.id]: ReadonlyArray<'text'>; + [ARCEE_AI_VIRTUOSO_LARGE.id]: ReadonlyArray<'text'>; + [BAIDU_ERNIE_4_5_21B_A3B.id]: ReadonlyArray<'text'>; + [BAIDU_ERNIE_4_5_21B_A3B_THINKING.id]: ReadonlyArray<'text'>; + [BAIDU_ERNIE_4_5_300B_A47B.id]: ReadonlyArray<'text'>; + [BAIDU_ERNIE_4_5_VL_28B_A3B.id]: ReadonlyArray<'text' | 'image'>; + [BAIDU_ERNIE_4_5_VL_424B_A47B.id]: ReadonlyArray<'image' | 'text'>; + [BYTEDANCE_SEED_SEED_1_6.id]: ReadonlyArray<'image' | 'text' | 'video'>; + [BYTEDANCE_SEED_SEED_1_6_FLASH.id]: ReadonlyArray<'image' | 'text' | 'video'>; + [BYTEDANCE_SEED_SEED_2_0_LITE.id]: ReadonlyArray<'text' | 'image' | 'video'>; + [BYTEDANCE_SEED_SEED_2_0_MINI.id]: ReadonlyArray<'text' | 'image' | 'video'>; + [BYTEDANCE_UI_TARS_1_5_7B.id]: ReadonlyArray<'image' | 'text'>; + [COGNITIVECOMPUTATIONS_DOLPHIN_MISTRAL_24B_VENICE_EDITION_FREE.id]: ReadonlyArray<'text'>; + [COHERE_COMMAND_A.id]: ReadonlyArray<'text'>; + [COHERE_COMMAND_R_08_2024.id]: ReadonlyArray<'text'>; + [COHERE_COMMAND_R_PLUS_08_2024.id]: ReadonlyArray<'text'>; + [COHERE_COMMAND_R7B_12_2024.id]: ReadonlyArray<'text'>; + [DEEPCOGITO_COGITO_V2_1_671B.id]: ReadonlyArray<'text'>; + [DEEPSEEK_DEEPSEEK_CHAT.id]: ReadonlyArray<'text'>; + [DEEPSEEK_DEEPSEEK_CHAT_V3_0324.id]: ReadonlyArray<'text'>; + [DEEPSEEK_DEEPSEEK_CHAT_V3_1.id]: ReadonlyArray<'text'>; + [DEEPSEEK_DEEPSEEK_R1.id]: ReadonlyArray<'text'>; + [DEEPSEEK_DEEPSEEK_R1_0528.id]: ReadonlyArray<'text'>; + [DEEPSEEK_DEEPSEEK_R1_DISTILL_LLAMA_70B.id]: ReadonlyArray<'text'>; + [DEEPSEEK_DEEPSEEK_R1_DISTILL_QWEN_32B.id]: ReadonlyArray<'text'>; + [DEEPSEEK_DEEPSEEK_V3_1_TERMINUS.id]: ReadonlyArray<'text'>; + [DEEPSEEK_DEEPSEEK_V3_2.id]: ReadonlyArray<'text'>; + [DEEPSEEK_DEEPSEEK_V3_2_EXP.id]: ReadonlyArray<'text'>; + [DEEPSEEK_DEEPSEEK_V3_2_SPECIALE.id]: ReadonlyArray<'text'>; + [ESSENTIALAI_RNJ_1_INSTRUCT.id]: ReadonlyArray<'text'>; + [GOOGLE_GEMINI_2_0_FLASH_001.id]: ReadonlyArray<'text' | 'image' | 'document' | 'audio' | 'video'>; + [GOOGLE_GEMINI_2_0_FLASH_LITE_001.id]: ReadonlyArray<'text' | 'image' | 'document' | 'audio' | 'video'>; + [GOOGLE_GEMINI_2_5_FLASH.id]: ReadonlyArray<'document' | 'image' | 'text' | 'audio' | 'video'>; + [GOOGLE_GEMINI_2_5_FLASH_IMAGE.id]: ReadonlyArray<'image' | 'text'>; + [GOOGLE_GEMINI_2_5_FLASH_LITE.id]: ReadonlyArray<'text' | 'image' | 'document' | 'audio' | 'video'>; + [GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025.id]: ReadonlyArray<'text' | 'image' | 'document' | 'audio' | 'video'>; + [GOOGLE_GEMINI_2_5_PRO.id]: ReadonlyArray<'text' | 'image' | 'document' | 'audio' | 'video'>; + [GOOGLE_GEMINI_2_5_PRO_PREVIEW.id]: ReadonlyArray<'document' | 'image' | 'text' | 'audio'>; + [GOOGLE_GEMINI_2_5_PRO_PREVIEW_05_06.id]: ReadonlyArray<'text' | 'image' | 'document' | 'audio' | 'video'>; + [GOOGLE_GEMINI_3_FLASH_PREVIEW.id]: ReadonlyArray<'text' | 'image' | 'document' | 'audio' | 'video'>; + [GOOGLE_GEMINI_3_PRO_IMAGE_PREVIEW.id]: ReadonlyArray<'image' | 'text'>; + [GOOGLE_GEMINI_3_1_FLASH_IMAGE_PREVIEW.id]: ReadonlyArray<'image' | 'text'>; + [GOOGLE_GEMINI_3_1_FLASH_LITE_PREVIEW.id]: ReadonlyArray<'text' | 'image' | 'video' | 'document' | 'audio'>; + [GOOGLE_GEMINI_3_1_PRO_PREVIEW.id]: ReadonlyArray<'audio' | 'document' | 'image' | 'text' | 'video'>; + [GOOGLE_GEMINI_3_1_PRO_PREVIEW_CUSTOMTOOLS.id]: ReadonlyArray<'text' | 'audio' | 'image' | 'video' | 'document'>; + [GOOGLE_GEMMA_2_27B_IT.id]: ReadonlyArray<'text'>; + [GOOGLE_GEMMA_2_9B_IT.id]: ReadonlyArray<'text'>; + [GOOGLE_GEMMA_3_12B_IT.id]: ReadonlyArray<'text' | 'image'>; + [GOOGLE_GEMMA_3_12B_IT_FREE.id]: ReadonlyArray<'text' | 'image'>; + [GOOGLE_GEMMA_3_27B_IT.id]: ReadonlyArray<'text' | 'image'>; + [GOOGLE_GEMMA_3_27B_IT_FREE.id]: ReadonlyArray<'text' | 'image'>; + [GOOGLE_GEMMA_3_4B_IT.id]: ReadonlyArray<'text' | 'image'>; + [GOOGLE_GEMMA_3_4B_IT_FREE.id]: ReadonlyArray<'text' | 'image'>; + [GOOGLE_GEMMA_3N_E2B_IT_FREE.id]: ReadonlyArray<'text'>; + [GOOGLE_GEMMA_3N_E4B_IT.id]: ReadonlyArray<'text'>; + [GOOGLE_GEMMA_3N_E4B_IT_FREE.id]: ReadonlyArray<'text'>; + [GOOGLE_GEMMA_4_26B_A4B_IT.id]: ReadonlyArray<'image' | 'text' | 'video'>; + [GOOGLE_GEMMA_4_26B_A4B_IT_FREE.id]: ReadonlyArray<'image' | 'text' | 'video'>; + [GOOGLE_GEMMA_4_31B_IT.id]: ReadonlyArray<'image' | 'text' | 'video'>; + [GOOGLE_GEMMA_4_31B_IT_FREE.id]: ReadonlyArray<'image' | 'text' | 'video'>; + [GOOGLE_LYRIA_3_CLIP_PREVIEW.id]: ReadonlyArray<'text' | 'image'>; + [GOOGLE_LYRIA_3_PRO_PREVIEW.id]: ReadonlyArray<'text' | 'image'>; + [GRYPHE_MYTHOMAX_L2_13B.id]: ReadonlyArray<'text'>; + [IBM_GRANITE_GRANITE_4_0_H_MICRO.id]: ReadonlyArray<'text'>; + [INCEPTION_MERCURY.id]: ReadonlyArray<'text'>; + [INCEPTION_MERCURY_2.id]: ReadonlyArray<'text'>; + [INCEPTION_MERCURY_CODER.id]: ReadonlyArray<'text'>; + [INFLECTION_INFLECTION_3_PI.id]: ReadonlyArray<'text'>; + [INFLECTION_INFLECTION_3_PRODUCTIVITY.id]: ReadonlyArray<'text'>; + [KWAIPILOT_KAT_CODER_PRO_V2.id]: ReadonlyArray<'text'>; + [LIQUID_LFM_2_24B_A2B.id]: ReadonlyArray<'text'>; + [LIQUID_LFM_2_5_1_2B_INSTRUCT_FREE.id]: ReadonlyArray<'text'>; + [LIQUID_LFM_2_5_1_2B_THINKING_FREE.id]: ReadonlyArray<'text'>; + [MANCER_WEAVER.id]: ReadonlyArray<'text'>; + [META_LLAMA_LLAMA_3_70B_INSTRUCT.id]: ReadonlyArray<'text'>; + [META_LLAMA_LLAMA_3_8B_INSTRUCT.id]: ReadonlyArray<'text'>; + [META_LLAMA_LLAMA_3_1_70B_INSTRUCT.id]: ReadonlyArray<'text'>; + [META_LLAMA_LLAMA_3_1_8B_INSTRUCT.id]: ReadonlyArray<'text'>; + [META_LLAMA_LLAMA_3_2_11B_VISION_INSTRUCT.id]: ReadonlyArray<'text' | 'image'>; + [META_LLAMA_LLAMA_3_2_1B_INSTRUCT.id]: ReadonlyArray<'text'>; + [META_LLAMA_LLAMA_3_2_3B_INSTRUCT.id]: ReadonlyArray<'text'>; + [META_LLAMA_LLAMA_3_2_3B_INSTRUCT_FREE.id]: ReadonlyArray<'text'>; + [META_LLAMA_LLAMA_3_3_70B_INSTRUCT.id]: ReadonlyArray<'text'>; + [META_LLAMA_LLAMA_3_3_70B_INSTRUCT_FREE.id]: ReadonlyArray<'text'>; + [META_LLAMA_LLAMA_4_MAVERICK.id]: ReadonlyArray<'text' | 'image'>; + [META_LLAMA_LLAMA_4_SCOUT.id]: ReadonlyArray<'text' | 'image'>; + [META_LLAMA_LLAMA_GUARD_3_8B.id]: ReadonlyArray<'text'>; + [META_LLAMA_LLAMA_GUARD_4_12B.id]: ReadonlyArray<'image' | 'text'>; + [MICROSOFT_PHI_4.id]: ReadonlyArray<'text'>; + [MICROSOFT_WIZARDLM_2_8X22B.id]: ReadonlyArray<'text'>; + [MINIMAX_MINIMAX_01.id]: ReadonlyArray<'text' | 'image'>; + [MINIMAX_MINIMAX_M1.id]: ReadonlyArray<'text'>; + [MINIMAX_MINIMAX_M2.id]: ReadonlyArray<'text'>; + [MINIMAX_MINIMAX_M2_HER.id]: ReadonlyArray<'text'>; + [MINIMAX_MINIMAX_M2_1.id]: ReadonlyArray<'text'>; + [MINIMAX_MINIMAX_M2_5.id]: ReadonlyArray<'text'>; + [MINIMAX_MINIMAX_M2_5_FREE.id]: ReadonlyArray<'text'>; + [MINIMAX_MINIMAX_M2_7.id]: ReadonlyArray<'text'>; + [MISTRALAI_CODESTRAL_2508.id]: ReadonlyArray<'text'>; + [MISTRALAI_DEVSTRAL_2512.id]: ReadonlyArray<'text'>; + [MISTRALAI_DEVSTRAL_MEDIUM.id]: ReadonlyArray<'text'>; + [MISTRALAI_DEVSTRAL_SMALL.id]: ReadonlyArray<'text'>; + [MISTRALAI_MINISTRAL_14B_2512.id]: ReadonlyArray<'text' | 'image'>; + [MISTRALAI_MINISTRAL_3B_2512.id]: ReadonlyArray<'text' | 'image'>; + [MISTRALAI_MINISTRAL_8B_2512.id]: ReadonlyArray<'text' | 'image'>; + [MISTRALAI_MISTRAL_7B_INSTRUCT_V0_1.id]: ReadonlyArray<'text'>; + [MISTRALAI_MISTRAL_LARGE.id]: ReadonlyArray<'text'>; + [MISTRALAI_MISTRAL_LARGE_2407.id]: ReadonlyArray<'text'>; + [MISTRALAI_MISTRAL_LARGE_2411.id]: ReadonlyArray<'text'>; + [MISTRALAI_MISTRAL_LARGE_2512.id]: ReadonlyArray<'text' | 'image'>; + [MISTRALAI_MISTRAL_MEDIUM_3.id]: ReadonlyArray<'text' | 'image'>; + [MISTRALAI_MISTRAL_MEDIUM_3_1.id]: ReadonlyArray<'text' | 'image'>; + [MISTRALAI_MISTRAL_NEMO.id]: ReadonlyArray<'text'>; + [MISTRALAI_MISTRAL_SABA.id]: ReadonlyArray<'text'>; + [MISTRALAI_MISTRAL_SMALL_24B_INSTRUCT_2501.id]: ReadonlyArray<'text'>; + [MISTRALAI_MISTRAL_SMALL_2603.id]: ReadonlyArray<'text' | 'image'>; + [MISTRALAI_MISTRAL_SMALL_3_1_24B_INSTRUCT.id]: ReadonlyArray<'text' | 'image'>; + [MISTRALAI_MISTRAL_SMALL_3_2_24B_INSTRUCT.id]: ReadonlyArray<'image' | 'text'>; + [MISTRALAI_MISTRAL_SMALL_CREATIVE.id]: ReadonlyArray<'text'>; + [MISTRALAI_MIXTRAL_8X22B_INSTRUCT.id]: ReadonlyArray<'text'>; + [MISTRALAI_MIXTRAL_8X7B_INSTRUCT.id]: ReadonlyArray<'text'>; + [MISTRALAI_PIXTRAL_LARGE_2411.id]: ReadonlyArray<'text' | 'image'>; + [MISTRALAI_VOXTRAL_SMALL_24B_2507.id]: ReadonlyArray<'text' | 'audio'>; + [MOONSHOTAI_KIMI_K2.id]: ReadonlyArray<'text'>; + [MOONSHOTAI_KIMI_K2_0905.id]: ReadonlyArray<'text'>; + [MOONSHOTAI_KIMI_K2_THINKING.id]: ReadonlyArray<'text'>; + [MOONSHOTAI_KIMI_K2_5.id]: ReadonlyArray<'text' | 'image'>; + [MORPH_MORPH_V3_FAST.id]: ReadonlyArray<'text'>; + [MORPH_MORPH_V3_LARGE.id]: ReadonlyArray<'text'>; + [NEX_AGI_DEEPSEEK_V3_1_NEX_N1.id]: ReadonlyArray<'text'>; + [NOUSRESEARCH_HERMES_2_PRO_LLAMA_3_8B.id]: ReadonlyArray<'text'>; + [NOUSRESEARCH_HERMES_3_LLAMA_3_1_405B.id]: ReadonlyArray<'text'>; + [NOUSRESEARCH_HERMES_3_LLAMA_3_1_405B_FREE.id]: ReadonlyArray<'text'>; + [NOUSRESEARCH_HERMES_3_LLAMA_3_1_70B.id]: ReadonlyArray<'text'>; + [NOUSRESEARCH_HERMES_4_405B.id]: ReadonlyArray<'text'>; + [NOUSRESEARCH_HERMES_4_70B.id]: ReadonlyArray<'text'>; + [NVIDIA_LLAMA_3_1_NEMOTRON_70B_INSTRUCT.id]: ReadonlyArray<'text'>; + [NVIDIA_LLAMA_3_1_NEMOTRON_ULTRA_253B_V1.id]: ReadonlyArray<'text'>; + [NVIDIA_LLAMA_3_3_NEMOTRON_SUPER_49B_V1_5.id]: ReadonlyArray<'text'>; + [NVIDIA_NEMOTRON_3_NANO_30B_A3B.id]: ReadonlyArray<'text'>; + [NVIDIA_NEMOTRON_3_NANO_30B_A3B_FREE.id]: ReadonlyArray<'text'>; + [NVIDIA_NEMOTRON_3_SUPER_120B_A12B.id]: ReadonlyArray<'text'>; + [NVIDIA_NEMOTRON_3_SUPER_120B_A12B_FREE.id]: ReadonlyArray<'text'>; + [NVIDIA_NEMOTRON_NANO_12B_V2_VL.id]: ReadonlyArray<'image' | 'text' | 'video'>; + [NVIDIA_NEMOTRON_NANO_12B_V2_VL_FREE.id]: ReadonlyArray<'image' | 'text' | 'video'>; + [NVIDIA_NEMOTRON_NANO_9B_V2.id]: ReadonlyArray<'text'>; + [NVIDIA_NEMOTRON_NANO_9B_V2_FREE.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_3_5_TURBO.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_3_5_TURBO_0613.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_3_5_TURBO_16K.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_3_5_TURBO_INSTRUCT.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_4.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_4_0314.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_4_1106_PREVIEW.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_4_TURBO.id]: ReadonlyArray<'text' | 'image'>; + [OPENAI_GPT_4_TURBO_PREVIEW.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_4_1.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [OPENAI_GPT_4_1_MINI.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [OPENAI_GPT_4_1_NANO.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [OPENAI_GPT_4O.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_GPT_4O_2024_05_13.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_GPT_4O_2024_08_06.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_GPT_4O_2024_11_20.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_GPT_4O_AUDIO_PREVIEW.id]: ReadonlyArray<'audio' | 'text'>; + [OPENAI_GPT_4O_MINI.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_GPT_4O_MINI_2024_07_18.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_GPT_4O_MINI_SEARCH_PREVIEW.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_4O_SEARCH_PREVIEW.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_4O_EXTENDED.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_GPT_5.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_GPT_5_CHAT.id]: ReadonlyArray<'document' | 'image' | 'text'>; + [OPENAI_GPT_5_CODEX.id]: ReadonlyArray<'text' | 'image'>; + [OPENAI_GPT_5_IMAGE.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [OPENAI_GPT_5_IMAGE_MINI.id]: ReadonlyArray<'document' | 'image' | 'text'>; + [OPENAI_GPT_5_MINI.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_GPT_5_NANO.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_GPT_5_PRO.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [OPENAI_GPT_5_1.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [OPENAI_GPT_5_1_CHAT.id]: ReadonlyArray<'document' | 'image' | 'text'>; + [OPENAI_GPT_5_1_CODEX.id]: ReadonlyArray<'text' | 'image'>; + [OPENAI_GPT_5_1_CODEX_MAX.id]: ReadonlyArray<'text' | 'image'>; + [OPENAI_GPT_5_1_CODEX_MINI.id]: ReadonlyArray<'image' | 'text'>; + [OPENAI_GPT_5_2.id]: ReadonlyArray<'document' | 'image' | 'text'>; + [OPENAI_GPT_5_2_CHAT.id]: ReadonlyArray<'document' | 'image' | 'text'>; + [OPENAI_GPT_5_2_CODEX.id]: ReadonlyArray<'text' | 'image'>; + [OPENAI_GPT_5_2_PRO.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [OPENAI_GPT_5_3_CHAT.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_GPT_5_3_CODEX.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_GPT_5_4.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_GPT_5_4_MINI.id]: ReadonlyArray<'document' | 'image' | 'text'>; + [OPENAI_GPT_5_4_NANO.id]: ReadonlyArray<'document' | 'image' | 'text'>; + [OPENAI_GPT_5_4_PRO.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_GPT_AUDIO.id]: ReadonlyArray<'text' | 'audio'>; + [OPENAI_GPT_AUDIO_MINI.id]: ReadonlyArray<'text' | 'audio'>; + [OPENAI_GPT_OSS_120B.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_OSS_120B_FREE.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_OSS_20B.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_OSS_20B_FREE.id]: ReadonlyArray<'text'>; + [OPENAI_GPT_OSS_SAFEGUARD_20B.id]: ReadonlyArray<'text'>; + [OPENAI_O1.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_O1_PRO.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [OPENAI_O3.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [OPENAI_O3_DEEP_RESEARCH.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [OPENAI_O3_MINI.id]: ReadonlyArray<'text' | 'document'>; + [OPENAI_O3_MINI_HIGH.id]: ReadonlyArray<'text' | 'document'>; + [OPENAI_O3_PRO.id]: ReadonlyArray<'text' | 'document' | 'image'>; + [OPENAI_O4_MINI.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [OPENAI_O4_MINI_DEEP_RESEARCH.id]: ReadonlyArray<'document' | 'image' | 'text'>; + [OPENAI_O4_MINI_HIGH.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [OPENROUTER_AUTO.id]: ReadonlyArray<'text' | 'image' | 'audio' | 'document' | 'video'>; + [OPENROUTER_BODYBUILDER.id]: ReadonlyArray<'text'>; + [OPENROUTER_ELEPHANT_ALPHA.id]: ReadonlyArray<'text'>; + [OPENROUTER_FREE.id]: ReadonlyArray<'text' | 'image'>; + [PERPLEXITY_SONAR.id]: ReadonlyArray<'text' | 'image'>; + [PERPLEXITY_SONAR_DEEP_RESEARCH.id]: ReadonlyArray<'text'>; + [PERPLEXITY_SONAR_PRO.id]: ReadonlyArray<'text' | 'image'>; + [PERPLEXITY_SONAR_PRO_SEARCH.id]: ReadonlyArray<'text' | 'image'>; + [PERPLEXITY_SONAR_REASONING_PRO.id]: ReadonlyArray<'text' | 'image'>; + [PRIME_INTELLECT_INTELLECT_3.id]: ReadonlyArray<'text'>; + [QWEN_QWEN_2_5_72B_INSTRUCT.id]: ReadonlyArray<'text'>; + [QWEN_QWEN_2_5_7B_INSTRUCT.id]: ReadonlyArray<'text'>; + [QWEN_QWEN_2_5_CODER_32B_INSTRUCT.id]: ReadonlyArray<'text'>; + [QWEN_QWEN_MAX.id]: ReadonlyArray<'text'>; + [QWEN_QWEN_PLUS.id]: ReadonlyArray<'text'>; + [QWEN_QWEN_PLUS_2025_07_28.id]: ReadonlyArray<'text'>; + [QWEN_QWEN_PLUS_2025_07_28_THINKING.id]: ReadonlyArray<'text'>; + [QWEN_QWEN_TURBO.id]: ReadonlyArray<'text'>; + [QWEN_QWEN_VL_MAX.id]: ReadonlyArray<'text' | 'image'>; + [QWEN_QWEN_VL_PLUS.id]: ReadonlyArray<'text' | 'image'>; + [QWEN_QWEN2_5_CODER_7B_INSTRUCT.id]: ReadonlyArray<'text'>; + [QWEN_QWEN2_5_VL_32B_INSTRUCT.id]: ReadonlyArray<'text' | 'image'>; + [QWEN_QWEN2_5_VL_72B_INSTRUCT.id]: ReadonlyArray<'text' | 'image'>; + [QWEN_QWEN3_14B.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_235B_A22B.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_235B_A22B_2507.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_235B_A22B_THINKING_2507.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_30B_A3B.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_30B_A3B_INSTRUCT_2507.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_30B_A3B_THINKING_2507.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_32B.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_8B.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_CODER.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_CODER_30B_A3B_INSTRUCT.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_CODER_FLASH.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_CODER_NEXT.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_CODER_PLUS.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_CODER_FREE.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_MAX.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_MAX_THINKING.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_NEXT_80B_A3B_INSTRUCT.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_NEXT_80B_A3B_INSTRUCT_FREE.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_NEXT_80B_A3B_THINKING.id]: ReadonlyArray<'text'>; + [QWEN_QWEN3_VL_235B_A22B_INSTRUCT.id]: ReadonlyArray<'text' | 'image'>; + [QWEN_QWEN3_VL_235B_A22B_THINKING.id]: ReadonlyArray<'text' | 'image'>; + [QWEN_QWEN3_VL_30B_A3B_INSTRUCT.id]: ReadonlyArray<'text' | 'image'>; + [QWEN_QWEN3_VL_30B_A3B_THINKING.id]: ReadonlyArray<'text' | 'image'>; + [QWEN_QWEN3_VL_32B_INSTRUCT.id]: ReadonlyArray<'text' | 'image'>; + [QWEN_QWEN3_VL_8B_INSTRUCT.id]: ReadonlyArray<'image' | 'text'>; + [QWEN_QWEN3_VL_8B_THINKING.id]: ReadonlyArray<'image' | 'text'>; + [QWEN_QWEN3_5_122B_A10B.id]: ReadonlyArray<'text' | 'image' | 'video'>; + [QWEN_QWEN3_5_27B.id]: ReadonlyArray<'text' | 'image' | 'video'>; + [QWEN_QWEN3_5_35B_A3B.id]: ReadonlyArray<'text' | 'image' | 'video'>; + [QWEN_QWEN3_5_397B_A17B.id]: ReadonlyArray<'text' | 'image' | 'video'>; + [QWEN_QWEN3_5_9B.id]: ReadonlyArray<'text' | 'image' | 'video'>; + [QWEN_QWEN3_5_FLASH_02_23.id]: ReadonlyArray<'text' | 'image' | 'video'>; + [QWEN_QWEN3_5_PLUS_02_15.id]: ReadonlyArray<'text' | 'image' | 'video'>; + [QWEN_QWEN3_6_PLUS.id]: ReadonlyArray<'text' | 'image' | 'video'>; + [QWEN_QWQ_32B.id]: ReadonlyArray<'text'>; + [REKAAI_REKA_EDGE.id]: ReadonlyArray<'image' | 'text' | 'video'>; + [REKAAI_REKA_FLASH_3.id]: ReadonlyArray<'text'>; + [RELACE_RELACE_APPLY_3.id]: ReadonlyArray<'text'>; + [RELACE_RELACE_SEARCH.id]: ReadonlyArray<'text'>; + [SAO10K_L3_EURYALE_70B.id]: ReadonlyArray<'text'>; + [SAO10K_L3_LUNARIS_8B.id]: ReadonlyArray<'text'>; + [SAO10K_L3_1_70B_HANAMI_X1.id]: ReadonlyArray<'text'>; + [SAO10K_L3_1_EURYALE_70B.id]: ReadonlyArray<'text'>; + [SAO10K_L3_3_EURYALE_70B.id]: ReadonlyArray<'text'>; + [STEPFUN_STEP_3_5_FLASH.id]: ReadonlyArray<'text'>; + [SWITCHPOINT_ROUTER.id]: ReadonlyArray<'text'>; + [TENCENT_HUNYUAN_A13B_INSTRUCT.id]: ReadonlyArray<'text'>; + [THEDRUMMER_CYDONIA_24B_V4_1.id]: ReadonlyArray<'text'>; + [THEDRUMMER_ROCINANTE_12B.id]: ReadonlyArray<'text'>; + [THEDRUMMER_SKYFALL_36B_V2.id]: ReadonlyArray<'text'>; + [THEDRUMMER_UNSLOPNEMO_12B.id]: ReadonlyArray<'text'>; + [TNGTECH_DEEPSEEK_R1T2_CHIMERA.id]: ReadonlyArray<'text'>; + [UNDI95_REMM_SLERP_L2_13B.id]: ReadonlyArray<'text'>; + [UPSTAGE_SOLAR_PRO_3.id]: ReadonlyArray<'text'>; + [WRITER_PALMYRA_X5.id]: ReadonlyArray<'text'>; + [X_AI_GROK_3.id]: ReadonlyArray<'text'>; + [X_AI_GROK_3_BETA.id]: ReadonlyArray<'text'>; + [X_AI_GROK_3_MINI.id]: ReadonlyArray<'text'>; + [X_AI_GROK_3_MINI_BETA.id]: ReadonlyArray<'text'>; + [X_AI_GROK_4.id]: ReadonlyArray<'image' | 'text' | 'document'>; + [X_AI_GROK_4_FAST.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [X_AI_GROK_4_1_FAST.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [X_AI_GROK_4_20.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [X_AI_GROK_4_20_MULTI_AGENT.id]: ReadonlyArray<'text' | 'image' | 'document'>; + [X_AI_GROK_CODE_FAST_1.id]: ReadonlyArray<'text'>; + [XIAOMI_MIMO_V2_FLASH.id]: ReadonlyArray<'text'>; + [XIAOMI_MIMO_V2_OMNI.id]: ReadonlyArray<'text' | 'audio' | 'image' | 'video'>; + [XIAOMI_MIMO_V2_PRO.id]: ReadonlyArray<'text'>; + [Z_AI_GLM_4_32B.id]: ReadonlyArray<'text'>; + [Z_AI_GLM_4_5.id]: ReadonlyArray<'text'>; + [Z_AI_GLM_4_5_AIR.id]: ReadonlyArray<'text'>; + [Z_AI_GLM_4_5_AIR_FREE.id]: ReadonlyArray<'text'>; + [Z_AI_GLM_4_5V.id]: ReadonlyArray<'text' | 'image'>; + [Z_AI_GLM_4_6.id]: ReadonlyArray<'text'>; + [Z_AI_GLM_4_6V.id]: ReadonlyArray<'image' | 'text' | 'video'>; + [Z_AI_GLM_4_7.id]: ReadonlyArray<'text'>; + [Z_AI_GLM_4_7_FLASH.id]: ReadonlyArray<'text'>; + [Z_AI_GLM_5.id]: ReadonlyArray<'text'>; + [Z_AI_GLM_5_TURBO.id]: ReadonlyArray<'text'>; + [Z_AI_GLM_5_1.id]: ReadonlyArray<'text'>; + [Z_AI_GLM_5V_TURBO.id]: ReadonlyArray<'image' | 'text' | 'video'>; } export const OPENROUTER_CHAT_MODELS = [ @@ -16960,7 +8704,6 @@ export const OPENROUTER_CHAT_MODELS = [ DEEPSEEK_DEEPSEEK_V3_2.id, DEEPSEEK_DEEPSEEK_V3_2_EXP.id, DEEPSEEK_DEEPSEEK_V3_2_SPECIALE.id, - ELEUTHERAI_LLEMMA_7B.id, ESSENTIALAI_RNJ_1_INSTRUCT.id, GOOGLE_GEMINI_2_0_FLASH_001.id, GOOGLE_GEMINI_2_0_FLASH_LITE_001.id, @@ -17004,7 +8747,6 @@ export const OPENROUTER_CHAT_MODELS = [ LIQUID_LFM_2_5_1_2B_INSTRUCT_FREE.id, LIQUID_LFM_2_5_1_2B_THINKING_FREE.id, MANCER_WEAVER.id, - MEITUAN_LONGCAT_FLASH_CHAT.id, META_LLAMA_LLAMA_3_70B_INSTRUCT.id, META_LLAMA_LLAMA_3_8B_INSTRUCT.id, META_LLAMA_LLAMA_3_1_70B_INSTRUCT.id, @@ -17142,6 +8884,7 @@ export const OPENROUTER_CHAT_MODELS = [ OPENAI_O4_MINI_HIGH.id, OPENROUTER_AUTO.id, OPENROUTER_BODYBUILDER.id, + OPENROUTER_ELEPHANT_ALPHA.id, OPENROUTER_FREE.id, PERPLEXITY_SONAR.id, PERPLEXITY_SONAR_DEEP_RESEARCH.id, diff --git a/scripts/.sync-models-last-run b/scripts/.sync-models-last-run index f5f09687..b58b38f4 100644 --- a/scripts/.sync-models-last-run +++ b/scripts/.sync-models-last-run @@ -1 +1 @@ -1775824278 +1776150906 diff --git a/scripts/openrouter.models.ts b/scripts/openrouter.models.ts index 08787e91..f4a6c4ef 100644 --- a/scripts/openrouter.models.ts +++ b/scripts/openrouter.models.ts @@ -41,8 +41,7 @@ export const models: Array = [ hugging_face_id: 'ai21labs/AI21-Jamba-Large-1.7', name: 'AI21: Jamba Large 1.7', created: 1754669020, - description: - 'Jamba Large 1.7 is the latest model in the Jamba open family, offering improvements in grounding, instruction-following, and overall efficiency. Built on a hybrid SSM-Transformer architecture with a 256K context...', + description: 'Jamba Large 1.7 is the latest model in the Jamba open family, offering improvements in grounding, instruction-following, and overall efficiency. Built on a hybrid SSM-Transformer architecture with a 256K context...', context_length: 256000, architecture: { modality: 'text->text', @@ -77,8 +76,7 @@ export const models: Array = [ hugging_face_id: '', name: 'AionLabs: Aion-1.0', created: 1738697557, - description: - 'Aion-1.0 is a multi-model system designed for high performance across various tasks, including reasoning and coding. It is built on DeepSeek-R1, augmented with additional models and techniques such as Tree...', + description: 'Aion-1.0 is a multi-model system designed for high performance across various tasks, including reasoning and coding. It is built on DeepSeek-R1, augmented with additional models and techniques such as Tree...', context_length: 131072, architecture: { modality: 'text->text', @@ -111,8 +109,7 @@ export const models: Array = [ hugging_face_id: 'FuseAI/FuseO1-DeepSeekR1-QwQ-SkyT1-32B-Preview', name: 'AionLabs: Aion-1.0-Mini', created: 1738697107, - description: - 'Aion-1.0-Mini 32B parameter model is a distilled version of the DeepSeek-R1 model, designed for strong performance in reasoning domains such as mathematics, coding, and logic. It is a modified variant...', + description: 'Aion-1.0-Mini 32B parameter model is a distilled version of the DeepSeek-R1 model, designed for strong performance in reasoning domains such as mathematics, coding, and logic. It is a modified variant...', context_length: 131072, architecture: { modality: 'text->text', @@ -145,8 +142,7 @@ export const models: Array = [ hugging_face_id: null, name: 'AionLabs: Aion-2.0', created: 1771881306, - description: - 'Aion-2.0 is a variant of DeepSeek V3.2 optimized for immersive roleplaying and storytelling. It is particularly strong at introducing tension, crises, and conflict into stories, making narratives feel more engaging....', + description: 'Aion-2.0 is a variant of DeepSeek V3.2 optimized for immersive roleplaying and storytelling. It is particularly strong at introducing tension, crises, and conflict into stories, making narratives feel more engaging....', context_length: 131072, architecture: { modality: 'text->text', @@ -180,8 +176,7 @@ export const models: Array = [ hugging_face_id: '', name: 'AionLabs: Aion-RP 1.0 (8B)', created: 1738696718, - description: - 'Aion-RP-Llama-3.1-8B ranks the highest in the character evaluation portion of the RPBench-Auto benchmark, a roleplaying-specific variant of Arena-Hard-Auto, where LLMs evaluate each other’s responses. It is a fine-tuned base model...', + description: 'Aion-RP-Llama-3.1-8B ranks the highest in the character evaluation portion of the RPBench-Auto benchmark, a roleplaying-specific variant of Arena-Hard-Auto, where LLMs evaluate each other’s responses. It is a fine-tuned base model...', context_length: 32768, architecture: { modality: 'text->text', @@ -200,7 +195,11 @@ export const models: Array = [ is_moderated: false, }, per_request_limits: null, - supported_parameters: ['max_tokens', 'temperature', 'top_p'], + supported_parameters: [ + 'max_tokens', + 'temperature', + 'top_p', + ], }, { id: 'alfredpros/codellama-7b-instruct-solidity', @@ -208,8 +207,7 @@ export const models: Array = [ hugging_face_id: 'AlfredPros/CodeLlama-7b-Instruct-Solidity', name: 'AlfredPros: CodeLLaMa 7B Instruct Solidity', created: 1744641874, - description: - 'A finetuned 7 billion parameters Code LLaMA - Instruct model to generate Solidity smart contract using 4-bit QLoRA finetuning provided by PEFT library.', + description: 'A finetuned 7 billion parameters Code LLaMA - Instruct model to generate Solidity smart contract using 4-bit QLoRA finetuning provided by PEFT library.', context_length: 4096, architecture: { modality: 'text->text', @@ -247,8 +245,7 @@ export const models: Array = [ hugging_face_id: 'Alibaba-NLP/Tongyi-DeepResearch-30B-A3B', name: 'Tongyi DeepResearch 30B A3B', created: 1758210804, - description: - "Tongyi DeepResearch is an agentic large language model developed by Tongyi Lab, with 30 billion total parameters activating only 3 billion per token. It's optimized for long-horizon, deep information-seeking tasks...", + description: 'Tongyi DeepResearch is an agentic large language model developed by Tongyi Lab, with 30 billion total parameters activating only 3 billion per token. It\'s optimized for long-horizon, deep information-seeking tasks...', context_length: 131072, architecture: { modality: 'text->text', @@ -294,8 +291,7 @@ export const models: Array = [ hugging_face_id: 'allenai/OLMo-2-0325-32B-Instruct', name: 'AllenAI: Olmo 2 32B Instruct', created: 1741988556, - description: - 'OLMo-2 32B Instruct is a supervised instruction-finetuned variant of the OLMo-2 32B March 2025 base model. It excels in complex reasoning and instruction-following tasks across diverse benchmarks such as GSM8K,...', + description: 'OLMo-2 32B Instruct is a supervised instruction-finetuned variant of the OLMo-2 32B March 2025 base model. It excels in complex reasoning and instruction-following tasks across diverse benchmarks such as GSM8K,...', context_length: 128000, architecture: { modality: 'text->text', @@ -314,7 +310,8 @@ export const models: Array = [ is_moderated: false, }, per_request_limits: null, - supported_parameters: [], + supported_parameters: [ + ], }, { id: 'allenai/olmo-3-32b-think', @@ -322,8 +319,7 @@ export const models: Array = [ hugging_face_id: 'allenai/Olmo-3-32B-Think', name: 'AllenAI: Olmo 3 32B Think', created: 1763758276, - description: - 'Olmo 3 32B Think is a large-scale, 32-billion-parameter model purpose-built for deep reasoning, complex logic chains and advanced instruction-following scenarios. Its capacity enables strong performance on demanding evaluation tasks and...', + description: 'Olmo 3 32B Think is a large-scale, 32-billion-parameter model purpose-built for deep reasoning, complex logic chains and advanced instruction-following scenarios. Its capacity enables strong performance on demanding evaluation tasks and...', context_length: 65536, architecture: { modality: 'text->text', @@ -365,8 +361,7 @@ export const models: Array = [ hugging_face_id: 'allenai/Olmo-3.1-32B-Instruct', name: 'AllenAI: Olmo 3.1 32B Instruct', created: 1767728554, - description: - 'Olmo 3.1 32B Instruct is a large-scale, 32-billion-parameter instruction-tuned language model engineered for high-performance conversational AI, multi-turn dialogue, and practical instruction following. As part of the Olmo 3.1 family, this...', + description: 'Olmo 3.1 32B Instruct is a large-scale, 32-billion-parameter instruction-tuned language model engineered for high-performance conversational AI, multi-turn dialogue, and practical instruction following. As part of the Olmo 3.1 family, this...', context_length: 65536, architecture: { modality: 'text->text', @@ -408,8 +403,7 @@ export const models: Array = [ hugging_face_id: 'alpindale/goliath-120b', name: 'Goliath 120B', created: 1699574400, - description: - 'A large LLM created by combining two fine-tuned Llama 70B models into one 120B model. Combines Xwin and Euryale. Credits to - [@chargoddard](https://huggingface.co/chargoddard) for developing the framework used to merge...', + description: 'A large LLM created by combining two fine-tuned Llama 70B models into one 120B model. Combines Xwin and Euryale. Credits to - [@chargoddard](https://huggingface.co/chargoddard) for developing the framework used to merge...', context_length: 6144, architecture: { modality: 'text->text', @@ -452,8 +446,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Amazon: Nova 2 Lite', created: 1764696672, - description: - 'Nova 2 Lite is a fast, cost-effective reasoning model for everyday workloads that can process text, images, and videos to generate text. Nova 2 Lite demonstrates standout capabilities in processing...', + description: 'Nova 2 Lite is a fast, cost-effective reasoning model for everyday workloads that can process text, images, and videos to generate text. Nova 2 Lite demonstrates standout capabilities in processing...', context_length: 1000000, architecture: { modality: 'text+image+file+video->text', @@ -490,8 +483,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Amazon: Nova Lite 1.0', created: 1733437363, - description: - 'Amazon Nova Lite 1.0 is a very low-cost multimodal model from Amazon that focused on fast processing of image, video, and text inputs to generate text output. Amazon Nova Lite...', + description: 'Amazon Nova Lite 1.0 is a very low-cost multimodal model from Amazon that focused on fast processing of image, video, and text inputs to generate text output. Amazon Nova Lite...', context_length: 300000, architecture: { modality: 'text+image->text', @@ -525,8 +517,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Amazon: Nova Micro 1.0', created: 1733437237, - description: - 'Amazon Nova Micro 1.0 is a text-only model that delivers the lowest latency responses in the Amazon Nova family of models at a very low cost. With a context length...', + description: 'Amazon Nova Micro 1.0 is a text-only model that delivers the lowest latency responses in the Amazon Nova family of models at a very low cost. With a context length...', context_length: 128000, architecture: { modality: 'text->text', @@ -560,8 +551,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Amazon: Nova Premier 1.0', created: 1761950332, - description: - 'Amazon Nova Premier is the most capable of Amazon’s multimodal models for complex reasoning tasks and for use as the best teacher for distilling custom models.', + description: 'Amazon Nova Premier is the most capable of Amazon’s multimodal models for complex reasoning tasks and for use as the best teacher for distilling custom models.', context_length: 1000000, architecture: { modality: 'text+image->text', @@ -596,8 +586,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Amazon: Nova Pro 1.0', created: 1733436303, - description: - 'Amazon Nova Pro 1.0 is a capable multimodal model from Amazon focused on providing a combination of accuracy, speed, and cost for a wide range of tasks. As of December...', + description: 'Amazon Nova Pro 1.0 is a capable multimodal model from Amazon focused on providing a combination of accuracy, speed, and cost for a wide range of tasks. As of December...', context_length: 300000, architecture: { modality: 'text+image->text', @@ -631,8 +620,7 @@ export const models: Array = [ hugging_face_id: 'anthracite-org/magnum-v4-72b', name: 'Magnum v4 72B', created: 1729555200, - description: - 'This is a series of models designed to replicate the prose quality of the Claude 3 models, specifically Sonnet(https://openrouter.ai/anthropic/claude-3.5-sonnet) and Opus(https://openrouter.ai/anthropic/claude-3-opus).\n\nThe model is fine-tuned on top of [Qwen2.5 72B](https://openrouter.ai/qwen/qwen-2.5-72b-instruct).', + description: 'This is a series of models designed to replicate the prose quality of the Claude 3 models, specifically Sonnet(https://openrouter.ai/anthropic/claude-3.5-sonnet) and Opus(https://openrouter.ai/anthropic/claude-3-opus).\n\nThe model is fine-tuned on top of [Qwen2.5 72B](https://openrouter.ai/qwen/qwen-2.5-72b-instruct).', context_length: 16384, architecture: { modality: 'text->text', @@ -675,8 +663,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Anthropic: Claude 3 Haiku', created: 1710288000, - description: - "Claude 3 Haiku is Anthropic's fastest and most compact model for\nnear-instant responsiveness. Quick and accurate targeted performance.\n\nSee the launch announcement and benchmark results [here](https://www.anthropic.com/news/claude-3-haiku)\n\n#multimodal", + description: 'Claude 3 Haiku is Anthropic\'s fastest and most compact model for\nnear-instant responsiveness. Quick and accurate targeted performance.\n\nSee the launch announcement and benchmark results [here](https://www.anthropic.com/news/claude-3-haiku)\n\n#multimodal', context_length: 200000, architecture: { modality: 'text+image->text', @@ -713,8 +700,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Anthropic: Claude 3.5 Haiku', created: 1730678400, - description: - 'Claude 3.5 Haiku features offers enhanced capabilities in speed, coding accuracy, and tool use. Engineered to excel in real-time applications, it delivers quick response times that are essential for dynamic...', + description: 'Claude 3.5 Haiku features offers enhanced capabilities in speed, coding accuracy, and tool use. Engineered to excel in real-time applications, it delivers quick response times that are essential for dynamic...', context_length: 200000, architecture: { modality: 'text+image->text', @@ -752,8 +738,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Anthropic: Claude 3.7 Sonnet', created: 1740422110, - description: - 'Claude 3.7 Sonnet is an advanced large language model with improved reasoning, coding, and problem-solving capabilities. It introduces a hybrid reasoning approach, allowing users to choose between rapid responses and...', + description: 'Claude 3.7 Sonnet is an advanced large language model with improved reasoning, coding, and problem-solving capabilities. It introduces a hybrid reasoning approach, allowing users to choose between rapid responses and...', context_length: 200000, architecture: { modality: 'text+image+file->text', @@ -771,8 +756,8 @@ export const models: Array = [ }, top_provider: { context_length: 200000, - max_completion_tokens: 64000, - is_moderated: false, + max_completion_tokens: 128000, + is_moderated: true, }, per_request_limits: null, supported_parameters: [ @@ -793,8 +778,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Anthropic: Claude 3.7 Sonnet (thinking)', created: 1740422110, - description: - 'Claude 3.7 Sonnet is an advanced large language model with improved reasoning, coding, and problem-solving capabilities. It introduces a hybrid reasoning approach, allowing users to choose between rapid responses and...', + description: 'Claude 3.7 Sonnet is an advanced large language model with improved reasoning, coding, and problem-solving capabilities. It introduces a hybrid reasoning approach, allowing users to choose between rapid responses and...', context_length: 200000, architecture: { modality: 'text+image+file->text', @@ -833,8 +817,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Anthropic: Claude Haiku 4.5', created: 1760547638, - description: - 'Claude Haiku 4.5 is Anthropic’s fastest and most efficient model, delivering near-frontier intelligence at a fraction of the cost and latency of larger Claude models. Matching Claude Sonnet 4’s performance...', + description: 'Claude Haiku 4.5 is Anthropic’s fastest and most efficient model, delivering near-frontier intelligence at a fraction of the cost and latency of larger Claude models. Matching Claude Sonnet 4’s performance...', context_length: 200000, architecture: { modality: 'text+image->text', @@ -876,8 +859,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Anthropic: Claude Opus 4', created: 1747931245, - description: - 'Claude Opus 4 is benchmarked as the world’s best coding model, at time of release, bringing sustained performance on complex, long-running tasks and agent workflows. It sets new benchmarks in...', + description: 'Claude Opus 4 is benchmarked as the world’s best coding model, at time of release, bringing sustained performance on complex, long-running tasks and agent workflows. It sets new benchmarks in...', context_length: 200000, architecture: { modality: 'text+image+file->text', @@ -896,7 +878,7 @@ export const models: Array = [ top_provider: { context_length: 200000, max_completion_tokens: 32000, - is_moderated: true, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -917,8 +899,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Anthropic: Claude Opus 4.1', created: 1754411591, - description: - 'Claude Opus 4.1 is an updated version of Anthropic’s flagship model, offering improved performance in coding, reasoning, and agentic tasks. It achieves 74.5% on SWE-bench Verified and shows notable gains...', + description: 'Claude Opus 4.1 is an updated version of Anthropic’s flagship model, offering improved performance in coding, reasoning, and agentic tasks. It achieves 74.5% on SWE-bench Verified and shows notable gains...', context_length: 200000, architecture: { modality: 'text+image+file->text', @@ -937,7 +918,7 @@ export const models: Array = [ top_provider: { context_length: 200000, max_completion_tokens: 32000, - is_moderated: true, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -960,8 +941,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Anthropic: Claude Opus 4.5', created: 1764010580, - description: - 'Claude Opus 4.5 is Anthropic’s frontier reasoning model optimized for complex software engineering, agentic workflows, and long-horizon computer use. It offers strong multimodal capabilities, competitive performance across real-world coding and...', + description: 'Claude Opus 4.5 is Anthropic’s frontier reasoning model optimized for complex software engineering, agentic workflows, and long-horizon computer use. It offers strong multimodal capabilities, competitive performance across real-world coding and...', context_length: 200000, architecture: { modality: 'text+image+file->text', @@ -1003,8 +983,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Anthropic: Claude Opus 4.6', created: 1770219050, - description: - 'Opus 4.6 is Anthropic’s strongest model for coding and long-running professional tasks. It is built for agents that operate across entire workflows rather than single prompts, making it especially effective...', + description: 'Opus 4.6 is Anthropic’s strongest model for coding and long-running professional tasks. It is built for agents that operate across entire workflows rather than single prompts, making it especially effective...', context_length: 1000000, architecture: { modality: 'text+image->text', @@ -1048,8 +1027,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Anthropic: Claude Opus 4.6 (Fast)', created: 1775592472, - description: - "Fast-mode variant of [Opus 4.6](/anthropic/claude-opus-4.6) - identical capabilities with higher output speed at premium 6x pricing.\n\nLearn more in Anthropic's docs: https://platform.claude.com/docs/en/build-with-claude/fast-mode", + description: 'Fast-mode variant of [Opus 4.6](/anthropic/claude-opus-4.6) - identical capabilities with higher output speed at premium 6x pricing.\n\nLearn more in Anthropic\'s docs: https://platform.claude.com/docs/en/build-with-claude/fast-mode', context_length: 1000000, architecture: { modality: 'text+image->text', @@ -1091,9 +1069,8 @@ export const models: Array = [ hugging_face_id: '', name: 'Anthropic: Claude Sonnet 4', created: 1747930371, - description: - 'Claude Sonnet 4 significantly enhances the capabilities of its predecessor, Sonnet 3.7, excelling in both coding and reasoning tasks with improved precision and controllability. Achieving state-of-the-art performance on SWE-bench (72.7%),...', - context_length: 200000, + description: 'Claude Sonnet 4 significantly enhances the capabilities of its predecessor, Sonnet 3.7, excelling in both coding and reasoning tasks with improved precision and controllability. Achieving state-of-the-art performance on SWE-bench (72.7%),...', + context_length: 1000000, architecture: { modality: 'text+image+file->text', input_modalities: ['image', 'text', 'file'], @@ -1109,9 +1086,9 @@ export const models: Array = [ input_cache_write: '0.00000375', }, top_provider: { - context_length: 200000, + context_length: 1000000, max_completion_tokens: 64000, - is_moderated: true, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -1132,8 +1109,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Anthropic: Claude Sonnet 4.5', created: 1759161676, - description: - 'Claude Sonnet 4.5 is Anthropic’s most advanced Sonnet model to date, optimized for real-world agents and coding workflows. It delivers state-of-the-art performance on coding benchmarks such as SWE-bench Verified, with...', + description: 'Claude Sonnet 4.5 is Anthropic’s most advanced Sonnet model to date, optimized for real-world agents and coding workflows. It delivers state-of-the-art performance on coding benchmarks such as SWE-bench Verified, with...', context_length: 1000000, architecture: { modality: 'text+image+file->text', @@ -1175,8 +1151,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Anthropic: Claude Sonnet 4.6', created: 1771342990, - description: - "Sonnet 4.6 is Anthropic's most capable Sonnet-class model yet, with frontier performance across coding, agents, and professional work. It excels at iterative development, complex codebase navigation, end-to-end project management with...", + description: 'Sonnet 4.6 is Anthropic\'s most capable Sonnet-class model yet, with frontier performance across coding, agents, and professional work. It excels at iterative development, complex codebase navigation, end-to-end project management with...', context_length: 1000000, architecture: { modality: 'text+image->text', @@ -1220,8 +1195,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Arcee AI: Coder Large', created: 1746478663, - description: - 'Coder‑Large is a 32 B‑parameter offspring of Qwen 2.5‑Instruct that has been further trained on permissively‑licensed GitHub, CodeSearchNet and synthetic bug‑fix corpora. It supports a 32k context window, enabling multi‑file...', + description: 'Coder‑Large is a 32 B‑parameter offspring of Qwen 2.5‑Instruct that has been further trained on permissively‑licensed GitHub, CodeSearchNet and synthetic bug‑fix corpora. It supports a 32k context window, enabling multi‑file...', context_length: 32768, architecture: { modality: 'text->text', @@ -1259,8 +1233,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Arcee AI: Maestro Reasoning', created: 1746481269, - description: - "Maestro Reasoning is Arcee's flagship analysis model: a 32 B‑parameter derivative of Qwen 2.5‑32 B tuned with DPO and chain‑of‑thought RL for step‑by‑step logic. Compared to the earlier 7 B...", + description: 'Maestro Reasoning is Arcee\'s flagship analysis model: a 32 B‑parameter derivative of Qwen 2.5‑32 B tuned with DPO and chain‑of‑thought RL for step‑by‑step logic. Compared to the earlier 7 B...', context_length: 131072, architecture: { modality: 'text->text', @@ -1298,8 +1271,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Arcee AI: Spotlight', created: 1746481552, - description: - 'Spotlight is a 7‑billion‑parameter vision‑language model derived from Qwen 2.5‑VL and fine‑tuned by Arcee AI for tight image‑text grounding tasks. It offers a 32 k‑token context window, enabling rich multimodal...', + description: 'Spotlight is a 7‑billion‑parameter vision‑language model derived from Qwen 2.5‑VL and fine‑tuned by Arcee AI for tight image‑text grounding tasks. It offers a 32 k‑token context window, enabling rich multimodal...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -1337,8 +1309,7 @@ export const models: Array = [ hugging_face_id: 'arcee-ai/Trinity-Large-Preview', name: 'Arcee AI: Trinity Large Preview (free)', created: 1769552670, - description: - 'Trinity-Large-Preview is a frontier-scale open-weight language model from Arcee, built as a 400B-parameter sparse Mixture-of-Experts with 13B active parameters per token using 4-of-256 expert routing. It excels in creative writing,...', + description: 'Trinity-Large-Preview is a frontier-scale open-weight language model from Arcee, built as a 400B-parameter sparse Mixture-of-Experts with 13B active parameters per token using 4-of-256 expert routing. It excels in creative writing,...', context_length: 131000, architecture: { modality: 'text->text', @@ -1373,8 +1344,7 @@ export const models: Array = [ hugging_face_id: 'arcee-ai/Trinity-Large-Thinking', name: 'Arcee AI: Trinity Large Thinking', created: 1775058318, - description: - 'Trinity Large Thinking is a powerful open source reasoning model from the team at Arcee AI. It shows strong performance in PinchBench, agentic workloads, and reasoning tasks. Launch video: https://youtu.be/Gc82AXLa0Rg?si=4RLn6WBz33qT--B7', + description: 'Trinity Large Thinking is a powerful open source reasoning model from the team at Arcee AI. It shows strong performance in PinchBench, agentic workloads, and reasoning tasks. Launch video: https://youtu.be/Gc82AXLa0Rg?si=4RLn6WBz33qT--B7', context_length: 262144, architecture: { modality: 'text->text', @@ -1386,6 +1356,7 @@ export const models: Array = [ pricing: { prompt: '0.00000022', completion: '0.00000085', + input_cache_read: '0.00000006', }, top_provider: { context_length: 262144, @@ -1418,8 +1389,7 @@ export const models: Array = [ hugging_face_id: 'arcee-ai/Trinity-Mini', name: 'Arcee AI: Trinity Mini', created: 1764601720, - description: - 'Trinity Mini is a 26B-parameter (3B active) sparse mixture-of-experts language model featuring 128 experts with 8 active per token. Engineered for efficient reasoning over long contexts (131k) with robust function...', + description: 'Trinity Mini is a 26B-parameter (3B active) sparse mixture-of-experts language model featuring 128 experts with 8 active per token. Engineered for efficient reasoning over long contexts (131k) with robust function...', context_length: 131072, architecture: { modality: 'text->text', @@ -1457,8 +1427,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Arcee AI: Virtuoso Large', created: 1746478885, - description: - "Virtuoso‑Large is Arcee's top‑tier general‑purpose LLM at 72 B parameters, tuned to tackle cross‑domain reasoning, creative writing and enterprise QA. Unlike many 70 B peers, it retains the 128 k...", + description: 'Virtuoso‑Large is Arcee\'s top‑tier general‑purpose LLM at 72 B parameters, tuned to tackle cross‑domain reasoning, creative writing and enterprise QA. Unlike many 70 B peers, it retains the 128 k...', context_length: 131072, architecture: { modality: 'text->text', @@ -1498,8 +1467,7 @@ export const models: Array = [ hugging_face_id: 'baidu/ERNIE-4.5-21B-A3B-PT', name: 'Baidu: ERNIE 4.5 21B A3B', created: 1755034167, - description: - 'A sophisticated text-based Mixture-of-Experts (MoE) model featuring 21B total parameters with 3B activated per token, delivering exceptional multimodal understanding and generation through heterogeneous MoE structures and modality-isolated routing. Supporting an...', + description: 'A sophisticated text-based Mixture-of-Experts (MoE) model featuring 21B total parameters with 3B activated per token, delivering exceptional multimodal understanding and generation through heterogeneous MoE structures and modality-isolated routing. Supporting an...', context_length: 120000, architecture: { modality: 'text->text', @@ -1538,8 +1506,7 @@ export const models: Array = [ hugging_face_id: 'baidu/ERNIE-4.5-21B-A3B-Thinking', name: 'Baidu: ERNIE 4.5 21B A3B Thinking', created: 1760048887, - description: - "ERNIE-4.5-21B-A3B-Thinking is Baidu's upgraded lightweight MoE model, refined to boost reasoning depth and quality for top-tier performance in logical puzzles, math, science, coding, text generation, and expert-level academic benchmarks.", + description: 'ERNIE-4.5-21B-A3B-Thinking is Baidu\'s upgraded lightweight MoE model, refined to boost reasoning depth and quality for top-tier performance in logical puzzles, math, science, coding, text generation, and expert-level academic benchmarks.', context_length: 131072, architecture: { modality: 'text->text', @@ -1578,8 +1545,7 @@ export const models: Array = [ hugging_face_id: 'baidu/ERNIE-4.5-300B-A47B-PT', name: 'Baidu: ERNIE 4.5 300B A47B ', created: 1751300139, - description: - 'ERNIE-4.5-300B-A47B is a 300B parameter Mixture-of-Experts (MoE) language model developed by Baidu as part of the ERNIE 4.5 series. It activates 47B parameters per token and supports text generation in...', + description: 'ERNIE-4.5-300B-A47B is a 300B parameter Mixture-of-Experts (MoE) language model developed by Baidu as part of the ERNIE 4.5 series. It activates 47B parameters per token and supports text generation in...', context_length: 123000, architecture: { modality: 'text->text', @@ -1618,8 +1584,7 @@ export const models: Array = [ hugging_face_id: 'baidu/ERNIE-4.5-VL-28B-A3B-PT', name: 'Baidu: ERNIE 4.5 VL 28B A3B', created: 1755032836, - description: - 'A powerful multimodal Mixture-of-Experts chat model featuring 28B total parameters with 3B activated per token, delivering exceptional text and vision understanding through its innovative heterogeneous MoE structure with modality-isolated routing....', + description: 'A powerful multimodal Mixture-of-Experts chat model featuring 28B total parameters with 3B activated per token, delivering exceptional text and vision understanding through its innovative heterogeneous MoE structure with modality-isolated routing....', context_length: 30000, architecture: { modality: 'text+image->text', @@ -1660,8 +1625,7 @@ export const models: Array = [ hugging_face_id: 'baidu/ERNIE-4.5-VL-424B-A47B-PT', name: 'Baidu: ERNIE 4.5 VL 424B A47B ', created: 1751300903, - description: - 'ERNIE-4.5-VL-424B-A47B is a multimodal Mixture-of-Experts (MoE) model from Baidu’s ERNIE 4.5 series, featuring 424B total parameters with 47B active per token. It is trained jointly on text and image data...', + description: 'ERNIE-4.5-VL-424B-A47B is a multimodal Mixture-of-Experts (MoE) model from Baidu’s ERNIE 4.5 series, featuring 424B total parameters with 47B active per token. It is trained jointly on text and image data...', context_length: 123000, architecture: { modality: 'text+image->text', @@ -1700,8 +1664,7 @@ export const models: Array = [ hugging_face_id: '', name: 'ByteDance Seed: Seed 1.6', created: 1766504997, - description: - 'Seed 1.6 is a general-purpose model released by the ByteDance Seed team. It incorporates multimodal capabilities and adaptive deep thinking with a 256K context window.', + description: 'Seed 1.6 is a general-purpose model released by the ByteDance Seed team. It incorporates multimodal capabilities and adaptive deep thinking with a 256K context window.', context_length: 262144, architecture: { modality: 'text+image+video->text', @@ -1740,8 +1703,7 @@ export const models: Array = [ hugging_face_id: '', name: 'ByteDance Seed: Seed 1.6 Flash', created: 1766505011, - description: - 'Seed 1.6 Flash is an ultra-fast multimodal deep thinking model by ByteDance Seed, supporting both text and visual understanding. It features a 256k context window and can generate outputs of...', + description: 'Seed 1.6 Flash is an ultra-fast multimodal deep thinking model by ByteDance Seed, supporting both text and visual understanding. It features a 256k context window and can generate outputs of...', context_length: 262144, architecture: { modality: 'text+image+video->text', @@ -1780,8 +1742,7 @@ export const models: Array = [ hugging_face_id: null, name: 'ByteDance Seed: Seed-2.0-Lite', created: 1773157231, - description: - 'Seed-2.0-Lite is a versatile, cost‑efficient enterprise workhorse that delivers strong multimodal and agent capabilities while offering noticeably lower latency, making it a practical default choice for most production workloads across...', + description: 'Seed-2.0-Lite is a versatile, cost‑efficient enterprise workhorse that delivers strong multimodal and agent capabilities while offering noticeably lower latency, making it a practical default choice for most production workloads across...', context_length: 262144, architecture: { modality: 'text+image+video->text', @@ -1820,8 +1781,7 @@ export const models: Array = [ hugging_face_id: '', name: 'ByteDance Seed: Seed-2.0-Mini', created: 1772131107, - description: - 'Seed-2.0-mini targets latency-sensitive, high-concurrency, and cost-sensitive scenarios, emphasizing fast response and flexible inference deployment. It delivers performance comparable to ByteDance-Seed-1.6, supports 256k context, four reasoning effort modes (minimal/low/medium/high), multimodal understanding,...', + description: 'Seed-2.0-mini targets latency-sensitive, high-concurrency, and cost-sensitive scenarios, emphasizing fast response and flexible inference deployment. It delivers performance comparable to ByteDance-Seed-1.6, supports 256k context, four reasoning effort modes (minimal/low/medium/high), multimodal understanding,...', context_length: 262144, architecture: { modality: 'text+image+video->text', @@ -1860,8 +1820,7 @@ export const models: Array = [ hugging_face_id: 'ByteDance-Seed/UI-TARS-1.5-7B', name: 'ByteDance: UI-TARS 7B ', created: 1753205056, - description: - 'UI-TARS-1.5 is a multimodal vision-language agent optimized for GUI-based environments, including desktop interfaces, web browsers, mobile systems, and games. Built by ByteDance, it builds upon the UI-TARS framework with reinforcement...', + description: 'UI-TARS-1.5 is a multimodal vision-language agent optimized for GUI-based environments, including desktop interfaces, web browsers, mobile systems, and games. Built by ByteDance, it builds upon the UI-TARS framework with reinforcement...', context_length: 128000, architecture: { modality: 'text+image->text', @@ -1873,6 +1832,7 @@ export const models: Array = [ pricing: { prompt: '0.0000001', completion: '0.0000002', + input_cache_read: '0.0000001', }, top_provider: { context_length: 128000, @@ -1899,8 +1859,7 @@ export const models: Array = [ hugging_face_id: 'cognitivecomputations/Dolphin-Mistral-24B-Venice-Edition', name: 'Venice: Uncensored (free)', created: 1752094966, - description: - 'Venice Uncensored Dolphin Mistral 24B Venice Edition is a fine-tuned variant of Mistral-Small-24B-Instruct-2501, developed by dphn.ai in collaboration with Venice.ai. This model is designed as an “uncensored” instruct-tuned LLM, preserving...', + description: 'Venice Uncensored Dolphin Mistral 24B Venice Edition is a fine-tuned variant of Mistral-Small-24B-Instruct-2501, developed by dphn.ai in collaboration with Venice.ai. This model is designed as an “uncensored” instruct-tuned LLM, preserving...', context_length: 32768, architecture: { modality: 'text->text', @@ -1937,8 +1896,7 @@ export const models: Array = [ hugging_face_id: 'CohereForAI/c4ai-command-a-03-2025', name: 'Cohere: Command A', created: 1741894342, - description: - 'Command A is an open-weights 111B parameter model with a 256k context window focused on delivering great performance across agentic, multilingual, and coding use cases. Compared to other leading proprietary...', + description: 'Command A is an open-weights 111B parameter model with a 256k context window focused on delivering great performance across agentic, multilingual, and coding use cases. Compared to other leading proprietary...', context_length: 256000, architecture: { modality: 'text->text', @@ -1976,8 +1934,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Cohere: Command R (08-2024)', created: 1724976000, - description: - 'command-r-08-2024 is an update of the [Command R](/models/cohere/command-r) with improved performance for multilingual retrieval-augmented generation (RAG) and tool use. More broadly, it is better at math, code and reasoning and...', + description: 'command-r-08-2024 is an update of the [Command R](/models/cohere/command-r) with improved performance for multilingual retrieval-augmented generation (RAG) and tool use. More broadly, it is better at math, code and reasoning and...', context_length: 128000, architecture: { modality: 'text->text', @@ -2017,8 +1974,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Cohere: Command R+ (08-2024)', created: 1724976000, - description: - 'command-r-plus-08-2024 is an update of the [Command R+](/models/cohere/command-r-plus) with roughly 50% higher throughput and 25% lower latencies as compared to the previous Command R+ version, while keeping the hardware footprint...', + description: 'command-r-plus-08-2024 is an update of the [Command R+](/models/cohere/command-r-plus) with roughly 50% higher throughput and 25% lower latencies as compared to the previous Command R+ version, while keeping the hardware footprint...', context_length: 128000, architecture: { modality: 'text->text', @@ -2058,8 +2014,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Cohere: Command R7B (12-2024)', created: 1734158152, - description: - 'Command R7B (12-2024) is a small, fast update of the Command R+ model, delivered in December 2024. It excels at RAG, tool use, agents, and similar tasks requiring complex reasoning...', + description: 'Command R7B (12-2024) is a small, fast update of the Command R+ model, delivered in December 2024. It excels at RAG, tool use, agents, and similar tasks requiring complex reasoning...', context_length: 128000, architecture: { modality: 'text->text', @@ -2097,8 +2052,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Deep Cogito: Cogito v2.1 671B', created: 1763071233, - description: - 'Cogito v2.1 671B MoE represents one of the strongest open models globally, matching performance of frontier closed and open models. This model is trained using self play with reinforcement learning...', + description: 'Cogito v2.1 671B MoE represents one of the strongest open models globally, matching performance of frontier closed and open models. This model is trained using self play with reinforcement learning...', context_length: 128000, architecture: { modality: 'text->text', @@ -2140,8 +2094,7 @@ export const models: Array = [ hugging_face_id: 'deepseek-ai/DeepSeek-V3', name: 'DeepSeek: DeepSeek V3', created: 1735241320, - description: - 'DeepSeek-V3 is the latest model from the DeepSeek team, building upon the instruction following and coding abilities of the previous versions. Pre-trained on nearly 15 trillion tokens, the reported evaluations...', + description: 'DeepSeek-V3 is the latest model from the DeepSeek team, building upon the instruction following and coding abilities of the previous versions. Pre-trained on nearly 15 trillion tokens, the reported evaluations...', context_length: 163840, architecture: { modality: 'text->text', @@ -2182,8 +2135,7 @@ export const models: Array = [ hugging_face_id: 'deepseek-ai/DeepSeek-V3-0324', name: 'DeepSeek: DeepSeek V3 0324', created: 1742824755, - description: - 'DeepSeek V3, a 685B-parameter, mixture-of-experts model, is the latest iteration of the flagship chat model family from the DeepSeek team. It succeeds the [DeepSeek V3](/deepseek/deepseek-chat-v3) model and performs really well...', + description: 'DeepSeek V3, a 685B-parameter, mixture-of-experts model, is the latest iteration of the flagship chat model family from the DeepSeek team. It succeeds the [DeepSeek V3](/deepseek/deepseek-chat-v3) model and performs really well...', context_length: 163840, architecture: { modality: 'text->text', @@ -2230,8 +2182,7 @@ export const models: Array = [ hugging_face_id: 'deepseek-ai/DeepSeek-V3.1', name: 'DeepSeek: DeepSeek V3.1', created: 1755779628, - description: - 'DeepSeek-V3.1 is a large hybrid reasoning model (671B parameters, 37B active) that supports both thinking and non-thinking modes via prompt templates. It extends the DeepSeek-V3 base with a two-phase long-context...', + description: 'DeepSeek-V3.1 is a large hybrid reasoning model (671B parameters, 37B active) that supports both thinking and non-thinking modes via prompt templates. It extends the DeepSeek-V3 base with a two-phase long-context...', context_length: 32768, architecture: { modality: 'text->text', @@ -2278,8 +2229,7 @@ export const models: Array = [ hugging_face_id: 'deepseek-ai/DeepSeek-R1', name: 'DeepSeek: R1', created: 1737381095, - description: - "DeepSeek R1 is here: Performance on par with [OpenAI o1](/openai/o1), but open-sourced and with fully open reasoning tokens. It's 671B parameters in size, with 37B active in an inference pass....", + description: 'DeepSeek R1 is here: Performance on par with [OpenAI o1](/openai/o1), but open-sourced and with fully open reasoning tokens. It\'s 671B parameters in size, with 37B active in an inference pass....', context_length: 64000, architecture: { modality: 'text->text', @@ -2321,8 +2271,7 @@ export const models: Array = [ hugging_face_id: 'deepseek-ai/DeepSeek-R1-0528', name: 'DeepSeek: R1 0528', created: 1748455170, - description: - "May 28th update to the [original DeepSeek R1](/deepseek/deepseek-r1) Performance on par with [OpenAI o1](/openai/o1), but open-sourced and with fully open reasoning tokens. It's 671B parameters in size, with 37B active...", + description: 'May 28th update to the [original DeepSeek R1](/deepseek/deepseek-r1) Performance on par with [OpenAI o1](/openai/o1), but open-sourced and with fully open reasoning tokens. It\'s 671B parameters in size, with 37B active...', context_length: 163840, architecture: { modality: 'text->text', @@ -2332,13 +2281,13 @@ export const models: Array = [ instruct_type: 'deepseek-r1', }, pricing: { - prompt: '0.00000045', + prompt: '0.0000005', completion: '0.00000215', - input_cache_read: '0.000000225', + input_cache_read: '0.00000035', }, top_provider: { context_length: 163840, - max_completion_tokens: 65536, + max_completion_tokens: null, is_moderated: false, }, per_request_limits: null, @@ -2368,8 +2317,7 @@ export const models: Array = [ hugging_face_id: 'deepseek-ai/DeepSeek-R1-Distill-Llama-70B', name: 'DeepSeek: R1 Distill Llama 70B', created: 1737663169, - description: - 'DeepSeek R1 Distill Llama 70B is a distilled large language model based on [Llama-3.3-70B-Instruct](/meta-llama/llama-3.3-70b-instruct), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). The model combines advanced distillation techniques to achieve high performance across...', + description: 'DeepSeek R1 Distill Llama 70B is a distilled large language model based on [Llama-3.3-70B-Instruct](/meta-llama/llama-3.3-70b-instruct), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). The model combines advanced distillation techniques to achieve high performance across...', context_length: 131072, architecture: { modality: 'text->text', @@ -2410,8 +2358,7 @@ export const models: Array = [ hugging_face_id: 'deepseek-ai/DeepSeek-R1-Distill-Qwen-32B', name: 'DeepSeek: R1 Distill Qwen 32B', created: 1738194830, - description: - "DeepSeek R1 Distill Qwen 32B is a distilled large language model based on [Qwen 2.5 32B](https://huggingface.co/Qwen/Qwen2.5-32B), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). It outperforms OpenAI's o1-mini across various benchmarks, achieving new...", + description: 'DeepSeek R1 Distill Qwen 32B is a distilled large language model based on [Qwen 2.5 32B](https://huggingface.co/Qwen/Qwen2.5-32B), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). It outperforms OpenAI\'s o1-mini across various benchmarks, achieving new...', context_length: 32768, architecture: { modality: 'text->text', @@ -2451,8 +2398,7 @@ export const models: Array = [ hugging_face_id: 'deepseek-ai/DeepSeek-V3.1-Terminus', name: 'DeepSeek: DeepSeek V3.1 Terminus', created: 1758548275, - description: - "DeepSeek-V3.1 Terminus is an update to [DeepSeek V3.1](/deepseek/deepseek-chat-v3.1) that maintains the model's original capabilities while addressing issues reported by users, including language consistency and agent capabilities, further optimizing the model's...", + description: 'DeepSeek-V3.1 Terminus is an update to [DeepSeek V3.1](/deepseek/deepseek-chat-v3.1) that maintains the model\'s original capabilities while addressing issues reported by users, including language consistency and agent capabilities, further optimizing the model\'s...', context_length: 163840, architecture: { modality: 'text->text', @@ -2498,8 +2444,7 @@ export const models: Array = [ hugging_face_id: 'deepseek-ai/DeepSeek-V3.2', name: 'DeepSeek: DeepSeek V3.2', created: 1764594642, - description: - 'DeepSeek-V3.2 is a large language model designed to harmonize high computational efficiency with strong reasoning and agentic tool-use performance. It introduces DeepSeek Sparse Attention (DSA), a fine-grained sparse attention mechanism...', + description: 'DeepSeek-V3.2 is a large language model designed to harmonize high computational efficiency with strong reasoning and agentic tool-use performance. It introduces DeepSeek Sparse Attention (DSA), a fine-grained sparse attention mechanism...', context_length: 163840, architecture: { modality: 'text->text', @@ -2547,8 +2492,7 @@ export const models: Array = [ hugging_face_id: 'deepseek-ai/DeepSeek-V3.2-Exp', name: 'DeepSeek: DeepSeek V3.2 Exp', created: 1759150481, - description: - 'DeepSeek-V3.2-Exp is an experimental large language model released by DeepSeek as an intermediate step between V3.1 and future architectures. It introduces DeepSeek Sparse Attention (DSA), a fine-grained sparse attention mechanism...', + description: 'DeepSeek-V3.2-Exp is an experimental large language model released by DeepSeek as an intermediate step between V3.1 and future architectures. It introduces DeepSeek Sparse Attention (DSA), a fine-grained sparse attention mechanism...', context_length: 163840, architecture: { modality: 'text->text', @@ -2593,8 +2537,7 @@ export const models: Array = [ hugging_face_id: 'deepseek-ai/DeepSeek-V3.2-Speciale', name: 'DeepSeek: DeepSeek V3.2 Speciale', created: 1764594837, - description: - 'DeepSeek-V3.2-Speciale is a high-compute variant of DeepSeek-V3.2 optimized for maximum reasoning and agentic performance. It builds on DeepSeek Sparse Attention (DSA) for efficient long-context processing, then scales post-training reinforcement learning...', + description: 'DeepSeek-V3.2-Speciale is a high-compute variant of DeepSeek-V3.2 optimized for maximum reasoning and agentic performance. It builds on DeepSeek Sparse Attention (DSA) for efficient long-context processing, then scales post-training reinforcement learning...', context_length: 163840, architecture: { modality: 'text->text', @@ -2632,53 +2575,13 @@ export const models: Array = [ 'top_p', ], }, - { - id: 'eleutherai/llemma_7b', - canonical_slug: 'eleutherai/llemma_7b', - hugging_face_id: 'EleutherAI/llemma_7b', - name: 'EleutherAI: Llemma 7b', - created: 1744643225, - description: - 'Llemma 7B is a language model for mathematics. It was initialized with Code Llama 7B weights, and trained on the Proof-Pile-2 for 200B tokens. Llemma models are particularly strong at...', - context_length: 4096, - architecture: { - modality: 'text->text', - input_modalities: ['text'], - output_modalities: ['text'], - tokenizer: 'Other', - instruct_type: 'code-llama', - }, - pricing: { - prompt: '0.0000008', - completion: '0.0000012', - }, - top_provider: { - context_length: 4096, - max_completion_tokens: 4096, - is_moderated: false, - }, - per_request_limits: null, - supported_parameters: [ - 'frequency_penalty', - 'max_tokens', - 'min_p', - 'presence_penalty', - 'repetition_penalty', - 'seed', - 'stop', - 'temperature', - 'top_k', - 'top_p', - ], - }, { id: 'essentialai/rnj-1-instruct', canonical_slug: 'essentialai/rnj-1-instruct', hugging_face_id: 'EssentialAI/rnj-1-instruct', name: 'EssentialAI: Rnj 1 Instruct', created: 1765094847, - description: - 'Rnj-1 is an 8B-parameter, dense, open-weight model family developed by Essential AI and trained from scratch with a focus on programming, math, and scientific reasoning. The model demonstrates strong performance...', + description: 'Rnj-1 is an 8B-parameter, dense, open-weight model family developed by Essential AI and trained from scratch with a focus on programming, math, and scientific reasoning. The model demonstrates strong performance...', context_length: 32768, architecture: { modality: 'text->text', @@ -2720,8 +2623,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Google: Gemini 2.0 Flash', created: 1738769413, - description: - 'Gemini Flash 2.0 offers a significantly faster time to first token (TTFT) compared to [Gemini Flash 1.5](/google/gemini-flash-1.5), while maintaining quality on par with larger models like [Gemini Pro 1.5](/google/gemini-pro-1.5). It...', + description: 'Gemini Flash 2.0 offers a significantly faster time to first token (TTFT) compared to [Gemini Flash 1.5](/google/gemini-flash-1.5), while maintaining quality on par with larger models like [Gemini Pro 1.5](/google/gemini-pro-1.5). It...', context_length: 1048576, architecture: { modality: 'text+image+file+audio+video->text', @@ -2763,8 +2665,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Google: Gemini 2.0 Flash Lite', created: 1740506212, - description: - 'Gemini 2.0 Flash Lite offers a significantly faster time to first token (TTFT) compared to [Gemini Flash 1.5](/google/gemini-flash-1.5), while maintaining quality on par with larger models like [Gemini Pro 1.5](/google/gemini-pro-1.5),...', + description: 'Gemini 2.0 Flash Lite offers a significantly faster time to first token (TTFT) compared to [Gemini Flash 1.5](/google/gemini-flash-1.5), while maintaining quality on par with larger models like [Gemini Pro 1.5](/google/gemini-pro-1.5),...', context_length: 1048576, architecture: { modality: 'text+image+file+audio+video->text', @@ -2804,8 +2705,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Google: Gemini 2.5 Flash', created: 1750172488, - description: - 'Gemini 2.5 Flash is Google\'s state-of-the-art workhorse model, specifically designed for advanced reasoning, coding, mathematics, and scientific tasks. It includes built-in "thinking" capabilities, enabling it to provide responses with greater...', + description: 'Gemini 2.5 Flash is Google\'s state-of-the-art workhorse model, specifically designed for advanced reasoning, coding, mathematics, and scientific tasks. It includes built-in "thinking" capabilities, enabling it to provide responses with greater...', context_length: 1048576, architecture: { modality: 'text+image+file+audio+video->text', @@ -2849,8 +2749,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Google: Nano Banana (Gemini 2.5 Flash Image)', created: 1759870431, - description: - 'Gemini 2.5 Flash Image, a.k.a. "Nano Banana," is now generally available. It is a state of the art image generation model with contextual understanding. It is capable of image generation,...', + description: 'Gemini 2.5 Flash Image, a.k.a. "Nano Banana," is now generally available. It is a state of the art image generation model with contextual understanding. It is capable of image generation,...', context_length: 32768, architecture: { modality: 'text+image->text+image', @@ -2890,8 +2789,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Google: Gemini 2.5 Flash Lite', created: 1753200276, - description: - 'Gemini 2.5 Flash-Lite is a lightweight reasoning model in the Gemini 2.5 family, optimized for ultra-low latency and cost efficiency. It offers improved throughput, faster token generation, and better performance...', + description: 'Gemini 2.5 Flash-Lite is a lightweight reasoning model in the Gemini 2.5 family, optimized for ultra-low latency and cost efficiency. It offers improved throughput, faster token generation, and better performance...', context_length: 1048576, architecture: { modality: 'text+image+file+audio+video->text', @@ -2935,8 +2833,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Google: Gemini 2.5 Flash Lite Preview 09-2025', created: 1758819686, - description: - 'Gemini 2.5 Flash-Lite is a lightweight reasoning model in the Gemini 2.5 family, optimized for ultra-low latency and cost efficiency. It offers improved throughput, faster token generation, and better performance...', + description: 'Gemini 2.5 Flash-Lite is a lightweight reasoning model in the Gemini 2.5 family, optimized for ultra-low latency and cost efficiency. It offers improved throughput, faster token generation, and better performance...', context_length: 1048576, architecture: { modality: 'text+image+file+audio+video->text', @@ -2980,8 +2877,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Google: Gemini 2.5 Pro', created: 1750169544, - description: - 'Gemini 2.5 Pro is Google’s state-of-the-art AI model designed for advanced reasoning, coding, mathematics, and scientific tasks. It employs “thinking” capabilities, enabling it to reason through responses with enhanced accuracy...', + description: 'Gemini 2.5 Pro is Google’s state-of-the-art AI model designed for advanced reasoning, coding, mathematics, and scientific tasks. It employs “thinking” capabilities, enabling it to reason through responses with enhanced accuracy...', context_length: 1048576, architecture: { modality: 'text+image+file+audio+video->text', @@ -3025,8 +2921,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Google: Gemini 2.5 Pro Preview 06-05', created: 1749137257, - description: - 'Gemini 2.5 Pro is Google’s state-of-the-art AI model designed for advanced reasoning, coding, mathematics, and scientific tasks. It employs “thinking” capabilities, enabling it to reason through responses with enhanced accuracy...', + description: 'Gemini 2.5 Pro is Google’s state-of-the-art AI model designed for advanced reasoning, coding, mathematics, and scientific tasks. It employs “thinking” capabilities, enabling it to reason through responses with enhanced accuracy...', context_length: 1048576, architecture: { modality: 'text+image+file+audio->text', @@ -3070,8 +2965,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Google: Gemini 2.5 Pro Preview 05-06', created: 1746578513, - description: - 'Gemini 2.5 Pro is Google’s state-of-the-art AI model designed for advanced reasoning, coding, mathematics, and scientific tasks. It employs “thinking” capabilities, enabling it to reason through responses with enhanced accuracy...', + description: 'Gemini 2.5 Pro is Google’s state-of-the-art AI model designed for advanced reasoning, coding, mathematics, and scientific tasks. It employs “thinking” capabilities, enabling it to reason through responses with enhanced accuracy...', context_length: 1048576, architecture: { modality: 'text+image+file+audio+video->text', @@ -3115,8 +3009,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Google: Gemini 3 Flash Preview', created: 1765987078, - description: - 'Gemini 3 Flash Preview is a high speed, high value thinking model designed for agentic workflows, multi turn chat, and coding assistance. It delivers near Pro level reasoning and tool...', + description: 'Gemini 3 Flash Preview is a high speed, high value thinking model designed for agentic workflows, multi turn chat, and coding assistance. It delivers near Pro level reasoning and tool...', context_length: 1048576, architecture: { modality: 'text+image+file+audio+video->text', @@ -3160,8 +3053,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Google: Nano Banana Pro (Gemini 3 Pro Image Preview)', created: 1763653797, - description: - 'Nano Banana Pro is Google’s most advanced image-generation and editing model, built on Gemini 3 Pro. It extends the original Nano Banana with significantly improved multimodal reasoning, real-world grounding, and...', + description: 'Nano Banana Pro is Google’s most advanced image-generation and editing model, built on Gemini 3 Pro. It extends the original Nano Banana with significantly improved multimodal reasoning, real-world grounding, and...', context_length: 65536, architecture: { modality: 'text+image->text+image', @@ -3203,8 +3095,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)', created: 1772119558, - description: - 'Gemini 3.1 Flash Image Preview, a.k.a. "Nano Banana 2," is Google’s latest state of the art image generation and editing model, delivering Pro-level visual quality at Flash speed. It combines...', + description: 'Gemini 3.1 Flash Image Preview, a.k.a. "Nano Banana 2," is Google’s latest state of the art image generation and editing model, delivering Pro-level visual quality at Flash speed. It combines...', context_length: 65536, architecture: { modality: 'text+image->text+image', @@ -3241,8 +3132,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Google: Gemini 3.1 Flash Lite Preview', created: 1772512673, - description: - "Gemini 3.1 Flash Lite Preview is Google's high-efficiency model optimized for high-volume use cases. It outperforms Gemini 2.5 Flash Lite on overall quality and approaches Gemini 2.5 Flash performance across...", + description: 'Gemini 3.1 Flash Lite Preview is Google\'s high-efficiency model optimized for high-volume use cases. It outperforms Gemini 2.5 Flash Lite on overall quality and approaches Gemini 2.5 Flash performance across...', context_length: 1048576, architecture: { modality: 'text+image+file+audio+video->text', @@ -3286,8 +3176,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Google: Gemini 3.1 Pro Preview', created: 1771509627, - description: - 'Gemini 3.1 Pro Preview is Google’s frontier reasoning model, delivering enhanced software engineering performance, improved agentic reliability, and more efficient token usage across complex workflows. Building on the multimodal foundation...', + description: 'Gemini 3.1 Pro Preview is Google’s frontier reasoning model, delivering enhanced software engineering performance, improved agentic reliability, and more efficient token usage across complex workflows. Building on the multimodal foundation...', context_length: 1048576, architecture: { modality: 'text+image+file+audio+video->text', @@ -3331,8 +3220,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Google: Gemini 3.1 Pro Preview Custom Tools', created: 1772045923, - description: - 'Gemini 3.1 Pro Preview Custom Tools is a variant of Gemini 3.1 Pro that improves tool selection behavior by preventing overuse of a general bash tool when more efficient third-party...', + description: 'Gemini 3.1 Pro Preview Custom Tools is a variant of Gemini 3.1 Pro that improves tool selection behavior by preventing overuse of a general bash tool when more efficient third-party...', context_length: 1048576, architecture: { modality: 'text+image+file+audio+video->text', @@ -3376,8 +3264,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-2-27b-it', name: 'Google: Gemma 2 27B', created: 1720828800, - description: - 'Gemma 2 27B by Google is an open model built from the same research and technology used to create the [Gemini models](/models?q=gemini). Gemma models are well-suited for a variety of...', + description: 'Gemma 2 27B by Google is an open model built from the same research and technology used to create the [Gemini models](/models?q=gemini). Gemma models are well-suited for a variety of...', context_length: 8192, architecture: { modality: 'text->text', @@ -3413,8 +3300,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-2-9b-it', name: 'Google: Gemma 2 9B', created: 1719532800, - description: - 'Gemma 2 9B by Google is an advanced, open-source language model that sets a new standard for efficiency and performance in its size class. Designed for a wide variety of...', + description: 'Gemma 2 9B by Google is an advanced, open-source language model that sets a new standard for efficiency and performance in its size class. Designed for a wide variety of...', context_length: 8192, architecture: { modality: 'text->text', @@ -3449,8 +3335,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-3-12b-it', name: 'Google: Gemma 3 12B', created: 1741902625, - description: - 'Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities,...', + description: 'Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities,...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -3491,8 +3376,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-3-12b-it', name: 'Google: Gemma 3 12B (free)', created: 1741902625, - description: - 'Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities,...', + description: 'Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities,...', context_length: 32768, architecture: { modality: 'text+image->text', @@ -3525,8 +3409,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-3-27b-it', name: 'Google: Gemma 3 27B', created: 1741756359, - description: - 'Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities,...', + description: 'Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities,...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -3567,8 +3450,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-3-27b-it', name: 'Google: Gemma 3 27B (free)', created: 1741756359, - description: - 'Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities,...', + description: 'Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities,...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -3602,8 +3484,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-3-4b-it', name: 'Google: Gemma 3 4B', created: 1741905510, - description: - 'Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities,...', + description: 'Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities,...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -3642,8 +3523,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-3-4b-it', name: 'Google: Gemma 3 4B (free)', created: 1741905510, - description: - 'Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities,...', + description: 'Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities,...', context_length: 32768, architecture: { modality: 'text+image->text', @@ -3677,8 +3557,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-3n-E2B-it', name: 'Google: Gemma 3n 2B (free)', created: 1752074904, - description: - 'Gemma 3n E2B IT is a multimodal, instruction-tuned model developed by Google DeepMind, designed to operate efficiently at an effective parameter size of 2B while leveraging a 6B architecture. Based...', + description: 'Gemma 3n E2B IT is a multimodal, instruction-tuned model developed by Google DeepMind, designed to operate efficiently at an effective parameter size of 2B while leveraging a 6B architecture. Based...', context_length: 8192, architecture: { modality: 'text->text', @@ -3711,8 +3590,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-3n-E4B-it', name: 'Google: Gemma 3n 4B', created: 1747776824, - description: - 'Gemma 3n E4B-it is optimized for efficient execution on mobile and low-resource devices, such as phones, laptops, and tablets. It supports multimodal inputs—including text, visual data, and audio—enabling diverse tasks...', + description: 'Gemma 3n E4B-it is optimized for efficient execution on mobile and low-resource devices, such as phones, laptops, and tablets. It supports multimodal inputs—including text, visual data, and audio—enabling diverse tasks...', context_length: 32768, architecture: { modality: 'text->text', @@ -3750,8 +3628,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-3n-E4B-it', name: 'Google: Gemma 3n 4B (free)', created: 1747776824, - description: - 'Gemma 3n E4B-it is optimized for efficient execution on mobile and low-resource devices, such as phones, laptops, and tablets. It supports multimodal inputs—including text, visual data, and audio—enabling diverse tasks...', + description: 'Gemma 3n E4B-it is optimized for efficient execution on mobile and low-resource devices, such as phones, laptops, and tablets. It supports multimodal inputs—including text, visual data, and audio—enabling diverse tasks...', context_length: 8192, architecture: { modality: 'text->text', @@ -3784,8 +3661,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-4-26B-A4B-it', name: 'Google: Gemma 4 26B A4B ', created: 1775227989, - description: - 'Gemma 4 26B A4B IT is an instruction-tuned Mixture-of-Experts (MoE) model from Google DeepMind. Despite 25.2B total parameters, only 3.8B activate per token during inference — delivering near-31B quality at...', + description: 'Gemma 4 26B A4B IT is an instruction-tuned Mixture-of-Experts (MoE) model from Google DeepMind. Despite 25.2B total parameters, only 3.8B activate per token during inference — delivering near-31B quality at...', context_length: 262144, architecture: { modality: 'text+image+video->text', @@ -3795,12 +3671,13 @@ export const models: Array = [ instruct_type: null, }, pricing: { - prompt: '0.00000013', - completion: '0.0000004', + prompt: '0.00000008', + completion: '0.00000035', + input_cache_read: '0.00000001', }, top_provider: { context_length: 262144, - max_completion_tokens: 262144, + max_completion_tokens: null, is_moderated: false, }, per_request_limits: null, @@ -3810,6 +3687,7 @@ export const models: Array = [ 'logit_bias', 'logprobs', 'max_tokens', + 'min_p', 'presence_penalty', 'reasoning', 'repetition_penalty', @@ -3831,8 +3709,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-4-26B-A4B-it', name: 'Google: Gemma 4 26B A4B (free)', created: 1775227989, - description: - 'Gemma 4 26B A4B IT is an instruction-tuned Mixture-of-Experts (MoE) model from Google DeepMind. Despite 25.2B total parameters, only 3.8B activate per token during inference — delivering near-31B quality at...', + description: 'Gemma 4 26B A4B IT is an instruction-tuned Mixture-of-Experts (MoE) model from Google DeepMind. Despite 25.2B total parameters, only 3.8B activate per token during inference — delivering near-31B quality at...', context_length: 262144, architecture: { modality: 'text+image+video->text', @@ -3869,8 +3746,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-4-31B-it', name: 'Google: Gemma 4 31B', created: 1775148486, - description: - "Gemma 4 31B Instruct is Google DeepMind's 30.7B dense multimodal model supporting text and image input with text output. Features a 256K token context window, configurable thinking/reasoning mode, native function...", + description: 'Gemma 4 31B Instruct is Google DeepMind\'s 30.7B dense multimodal model supporting text and image input with text output. Features a 256K token context window, configurable thinking/reasoning mode, native function...', context_length: 262144, architecture: { modality: 'text+image+video->text', @@ -3880,12 +3756,13 @@ export const models: Array = [ instruct_type: null, }, pricing: { - prompt: '0.00000014', - completion: '0.0000004', + prompt: '0.00000013', + completion: '0.00000038', + input_cache_read: '0.0000000199999995', }, top_provider: { context_length: 262144, - max_completion_tokens: 131072, + max_completion_tokens: null, is_moderated: false, }, per_request_limits: null, @@ -3893,8 +3770,8 @@ export const models: Array = [ 'frequency_penalty', 'include_reasoning', 'logit_bias', - 'logprobs', 'max_tokens', + 'min_p', 'presence_penalty', 'reasoning', 'repetition_penalty', @@ -3906,7 +3783,6 @@ export const models: Array = [ 'tool_choice', 'tools', 'top_k', - 'top_logprobs', 'top_p', ], }, @@ -3916,8 +3792,7 @@ export const models: Array = [ hugging_face_id: 'google/gemma-4-31B-it', name: 'Google: Gemma 4 31B (free)', created: 1775148486, - description: - "Gemma 4 31B Instruct is Google DeepMind's 30.7B dense multimodal model supporting text and image input with text output. Features a 256K token context window, configurable thinking/reasoning mode, native function...", + description: 'Gemma 4 31B Instruct is Google DeepMind\'s 30.7B dense multimodal model supporting text and image input with text output. Features a 256K token context window, configurable thinking/reasoning mode, native function...', context_length: 262144, architecture: { modality: 'text+image+video->text', @@ -3954,8 +3829,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Google: Lyria 3 Clip Preview', created: 1774907255, - description: - "30 second duration clips are priced at $0.04 per clip. Lyria 3 is Google's family of music generation models, available through the Gemini API. With Lyria 3, you can generate...", + description: '30 second duration clips are priced at $0.04 per clip. Lyria 3 is Google\'s family of music generation models, available through the Gemini API. With Lyria 3, you can generate...', context_length: 1048576, architecture: { modality: 'text+image->text+audio', @@ -3988,8 +3862,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Google: Lyria 3 Pro Preview', created: 1774907286, - description: - "Full-length songs are priced at $0.08 per song. Lyria 3 is Google's family of music generation models, available through the Gemini API. With Lyria 3, you can generate high-quality, 48kHz...", + description: 'Full-length songs are priced at $0.08 per song. Lyria 3 is Google\'s family of music generation models, available through the Gemini API. With Lyria 3, you can generate high-quality, 48kHz...', context_length: 1048576, architecture: { modality: 'text+image->text+audio', @@ -4022,8 +3895,7 @@ export const models: Array = [ hugging_face_id: 'Gryphe/MythoMax-L2-13b', name: 'MythoMax 13B', created: 1688256000, - description: - 'One of the highest performing and most popular fine-tunes of Llama 2 13B, with rich descriptions and roleplay. #merge', + description: 'One of the highest performing and most popular fine-tunes of Llama 2 13B, with rich descriptions and roleplay. #merge', context_length: 4096, architecture: { modality: 'text->text', @@ -4067,8 +3939,7 @@ export const models: Array = [ hugging_face_id: 'ibm-granite/granite-4.0-h-micro', name: 'IBM: Granite 4.0 Micro', created: 1760927695, - description: - 'Granite-4.0-H-Micro is a 3B parameter from the Granite 4 family of models. These models are the latest in a series of models released by IBM. They are fine-tuned for long...', + description: 'Granite-4.0-H-Micro is a 3B parameter from the Granite 4 family of models. These models are the latest in a series of models released by IBM. They are fine-tuned for long...', context_length: 131000, architecture: { modality: 'text->text', @@ -4104,8 +3975,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Inception: Mercury', created: 1750973026, - description: - 'Mercury is the first diffusion large language model (dLLM). Applying a breakthrough discrete diffusion approach, the model runs 5-10x faster than even speed optimized models like GPT-4.1 Nano and Claude...', + description: 'Mercury is the first diffusion large language model (dLLM). Applying a breakthrough discrete diffusion approach, the model runs 5-10x faster than even speed optimized models like GPT-4.1 Nano and Claude...', context_length: 128000, architecture: { modality: 'text->text', @@ -4141,8 +4011,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Inception: Mercury 2', created: 1772636275, - description: - 'Mercury 2 is an extremely fast reasoning LLM, and the first reasoning diffusion LLM (dLLM). Instead of generating tokens sequentially, Mercury 2 produces and refines multiple tokens in parallel, achieving...', + description: 'Mercury 2 is an extremely fast reasoning LLM, and the first reasoning diffusion LLM (dLLM). Instead of generating tokens sequentially, Mercury 2 produces and refines multiple tokens in parallel, achieving...', context_length: 128000, architecture: { modality: 'text->text', @@ -4180,8 +4049,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Inception: Mercury Coder', created: 1746033880, - description: - 'Mercury Coder is the first diffusion large language model (dLLM). Applying a breakthrough discrete diffusion approach, the model runs 5-10x faster than even speed optimized models like Claude 3.5 Haiku...', + description: 'Mercury Coder is the first diffusion large language model (dLLM). Applying a breakthrough discrete diffusion approach, the model runs 5-10x faster than even speed optimized models like Claude 3.5 Haiku...', context_length: 128000, architecture: { modality: 'text->text', @@ -4217,8 +4085,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Inflection: Inflection 3 Pi', created: 1728604800, - description: - "Inflection 3 Pi powers Inflection's [Pi](https://pi.ai) chatbot, including backstory, emotional intelligence, productivity, and safety. It has access to recent news, and excels in scenarios like customer support and roleplay. Pi...", + description: 'Inflection 3 Pi powers Inflection\'s [Pi](https://pi.ai) chatbot, including backstory, emotional intelligence, productivity, and safety. It has access to recent news, and excels in scenarios like customer support and roleplay. Pi...', context_length: 8000, architecture: { modality: 'text->text', @@ -4237,7 +4104,12 @@ export const models: Array = [ is_moderated: false, }, per_request_limits: null, - supported_parameters: ['max_tokens', 'stop', 'temperature', 'top_p'], + supported_parameters: [ + 'max_tokens', + 'stop', + 'temperature', + 'top_p', + ], }, { id: 'inflection/inflection-3-productivity', @@ -4245,8 +4117,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Inflection: Inflection 3 Productivity', created: 1728604800, - description: - 'Inflection 3 Productivity is optimized for following instructions. It is better for tasks requiring JSON output or precise adherence to provided guidelines. It has access to recent news. For emotional...', + description: 'Inflection 3 Productivity is optimized for following instructions. It is better for tasks requiring JSON output or precise adherence to provided guidelines. It has access to recent news. For emotional...', context_length: 8000, architecture: { modality: 'text->text', @@ -4265,7 +4136,12 @@ export const models: Array = [ is_moderated: false, }, per_request_limits: null, - supported_parameters: ['max_tokens', 'stop', 'temperature', 'top_p'], + supported_parameters: [ + 'max_tokens', + 'stop', + 'temperature', + 'top_p', + ], }, { id: 'kwaipilot/kat-coder-pro-v2', @@ -4273,8 +4149,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Kwaipilot: KAT-Coder-Pro V2', created: 1774649310, - description: - 'KAT-Coder-Pro V2 is the latest high-performance model in KwaiKAT’s KAT-Coder series, designed for complex enterprise-grade software engineering and SaaS integration. It builds on the agentic coding strengths of earlier versions,...', + description: 'KAT-Coder-Pro V2 is the latest high-performance model in KwaiKAT’s KAT-Coder series, designed for complex enterprise-grade software engineering and SaaS integration. It builds on the agentic coding strengths of earlier versions,...', context_length: 256000, architecture: { modality: 'text->text', @@ -4318,8 +4193,7 @@ export const models: Array = [ hugging_face_id: 'LiquidAI/LFM2-24B-A2B', name: 'LiquidAI: LFM2-24B-A2B', created: 1772048711, - description: - 'LFM2-24B-A2B is the largest model in the LFM2 family of hybrid architectures designed for efficient on-device deployment. Built as a 24B parameter Mixture-of-Experts model with only 2B active parameters per...', + description: 'LFM2-24B-A2B is the largest model in the LFM2 family of hybrid architectures designed for efficient on-device deployment. Built as a 24B parameter Mixture-of-Experts model with only 2B active parameters per...', context_length: 32768, architecture: { modality: 'text->text', @@ -4357,8 +4231,7 @@ export const models: Array = [ hugging_face_id: 'LiquidAI/LFM2.5-1.2B-Instruct', name: 'LiquidAI: LFM2.5-1.2B-Instruct (free)', created: 1768927521, - description: - 'LFM2.5-1.2B-Instruct is a compact, high-performance instruction-tuned model built for fast on-device AI. It delivers strong chat quality in a 1.2B parameter footprint, with efficient edge inference and broad runtime support.', + description: 'LFM2.5-1.2B-Instruct is a compact, high-performance instruction-tuned model built for fast on-device AI. It delivers strong chat quality in a 1.2B parameter footprint, with efficient edge inference and broad runtime support.', context_length: 32768, architecture: { modality: 'text->text', @@ -4396,8 +4269,7 @@ export const models: Array = [ hugging_face_id: 'LiquidAI/LFM2.5-1.2B-Thinking', name: 'LiquidAI: LFM2.5-1.2B-Thinking (free)', created: 1768927527, - description: - 'LFM2.5-1.2B-Thinking is a lightweight reasoning-focused model optimized for agentic tasks, data extraction, and RAG—while still running comfortably on edge devices. It supports long context (up to 32K tokens) and is...', + description: 'LFM2.5-1.2B-Thinking is a lightweight reasoning-focused model optimized for agentic tasks, data extraction, and RAG—while still running comfortably on edge devices. It supports long context (up to 32K tokens) and is...', context_length: 32768, architecture: { modality: 'text->text', @@ -4437,8 +4309,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Mancer: Weaver (alpha)', created: 1690934400, - description: - "An attempt to recreate Claude-style verbosity, but don't expect the same level of coherence or memory. Meant for use in roleplay/narrative situations.", + description: 'An attempt to recreate Claude-style verbosity, but don\'t expect the same level of coherence or memory. Meant for use in roleplay/narrative situations.', context_length: 8000, architecture: { modality: 'text->text', @@ -4475,59 +4346,13 @@ export const models: Array = [ 'top_p', ], }, - { - id: 'meituan/longcat-flash-chat', - canonical_slug: 'meituan/longcat-flash-chat', - hugging_face_id: 'meituan-longcat/LongCat-Flash-Chat', - name: 'Meituan: LongCat Flash Chat', - created: 1757427658, - description: - 'LongCat-Flash-Chat is a large-scale Mixture-of-Experts (MoE) model with 560B total parameters, of which 18.6B–31.3B (≈27B on average) are dynamically activated per input. It introduces a shortcut-connected MoE design to reduce...', - context_length: 131072, - architecture: { - modality: 'text->text', - input_modalities: ['text'], - output_modalities: ['text'], - tokenizer: 'Other', - instruct_type: null, - }, - pricing: { - prompt: '0.0000002', - completion: '0.0000008', - input_cache_read: '0.0000002', - }, - top_provider: { - context_length: 131072, - max_completion_tokens: 131072, - is_moderated: false, - }, - per_request_limits: null, - supported_parameters: [ - 'frequency_penalty', - 'logit_bias', - 'max_tokens', - 'min_p', - 'presence_penalty', - 'repetition_penalty', - 'response_format', - 'seed', - 'stop', - 'structured_outputs', - 'temperature', - 'tool_choice', - 'tools', - 'top_k', - 'top_p', - ], - }, { id: 'meta-llama/llama-3-70b-instruct', canonical_slug: 'meta-llama/llama-3-70b-instruct', hugging_face_id: 'meta-llama/Meta-Llama-3-70B-Instruct', name: 'Meta: Llama 3 70B Instruct', created: 1713398400, - description: - "Meta's latest class of model (Llama 3) launched with a variety of sizes & flavors. This 70B instruct-tuned version was optimized for high quality dialogue usecases. It has demonstrated strong...", + description: 'Meta\'s latest class of model (Llama 3) launched with a variety of sizes & flavors. This 70B instruct-tuned version was optimized for high quality dialogue usecases. It has demonstrated strong...', context_length: 8192, architecture: { modality: 'text->text', @@ -4564,8 +4389,7 @@ export const models: Array = [ hugging_face_id: 'meta-llama/Meta-Llama-3-8B-Instruct', name: 'Meta: Llama 3 8B Instruct', created: 1713398400, - description: - "Meta's latest class of model (Llama 3) launched with a variety of sizes & flavors. This 8B instruct-tuned version was optimized for high quality dialogue usecases. It has demonstrated strong...", + description: 'Meta\'s latest class of model (Llama 3) launched with a variety of sizes & flavors. This 8B instruct-tuned version was optimized for high quality dialogue usecases. It has demonstrated strong...', context_length: 8192, architecture: { modality: 'text->text', @@ -4607,8 +4431,7 @@ export const models: Array = [ hugging_face_id: 'meta-llama/Meta-Llama-3.1-70B-Instruct', name: 'Meta: Llama 3.1 70B Instruct', created: 1721692800, - description: - "Meta's latest class of model (Llama 3.1) launched with a variety of sizes & flavors. This 70B instruct-tuned version is optimized for high quality dialogue usecases. It has demonstrated strong...", + description: 'Meta\'s latest class of model (Llama 3.1) launched with a variety of sizes & flavors. This 70B instruct-tuned version is optimized for high quality dialogue usecases. It has demonstrated strong...', context_length: 131072, architecture: { modality: 'text->text', @@ -4649,8 +4472,7 @@ export const models: Array = [ hugging_face_id: 'meta-llama/Meta-Llama-3.1-8B-Instruct', name: 'Meta: Llama 3.1 8B Instruct', created: 1721692800, - description: - "Meta's latest class of model (Llama 3.1) launched with a variety of sizes & flavors. This 8B instruct-tuned version is fast and efficient. It has demonstrated strong performance compared to...", + description: 'Meta\'s latest class of model (Llama 3.1) launched with a variety of sizes & flavors. This 8B instruct-tuned version is fast and efficient. It has demonstrated strong performance compared to...', context_length: 16384, architecture: { modality: 'text->text', @@ -4694,8 +4516,7 @@ export const models: Array = [ hugging_face_id: 'meta-llama/Llama-3.2-11B-Vision-Instruct', name: 'Meta: Llama 3.2 11B Vision Instruct', created: 1727222400, - description: - 'Llama 3.2 11B Vision is a multimodal model with 11 billion parameters, designed to handle tasks combining visual and textual data. It excels in tasks such as image captioning and...', + description: 'Llama 3.2 11B Vision is a multimodal model with 11 billion parameters, designed to handle tasks combining visual and textual data. It excels in tasks such as image captioning and...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -4705,8 +4526,8 @@ export const models: Array = [ instruct_type: 'llama3', }, pricing: { - prompt: '0.000000049', - completion: '0.000000049', + prompt: '0.000000245', + completion: '0.000000245', }, top_provider: { context_length: 131072, @@ -4734,8 +4555,7 @@ export const models: Array = [ hugging_face_id: 'meta-llama/Llama-3.2-1B-Instruct', name: 'Meta: Llama 3.2 1B Instruct', created: 1727222400, - description: - 'Llama 3.2 1B is a 1-billion-parameter language model focused on efficiently performing natural language tasks, such as summarization, dialogue, and multilingual text analysis. Its smaller size allows it to operate...', + description: 'Llama 3.2 1B is a 1-billion-parameter language model focused on efficiently performing natural language tasks, such as summarization, dialogue, and multilingual text analysis. Its smaller size allows it to operate...', context_length: 60000, architecture: { modality: 'text->text', @@ -4771,8 +4591,7 @@ export const models: Array = [ hugging_face_id: 'meta-llama/Llama-3.2-3B-Instruct', name: 'Meta: Llama 3.2 3B Instruct', created: 1727222400, - description: - 'Llama 3.2 3B is a 3-billion-parameter multilingual large language model, optimized for advanced natural language processing tasks like dialogue generation, reasoning, and summarization. Designed with the latest transformer architecture, it...', + description: 'Llama 3.2 3B is a 3-billion-parameter multilingual large language model, optimized for advanced natural language processing tasks like dialogue generation, reasoning, and summarization. Designed with the latest transformer architecture, it...', context_length: 80000, architecture: { modality: 'text->text', @@ -4808,8 +4627,7 @@ export const models: Array = [ hugging_face_id: 'meta-llama/Llama-3.2-3B-Instruct', name: 'Meta: Llama 3.2 3B Instruct (free)', created: 1727222400, - description: - 'Llama 3.2 3B is a 3-billion-parameter multilingual large language model, optimized for advanced natural language processing tasks like dialogue generation, reasoning, and summarization. Designed with the latest transformer architecture, it...', + description: 'Llama 3.2 3B is a 3-billion-parameter multilingual large language model, optimized for advanced natural language processing tasks like dialogue generation, reasoning, and summarization. Designed with the latest transformer architecture, it...', context_length: 131072, architecture: { modality: 'text->text', @@ -4844,8 +4662,7 @@ export const models: Array = [ hugging_face_id: 'meta-llama/Llama-3.3-70B-Instruct', name: 'Meta: Llama 3.3 70B Instruct', created: 1733506137, - description: - 'The Meta Llama 3.3 multilingual large language model (LLM) is a pretrained and instruction tuned generative model in 70B (text in/text out). The Llama 3.3 instruction tuned text only model...', + description: 'The Meta Llama 3.3 multilingual large language model (LLM) is a pretrained and instruction tuned generative model in 70B (text in/text out). The Llama 3.3 instruction tuned text only model...', context_length: 131072, architecture: { modality: 'text->text', @@ -4890,8 +4707,7 @@ export const models: Array = [ hugging_face_id: 'meta-llama/Llama-3.3-70B-Instruct', name: 'Meta: Llama 3.3 70B Instruct (free)', created: 1733506137, - description: - 'The Meta Llama 3.3 multilingual large language model (LLM) is a pretrained and instruction tuned generative model in 70B (text in/text out). The Llama 3.3 instruction tuned text only model...', + description: 'The Meta Llama 3.3 multilingual large language model (LLM) is a pretrained and instruction tuned generative model in 70B (text in/text out). The Llama 3.3 instruction tuned text only model...', context_length: 65536, architecture: { modality: 'text->text', @@ -4928,8 +4744,7 @@ export const models: Array = [ hugging_face_id: 'meta-llama/Llama-4-Maverick-17B-128E-Instruct', name: 'Meta: Llama 4 Maverick', created: 1743881822, - description: - 'Llama 4 Maverick 17B Instruct (128E) is a high-capacity multimodal language model from Meta, built on a mixture-of-experts (MoE) architecture with 128 experts and 17 billion active parameters per forward...', + description: 'Llama 4 Maverick 17B Instruct (128E) is a high-capacity multimodal language model from Meta, built on a mixture-of-experts (MoE) architecture with 128 experts and 17 billion active parameters per forward...', context_length: 1048576, architecture: { modality: 'text+image->text', @@ -4972,8 +4787,7 @@ export const models: Array = [ hugging_face_id: 'meta-llama/Llama-4-Scout-17B-16E-Instruct', name: 'Meta: Llama 4 Scout', created: 1743881519, - description: - 'Llama 4 Scout 17B Instruct (16E) is a mixture-of-experts (MoE) language model developed by Meta, activating 17 billion parameters out of a total of 109B. It supports native multimodal input...', + description: 'Llama 4 Scout 17B Instruct (16E) is a mixture-of-experts (MoE) language model developed by Meta, activating 17 billion parameters out of a total of 109B. It supports native multimodal input...', context_length: 327680, architecture: { modality: 'text+image->text', @@ -5015,8 +4829,7 @@ export const models: Array = [ hugging_face_id: 'meta-llama/Llama-Guard-3-8B', name: 'Llama Guard 3 8B', created: 1739401318, - description: - 'Llama Guard 3 is a Llama-3.1-8B pretrained model, fine-tuned for content safety classification. Similar to previous versions, it can be used to classify content in both LLM inputs (prompt classification)...', + description: 'Llama Guard 3 is a Llama-3.1-8B pretrained model, fine-tuned for content safety classification. Similar to previous versions, it can be used to classify content in both LLM inputs (prompt classification)...', context_length: 131072, architecture: { modality: 'text->text', @@ -5052,8 +4865,7 @@ export const models: Array = [ hugging_face_id: 'meta-llama/Llama-Guard-4-12B', name: 'Meta: Llama Guard 4 12B', created: 1745975193, - description: - 'Llama Guard 4 is a Llama 4 Scout-derived multimodal pretrained model, fine-tuned for content safety classification. Similar to previous versions, it can be used to classify content in both LLM...', + description: 'Llama Guard 4 is a Llama 4 Scout-derived multimodal pretrained model, fine-tuned for content safety classification. Similar to previous versions, it can be used to classify content in both LLM...', context_length: 163840, architecture: { modality: 'text+image->text', @@ -5093,8 +4905,7 @@ export const models: Array = [ hugging_face_id: 'microsoft/phi-4', name: 'Microsoft: Phi 4', created: 1736489872, - description: - '[Microsoft Research](/microsoft) Phi-4 is designed to perform well in complex reasoning tasks and can operate efficiently in situations with limited memory or where quick responses are needed. At 14 billion...', + description: '[Microsoft Research](/microsoft) Phi-4 is designed to perform well in complex reasoning tasks and can operate efficiently in situations with limited memory or where quick responses are needed. At 14 billion...', context_length: 16384, architecture: { modality: 'text->text', @@ -5136,8 +4947,7 @@ export const models: Array = [ hugging_face_id: 'microsoft/WizardLM-2-8x22B', name: 'WizardLM-2 8x22B', created: 1713225600, - description: - "WizardLM-2 8x22B is Microsoft AI's most advanced Wizard model. It demonstrates highly competitive performance compared to leading proprietary models, and it consistently outperforms all existing state-of-the-art opensource models. It is...", + description: 'WizardLM-2 8x22B is Microsoft AI\'s most advanced Wizard model. It demonstrates highly competitive performance compared to leading proprietary models, and it consistently outperforms all existing state-of-the-art opensource models. It is...', context_length: 65535, architecture: { modality: 'text->text', @@ -5174,8 +4984,7 @@ export const models: Array = [ hugging_face_id: 'MiniMaxAI/MiniMax-Text-01', name: 'MiniMax: MiniMax-01', created: 1736915462, - description: - 'MiniMax-01 is a combines MiniMax-Text-01 for text generation and MiniMax-VL-01 for image understanding. It has 456 billion parameters, with 45.9 billion parameters activated per inference, and can handle a context...', + description: 'MiniMax-01 is a combines MiniMax-Text-01 for text generation and MiniMax-VL-01 for image understanding. It has 456 billion parameters, with 45.9 billion parameters activated per inference, and can handle a context...', context_length: 1000192, architecture: { modality: 'text+image->text', @@ -5194,7 +5003,11 @@ export const models: Array = [ is_moderated: false, }, per_request_limits: null, - supported_parameters: ['max_tokens', 'temperature', 'top_p'], + supported_parameters: [ + 'max_tokens', + 'temperature', + 'top_p', + ], }, { id: 'minimax/minimax-m1', @@ -5202,8 +5015,7 @@ export const models: Array = [ hugging_face_id: '', name: 'MiniMax: MiniMax M1', created: 1750200414, - description: - 'MiniMax-M1 is a large-scale, open-weight reasoning model designed for extended context and high-efficiency inference. It leverages a hybrid Mixture-of-Experts (MoE) architecture paired with a custom "lightning attention" mechanism, allowing it...', + description: 'MiniMax-M1 is a large-scale, open-weight reasoning model designed for extended context and high-efficiency inference. It leverages a hybrid Mixture-of-Experts (MoE) architecture paired with a custom "lightning attention" mechanism, allowing it...', context_length: 1000000, architecture: { modality: 'text->text', @@ -5244,8 +5056,7 @@ export const models: Array = [ hugging_face_id: 'MiniMaxAI/MiniMax-M2', name: 'MiniMax: MiniMax M2', created: 1761252093, - description: - 'MiniMax-M2 is a compact, high-efficiency large language model optimized for end-to-end coding and agentic workflows. With 10 billion activated parameters (230 billion total), it delivers near-frontier intelligence across general reasoning,...', + description: 'MiniMax-M2 is a compact, high-efficiency large language model optimized for end-to-end coding and agentic workflows. With 10 billion activated parameters (230 billion total), it delivers near-frontier intelligence across general reasoning,...', context_length: 196608, architecture: { modality: 'text->text', @@ -5291,8 +5102,7 @@ export const models: Array = [ hugging_face_id: '', name: 'MiniMax: MiniMax M2-her', created: 1769177239, - description: - 'MiniMax M2-her is a dialogue-first large language model built for immersive roleplay, character-driven chat, and expressive multi-turn conversations. Designed to stay consistent in tone and personality, it supports rich message...', + description: 'MiniMax M2-her is a dialogue-first large language model built for immersive roleplay, character-driven chat, and expressive multi-turn conversations. Designed to stay consistent in tone and personality, it supports rich message...', context_length: 65536, architecture: { modality: 'text->text', @@ -5312,7 +5122,11 @@ export const models: Array = [ is_moderated: false, }, per_request_limits: null, - supported_parameters: ['max_tokens', 'temperature', 'top_p'], + supported_parameters: [ + 'max_tokens', + 'temperature', + 'top_p', + ], }, { id: 'minimax/minimax-m2.1', @@ -5320,8 +5134,7 @@ export const models: Array = [ hugging_face_id: 'MiniMaxAI/MiniMax-M2.1', name: 'MiniMax: MiniMax M2.1', created: 1766454997, - description: - 'MiniMax-M2.1 is a lightweight, state-of-the-art large language model optimized for coding, agentic workflows, and modern application development. With only 10 billion activated parameters, it delivers a major jump in real-world...', + description: 'MiniMax-M2.1 is a lightweight, state-of-the-art large language model optimized for coding, agentic workflows, and modern application development. With only 10 billion activated parameters, it delivers a major jump in real-world...', context_length: 196608, architecture: { modality: 'text->text', @@ -5369,8 +5182,7 @@ export const models: Array = [ hugging_face_id: 'MiniMaxAI/MiniMax-M2.5', name: 'MiniMax: MiniMax M2.5', created: 1770908502, - description: - 'MiniMax-M2.5 is a SOTA large language model designed for real-world productivity. Trained in a diverse range of complex real-world digital working environments, M2.5 builds upon the coding expertise of M2.1...', + description: 'MiniMax-M2.5 is a SOTA large language model designed for real-world productivity. Trained in a diverse range of complex real-world digital working environments, M2.5 builds upon the coding expertise of M2.1...', context_length: 196608, architecture: { modality: 'text->text', @@ -5420,8 +5232,7 @@ export const models: Array = [ hugging_face_id: 'MiniMaxAI/MiniMax-M2.5', name: 'MiniMax: MiniMax M2.5 (free)', created: 1770908502, - description: - 'MiniMax-M2.5 is a SOTA large language model designed for real-world productivity. Trained in a diverse range of complex real-world digital working environments, M2.5 builds upon the coding expertise of M2.1...', + description: 'MiniMax-M2.5 is a SOTA large language model designed for real-world productivity. Trained in a diverse range of complex real-world digital working environments, M2.5 builds upon the coding expertise of M2.1...', context_length: 196608, architecture: { modality: 'text->text', @@ -5436,7 +5247,7 @@ export const models: Array = [ }, top_provider: { context_length: 196608, - max_completion_tokens: 196608, + max_completion_tokens: 8192, is_moderated: true, }, per_request_limits: null, @@ -5457,9 +5268,8 @@ export const models: Array = [ hugging_face_id: 'MiniMaxAI/MiniMax-M2.7', name: 'MiniMax: MiniMax M2.7', created: 1773836697, - description: - 'MiniMax-M2.7 is a next-generation large language model designed for autonomous, real-world productivity and continuous improvement. Built to actively participate in its own evolution, M2.7 integrates advanced agentic capabilities through multi-agent...', - context_length: 204800, + description: 'MiniMax-M2.7 is a next-generation large language model designed for autonomous, real-world productivity and continuous improvement. Built to actively participate in its own evolution, M2.7 integrates advanced agentic capabilities through multi-agent...', + context_length: 196608, architecture: { modality: 'text->text', input_modalities: ['text'], @@ -5470,22 +5280,32 @@ export const models: Array = [ pricing: { prompt: '0.0000003', completion: '0.0000012', - input_cache_read: '0.00000006', + input_cache_read: '0.000000059', }, top_provider: { - context_length: 204800, - max_completion_tokens: 131072, + context_length: 196608, + max_completion_tokens: null, is_moderated: false, }, per_request_limits: null, supported_parameters: [ + 'frequency_penalty', 'include_reasoning', + 'logit_bias', + 'logprobs', 'max_tokens', + 'min_p', + 'presence_penalty', 'reasoning', + 'repetition_penalty', 'response_format', + 'stop', + 'structured_outputs', 'temperature', 'tool_choice', 'tools', + 'top_k', + 'top_logprobs', 'top_p', ], }, @@ -5495,8 +5315,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Mistral: Codestral 2508', created: 1754079630, - description: - "Mistral's cutting-edge language model for coding released end of July 2025. Codestral specializes in low-latency, high-frequency tasks such as fill-in-the-middle (FIM), code correction and test generation.\n\n[Blog Post](https://mistral.ai/news/codestral-25-08)", + description: 'Mistral\'s cutting-edge language model for coding released end of July 2025. Codestral specializes in low-latency, high-frequency tasks such as fill-in-the-middle (FIM), code correction and test generation.\n\n[Blog Post](https://mistral.ai/news/codestral-25-08)', context_length: 256000, architecture: { modality: 'text->text', @@ -5536,8 +5355,7 @@ export const models: Array = [ hugging_face_id: 'mistralai/Devstral-2-123B-Instruct-2512', name: 'Mistral: Devstral 2 2512', created: 1765285419, - description: - 'Devstral 2 is a state-of-the-art open-source model by Mistral AI specializing in agentic coding. It is a 123B-parameter dense transformer model supporting a 256K context window. Devstral 2 supports exploring...', + description: 'Devstral 2 is a state-of-the-art open-source model by Mistral AI specializing in agentic coding. It is a 123B-parameter dense transformer model supporting a 256K context window. Devstral 2 supports exploring...', context_length: 262144, architecture: { modality: 'text->text', @@ -5577,8 +5395,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Mistral: Devstral Medium', created: 1752161321, - description: - 'Devstral Medium is a high-performance code generation and agentic reasoning model developed jointly by Mistral AI and All Hands AI. Positioned as a step up from Devstral Small, it achieves...', + description: 'Devstral Medium is a high-performance code generation and agentic reasoning model developed jointly by Mistral AI and All Hands AI. Positioned as a step up from Devstral Small, it achieves...', context_length: 131072, architecture: { modality: 'text->text', @@ -5618,8 +5435,7 @@ export const models: Array = [ hugging_face_id: 'mistralai/Devstral-Small-2507', name: 'Mistral: Devstral Small 1.1', created: 1752160751, - description: - 'Devstral Small 1.1 is a 24B parameter open-weight language model for software engineering agents, developed by Mistral AI in collaboration with All Hands AI. Finetuned from Mistral Small 3.1 and...', + description: 'Devstral Small 1.1 is a 24B parameter open-weight language model for software engineering agents, developed by Mistral AI in collaboration with All Hands AI. Finetuned from Mistral Small 3.1 and...', context_length: 131072, architecture: { modality: 'text->text', @@ -5659,8 +5475,7 @@ export const models: Array = [ hugging_face_id: 'mistralai/Ministral-3-14B-Instruct-2512', name: 'Mistral: Ministral 3 14B 2512', created: 1764681735, - description: - 'The largest model in the Ministral 3 family, Ministral 3 14B offers frontier capabilities and performance comparable to its larger Mistral Small 3.2 24B counterpart. A powerful and efficient language...', + description: 'The largest model in the Ministral 3 family, Ministral 3 14B offers frontier capabilities and performance comparable to its larger Mistral Small 3.2 24B counterpart. A powerful and efficient language...', context_length: 262144, architecture: { modality: 'text+image->text', @@ -5703,8 +5518,7 @@ export const models: Array = [ hugging_face_id: 'mistralai/Ministral-3-3B-Instruct-2512', name: 'Mistral: Ministral 3 3B 2512', created: 1764681560, - description: - 'The smallest model in the Ministral 3 family, Ministral 3 3B is a powerful, efficient tiny language model with vision capabilities.', + description: 'The smallest model in the Ministral 3 family, Ministral 3 3B is a powerful, efficient tiny language model with vision capabilities.', context_length: 131072, architecture: { modality: 'text+image->text', @@ -5747,8 +5561,7 @@ export const models: Array = [ hugging_face_id: 'mistralai/Ministral-3-8B-Instruct-2512', name: 'Mistral: Ministral 3 8B 2512', created: 1764681654, - description: - 'A balanced model in the Ministral 3 family, Ministral 3 8B is a powerful, efficient tiny language model with vision capabilities.', + description: 'A balanced model in the Ministral 3 family, Ministral 3 8B is a powerful, efficient tiny language model with vision capabilities.', context_length: 262144, architecture: { modality: 'text+image->text', @@ -5791,8 +5604,7 @@ export const models: Array = [ hugging_face_id: 'mistralai/Mistral-7B-Instruct-v0.1', name: 'Mistral: Mistral 7B Instruct v0.1', created: 1695859200, - description: - 'A 7.3B parameter model that outperforms Llama 2 13B on all benchmarks, with optimizations for speed and context length.', + description: 'A 7.3B parameter model that outperforms Llama 2 13B on all benchmarks, with optimizations for speed and context length.', context_length: 2824, architecture: { modality: 'text->text', @@ -5828,8 +5640,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Mistral Large', created: 1708905600, - description: - "This is Mistral AI's flagship model, Mistral Large 2 (version `mistral-large-2407`). It's a proprietary weights-available model and excels at reasoning, code, JSON, chat, and more. Read the launch announcement [here](https://mistral.ai/news/mistral-large-2407/)....", + description: 'This is Mistral AI\'s flagship model, Mistral Large 2 (version `mistral-large-2407`). It\'s a proprietary weights-available model and excels at reasoning, code, JSON, chat, and more. Read the launch announcement [here](https://mistral.ai/news/mistral-large-2407/)....', context_length: 128000, architecture: { modality: 'text->text', @@ -5869,8 +5680,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Mistral Large 2407', created: 1731978415, - description: - "This is Mistral AI's flagship model, Mistral Large 2 (version mistral-large-2407). It's a proprietary weights-available model and excels at reasoning, code, JSON, chat, and more. Read the launch announcement [here](https://mistral.ai/news/mistral-large-2407/)....", + description: 'This is Mistral AI\'s flagship model, Mistral Large 2 (version mistral-large-2407). It\'s a proprietary weights-available model and excels at reasoning, code, JSON, chat, and more. Read the launch announcement [here](https://mistral.ai/news/mistral-large-2407/)....', context_length: 131072, architecture: { modality: 'text->text', @@ -5910,8 +5720,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Mistral Large 2411', created: 1731978685, - description: - 'Mistral Large 2 2411 is an update of [Mistral Large 2](/mistralai/mistral-large) released together with [Pixtral Large 2411](/mistralai/pixtral-large-2411) It provides a significant upgrade on the previous [Mistral Large 24.07](/mistralai/mistral-large-2407), with notable...', + description: 'Mistral Large 2 2411 is an update of [Mistral Large 2](/mistralai/mistral-large) released together with [Pixtral Large 2411](/mistralai/pixtral-large-2411) It provides a significant upgrade on the previous [Mistral Large 24.07](/mistralai/mistral-large-2407), with notable...', context_length: 131072, architecture: { modality: 'text->text', @@ -5951,8 +5760,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Mistral: Mistral Large 3 2512', created: 1764624472, - description: - 'Mistral Large 3 2512 is Mistral’s most capable model to date, featuring a sparse mixture-of-experts architecture with 41B active parameters (675B total), and released under the Apache 2.0 license.', + description: 'Mistral Large 3 2512 is Mistral’s most capable model to date, featuring a sparse mixture-of-experts architecture with 41B active parameters (675B total), and released under the Apache 2.0 license.', context_length: 262144, architecture: { modality: 'text+image->text', @@ -5992,8 +5800,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Mistral: Mistral Medium 3', created: 1746627341, - description: - 'Mistral Medium 3 is a high-performance enterprise-grade language model designed to deliver frontier-level capabilities at significantly reduced operational cost. It balances state-of-the-art reasoning and multimodal performance with 8× lower cost...', + description: 'Mistral Medium 3 is a high-performance enterprise-grade language model designed to deliver frontier-level capabilities at significantly reduced operational cost. It balances state-of-the-art reasoning and multimodal performance with 8× lower cost...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -6033,8 +5840,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Mistral: Mistral Medium 3.1', created: 1755095639, - description: - 'Mistral Medium 3.1 is an updated version of Mistral Medium 3, which is a high-performance enterprise-grade language model designed to deliver frontier-level capabilities at significantly reduced operational cost. It balances...', + description: 'Mistral Medium 3.1 is an updated version of Mistral Medium 3, which is a high-performance enterprise-grade language model designed to deliver frontier-level capabilities at significantly reduced operational cost. It balances...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -6074,8 +5880,7 @@ export const models: Array = [ hugging_face_id: 'mistralai/Mistral-Nemo-Instruct-2407', name: 'Mistral: Mistral Nemo', created: 1721347200, - description: - 'A 12B parameter model with a 128k token context length built by Mistral in collaboration with NVIDIA. The model is multilingual, supporting English, French, German, Spanish, Italian, Portuguese, Chinese, Japanese,...', + description: 'A 12B parameter model with a 128k token context length built by Mistral in collaboration with NVIDIA. The model is multilingual, supporting English, French, German, Spanish, Italian, Portuguese, Chinese, Japanese,...', context_length: 131072, architecture: { modality: 'text->text', @@ -6117,8 +5922,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Mistral: Saba', created: 1739803239, - description: - 'Mistral Saba is a 24B-parameter language model specifically designed for the Middle East and South Asia, delivering accurate and contextually relevant responses while maintaining efficient performance. Trained on curated regional...', + description: 'Mistral Saba is a 24B-parameter language model specifically designed for the Middle East and South Asia, delivering accurate and contextually relevant responses while maintaining efficient performance. Trained on curated regional...', context_length: 32768, architecture: { modality: 'text->text', @@ -6158,8 +5962,7 @@ export const models: Array = [ hugging_face_id: 'mistralai/Mistral-Small-24B-Instruct-2501', name: 'Mistral: Mistral Small 3', created: 1738255409, - description: - 'Mistral Small 3 is a 24B-parameter language model optimized for low-latency performance across common AI tasks. Released under the Apache 2.0 license, it features both pre-trained and instruction-tuned versions designed...', + description: 'Mistral Small 3 is a 24B-parameter language model optimized for low-latency performance across common AI tasks. Released under the Apache 2.0 license, it features both pre-trained and instruction-tuned versions designed...', context_length: 32768, architecture: { modality: 'text->text', @@ -6198,8 +6001,7 @@ export const models: Array = [ hugging_face_id: 'mistralai/Mistral-Small-4-119B-2603', name: 'Mistral: Mistral Small 4', created: 1773695685, - description: - 'Mistral Small 4 is the next major release in the Mistral Small family, unifying the capabilities of several flagship Mistral models into a single system. It combines strong reasoning from...', + description: 'Mistral Small 4 is the next major release in the Mistral Small family, unifying the capabilities of several flagship Mistral models into a single system. It combines strong reasoning from...', context_length: 262144, architecture: { modality: 'text+image->text', @@ -6242,9 +6044,8 @@ export const models: Array = [ hugging_face_id: 'mistralai/Mistral-Small-3.1-24B-Instruct-2503', name: 'Mistral: Mistral Small 3.1 24B', created: 1742238937, - description: - 'Mistral Small 3.1 24B Instruct is an upgraded variant of Mistral Small 3 (2501), featuring 24 billion parameters with advanced multimodal capabilities. It provides state-of-the-art performance in text-based reasoning and...', - context_length: 131072, + description: 'Mistral Small 3.1 24B Instruct is an upgraded variant of Mistral Small 3 (2501), featuring 24 billion parameters with advanced multimodal capabilities. It provides state-of-the-art performance in text-based reasoning and...', + context_length: 128000, architecture: { modality: 'text+image->text', input_modalities: ['text', 'image'], @@ -6253,13 +6054,12 @@ export const models: Array = [ instruct_type: null, }, pricing: { - prompt: '0.00000003', - completion: '0.00000011', - input_cache_read: '0.000000015', + prompt: '0.00000035', + completion: '0.00000056', }, top_provider: { - context_length: 131072, - max_completion_tokens: 131072, + context_length: 128000, + max_completion_tokens: null, is_moderated: false, }, per_request_limits: null, @@ -6268,10 +6068,7 @@ export const models: Array = [ 'max_tokens', 'presence_penalty', 'repetition_penalty', - 'response_format', 'seed', - 'stop', - 'structured_outputs', 'temperature', 'top_k', 'top_p', @@ -6283,8 +6080,7 @@ export const models: Array = [ hugging_face_id: 'mistralai/Mistral-Small-3.2-24B-Instruct-2506', name: 'Mistral: Mistral Small 3.2 24B', created: 1750443016, - description: - 'Mistral-Small-3.2-24B-Instruct-2506 is an updated 24B parameter model from Mistral optimized for instruction following, repetition reduction, and improved function calling. Compared to the 3.1 release, version 3.2 significantly improves accuracy on...', + description: 'Mistral-Small-3.2-24B-Instruct-2506 is an updated 24B parameter model from Mistral optimized for instruction following, repetition reduction, and improved function calling. Compared to the 3.1 release, version 3.2 significantly improves accuracy on...', context_length: 128000, architecture: { modality: 'text+image->text', @@ -6327,8 +6123,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Mistral: Mistral Small Creative', created: 1765908653, - description: - 'Mistral Small Creative is an experimental small model designed for creative writing, narrative generation, roleplay and character-driven dialogue, general-purpose instruction following, and conversational agents.', + description: 'Mistral Small Creative is an experimental small model designed for creative writing, narrative generation, roleplay and character-driven dialogue, general-purpose instruction following, and conversational agents.', context_length: 32768, architecture: { modality: 'text->text', @@ -6348,7 +6143,10 @@ export const models: Array = [ is_moderated: false, }, per_request_limits: null, - supported_parameters: ['tool_choice', 'tools'], + supported_parameters: [ + 'tool_choice', + 'tools', + ], }, { id: 'mistralai/mixtral-8x22b-instruct', @@ -6356,8 +6154,7 @@ export const models: Array = [ hugging_face_id: 'mistralai/Mixtral-8x22B-Instruct-v0.1', name: 'Mistral: Mixtral 8x22B Instruct', created: 1713312000, - description: - "Mistral's official instruct fine-tuned version of [Mixtral 8x22B](/models/mistralai/mixtral-8x22b). It uses 39B active parameters out of 141B, offering unparalleled cost efficiency for its size. Its strengths include: - strong math, coding,...", + description: 'Mistral\'s official instruct fine-tuned version of [Mixtral 8x22B](/models/mistralai/mixtral-8x22b). It uses 39B active parameters out of 141B, offering unparalleled cost efficiency for its size. Its strengths include: - strong math, coding,...', context_length: 65536, architecture: { modality: 'text->text', @@ -6397,8 +6194,7 @@ export const models: Array = [ hugging_face_id: 'mistralai/Mixtral-8x7B-Instruct-v0.1', name: 'Mistral: Mixtral 8x7B Instruct', created: 1702166400, - description: - 'Mixtral 8x7B Instruct is a pretrained generative Sparse Mixture of Experts, by Mistral AI, for chat and instruction use. Incorporates 8 experts (feed-forward networks) for a total of 47 billion...', + description: 'Mixtral 8x7B Instruct is a pretrained generative Sparse Mixture of Experts, by Mistral AI, for chat and instruction use. Incorporates 8 experts (feed-forward networks) for a total of 47 billion...', context_length: 32768, architecture: { modality: 'text->text', @@ -6419,7 +6215,6 @@ export const models: Array = [ per_request_limits: null, supported_parameters: [ 'frequency_penalty', - 'logit_bias', 'max_tokens', 'min_p', 'presence_penalty', @@ -6440,8 +6235,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Mistral: Pixtral Large 2411', created: 1731977388, - description: - 'Pixtral Large is a 124B parameter, open-weight, multimodal model built on top of [Mistral Large 2](/mistralai/mistral-large-2411). The model is able to understand documents, charts and natural images. The model is...', + description: 'Pixtral Large is a 124B parameter, open-weight, multimodal model built on top of [Mistral Large 2](/mistralai/mistral-large-2411). The model is able to understand documents, charts and natural images. The model is...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -6481,8 +6275,7 @@ export const models: Array = [ hugging_face_id: 'mistralai/Voxtral-Small-24B-2507', name: 'Mistral: Voxtral Small 24B 2507', created: 1761835144, - description: - 'Voxtral Small is an enhancement of Mistral Small 3, incorporating state-of-the-art audio input capabilities while retaining best-in-class text performance. It excels at speech transcription, translation and audio understanding. Input audio...', + description: 'Voxtral Small is an enhancement of Mistral Small 3, incorporating state-of-the-art audio input capabilities while retaining best-in-class text performance. It excels at speech transcription, translation and audio understanding. Input audio...', context_length: 32000, architecture: { modality: 'text+audio->text', @@ -6523,8 +6316,7 @@ export const models: Array = [ hugging_face_id: 'moonshotai/Kimi-K2-Instruct', name: 'MoonshotAI: Kimi K2 0711', created: 1752263252, - description: - 'Kimi K2 Instruct is a large-scale Mixture-of-Experts (MoE) language model developed by Moonshot AI, featuring 1 trillion total parameters with 32 billion active per forward pass. It is optimized for...', + description: 'Kimi K2 Instruct is a large-scale Mixture-of-Experts (MoE) language model developed by Moonshot AI, featuring 1 trillion total parameters with 32 billion active per forward pass. It is optimized for...', context_length: 131072, architecture: { modality: 'text->text', @@ -6563,8 +6355,7 @@ export const models: Array = [ hugging_face_id: 'moonshotai/Kimi-K2-Instruct-0905', name: 'MoonshotAI: Kimi K2 0905', created: 1757021147, - description: - 'Kimi K2 0905 is the September update of [Kimi K2 0711](moonshotai/kimi-k2). It is a large-scale Mixture-of-Experts (MoE) language model developed by Moonshot AI, featuring 1 trillion total parameters with 32...', + description: 'Kimi K2 0905 is the September update of [Kimi K2 0711](moonshotai/kimi-k2). It is a large-scale Mixture-of-Experts (MoE) language model developed by Moonshot AI, featuring 1 trillion total parameters with 32...', context_length: 262144, architecture: { modality: 'text->text', @@ -6588,7 +6379,6 @@ export const models: Array = [ 'logit_bias', 'logprobs', 'max_tokens', - 'min_p', 'presence_penalty', 'repetition_penalty', 'response_format', @@ -6609,8 +6399,7 @@ export const models: Array = [ hugging_face_id: 'moonshotai/Kimi-K2-Thinking', name: 'MoonshotAI: Kimi K2 Thinking', created: 1762440622, - description: - 'Kimi K2 Thinking is Moonshot AI’s most advanced open reasoning model to date, extending the K2 series into agentic, long-horizon reasoning. Built on the trillion-parameter Mixture-of-Experts (MoE) architecture introduced in...', + description: 'Kimi K2 Thinking is Moonshot AI’s most advanced open reasoning model to date, extending the K2 series into agentic, long-horizon reasoning. Built on the trillion-parameter Mixture-of-Experts (MoE) architecture introduced in...', context_length: 262144, architecture: { modality: 'text->text', @@ -6655,8 +6444,7 @@ export const models: Array = [ hugging_face_id: 'moonshotai/Kimi-K2.5', name: 'MoonshotAI: Kimi K2.5', created: 1769487076, - description: - "Kimi K2.5 is Moonshot AI's native multimodal model, delivering state-of-the-art visual coding capability and a self-directed agent swarm paradigm. Built on Kimi K2 with continued pretraining over approximately 15T mixed...", + description: 'Kimi K2.5 is Moonshot AI\'s native multimodal model, delivering state-of-the-art visual coding capability and a self-directed agent swarm paradigm. Built on Kimi K2 with continued pretraining over approximately 15T mixed...', context_length: 262144, architecture: { modality: 'text+image->text', @@ -6705,8 +6493,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Morph: Morph V3 Fast', created: 1751910002, - description: - "Morph's fastest apply model for code edits. ~10,500 tokens/sec with 96% accuracy for rapid code transformations. The model requires the prompt to be in the following format: {instruction} {initial_code} {edit_snippet}...", + description: 'Morph\'s fastest apply model for code edits. ~10,500 tokens/sec with 96% accuracy for rapid code transformations. The model requires the prompt to be in the following format: {instruction} {initial_code} {edit_snippet}...', context_length: 81920, architecture: { modality: 'text->text', @@ -6725,7 +6512,11 @@ export const models: Array = [ is_moderated: false, }, per_request_limits: null, - supported_parameters: ['max_tokens', 'stop', 'temperature'], + supported_parameters: [ + 'max_tokens', + 'stop', + 'temperature', + ], }, { id: 'morph/morph-v3-large', @@ -6733,8 +6524,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Morph: Morph V3 Large', created: 1751910858, - description: - "Morph's high-accuracy apply model for complex code edits. ~4,500 tokens/sec with 98% accuracy for precise code transformations. The model requires the prompt to be in the following format: {instruction} {initial_code}...", + description: 'Morph\'s high-accuracy apply model for complex code edits. ~4,500 tokens/sec with 98% accuracy for precise code transformations. The model requires the prompt to be in the following format: {instruction} {initial_code}...', context_length: 262144, architecture: { modality: 'text->text', @@ -6753,7 +6543,11 @@ export const models: Array = [ is_moderated: false, }, per_request_limits: null, - supported_parameters: ['max_tokens', 'stop', 'temperature'], + supported_parameters: [ + 'max_tokens', + 'stop', + 'temperature', + ], }, { id: 'nex-agi/deepseek-v3.1-nex-n1', @@ -6761,8 +6555,7 @@ export const models: Array = [ hugging_face_id: 'nex-agi/DeepSeek-V3.1-Nex-N1', name: 'Nex AGI: DeepSeek V3.1 Nex N1', created: 1765204393, - description: - 'DeepSeek V3.1 Nex-N1 is the flagship release of the Nex-N1 series — a post-trained model designed to highlight agent autonomy, tool use, and real-world productivity. Nex-N1 demonstrates competitive performance across...', + description: 'DeepSeek V3.1 Nex-N1 is the flagship release of the Nex-N1 series — a post-trained model designed to highlight agent autonomy, tool use, and real-world productivity. Nex-N1 demonstrates competitive performance across...', context_length: 131072, architecture: { modality: 'text->text', @@ -6798,8 +6591,7 @@ export const models: Array = [ hugging_face_id: 'NousResearch/Hermes-2-Pro-Llama-3-8B', name: 'NousResearch: Hermes 2 Pro - Llama-3 8B', created: 1716768000, - description: - 'Hermes 2 Pro is an upgraded, retrained version of Nous Hermes 2, consisting of an updated and cleaned version of the OpenHermes 2.5 Dataset, as well as a newly introduced...', + description: 'Hermes 2 Pro is an upgraded, retrained version of Nous Hermes 2, consisting of an updated and cleaned version of the OpenHermes 2.5 Dataset, as well as a newly introduced...', context_length: 8192, architecture: { modality: 'text->text', @@ -6838,8 +6630,7 @@ export const models: Array = [ hugging_face_id: 'NousResearch/Hermes-3-Llama-3.1-405B', name: 'Nous: Hermes 3 405B Instruct', created: 1723766400, - description: - 'Hermes 3 is a generalist language model with many improvements over Hermes 2, including advanced agentic capabilities, much better roleplaying, reasoning, multi-turn conversation, long context coherence, and improvements across the...', + description: 'Hermes 3 is a generalist language model with many improvements over Hermes 2, including advanced agentic capabilities, much better roleplaying, reasoning, multi-turn conversation, long context coherence, and improvements across the...', context_length: 131072, architecture: { modality: 'text->text', @@ -6878,8 +6669,7 @@ export const models: Array = [ hugging_face_id: 'NousResearch/Hermes-3-Llama-3.1-405B', name: 'Nous: Hermes 3 405B Instruct (free)', created: 1723766400, - description: - 'Hermes 3 is a generalist language model with many improvements over Hermes 2, including advanced agentic capabilities, much better roleplaying, reasoning, multi-turn conversation, long context coherence, and improvements across the...', + description: 'Hermes 3 is a generalist language model with many improvements over Hermes 2, including advanced agentic capabilities, much better roleplaying, reasoning, multi-turn conversation, long context coherence, and improvements across the...', context_length: 131072, architecture: { modality: 'text->text', @@ -6914,8 +6704,7 @@ export const models: Array = [ hugging_face_id: 'NousResearch/Hermes-3-Llama-3.1-70B', name: 'Nous: Hermes 3 70B Instruct', created: 1723939200, - description: - 'Hermes 3 is a generalist language model with many improvements over [Hermes 2](/models/nousresearch/nous-hermes-2-mistral-7b-dpo), including advanced agentic capabilities, much better roleplaying, reasoning, multi-turn conversation, long context coherence, and improvements across the...', + description: 'Hermes 3 is a generalist language model with many improvements over [Hermes 2](/models/nousresearch/nous-hermes-2-mistral-7b-dpo), including advanced agentic capabilities, much better roleplaying, reasoning, multi-turn conversation, long context coherence, and improvements across the...', context_length: 131072, architecture: { modality: 'text->text', @@ -6954,8 +6743,7 @@ export const models: Array = [ hugging_face_id: 'NousResearch/Hermes-4-405B', name: 'Nous: Hermes 4 405B', created: 1756235463, - description: - 'Hermes 4 is a large-scale reasoning model built on Meta-Llama-3.1-405B and released by Nous Research. It introduces a hybrid reasoning mode, where the model can choose to deliberate internally with...', + description: 'Hermes 4 is a large-scale reasoning model built on Meta-Llama-3.1-405B and released by Nous Research. It introduces a hybrid reasoning mode, where the model can choose to deliberate internally with...', context_length: 131072, architecture: { modality: 'text->text', @@ -6993,8 +6781,7 @@ export const models: Array = [ hugging_face_id: 'NousResearch/Hermes-4-70B', name: 'Nous: Hermes 4 70B', created: 1756236182, - description: - 'Hermes 4 70B is a hybrid reasoning model from Nous Research, built on Meta-Llama-3.1-70B. It introduces the same hybrid mode as the larger 405B release, allowing the model to either...', + description: 'Hermes 4 70B is a hybrid reasoning model from Nous Research, built on Meta-Llama-3.1-70B. It introduces the same hybrid mode as the larger 405B release, allowing the model to either...', context_length: 131072, architecture: { modality: 'text->text', @@ -7032,8 +6819,7 @@ export const models: Array = [ hugging_face_id: 'nvidia/Llama-3.1-Nemotron-70B-Instruct-HF', name: 'NVIDIA: Llama 3.1 Nemotron 70B Instruct', created: 1728950400, - description: - "NVIDIA's Llama 3.1 Nemotron 70B is a language model designed for generating precise and useful responses. Leveraging [Llama 3.1 70B](/models/meta-llama/llama-3.1-70b-instruct) architecture and Reinforcement Learning from Human Feedback (RLHF), it excels...", + description: 'NVIDIA\'s Llama 3.1 Nemotron 70B is a language model designed for generating precise and useful responses. Leveraging [Llama 3.1 70B](/models/meta-llama/llama-3.1-70b-instruct) architecture and Reinforcement Learning from Human Feedback (RLHF), it excels...', context_length: 131072, architecture: { modality: 'text->text', @@ -7074,8 +6860,7 @@ export const models: Array = [ hugging_face_id: 'nvidia/Llama-3_1-Nemotron-Ultra-253B-v1', name: 'NVIDIA: Llama 3.1 Nemotron Ultra 253B v1', created: 1744115059, - description: - 'Llama-3.1-Nemotron-Ultra-253B-v1 is a large language model (LLM) optimized for advanced reasoning, human-interactive chat, retrieval-augmented generation (RAG), and tool-calling tasks. Derived from Meta’s Llama-3.1-405B-Instruct, it has been significantly customized using Neural...', + description: 'Llama-3.1-Nemotron-Ultra-253B-v1 is a large language model (LLM) optimized for advanced reasoning, human-interactive chat, retrieval-augmented generation (RAG), and tool-calling tasks. Derived from Meta’s Llama-3.1-405B-Instruct, it has been significantly customized using Neural...', context_length: 131072, architecture: { modality: 'text->text', @@ -7114,8 +6899,7 @@ export const models: Array = [ hugging_face_id: 'nvidia/Llama-3_3-Nemotron-Super-49B-v1_5', name: 'NVIDIA: Llama 3.3 Nemotron Super 49B V1.5', created: 1760101395, - description: - 'Llama-3.3-Nemotron-Super-49B-v1.5 is a 49B-parameter, English-centric reasoning/chat model derived from Meta’s Llama-3.3-70B-Instruct with a 128K context. It’s post-trained for agentic workflows (RAG, tool calling) via SFT across math, code, science, and...', + description: 'Llama-3.3-Nemotron-Super-49B-v1.5 is a 49B-parameter, English-centric reasoning/chat model derived from Meta’s Llama-3.3-70B-Instruct with a 128K context. It’s post-trained for agentic workflows (RAG, tool calling) via SFT across math, code, science, and...', context_length: 131072, architecture: { modality: 'text->text', @@ -7158,8 +6942,7 @@ export const models: Array = [ hugging_face_id: 'nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16', name: 'NVIDIA: Nemotron 3 Nano 30B A3B', created: 1765731275, - description: - 'NVIDIA Nemotron 3 Nano 30B A3B is a small language MoE model with highest compute efficiency and accuracy for developers to build specialized agentic AI systems. The model is fully...', + description: 'NVIDIA Nemotron 3 Nano 30B A3B is a small language MoE model with highest compute efficiency and accuracy for developers to build specialized agentic AI systems. The model is fully...', context_length: 262144, architecture: { modality: 'text->text', @@ -7202,8 +6985,7 @@ export const models: Array = [ hugging_face_id: 'nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16', name: 'NVIDIA: Nemotron 3 Nano 30B A3B (free)', created: 1765731275, - description: - 'NVIDIA Nemotron 3 Nano 30B A3B is a small language MoE model with highest compute efficiency and accuracy for developers to build specialized agentic AI systems. The model is fully...', + description: 'NVIDIA Nemotron 3 Nano 30B A3B is a small language MoE model with highest compute efficiency and accuracy for developers to build specialized agentic AI systems. The model is fully...', context_length: 256000, architecture: { modality: 'text->text', @@ -7239,8 +7021,7 @@ export const models: Array = [ hugging_face_id: 'nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8', name: 'NVIDIA: Nemotron 3 Super', created: 1773245239, - description: - 'NVIDIA Nemotron 3 Super is a 120B-parameter open hybrid MoE model, activating just 12B parameters for maximum compute efficiency and accuracy in complex multi-agent applications. Built on a hybrid Mamba-Transformer...', + description: 'NVIDIA Nemotron 3 Super is a 120B-parameter open hybrid MoE model, activating just 12B parameters for maximum compute efficiency and accuracy in complex multi-agent applications. Built on a hybrid Mamba-Transformer...', context_length: 262144, architecture: { modality: 'text->text', @@ -7284,8 +7065,7 @@ export const models: Array = [ hugging_face_id: 'nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8', name: 'NVIDIA: Nemotron 3 Super (free)', created: 1773245239, - description: - 'NVIDIA Nemotron 3 Super is a 120B-parameter open hybrid MoE model, activating just 12B parameters for maximum compute efficiency and accuracy in complex multi-agent applications. Built on a hybrid Mamba-Transformer...', + description: 'NVIDIA Nemotron 3 Super is a 120B-parameter open hybrid MoE model, activating just 12B parameters for maximum compute efficiency and accuracy in complex multi-agent applications. Built on a hybrid Mamba-Transformer...', context_length: 262144, architecture: { modality: 'text->text', @@ -7323,8 +7103,7 @@ export const models: Array = [ hugging_face_id: 'nvidia/NVIDIA-Nemotron-Nano-12B-v2-VL-BF16', name: 'NVIDIA: Nemotron Nano 12B 2 VL', created: 1761675565, - description: - 'NVIDIA Nemotron Nano 2 VL is a 12-billion-parameter open multimodal reasoning model designed for video understanding and document intelligence. It introduces a hybrid Transformer-Mamba architecture, combining transformer-level accuracy with Mamba’s...', + description: 'NVIDIA Nemotron Nano 2 VL is a 12-billion-parameter open multimodal reasoning model designed for video understanding and document intelligence. It introduces a hybrid Transformer-Mamba architecture, combining transformer-level accuracy with Mamba’s...', context_length: 131072, architecture: { modality: 'text+image+video->text', @@ -7365,8 +7144,7 @@ export const models: Array = [ hugging_face_id: 'nvidia/NVIDIA-Nemotron-Nano-12B-v2-VL-BF16', name: 'NVIDIA: Nemotron Nano 12B 2 VL (free)', created: 1761675565, - description: - 'NVIDIA Nemotron Nano 2 VL is a 12-billion-parameter open multimodal reasoning model designed for video understanding and document intelligence. It introduces a hybrid Transformer-Mamba architecture, combining transformer-level accuracy with Mamba’s...', + description: 'NVIDIA Nemotron Nano 2 VL is a 12-billion-parameter open multimodal reasoning model designed for video understanding and document intelligence. It introduces a hybrid Transformer-Mamba architecture, combining transformer-level accuracy with Mamba’s...', context_length: 128000, architecture: { modality: 'text+image+video->text', @@ -7402,8 +7180,7 @@ export const models: Array = [ hugging_face_id: 'nvidia/NVIDIA-Nemotron-Nano-9B-v2', name: 'NVIDIA: Nemotron Nano 9B V2', created: 1757106807, - description: - 'NVIDIA-Nemotron-Nano-9B-v2 is a large language model (LLM) trained from scratch by NVIDIA, and designed as a unified model for both reasoning and non-reasoning tasks. It responds to user queries and...', + description: 'NVIDIA-Nemotron-Nano-9B-v2 is a large language model (LLM) trained from scratch by NVIDIA, and designed as a unified model for both reasoning and non-reasoning tasks. It responds to user queries and...', context_length: 131072, architecture: { modality: 'text->text', @@ -7446,8 +7223,7 @@ export const models: Array = [ hugging_face_id: 'nvidia/NVIDIA-Nemotron-Nano-9B-v2', name: 'NVIDIA: Nemotron Nano 9B V2 (free)', created: 1757106807, - description: - 'NVIDIA-Nemotron-Nano-9B-v2 is a large language model (LLM) trained from scratch by NVIDIA, and designed as a unified model for both reasoning and non-reasoning tasks. It responds to user queries and...', + description: 'NVIDIA-Nemotron-Nano-9B-v2 is a large language model (LLM) trained from scratch by NVIDIA, and designed as a unified model for both reasoning and non-reasoning tasks. It responds to user queries and...', context_length: 128000, architecture: { modality: 'text->text', @@ -7485,8 +7261,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-3.5 Turbo', created: 1685232000, - description: - "GPT-3.5 Turbo is OpenAI's fastest model. It can understand and generate natural language or code, and is optimized for chat and traditional completion tasks.\n\nTraining data up to Sep 2021.", + description: 'GPT-3.5 Turbo is OpenAI\'s fastest model. It can understand and generate natural language or code, and is optimized for chat and traditional completion tasks.\n\nTraining data up to Sep 2021.', context_length: 16385, architecture: { modality: 'text->text', @@ -7528,8 +7303,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-3.5 Turbo (older v0613)', created: 1706140800, - description: - "GPT-3.5 Turbo is OpenAI's fastest model. It can understand and generate natural language or code, and is optimized for chat and traditional completion tasks.\n\nTraining data up to Sep 2021.", + description: 'GPT-3.5 Turbo is OpenAI\'s fastest model. It can understand and generate natural language or code, and is optimized for chat and traditional completion tasks.\n\nTraining data up to Sep 2021.', context_length: 4095, architecture: { modality: 'text->text', @@ -7571,8 +7345,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-3.5 Turbo 16k', created: 1693180800, - description: - 'This model offers four times the context length of gpt-3.5-turbo, allowing it to support approximately 20 pages of text in a single request at a higher cost. Training data: up...', + description: 'This model offers four times the context length of gpt-3.5-turbo, allowing it to support approximately 20 pages of text in a single request at a higher cost. Training data: up...', context_length: 16385, architecture: { modality: 'text->text', @@ -7615,8 +7388,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-3.5 Turbo Instruct', created: 1695859200, - description: - 'This model is a variant of GPT-3.5 Turbo tuned for instructional prompts and omitting chat-related optimizations. Training data: up to Sep 2021.', + description: 'This model is a variant of GPT-3.5 Turbo tuned for instructional prompts and omitting chat-related optimizations. Training data: up to Sep 2021.', context_length: 4095, architecture: { modality: 'text->text', @@ -7656,8 +7428,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-4', created: 1685232000, - description: - "OpenAI's flagship model, GPT-4 is a large-scale multimodal language model capable of solving difficult problems with greater accuracy than previous models due to its broader general knowledge and advanced reasoning...", + description: 'OpenAI\'s flagship model, GPT-4 is a large-scale multimodal language model capable of solving difficult problems with greater accuracy than previous models due to its broader general knowledge and advanced reasoning...', context_length: 8191, architecture: { modality: 'text->text', @@ -7700,8 +7471,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-4 (older v0314)', created: 1685232000, - description: - 'GPT-4-0314 is the first version of GPT-4 released, with a context length of 8,192 tokens, and was supported until June 14. Training data: up to Sep 2021.', + description: 'GPT-4-0314 is the first version of GPT-4 released, with a context length of 8,192 tokens, and was supported until June 14. Training data: up to Sep 2021.', context_length: 8191, architecture: { modality: 'text->text', @@ -7743,8 +7513,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-4 Turbo (older v1106)', created: 1699228800, - description: - 'The latest GPT-4 Turbo model with vision capabilities. Vision requests can now use JSON mode and function calling.\n\nTraining data: up to April 2023.', + description: 'The latest GPT-4 Turbo model with vision capabilities. Vision requests can now use JSON mode and function calling.\n\nTraining data: up to April 2023.', context_length: 128000, architecture: { modality: 'text->text', @@ -7786,8 +7555,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-4 Turbo', created: 1712620800, - description: - 'The latest GPT-4 Turbo model with vision capabilities. Vision requests can now use JSON mode and function calling.\n\nTraining data: up to December 2023.', + description: 'The latest GPT-4 Turbo model with vision capabilities. Vision requests can now use JSON mode and function calling.\n\nTraining data: up to December 2023.', context_length: 128000, architecture: { modality: 'text+image->text', @@ -7829,8 +7597,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-4 Turbo Preview', created: 1706140800, - description: - 'The preview GPT-4 model with improved instruction following, JSON mode, reproducible outputs, parallel function calling, and more. Training data: up to Dec 2023. **Note:** heavily rate limited by OpenAI while...', + description: 'The preview GPT-4 model with improved instruction following, JSON mode, reproducible outputs, parallel function calling, and more. Training data: up to Dec 2023. **Note:** heavily rate limited by OpenAI while...', context_length: 128000, architecture: { modality: 'text->text', @@ -7872,8 +7639,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-4.1', created: 1744651385, - description: - 'GPT-4.1 is a flagship large language model optimized for advanced instruction following, real-world software engineering, and long-context reasoning. It supports a 1 million token context window and outperforms GPT-4o and...', + description: 'GPT-4.1 is a flagship large language model optimized for advanced instruction following, real-world software engineering, and long-context reasoning. It supports a 1 million token context window and outperforms GPT-4o and...', context_length: 1047576, architecture: { modality: 'text+image+file->text', @@ -7885,13 +7651,12 @@ export const models: Array = [ pricing: { prompt: '0.000002', completion: '0.000008', - web_search: '0.01', input_cache_read: '0.0000005', }, top_provider: { context_length: 1047576, - max_completion_tokens: 32768, - is_moderated: true, + max_completion_tokens: null, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -7912,8 +7677,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-4.1 Mini', created: 1744651381, - description: - 'GPT-4.1 Mini is a mid-sized model delivering performance competitive with GPT-4o at substantially lower latency and cost. It retains a 1 million token context window and scores 45.1% on hard...', + description: 'GPT-4.1 Mini is a mid-sized model delivering performance competitive with GPT-4o at substantially lower latency and cost. It retains a 1 million token context window and scores 45.1% on hard...', context_length: 1047576, architecture: { modality: 'text+image+file->text', @@ -7952,8 +7716,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-4.1 Nano', created: 1744651369, - description: - 'For tasks that demand low latency, GPT‑4.1 nano is the fastest and cheapest model in the GPT-4.1 series. It delivers exceptional performance at a small size with its 1 million...', + description: 'For tasks that demand low latency, GPT‑4.1 nano is the fastest and cheapest model in the GPT-4.1 series. It delivers exceptional performance at a small size with its 1 million...', context_length: 1047576, architecture: { modality: 'text+image+file->text', @@ -7992,8 +7755,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-4o', created: 1715558400, - description: - 'GPT-4o ("o" for "omni") is OpenAI\'s latest AI model, supporting both text and image inputs with text outputs. It maintains the intelligence level of [GPT-4 Turbo](/models/openai/gpt-4-turbo) while being twice as...', + description: 'GPT-4o ("o" for "omni") is OpenAI\'s latest AI model, supporting both text and image inputs with text outputs. It maintains the intelligence level of [GPT-4 Turbo](/models/openai/gpt-4-turbo) while being twice as...', context_length: 128000, architecture: { modality: 'text+image+file->text', @@ -8005,12 +7767,11 @@ export const models: Array = [ pricing: { prompt: '0.0000025', completion: '0.00001', - input_cache_read: '0.00000125', }, top_provider: { context_length: 128000, max_completion_tokens: 16384, - is_moderated: true, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -8038,8 +7799,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-4o (2024-05-13)', created: 1715558400, - description: - 'GPT-4o ("o" for "omni") is OpenAI\'s latest AI model, supporting both text and image inputs with text outputs. It maintains the intelligence level of [GPT-4 Turbo](/models/openai/gpt-4-turbo) while being twice as...', + description: 'GPT-4o ("o" for "omni") is OpenAI\'s latest AI model, supporting both text and image inputs with text outputs. It maintains the intelligence level of [GPT-4 Turbo](/models/openai/gpt-4-turbo) while being twice as...', context_length: 128000, architecture: { modality: 'text+image+file->text', @@ -8055,7 +7815,7 @@ export const models: Array = [ top_provider: { context_length: 128000, max_completion_tokens: 4096, - is_moderated: true, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -8083,8 +7843,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-4o (2024-08-06)', created: 1722902400, - description: - 'The 2024-08-06 version of GPT-4o offers improved performance in structured outputs, with the ability to supply a JSON schema in the respone_format. Read more [here](https://openai.com/index/introducing-structured-outputs-in-the-api/). GPT-4o ("o" for "omni") is...', + description: 'The 2024-08-06 version of GPT-4o offers improved performance in structured outputs, with the ability to supply a JSON schema in the respone_format. Read more [here](https://openai.com/index/introducing-structured-outputs-in-the-api/). GPT-4o ("o" for "omni") is...', context_length: 128000, architecture: { modality: 'text+image+file->text', @@ -8129,8 +7888,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-4o (2024-11-20)', created: 1732127594, - description: - 'The 2024-11-20 version of GPT-4o offers a leveled-up creative writing ability with more natural, engaging, and tailored writing to improve relevance & readability. It’s also better at working with uploaded...', + description: 'The 2024-11-20 version of GPT-4o offers a leveled-up creative writing ability with more natural, engaging, and tailored writing to improve relevance & readability. It’s also better at working with uploaded...', context_length: 128000, architecture: { modality: 'text+image+file->text', @@ -8174,8 +7932,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-4o Audio', created: 1755233061, - description: - 'The gpt-4o-audio-preview model adds support for audio inputs as prompts. This enhancement allows the model to detect nuances within audio recordings and add depth to generated user experiences. Audio outputs...', + description: 'The gpt-4o-audio-preview model adds support for audio inputs as prompts. This enhancement allows the model to detect nuances within audio recordings and add depth to generated user experiences. Audio outputs...', context_length: 128000, architecture: { modality: 'text+audio->text+audio', @@ -8218,8 +7975,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-4o-mini', created: 1721260800, - description: - "GPT-4o mini is OpenAI's newest model after [GPT-4 Omni](/models/openai/gpt-4o), supporting both text and image inputs with text outputs. As their most advanced small model, it is many multiples more affordable...", + description: 'GPT-4o mini is OpenAI\'s newest model after [GPT-4 Omni](/models/openai/gpt-4o), supporting both text and image inputs with text outputs. As their most advanced small model, it is many multiples more affordable...', context_length: 128000, architecture: { modality: 'text+image+file->text', @@ -8236,7 +7992,7 @@ export const models: Array = [ top_provider: { context_length: 128000, max_completion_tokens: 16384, - is_moderated: true, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -8264,8 +8020,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-4o-mini (2024-07-18)', created: 1721260800, - description: - "GPT-4o mini is OpenAI's newest model after [GPT-4 Omni](/models/openai/gpt-4o), supporting both text and image inputs with text outputs. As their most advanced small model, it is many multiples more affordable...", + description: 'GPT-4o mini is OpenAI\'s newest model after [GPT-4 Omni](/models/openai/gpt-4o), supporting both text and image inputs with text outputs. As their most advanced small model, it is many multiples more affordable...', context_length: 128000, architecture: { modality: 'text+image+file->text', @@ -8309,8 +8064,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-4o-mini Search Preview', created: 1741818122, - description: - 'GPT-4o mini Search Preview is a specialized model for web search in Chat Completions. It is trained to understand and execute web search queries.', + description: 'GPT-4o mini Search Preview is a specialized model for web search in Chat Completions. It is trained to understand and execute web search queries.', context_length: 128000, architecture: { modality: 'text->text', @@ -8343,8 +8097,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-4o Search Preview', created: 1741817949, - description: - 'GPT-4o Search Previewis a specialized model for web search in Chat Completions. It is trained to understand and execute web search queries.', + description: 'GPT-4o Search Previewis a specialized model for web search in Chat Completions. It is trained to understand and execute web search queries.', context_length: 128000, architecture: { modality: 'text->text', @@ -8377,8 +8130,7 @@ export const models: Array = [ hugging_face_id: null, name: 'OpenAI: GPT-4o (extended)', created: 1715558400, - description: - 'GPT-4o ("o" for "omni") is OpenAI\'s latest AI model, supporting both text and image inputs with text outputs. It maintains the intelligence level of [GPT-4 Turbo](/models/openai/gpt-4-turbo) while being twice as...', + description: 'GPT-4o ("o" for "omni") is OpenAI\'s latest AI model, supporting both text and image inputs with text outputs. It maintains the intelligence level of [GPT-4 Turbo](/models/openai/gpt-4-turbo) while being twice as...', context_length: 128000, architecture: { modality: 'text+image+file->text', @@ -8421,8 +8173,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5', created: 1754587413, - description: - 'GPT-5 is OpenAI’s most advanced model, offering major improvements in reasoning, code quality, and user experience. It is optimized for complex tasks that require step-by-step reasoning, instruction following, and accuracy...', + description: 'GPT-5 is OpenAI’s most advanced model, offering major improvements in reasoning, code quality, and user experience. It is optimized for complex tasks that require step-by-step reasoning, instruction following, and accuracy...', context_length: 400000, architecture: { modality: 'text+image+file->text', @@ -8434,13 +8185,12 @@ export const models: Array = [ pricing: { prompt: '0.00000125', completion: '0.00001', - web_search: '0.01', input_cache_read: '0.000000125', }, top_provider: { context_length: 400000, max_completion_tokens: 128000, - is_moderated: true, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -8461,8 +8211,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5 Chat', created: 1754587837, - description: - 'GPT-5 Chat is designed for advanced, natural, multimodal, and context-aware conversations for enterprise applications.', + description: 'GPT-5 Chat is designed for advanced, natural, multimodal, and context-aware conversations for enterprise applications.', context_length: 128000, architecture: { modality: 'text+image+file->text', @@ -8496,8 +8245,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5 Codex', created: 1758643403, - description: - 'GPT-5-Codex is a specialized version of GPT-5 optimized for software engineering and coding workflows. It is designed for both interactive development sessions and long, independent execution of complex engineering tasks....', + description: 'GPT-5-Codex is a specialized version of GPT-5 optimized for software engineering and coding workflows. It is designed for both interactive development sessions and long, independent execution of complex engineering tasks....', context_length: 400000, architecture: { modality: 'text+image->text', @@ -8534,8 +8282,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5 Image', created: 1760447986, - description: - "[GPT-5](https://openrouter.ai/openai/gpt-5) Image combines OpenAI's GPT-5 model with state-of-the-art image generation capabilities. It offers major improvements in reasoning, code quality, and user experience while incorporating GPT Image 1's superior instruction following,...", + description: '[GPT-5](https://openrouter.ai/openai/gpt-5) Image combines OpenAI\'s GPT-5 model with state-of-the-art image generation capabilities. It offers major improvements in reasoning, code quality, and user experience while incorporating GPT Image 1\'s superior instruction following,...', context_length: 400000, architecture: { modality: 'text+image+file->text+image', @@ -8581,8 +8328,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5 Image Mini', created: 1760624583, - description: - "GPT-5 Image Mini combines OpenAI's advanced language capabilities, powered by [GPT-5 Mini](https://openrouter.ai/openai/gpt-5-mini), with GPT Image 1 Mini for efficient image generation. This natively multimodal model features superior instruction following, text...", + description: 'GPT-5 Image Mini combines OpenAI\'s advanced language capabilities, powered by [GPT-5 Mini](https://openrouter.ai/openai/gpt-5-mini), with GPT Image 1 Mini for efficient image generation. This natively multimodal model features superior instruction following, text...', context_length: 400000, architecture: { modality: 'text+image+file->text+image', @@ -8628,8 +8374,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5 Mini', created: 1754587407, - description: - 'GPT-5 Mini is a compact version of GPT-5, designed to handle lighter-weight reasoning tasks. It provides the same instruction-following and safety-tuning benefits as GPT-5, but with reduced latency and cost....', + description: 'GPT-5 Mini is a compact version of GPT-5, designed to handle lighter-weight reasoning tasks. It provides the same instruction-following and safety-tuning benefits as GPT-5, but with reduced latency and cost....', context_length: 400000, architecture: { modality: 'text+image+file->text', @@ -8668,8 +8413,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5 Nano', created: 1754587402, - description: - 'GPT-5-Nano is the smallest and fastest variant in the GPT-5 system, optimized for developer tools, rapid interactions, and ultra-low latency environments. While limited in reasoning depth compared to its larger...', + description: 'GPT-5-Nano is the smallest and fastest variant in the GPT-5 system, optimized for developer tools, rapid interactions, and ultra-low latency environments. While limited in reasoning depth compared to its larger...', context_length: 400000, architecture: { modality: 'text+image+file->text', @@ -8681,13 +8425,12 @@ export const models: Array = [ pricing: { prompt: '0.00000005', completion: '0.0000004', - web_search: '0.01', - input_cache_read: '0.000000005', + input_cache_read: '0.00000001', }, top_provider: { context_length: 400000, - max_completion_tokens: 128000, - is_moderated: true, + max_completion_tokens: null, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -8708,8 +8451,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5 Pro', created: 1759776663, - description: - 'GPT-5 Pro is OpenAI’s most advanced model, offering major improvements in reasoning, code quality, and user experience. It is optimized for complex tasks that require step-by-step reasoning, instruction following, and...', + description: 'GPT-5 Pro is OpenAI’s most advanced model, offering major improvements in reasoning, code quality, and user experience. It is optimized for complex tasks that require step-by-step reasoning, instruction following, and...', context_length: 400000, architecture: { modality: 'text+image+file->text', @@ -8746,8 +8488,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.1', created: 1763060305, - description: - 'GPT-5.1 is the latest frontier-grade model in the GPT-5 series, offering stronger general-purpose reasoning, improved instruction adherence, and a more natural conversational style compared to GPT-5. It uses adaptive reasoning...', + description: 'GPT-5.1 is the latest frontier-grade model in the GPT-5 series, offering stronger general-purpose reasoning, improved instruction adherence, and a more natural conversational style compared to GPT-5. It uses adaptive reasoning...', context_length: 400000, architecture: { modality: 'text+image+file->text', @@ -8759,13 +8500,12 @@ export const models: Array = [ pricing: { prompt: '0.00000125', completion: '0.00001', - web_search: '0.01', - input_cache_read: '0.000000125', + input_cache_read: '0.00000013', }, top_provider: { context_length: 400000, max_completion_tokens: 128000, - is_moderated: true, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -8786,8 +8526,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.1 Chat', created: 1763060302, - description: - 'GPT-5.1 Chat (AKA Instant is the fast, lightweight member of the 5.1 family, optimized for low-latency chat while retaining strong general intelligence. It uses adaptive reasoning to selectively “think” on...', + description: 'GPT-5.1 Chat (AKA Instant is the fast, lightweight member of the 5.1 family, optimized for low-latency chat while retaining strong general intelligence. It uses adaptive reasoning to selectively “think” on...', context_length: 128000, architecture: { modality: 'text+image+file->text', @@ -8824,8 +8563,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.1-Codex', created: 1763060298, - description: - 'GPT-5.1-Codex is a specialized version of GPT-5.1 optimized for software engineering and coding workflows. It is designed for both interactive development sessions and long, independent execution of complex engineering tasks....', + description: 'GPT-5.1-Codex is a specialized version of GPT-5.1 optimized for software engineering and coding workflows. It is designed for both interactive development sessions and long, independent execution of complex engineering tasks....', context_length: 400000, architecture: { modality: 'text+image->text', @@ -8863,8 +8601,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.1-Codex-Max', created: 1764878934, - description: - 'GPT-5.1-Codex-Max is OpenAI’s latest agentic coding model, designed for long-running, high-context software development tasks. It is based on an updated version of the 5.1 reasoning stack and trained on agentic...', + description: 'GPT-5.1-Codex-Max is OpenAI’s latest agentic coding model, designed for long-running, high-context software development tasks. It is based on an updated version of the 5.1 reasoning stack and trained on agentic...', context_length: 400000, architecture: { modality: 'text+image->text', @@ -8903,8 +8640,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.1-Codex-Mini', created: 1763057820, - description: - 'GPT-5.1-Codex-Mini is a smaller and faster version of GPT-5.1-Codex', + description: 'GPT-5.1-Codex-Mini is a smaller and faster version of GPT-5.1-Codex', context_length: 400000, architecture: { modality: 'text+image->text', @@ -8916,12 +8652,12 @@ export const models: Array = [ pricing: { prompt: '0.00000025', completion: '0.000002', - input_cache_read: '0.000000025', + input_cache_read: '0.00000003', }, top_provider: { context_length: 400000, - max_completion_tokens: 100000, - is_moderated: true, + max_completion_tokens: 128000, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -8942,8 +8678,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.2', created: 1765389775, - description: - 'GPT-5.2 is the latest frontier-grade model in the GPT-5 series, offering stronger agentic and long context perfomance compared to GPT-5.1. It uses adaptive reasoning to allocate computation dynamically, responding quickly...', + description: 'GPT-5.2 is the latest frontier-grade model in the GPT-5 series, offering stronger agentic and long context perfomance compared to GPT-5.1. It uses adaptive reasoning to allocate computation dynamically, responding quickly...', context_length: 400000, architecture: { modality: 'text+image+file->text', @@ -8955,13 +8690,12 @@ export const models: Array = [ pricing: { prompt: '0.00000175', completion: '0.000014', - web_search: '0.01', input_cache_read: '0.000000175', }, top_provider: { context_length: 400000, max_completion_tokens: 128000, - is_moderated: true, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -8982,8 +8716,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.2 Chat', created: 1765389783, - description: - 'GPT-5.2 Chat (AKA Instant) is the fast, lightweight member of the 5.2 family, optimized for low-latency chat while retaining strong general intelligence. It uses adaptive reasoning to selectively “think” on...', + description: 'GPT-5.2 Chat (AKA Instant) is the fast, lightweight member of the 5.2 family, optimized for low-latency chat while retaining strong general intelligence. It uses adaptive reasoning to selectively “think” on...', context_length: 128000, architecture: { modality: 'text+image+file->text', @@ -8995,13 +8728,12 @@ export const models: Array = [ pricing: { prompt: '0.00000175', completion: '0.000014', - web_search: '0.01', input_cache_read: '0.000000175', }, top_provider: { context_length: 128000, - max_completion_tokens: 16384, - is_moderated: true, + max_completion_tokens: 32000, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -9020,8 +8752,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.2-Codex', created: 1768409315, - description: - 'GPT-5.2-Codex is an upgraded version of GPT-5.1-Codex optimized for software engineering and coding workflows. It is designed for both interactive development sessions and long, independent execution of complex engineering tasks....', + description: 'GPT-5.2-Codex is an upgraded version of GPT-5.1-Codex optimized for software engineering and coding workflows. It is designed for both interactive development sessions and long, independent execution of complex engineering tasks....', context_length: 400000, architecture: { modality: 'text+image->text', @@ -9033,13 +8764,12 @@ export const models: Array = [ pricing: { prompt: '0.00000175', completion: '0.000014', - web_search: '0.01', input_cache_read: '0.000000175', }, top_provider: { context_length: 400000, max_completion_tokens: 128000, - is_moderated: true, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -9060,8 +8790,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.2 Pro', created: 1765389780, - description: - 'GPT-5.2 Pro is OpenAI’s most advanced model, offering major improvements in agentic coding and long context performance over GPT-5 Pro. It is optimized for complex tasks that require step-by-step reasoning,...', + description: 'GPT-5.2 Pro is OpenAI’s most advanced model, offering major improvements in agentic coding and long context performance over GPT-5 Pro. It is optimized for complex tasks that require step-by-step reasoning,...', context_length: 400000, architecture: { modality: 'text+image+file->text', @@ -9098,8 +8827,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.3 Chat', created: 1772564061, - description: - "GPT-5.3 Chat is an update to ChatGPT's most-used model that makes everyday conversations smoother, more useful, and more directly helpful. It delivers more accurate answers with better contextualization and significantly...", + description: 'GPT-5.3 Chat is an update to ChatGPT\'s most-used model that makes everyday conversations smoother, more useful, and more directly helpful. It delivers more accurate answers with better contextualization and significantly...', context_length: 128000, architecture: { modality: 'text+image+file->text', @@ -9136,8 +8864,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.3-Codex', created: 1771959164, - description: - 'GPT-5.3-Codex is OpenAI’s most advanced agentic coding model, combining the frontier software engineering performance of GPT-5.2-Codex with the broader reasoning and professional knowledge capabilities of GPT-5.2. It achieves state-of-the-art results...', + description: 'GPT-5.3-Codex is OpenAI’s most advanced agentic coding model, combining the frontier software engineering performance of GPT-5.2-Codex with the broader reasoning and professional knowledge capabilities of GPT-5.2. It achieves state-of-the-art results...', context_length: 400000, architecture: { modality: 'text+image+file->text', @@ -9176,8 +8903,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.4', created: 1772734352, - description: - 'GPT-5.4 is OpenAI’s latest frontier model, unifying the Codex and GPT lines into a single system. It features a 1M+ token context window (922K input, 128K output) with support for...', + description: 'GPT-5.4 is OpenAI’s latest frontier model, unifying the Codex and GPT lines into a single system. It features a 1M+ token context window (922K input, 128K output) with support for...', context_length: 1050000, architecture: { modality: 'text+image+file->text', @@ -9195,7 +8921,7 @@ export const models: Array = [ top_provider: { context_length: 1050000, max_completion_tokens: 128000, - is_moderated: true, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -9216,8 +8942,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.4 Mini', created: 1773748178, - description: - 'GPT-5.4 mini brings the core capabilities of GPT-5.4 to a faster, more efficient model optimized for high-throughput workloads. It supports text and image inputs with strong performance across reasoning, coding,...', + description: 'GPT-5.4 mini brings the core capabilities of GPT-5.4 to a faster, more efficient model optimized for high-throughput workloads. It supports text and image inputs with strong performance across reasoning, coding,...', context_length: 400000, architecture: { modality: 'text+image+file->text', @@ -9235,7 +8960,7 @@ export const models: Array = [ top_provider: { context_length: 400000, max_completion_tokens: 128000, - is_moderated: true, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -9256,8 +8981,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.4 Nano', created: 1773748187, - description: - 'GPT-5.4 nano is the most lightweight and cost-efficient variant of the GPT-5.4 family, optimized for speed-critical and high-volume tasks. It supports text and image inputs and is designed for low-latency...', + description: 'GPT-5.4 nano is the most lightweight and cost-efficient variant of the GPT-5.4 family, optimized for speed-critical and high-volume tasks. It supports text and image inputs and is designed for low-latency...', context_length: 400000, architecture: { modality: 'text+image+file->text', @@ -9275,7 +8999,7 @@ export const models: Array = [ top_provider: { context_length: 400000, max_completion_tokens: 128000, - is_moderated: true, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -9296,8 +9020,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT-5.4 Pro', created: 1772734366, - description: - "GPT-5.4 Pro is OpenAI's most advanced model, building on GPT-5.4's unified architecture with enhanced reasoning capabilities for complex, high-stakes tasks. It features a 1M+ token context window (922K input, 128K...", + description: 'GPT-5.4 Pro is OpenAI\'s most advanced model, building on GPT-5.4\'s unified architecture with enhanced reasoning capabilities for complex, high-stakes tasks. It features a 1M+ token context window (922K input, 128K...', context_length: 1050000, architecture: { modality: 'text+image+file->text', @@ -9314,7 +9037,7 @@ export const models: Array = [ top_provider: { context_length: 1050000, max_completion_tokens: 128000, - is_moderated: true, + is_moderated: false, }, per_request_limits: null, supported_parameters: [ @@ -9335,8 +9058,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT Audio', created: 1768862569, - description: - "The gpt-audio model is OpenAI's first generally available audio model. The new snapshot features an upgraded decoder for more natural sounding voices and maintains better voice consistency. Audio is priced...", + description: 'The gpt-audio model is OpenAI\'s first generally available audio model. The new snapshot features an upgraded decoder for more natural sounding voices and maintains better voice consistency. Audio is priced...', context_length: 128000, architecture: { modality: 'text+audio->text+audio', @@ -9379,8 +9101,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: GPT Audio Mini', created: 1768859419, - description: - 'A cost-efficient version of GPT Audio. The new snapshot features an upgraded decoder for more natural sounding voices and maintains better voice consistency. Input is priced at $0.60 per million...', + description: 'A cost-efficient version of GPT Audio. The new snapshot features an upgraded decoder for more natural sounding voices and maintains better voice consistency. Input is priced at $0.60 per million...', context_length: 128000, architecture: { modality: 'text+audio->text+audio', @@ -9423,8 +9144,7 @@ export const models: Array = [ hugging_face_id: 'openai/gpt-oss-120b', name: 'OpenAI: gpt-oss-120b', created: 1754414231, - description: - 'gpt-oss-120b is an open-weight, 117B-parameter Mixture-of-Experts (MoE) language model from OpenAI designed for high-reasoning, agentic, and general-purpose production use cases. It activates 5.1B parameters per forward pass and is optimized...', + description: 'gpt-oss-120b is an open-weight, 117B-parameter Mixture-of-Experts (MoE) language model from OpenAI designed for high-reasoning, agentic, and general-purpose production use cases. It activates 5.1B parameters per forward pass and is optimized...', context_length: 131072, architecture: { modality: 'text->text', @@ -9472,8 +9192,7 @@ export const models: Array = [ hugging_face_id: 'openai/gpt-oss-120b', name: 'OpenAI: gpt-oss-120b (free)', created: 1754414231, - description: - 'gpt-oss-120b is an open-weight, 117B-parameter Mixture-of-Experts (MoE) language model from OpenAI designed for high-reasoning, agentic, and general-purpose production use cases. It activates 5.1B parameters per forward pass and is optimized...', + description: 'gpt-oss-120b is an open-weight, 117B-parameter Mixture-of-Experts (MoE) language model from OpenAI designed for high-reasoning, agentic, and general-purpose production use cases. It activates 5.1B parameters per forward pass and is optimized...', context_length: 131072, architecture: { modality: 'text->text', @@ -9509,8 +9228,7 @@ export const models: Array = [ hugging_face_id: 'openai/gpt-oss-20b', name: 'OpenAI: gpt-oss-20b', created: 1754414229, - description: - 'gpt-oss-20b is an open-weight 21B parameter model released by OpenAI under the Apache 2.0 license. It uses a Mixture-of-Experts (MoE) architecture with 3.6B active parameters per forward pass, optimized for...', + description: 'gpt-oss-20b is an open-weight 21B parameter model released by OpenAI under the Apache 2.0 license. It uses a Mixture-of-Experts (MoE) architecture with 3.6B active parameters per forward pass, optimized for...', context_length: 131072, architecture: { modality: 'text->text', @@ -9521,12 +9239,11 @@ export const models: Array = [ }, pricing: { prompt: '0.00000003', - completion: '0.00000011', - input_cache_read: '0.000000015', + completion: '0.00000014', }, top_provider: { context_length: 131072, - max_completion_tokens: 131072, + max_completion_tokens: null, is_moderated: false, }, per_request_limits: null, @@ -9559,8 +9276,7 @@ export const models: Array = [ hugging_face_id: 'openai/gpt-oss-20b', name: 'OpenAI: gpt-oss-20b (free)', created: 1754414229, - description: - 'gpt-oss-20b is an open-weight 21B parameter model released by OpenAI under the Apache 2.0 license. It uses a Mixture-of-Experts (MoE) architecture with 3.6B active parameters per forward pass, optimized for...', + description: 'gpt-oss-20b is an open-weight 21B parameter model released by OpenAI under the Apache 2.0 license. It uses a Mixture-of-Experts (MoE) architecture with 3.6B active parameters per forward pass, optimized for...', context_length: 131072, architecture: { modality: 'text->text', @@ -9575,7 +9291,7 @@ export const models: Array = [ }, top_provider: { context_length: 131072, - max_completion_tokens: 131072, + max_completion_tokens: 8192, is_moderated: true, }, per_request_limits: null, @@ -9596,8 +9312,7 @@ export const models: Array = [ hugging_face_id: 'openai/gpt-oss-safeguard-20b', name: 'OpenAI: gpt-oss-safeguard-20b', created: 1761752836, - description: - 'gpt-oss-safeguard-20b is a safety reasoning model from OpenAI built upon gpt-oss-20b. This open-weight, 21B-parameter Mixture-of-Experts (MoE) model offers lower latency for safety tasks like content classification, LLM filtering, and trust...', + description: 'gpt-oss-safeguard-20b is a safety reasoning model from OpenAI built upon gpt-oss-20b. This open-weight, 21B-parameter Mixture-of-Experts (MoE) model offers lower latency for safety tasks like content classification, LLM filtering, and trust...', context_length: 131072, architecture: { modality: 'text->text', @@ -9636,8 +9351,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: o1', created: 1734459999, - description: - 'The latest and strongest model family from OpenAI, o1 is designed to spend more time thinking before responding. The o1 model series is trained with large-scale reinforcement learning to reason...', + description: 'The latest and strongest model family from OpenAI, o1 is designed to spend more time thinking before responding. The o1 model series is trained with large-scale reinforcement learning to reason...', context_length: 200000, architecture: { modality: 'text+image+file->text', @@ -9674,8 +9388,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: o1-pro', created: 1742423211, - description: - 'The o1 series of models are trained with reinforcement learning to think before they answer and perform complex reasoning. The o1-pro model uses more compute to think harder and provide...', + description: 'The o1 series of models are trained with reinforcement learning to think before they answer and perform complex reasoning. The o1-pro model uses more compute to think harder and provide...', context_length: 200000, architecture: { modality: 'text+image+file->text', @@ -9709,8 +9422,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: o3', created: 1744823457, - description: - 'o3 is a well-rounded and powerful model across domains. It sets a new standard for math, science, coding, and visual reasoning tasks. It also excels at technical writing and instruction-following....', + description: 'o3 is a well-rounded and powerful model across domains. It sets a new standard for math, science, coding, and visual reasoning tasks. It also excels at technical writing and instruction-following....', context_length: 200000, architecture: { modality: 'text+image+file->text', @@ -9748,8 +9460,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: o3 Deep Research', created: 1760129661, - description: - "o3-deep-research is OpenAI's advanced model for deep research, designed to tackle complex, multi-step research tasks.\n\nNote: This model always uses the 'web_search' tool which adds additional cost.", + description: 'o3-deep-research is OpenAI\'s advanced model for deep research, designed to tackle complex, multi-step research tasks.\n\nNote: This model always uses the \'web_search\' tool which adds additional cost.', context_length: 200000, architecture: { modality: 'text+image+file->text', @@ -9795,8 +9506,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: o3 Mini', created: 1738351721, - description: - 'OpenAI o3-mini is a cost-efficient language model optimized for STEM reasoning tasks, particularly excelling in science, mathematics, and coding. This model supports the `reasoning_effort` parameter, which can be set to...', + description: 'OpenAI o3-mini is a cost-efficient language model optimized for STEM reasoning tasks, particularly excelling in science, mathematics, and coding. This model supports the `reasoning_effort` parameter, which can be set to...', context_length: 200000, architecture: { modality: 'text+file->text', @@ -9833,8 +9543,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: o3 Mini High', created: 1739372611, - description: - 'OpenAI o3-mini-high is the same model as [o3-mini](/openai/o3-mini) with reasoning_effort set to high. o3-mini is a cost-efficient language model optimized for STEM reasoning tasks, particularly excelling in science, mathematics, and...', + description: 'OpenAI o3-mini-high is the same model as [o3-mini](/openai/o3-mini) with reasoning_effort set to high. o3-mini is a cost-efficient language model optimized for STEM reasoning tasks, particularly excelling in science, mathematics, and...', context_length: 200000, architecture: { modality: 'text+file->text', @@ -9871,8 +9580,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: o3 Pro', created: 1749598352, - description: - 'The o-series of models are trained with reinforcement learning to think before they answer and perform complex reasoning. The o3-pro model uses more compute to think harder and provide consistently...', + description: 'The o-series of models are trained with reinforcement learning to think before they answer and perform complex reasoning. The o3-pro model uses more compute to think harder and provide consistently...', context_length: 200000, architecture: { modality: 'text+image+file->text', @@ -9909,8 +9617,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: o4 Mini', created: 1744820942, - description: - 'OpenAI o4-mini is a compact reasoning model in the o-series, optimized for fast, cost-efficient performance while retaining strong multimodal and agentic capabilities. It supports tool use and demonstrates competitive reasoning...', + description: 'OpenAI o4-mini is a compact reasoning model in the o-series, optimized for fast, cost-efficient performance while retaining strong multimodal and agentic capabilities. It supports tool use and demonstrates competitive reasoning...', context_length: 200000, architecture: { modality: 'text+image+file->text', @@ -9948,8 +9655,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: o4 Mini Deep Research', created: 1760129642, - description: - "o4-mini-deep-research is OpenAI's faster, more affordable deep research model—ideal for tackling complex, multi-step research tasks.\n\nNote: This model always uses the 'web_search' tool which adds additional cost.", + description: 'o4-mini-deep-research is OpenAI\'s faster, more affordable deep research model—ideal for tackling complex, multi-step research tasks.\n\nNote: This model always uses the \'web_search\' tool which adds additional cost.', context_length: 200000, architecture: { modality: 'text+image+file->text', @@ -9995,8 +9701,7 @@ export const models: Array = [ hugging_face_id: '', name: 'OpenAI: o4 Mini High', created: 1744824212, - description: - 'OpenAI o4-mini-high is the same model as [o4-mini](/openai/o4-mini) with reasoning_effort set to high. OpenAI o4-mini is a compact reasoning model in the o-series, optimized for fast, cost-efficient performance while retaining...', + description: 'OpenAI o4-mini-high is the same model as [o4-mini](/openai/o4-mini) with reasoning_effort set to high. OpenAI o4-mini is a compact reasoning model in the o-series, optimized for fast, cost-efficient performance while retaining...', context_length: 200000, architecture: { modality: 'text+image+file->text', @@ -10034,8 +9739,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Auto Router', created: 1699401600, - description: - 'Your prompt will be processed by a meta-model and routed to one of dozens of models (see below), optimizing for the best possible output. To see which model was used,...', + description: 'Your prompt will be processed by a meta-model and routed to one of dozens of models (see below), optimizing for the best possible output. To see which model was used,...', context_length: 2000000, architecture: { modality: 'text+image+file+audio+video->text+image', @@ -10085,8 +9789,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Body Builder (beta)', created: 1764903653, - description: - 'Transform your natural language requests into structured OpenRouter API request objects. Describe what you want to accomplish with AI models, and Body Builder will construct the appropriate API calls. Example:...', + description: 'Transform your natural language requests into structured OpenRouter API request objects. Describe what you want to accomplish with AI models, and Body Builder will construct the appropriate API calls. Example:...', context_length: 128000, architecture: { modality: 'text->text', @@ -10105,7 +9808,43 @@ export const models: Array = [ is_moderated: false, }, per_request_limits: null, - supported_parameters: [], + supported_parameters: [ + ], + }, + { + id: 'openrouter/elephant-alpha', + canonical_slug: 'openrouter/elephant-alpha', + hugging_face_id: null, + name: 'Elephant', + created: 1776052598, + description: 'Elephant Alpha is a 100B-parameter text model focused on intelligence efficiency, delivering strong reasoning performance while minimizing token usage. It supports a 256K context window with up to 32K output...', + context_length: 262144, + architecture: { + modality: 'text->text', + input_modalities: ['text'], + output_modalities: ['text'], + tokenizer: 'Other', + instruct_type: null, + }, + pricing: { + prompt: '0', + completion: '0', + }, + top_provider: { + context_length: 262144, + max_completion_tokens: 32768, + is_moderated: false, + }, + per_request_limits: null, + supported_parameters: [ + 'max_tokens', + 'response_format', + 'structured_outputs', + 'temperature', + 'tool_choice', + 'tools', + 'top_p', + ], }, { id: 'openrouter/free', @@ -10113,8 +9852,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Free Models Router', created: 1769917427, - description: - 'The simplest way to get free inference. openrouter/free is a router that selects free models at random from the models available on OpenRouter. The router smartly filters for models that...', + description: 'The simplest way to get free inference. openrouter/free is a router that selects free models at random from the models available on OpenRouter. The router smartly filters for models that...', context_length: 200000, architecture: { modality: 'text+image->text', @@ -10158,8 +9896,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Perplexity: Sonar', created: 1738013808, - description: - 'Sonar is lightweight, affordable, fast, and simple to use — now featuring citations and the ability to customize sources. It is designed for companies seeking to integrate lightweight question-and-answer features...', + description: 'Sonar is lightweight, affordable, fast, and simple to use — now featuring citations and the ability to customize sources. It is designed for companies seeking to integrate lightweight question-and-answer features...', context_length: 127072, architecture: { modality: 'text+image->text', @@ -10195,8 +9932,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Perplexity: Sonar Deep Research', created: 1741311246, - description: - 'Sonar Deep Research is a research-focused model designed for multi-step retrieval, synthesis, and reasoning across complex topics. It autonomously searches, reads, and evaluates sources, refining its approach as it gathers...', + description: 'Sonar Deep Research is a research-focused model designed for multi-step retrieval, synthesis, and reasoning across complex topics. It autonomously searches, reads, and evaluates sources, refining its approach as it gathers...', context_length: 128000, architecture: { modality: 'text->text', @@ -10235,8 +9971,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Perplexity: Sonar Pro', created: 1741312423, - description: - 'Note: Sonar Pro pricing includes Perplexity search pricing. See [details here](https://docs.perplexity.ai/guides/pricing#detailed-pricing-breakdown-for-sonar-reasoning-pro-and-sonar-pro) For enterprises seeking more advanced capabilities, the Sonar Pro API can handle in-depth, multi-step queries with added extensibility, like...', + description: 'Note: Sonar Pro pricing includes Perplexity search pricing. See [details here](https://docs.perplexity.ai/guides/pricing#detailed-pricing-breakdown-for-sonar-reasoning-pro-and-sonar-pro) For enterprises seeking more advanced capabilities, the Sonar Pro API can handle in-depth, multi-step queries with added extensibility, like...', context_length: 200000, architecture: { modality: 'text+image->text', @@ -10272,8 +10007,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Perplexity: Sonar Pro Search', created: 1761854366, - description: - "Exclusively available on the OpenRouter API, Sonar Pro's new Pro Search mode is Perplexity's most advanced agentic search system. It is designed for deeper reasoning and analysis. Pricing is based...", + description: 'Exclusively available on the OpenRouter API, Sonar Pro\'s new Pro Search mode is Perplexity\'s most advanced agentic search system. It is designed for deeper reasoning and analysis. Pricing is based...', context_length: 200000, architecture: { modality: 'text+image->text', @@ -10312,8 +10046,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Perplexity: Sonar Reasoning Pro', created: 1741313308, - description: - 'Note: Sonar Pro pricing includes Perplexity search pricing. See [details here](https://docs.perplexity.ai/guides/pricing#detailed-pricing-breakdown-for-sonar-reasoning-pro-and-sonar-pro) Sonar Reasoning Pro is a premier reasoning model powered by DeepSeek R1 with Chain of Thought (CoT). Designed for...', + description: 'Note: Sonar Pro pricing includes Perplexity search pricing. See [details here](https://docs.perplexity.ai/guides/pricing#detailed-pricing-breakdown-for-sonar-reasoning-pro-and-sonar-pro) Sonar Reasoning Pro is a premier reasoning model powered by DeepSeek R1 with Chain of Thought (CoT). Designed for...', context_length: 128000, architecture: { modality: 'text+image->text', @@ -10351,8 +10084,7 @@ export const models: Array = [ hugging_face_id: 'PrimeIntellect/INTELLECT-3-FP8', name: 'Prime Intellect: INTELLECT-3', created: 1764212534, - description: - 'INTELLECT-3 is a 106B-parameter Mixture-of-Experts model (12B active) post-trained from GLM-4.5-Air-Base using supervised fine-tuning (SFT) followed by large-scale reinforcement learning (RL). It offers state-of-the-art performance for its size across math,...', + description: 'INTELLECT-3 is a 106B-parameter Mixture-of-Experts model (12B active) post-trained from GLM-4.5-Air-Base using supervised fine-tuning (SFT) followed by large-scale reinforcement learning (RL). It offers state-of-the-art performance for its size across math,...', context_length: 131072, architecture: { modality: 'text->text', @@ -10393,8 +10125,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen2.5-72B-Instruct', name: 'Qwen2.5 72B Instruct', created: 1726704000, - description: - 'Qwen2.5 72B is the latest series of Qwen large language models. Qwen2.5 brings the following improvements upon Qwen2: - Significantly more knowledge and has greatly improved capabilities in coding and...', + description: 'Qwen2.5 72B is the latest series of Qwen large language models. Qwen2.5 brings the following improvements upon Qwen2: - Significantly more knowledge and has greatly improved capabilities in coding and...', context_length: 32768, architecture: { modality: 'text->text', @@ -10435,8 +10166,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen2.5-7B-Instruct', name: 'Qwen: Qwen2.5 7B Instruct', created: 1729036800, - description: - 'Qwen2.5 7B is the latest series of Qwen large language models. Qwen2.5 brings the following improvements upon Qwen2: - Significantly more knowledge and has greatly improved capabilities in coding and...', + description: 'Qwen2.5 7B is the latest series of Qwen large language models. Qwen2.5 brings the following improvements upon Qwen2: - Significantly more knowledge and has greatly improved capabilities in coding and...', context_length: 32768, architecture: { modality: 'text->text', @@ -10478,8 +10208,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen2.5-Coder-32B-Instruct', name: 'Qwen2.5 Coder 32B Instruct', created: 1731368400, - description: - 'Qwen2.5-Coder is the latest series of Code-Specific Qwen large language models (formerly known as CodeQwen). Qwen2.5-Coder brings the following improvements upon CodeQwen1.5: - Significantly improvements in **code generation**, **code reasoning**...', + description: 'Qwen2.5-Coder is the latest series of Code-Specific Qwen large language models (formerly known as CodeQwen). Qwen2.5-Coder brings the following improvements upon CodeQwen1.5: - Significantly improvements in **code generation**, **code reasoning**...', context_length: 32768, architecture: { modality: 'text->text', @@ -10515,8 +10244,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Qwen: Qwen-Max ', created: 1738402289, - description: - "Qwen-Max, based on Qwen2.5, provides the best inference performance among [Qwen models](/qwen), especially for complex multi-step tasks. It's a large-scale MoE model that has been pretrained on over 20 trillion...", + description: 'Qwen-Max, based on Qwen2.5, provides the best inference performance among [Qwen models](/qwen), especially for complex multi-step tasks. It\'s a large-scale MoE model that has been pretrained on over 20 trillion...', context_length: 32768, architecture: { modality: 'text->text', @@ -10553,8 +10281,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Qwen: Qwen-Plus', created: 1738409840, - description: - 'Qwen-Plus, based on the Qwen2.5 foundation model, is a 131K context model with a balanced performance, speed, and cost combination.', + description: 'Qwen-Plus, based on the Qwen2.5 foundation model, is a 131K context model with a balanced performance, speed, and cost combination.', context_length: 1000000, architecture: { modality: 'text->text', @@ -10591,8 +10318,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Qwen: Qwen Plus 0728', created: 1757347599, - description: - 'Qwen Plus 0728, based on the Qwen3 foundation model, is a 1 million context hybrid reasoning model with a balanced performance, speed, and cost combination.', + description: 'Qwen Plus 0728, based on the Qwen3 foundation model, is a 1 million context hybrid reasoning model with a balanced performance, speed, and cost combination.', context_length: 1000000, architecture: { modality: 'text->text', @@ -10629,8 +10355,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Qwen: Qwen Plus 0728 (thinking)', created: 1757347599, - description: - 'Qwen Plus 0728, based on the Qwen3 foundation model, is a 1 million context hybrid reasoning model with a balanced performance, speed, and cost combination.', + description: 'Qwen Plus 0728, based on the Qwen3 foundation model, is a 1 million context hybrid reasoning model with a balanced performance, speed, and cost combination.', context_length: 1000000, architecture: { modality: 'text->text', @@ -10669,8 +10394,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Qwen: Qwen-Turbo', created: 1738410974, - description: - 'Qwen-Turbo, based on Qwen2.5, is a 1M context model that provides fast speed and low cost, suitable for simple tasks.', + description: 'Qwen-Turbo, based on Qwen2.5, is a 1M context model that provides fast speed and low cost, suitable for simple tasks.', context_length: 131072, architecture: { modality: 'text->text', @@ -10707,8 +10431,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Qwen: Qwen VL Max', created: 1738434304, - description: - 'Qwen VL Max is a visual understanding model with 7500 tokens context length. It excels in delivering optimal performance for a broader spectrum of complex tasks.\n', + description: 'Qwen VL Max is a visual understanding model with 7500 tokens context length. It excels in delivering optimal performance for a broader spectrum of complex tasks.\n', context_length: 131072, architecture: { modality: 'text+image->text', @@ -10744,8 +10467,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Qwen: Qwen VL Plus', created: 1738731255, - description: - "Qwen's Enhanced Large Visual Language Model. Significantly upgraded for detailed recognition capabilities and text recognition abilities, supporting ultra-high pixel resolutions up to millions of pixels and extreme aspect ratios for...", + description: 'Qwen\'s Enhanced Large Visual Language Model. Significantly upgraded for detailed recognition capabilities and text recognition abilities, supporting ultra-high pixel resolutions up to millions of pixels and extreme aspect ratios for...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -10780,8 +10502,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen2.5-Coder-7B-Instruct', name: 'Qwen: Qwen2.5 Coder 7B Instruct', created: 1744734887, - description: - 'Qwen2.5-Coder-7B-Instruct is a 7B parameter instruction-tuned language model optimized for code-related tasks such as code generation, reasoning, and bug fixing. Based on the Qwen2.5 architecture, it incorporates enhancements like RoPE,...', + description: 'Qwen2.5-Coder-7B-Instruct is a 7B parameter instruction-tuned language model optimized for code-related tasks such as code generation, reasoning, and bug fixing. Based on the Qwen2.5 architecture, it incorporates enhancements like RoPE,...', context_length: 32768, architecture: { modality: 'text->text', @@ -10818,8 +10539,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen2.5-VL-32B-Instruct', name: 'Qwen: Qwen2.5 VL 32B Instruct', created: 1742839838, - description: - 'Qwen2.5-VL-32B is a multimodal vision-language model fine-tuned through reinforcement learning for enhanced mathematical reasoning, structured outputs, and visual problem-solving capabilities. It excels at visual analysis tasks, including object recognition, textual...', + description: 'Qwen2.5-VL-32B is a multimodal vision-language model fine-tuned through reinforcement learning for enhanced mathematical reasoning, structured outputs, and visual problem-solving capabilities. It excels at visual analysis tasks, including object recognition, textual...', context_length: 128000, architecture: { modality: 'text+image->text', @@ -10858,8 +10578,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen2.5-VL-72B-Instruct', name: 'Qwen: Qwen2.5 VL 72B Instruct', created: 1738410311, - description: - 'Qwen2.5-VL is proficient in recognizing common objects such as flowers, birds, fish, and insects. It is also highly capable of analyzing texts, charts, icons, graphics, and layouts within images.', + description: 'Qwen2.5-VL is proficient in recognizing common objects such as flowers, birds, fish, and insects. It is also highly capable of analyzing texts, charts, icons, graphics, and layouts within images.', context_length: 32768, architecture: { modality: 'text+image->text', @@ -10899,8 +10618,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-14B', name: 'Qwen: Qwen3 14B', created: 1745876478, - description: - 'Qwen3-14B is a dense 14.8B parameter causal language model from the Qwen3 series, designed for both complex reasoning and efficient dialogue. It supports seamless switching between a "thinking" mode for...', + description: 'Qwen3-14B is a dense 14.8B parameter causal language model from the Qwen3 series, designed for both complex reasoning and efficient dialogue. It supports seamless switching between a "thinking" mode for...', context_length: 40960, architecture: { modality: 'text->text', @@ -10946,8 +10664,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-235B-A22B', name: 'Qwen: Qwen3 235B A22B', created: 1745875757, - description: - 'Qwen3-235B-A22B is a 235B parameter mixture-of-experts (MoE) model developed by Qwen, activating 22B parameters per forward pass. It supports seamless switching between a "thinking" mode for complex reasoning, math, and...', + description: 'Qwen3-235B-A22B is a 235B parameter mixture-of-experts (MoE) model developed by Qwen, activating 22B parameters per forward pass. It supports seamless switching between a "thinking" mode for complex reasoning, math, and...', context_length: 131072, architecture: { modality: 'text->text', @@ -10985,8 +10702,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-235B-A22B-Instruct-2507', name: 'Qwen: Qwen3 235B A22B Instruct 2507', created: 1753119555, - description: - 'Qwen3-235B-A22B-Instruct-2507 is a multilingual, instruction-tuned mixture-of-experts language model based on the Qwen3-235B architecture, with 22B active parameters per forward pass. It is optimized for general-purpose text generation, including instruction following,...', + description: 'Qwen3-235B-A22B-Instruct-2507 is a multilingual, instruction-tuned mixture-of-experts language model based on the Qwen3-235B architecture, with 22B active parameters per forward pass. It is optimized for general-purpose text generation, including instruction following,...', context_length: 262144, architecture: { modality: 'text->text', @@ -11034,8 +10750,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-235B-A22B-Thinking-2507', name: 'Qwen: Qwen3 235B A22B Thinking 2507', created: 1753449557, - description: - 'Qwen3-235B-A22B-Thinking-2507 is a high-performance, open-weight Mixture-of-Experts (MoE) language model optimized for complex reasoning tasks. It activates 22B of its 235B parameters per forward pass and natively supports up to 262,144...', + description: 'Qwen3-235B-A22B-Thinking-2507 is a high-performance, open-weight Mixture-of-Experts (MoE) language model optimized for complex reasoning tasks. It activates 22B of its 235B parameters per forward pass and natively supports up to 262,144...', context_length: 131072, architecture: { modality: 'text->text', @@ -11080,8 +10795,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-30B-A3B', name: 'Qwen: Qwen3 30B A3B', created: 1745878604, - description: - 'Qwen3, the latest generation in the Qwen large language model series, features both dense and mixture-of-experts (MoE) architectures to excel in reasoning, multilingual support, and advanced agent tasks. Its unique...', + description: 'Qwen3, the latest generation in the Qwen large language model series, features both dense and mixture-of-experts (MoE) architectures to excel in reasoning, multilingual support, and advanced agent tasks. Its unique...', context_length: 40960, architecture: { modality: 'text->text', @@ -11127,8 +10841,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-30B-A3B-Instruct-2507', name: 'Qwen: Qwen3 30B A3B Instruct 2507', created: 1753806965, - description: - 'Qwen3-30B-A3B-Instruct-2507 is a 30.5B-parameter mixture-of-experts language model from Qwen, with 3.3B active parameters per inference. It operates in non-thinking mode and is designed for high-quality instruction following, multilingual understanding, and...', + description: 'Qwen3-30B-A3B-Instruct-2507 is a 30.5B-parameter mixture-of-experts language model from Qwen, with 3.3B active parameters per inference. It operates in non-thinking mode and is designed for high-quality instruction following, multilingual understanding, and...', context_length: 262144, architecture: { modality: 'text->text', @@ -11171,8 +10884,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-30B-A3B-Thinking-2507', name: 'Qwen: Qwen3 30B A3B Thinking 2507', created: 1756399192, - description: - 'Qwen3-30B-A3B-Thinking-2507 is a 30B parameter Mixture-of-Experts reasoning model optimized for complex tasks requiring extended multi-step thinking. The model is designed specifically for “thinking mode,” where internal reasoning traces are separated...', + description: 'Qwen3-30B-A3B-Thinking-2507 is a 30B parameter Mixture-of-Experts reasoning model optimized for complex tasks requiring extended multi-step thinking. The model is designed specifically for “thinking mode,” where internal reasoning traces are separated...', context_length: 131072, architecture: { modality: 'text->text', @@ -11218,8 +10930,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-32B', name: 'Qwen: Qwen3 32B', created: 1745875945, - description: - 'Qwen3-32B is a dense 32.8B parameter causal language model from the Qwen3 series, optimized for both complex reasoning and efficient dialogue. It supports seamless switching between a "thinking" mode for...', + description: 'Qwen3-32B is a dense 32.8B parameter causal language model from the Qwen3 series, optimized for both complex reasoning and efficient dialogue. It supports seamless switching between a "thinking" mode for...', context_length: 40960, architecture: { modality: 'text->text', @@ -11265,8 +10976,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-8B', name: 'Qwen: Qwen3 8B', created: 1745876632, - description: - 'Qwen3-8B is a dense 8.2B parameter causal language model from the Qwen3 series, designed for both reasoning-heavy tasks and efficient dialogue. It supports seamless switching between "thinking" mode for math,...', + description: 'Qwen3-8B is a dense 8.2B parameter causal language model from the Qwen3 series, designed for both reasoning-heavy tasks and efficient dialogue. It supports seamless switching between "thinking" mode for math,...', context_length: 40960, architecture: { modality: 'text->text', @@ -11312,8 +11022,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-Coder-480B-A35B-Instruct', name: 'Qwen: Qwen3 Coder 480B A35B', created: 1753230546, - description: - 'Qwen3-Coder-480B-A35B-Instruct is a Mixture-of-Experts (MoE) code generation model developed by the Qwen team. It is optimized for agentic coding tasks such as function calling, tool use, and long-context reasoning over...', + description: 'Qwen3-Coder-480B-A35B-Instruct is a Mixture-of-Experts (MoE) code generation model developed by the Qwen team. It is optimized for agentic coding tasks such as function calling, tool use, and long-context reasoning over...', context_length: 262144, architecture: { modality: 'text->text', @@ -11357,8 +11066,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-Coder-30B-A3B-Instruct', name: 'Qwen: Qwen3 Coder 30B A3B Instruct', created: 1753972379, - description: - 'Qwen3-Coder-30B-A3B-Instruct is a 30.5B parameter Mixture-of-Experts (MoE) model with 128 experts (8 active per forward pass), designed for advanced code generation, repository-scale understanding, and agentic tool use. Built on the...', + description: 'Qwen3-Coder-30B-A3B-Instruct is a 30.5B parameter Mixture-of-Experts (MoE) model with 128 experts (8 active per forward pass), designed for advanced code generation, repository-scale understanding, and agentic tool use. Built on the...', context_length: 160000, architecture: { modality: 'text->text', @@ -11399,8 +11107,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Qwen: Qwen3 Coder Flash', created: 1758115536, - description: - "Qwen3 Coder Flash is Alibaba's fast and cost efficient version of their proprietary Qwen3 Coder Plus. It is a powerful coding agent model specializing in autonomous programming via tool calling...", + description: 'Qwen3 Coder Flash is Alibaba\'s fast and cost efficient version of their proprietary Qwen3 Coder Plus. It is a powerful coding agent model specializing in autonomous programming via tool calling...', context_length: 1000000, architecture: { modality: 'text->text', @@ -11437,8 +11144,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-Coder-Next', name: 'Qwen: Qwen3 Coder Next', created: 1770164101, - description: - 'Qwen3-Coder-Next is an open-weight causal language model optimized for coding agents and local development workflows. It uses a sparse MoE design with 80B total parameters and only 3B activated per...', + description: 'Qwen3-Coder-Next is an open-weight causal language model optimized for coding agents and local development workflows. It uses a sparse MoE design with 80B total parameters and only 3B activated per...', context_length: 262144, architecture: { modality: 'text->text', @@ -11448,13 +11154,13 @@ export const models: Array = [ instruct_type: null, }, pricing: { - prompt: '0.00000012', - completion: '0.00000075', - input_cache_read: '0.00000006', + prompt: '0.00000015', + completion: '0.0000008', + input_cache_read: '0.00000012', }, top_provider: { context_length: 262144, - max_completion_tokens: 65536, + max_completion_tokens: 262144, is_moderated: false, }, per_request_limits: null, @@ -11482,8 +11188,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Qwen: Qwen3 Coder Plus', created: 1758662707, - description: - "Qwen3 Coder Plus is Alibaba's proprietary version of the Open Source Qwen3 Coder 480B A35B. It is a powerful coding agent model specializing in autonomous programming via tool calling and...", + description: 'Qwen3 Coder Plus is Alibaba\'s proprietary version of the Open Source Qwen3 Coder 480B A35B. It is a powerful coding agent model specializing in autonomous programming via tool calling and...', context_length: 1000000, architecture: { modality: 'text->text', @@ -11521,8 +11226,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-Coder-480B-A35B-Instruct', name: 'Qwen: Qwen3 Coder 480B A35B (free)', created: 1753230546, - description: - 'Qwen3-Coder-480B-A35B-Instruct is a Mixture-of-Experts (MoE) code generation model developed by the Qwen team. It is optimized for agentic coding tasks such as function calling, tool use, and long-context reasoning over...', + description: 'Qwen3-Coder-480B-A35B-Instruct is a Mixture-of-Experts (MoE) code generation model developed by the Qwen team. It is optimized for agentic coding tasks such as function calling, tool use, and long-context reasoning over...', context_length: 262000, architecture: { modality: 'text->text', @@ -11559,8 +11263,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Qwen: Qwen3 Max', created: 1758662808, - description: - 'Qwen3-Max is an updated release built on the Qwen3 series, offering major improvements in reasoning, instruction following, multilingual support, and long-tail knowledge coverage compared to the January 2025 version. It...', + description: 'Qwen3-Max is an updated release built on the Qwen3 series, offering major improvements in reasoning, instruction following, multilingual support, and long-tail knowledge coverage compared to the January 2025 version. It...', context_length: 262144, architecture: { modality: 'text->text', @@ -11597,8 +11300,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Qwen: Qwen3 Max Thinking', created: 1770671901, - description: - 'Qwen3-Max-Thinking is the flagship reasoning model in the Qwen3 series, designed for high-stakes cognitive tasks that require deep, multi-step reasoning. By significantly scaling model capacity and reinforcement learning compute, it...', + description: 'Qwen3-Max-Thinking is the flagship reasoning model in the Qwen3 series, designed for high-stakes cognitive tasks that require deep, multi-step reasoning. By significantly scaling model capacity and reinforcement learning compute, it...', context_length: 262144, architecture: { modality: 'text->text', @@ -11637,8 +11339,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-Next-80B-A3B-Instruct', name: 'Qwen: Qwen3 Next 80B A3B Instruct', created: 1757612213, - description: - 'Qwen3-Next-80B-A3B-Instruct is an instruction-tuned chat model in the Qwen3-Next series optimized for fast, stable responses without “thinking” traces. It targets complex tasks across reasoning, code generation, knowledge QA, and multilingual...', + description: 'Qwen3-Next-80B-A3B-Instruct is an instruction-tuned chat model in the Qwen3-Next series optimized for fast, stable responses without “thinking” traces. It targets complex tasks across reasoning, code generation, knowledge QA, and multilingual...', context_length: 262144, architecture: { modality: 'text->text', @@ -11681,8 +11382,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-Next-80B-A3B-Instruct', name: 'Qwen: Qwen3 Next 80B A3B Instruct (free)', created: 1757612213, - description: - 'Qwen3-Next-80B-A3B-Instruct is an instruction-tuned chat model in the Qwen3-Next series optimized for fast, stable responses without “thinking” traces. It targets complex tasks across reasoning, code generation, knowledge QA, and multilingual...', + description: 'Qwen3-Next-80B-A3B-Instruct is an instruction-tuned chat model in the Qwen3-Next series optimized for fast, stable responses without “thinking” traces. It targets complex tasks across reasoning, code generation, knowledge QA, and multilingual...', context_length: 262144, architecture: { modality: 'text->text', @@ -11721,8 +11421,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-Next-80B-A3B-Thinking', name: 'Qwen: Qwen3 Next 80B A3B Thinking', created: 1757612284, - description: - 'Qwen3-Next-80B-A3B-Thinking is a reasoning-first chat model in the Qwen3-Next line that outputs structured “thinking” traces by default. It’s designed for hard multi-step problems; math proofs, code synthesis/debugging, logic, and agentic...', + description: 'Qwen3-Next-80B-A3B-Thinking is a reasoning-first chat model in the Qwen3-Next line that outputs structured “thinking” traces by default. It’s designed for hard multi-step problems; math proofs, code synthesis/debugging, logic, and agentic...', context_length: 131072, architecture: { modality: 'text->text', @@ -11767,8 +11466,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-VL-235B-A22B-Instruct', name: 'Qwen: Qwen3 VL 235B A22B Instruct', created: 1758668687, - description: - 'Qwen3-VL-235B-A22B Instruct is an open-weight multimodal model that unifies strong text generation with visual understanding across images and video. The Instruct model targets general vision-language use (VQA, document parsing, chart/table...', + description: 'Qwen3-VL-235B-A22B Instruct is an open-weight multimodal model that unifies strong text generation with visual understanding across images and video. The Instruct model targets general vision-language use (VQA, document parsing, chart/table...', context_length: 262144, architecture: { modality: 'text+image->text', @@ -11812,8 +11510,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-VL-235B-A22B-Thinking', name: 'Qwen: Qwen3 VL 235B A22B Thinking', created: 1758668690, - description: - 'Qwen3-VL-235B-A22B Thinking is a multimodal model that unifies strong text generation with visual understanding across images and video. The Thinking model is optimized for multimodal reasoning in STEM and math....', + description: 'Qwen3-VL-235B-A22B Thinking is a multimodal model that unifies strong text generation with visual understanding across images and video. The Thinking model is optimized for multimodal reasoning in STEM and math....', context_length: 131072, architecture: { modality: 'text+image->text', @@ -11856,8 +11553,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-VL-30B-A3B-Instruct', name: 'Qwen: Qwen3 VL 30B A3B Instruct', created: 1759794476, - description: - 'Qwen3-VL-30B-A3B-Instruct is a multimodal model that unifies strong text generation with visual understanding for images and videos. Its Instruct variant optimizes instruction-following for general multimodal tasks. It excels in perception...', + description: 'Qwen3-VL-30B-A3B-Instruct is a multimodal model that unifies strong text generation with visual understanding for images and videos. Its Instruct variant optimizes instruction-following for general multimodal tasks. It excels in perception...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -11900,8 +11596,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-VL-30B-A3B-Thinking', name: 'Qwen: Qwen3 VL 30B A3B Thinking', created: 1759794479, - description: - 'Qwen3-VL-30B-A3B-Thinking is a multimodal model that unifies strong text generation with visual understanding for images and videos. Its Thinking variant enhances reasoning in STEM, math, and complex tasks. It excels...', + description: 'Qwen3-VL-30B-A3B-Thinking is a multimodal model that unifies strong text generation with visual understanding for images and videos. Its Thinking variant enhances reasoning in STEM, math, and complex tasks. It excels...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -11944,8 +11639,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-VL-32B-Instruct', name: 'Qwen: Qwen3 VL 32B Instruct', created: 1761231332, - description: - 'Qwen3-VL-32B-Instruct is a large-scale multimodal vision-language model designed for high-precision understanding and reasoning across text, images, and video. With 32 billion parameters, it combines deep visual perception with advanced text...', + description: 'Qwen3-VL-32B-Instruct is a large-scale multimodal vision-language model designed for high-precision understanding and reasoning across text, images, and video. With 32 billion parameters, it combines deep visual perception with advanced text...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -11981,8 +11675,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-VL-8B-Instruct', name: 'Qwen: Qwen3 VL 8B Instruct', created: 1760463308, - description: - 'Qwen3-VL-8B-Instruct is a multimodal vision-language model from the Qwen3-VL series, built for high-fidelity understanding and reasoning across text, images, and video. It features improved multimodal fusion with Interleaved-MRoPE for long-horizon...', + description: 'Qwen3-VL-8B-Instruct is a multimodal vision-language model from the Qwen3-VL series, built for high-fidelity understanding and reasoning across text, images, and video. It features improved multimodal fusion with Interleaved-MRoPE for long-horizon...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -12025,8 +11718,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3-VL-8B-Thinking', name: 'Qwen: Qwen3 VL 8B Thinking', created: 1760463746, - description: - 'Qwen3-VL-8B-Thinking is the reasoning-optimized variant of the Qwen3-VL-8B multimodal model, designed for advanced visual and textual reasoning across complex scenes, documents, and temporal sequences. It integrates enhanced multimodal alignment and...', + description: 'Qwen3-VL-8B-Thinking is the reasoning-optimized variant of the Qwen3-VL-8B multimodal model, designed for advanced visual and textual reasoning across complex scenes, documents, and temporal sequences. It integrates enhanced multimodal alignment and...', context_length: 131072, architecture: { modality: 'text+image->text', @@ -12065,8 +11757,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3.5-122B-A10B', name: 'Qwen: Qwen3.5-122B-A10B', created: 1772053789, - description: - 'The Qwen3.5 122B-A10B native vision-language model is built on a hybrid architecture that integrates a linear attention mechanism with a sparse mixture-of-experts model, achieving higher inference efficiency. In terms of...', + description: 'The Qwen3.5 122B-A10B native vision-language model is built on a hybrid architecture that integrates a linear attention mechanism with a sparse mixture-of-experts model, achieving higher inference efficiency. In terms of...', context_length: 262144, architecture: { modality: 'text+image+video->text', @@ -12113,8 +11804,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3.5-27B', name: 'Qwen: Qwen3.5-27B', created: 1772053810, - description: - 'The Qwen3.5 27B native vision-language Dense model incorporates a linear attention mechanism, delivering fast response times while balancing inference speed and performance. Its overall capabilities are comparable to those of...', + description: 'The Qwen3.5 27B native vision-language Dense model incorporates a linear attention mechanism, delivering fast response times while balancing inference speed and performance. Its overall capabilities are comparable to those of...', context_length: 262144, architecture: { modality: 'text+image+video->text', @@ -12161,8 +11851,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3.5-35B-A3B', name: 'Qwen: Qwen3.5-35B-A3B', created: 1772053822, - description: - 'The Qwen3.5 Series 35B-A3B is a native vision-language model designed with a hybrid architecture that integrates linear attention mechanisms and a sparse mixture-of-experts model, achieving higher inference efficiency. Its overall...', + description: 'The Qwen3.5 Series 35B-A3B is a native vision-language model designed with a hybrid architecture that integrates linear attention mechanisms and a sparse mixture-of-experts model, achieving higher inference efficiency. Its overall...', context_length: 262144, architecture: { modality: 'text+image+video->text', @@ -12209,8 +11898,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3.5-397B-A17B', name: 'Qwen: Qwen3.5 397B A17B', created: 1771223018, - description: - 'The Qwen3.5 series 397B-A17B native vision-language model is built on a hybrid architecture that integrates a linear attention mechanism with a sparse mixture-of-experts model, achieving higher inference efficiency. It delivers...', + description: 'The Qwen3.5 series 397B-A17B native vision-language model is built on a hybrid architecture that integrates a linear attention mechanism with a sparse mixture-of-experts model, achieving higher inference efficiency. It delivers...', context_length: 262144, architecture: { modality: 'text+image+video->text', @@ -12255,8 +11943,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/Qwen3.5-9B', name: 'Qwen: Qwen3.5-9B', created: 1773152396, - description: - 'Qwen3.5-9B is a multimodal foundation model from the Qwen3.5 family, designed to deliver strong reasoning, coding, and visual understanding in an efficient 9B-parameter architecture. It uses a unified vision-language design...', + description: 'Qwen3.5-9B is a multimodal foundation model from the Qwen3.5 family, designed to deliver strong reasoning, coding, and visual understanding in an efficient 9B-parameter architecture. It uses a unified vision-language design...', context_length: 256000, architecture: { modality: 'text+image+video->text', @@ -12302,8 +11989,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Qwen: Qwen3.5-Flash', created: 1772053776, - description: - 'The Qwen3.5 native vision-language Flash models are built on a hybrid architecture that integrates a linear attention mechanism with a sparse mixture-of-experts model, achieving higher inference efficiency. Compared to the...', + description: 'The Qwen3.5 native vision-language Flash models are built on a hybrid architecture that integrates a linear attention mechanism with a sparse mixture-of-experts model, achieving higher inference efficiency. Compared to the...', context_length: 1000000, architecture: { modality: 'text+image+video->text', @@ -12342,8 +12028,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Qwen: Qwen3.5 Plus 2026-02-15', created: 1771229416, - description: - 'The Qwen3.5 native vision-language series Plus models are built on a hybrid architecture that integrates linear attention mechanisms with sparse mixture-of-experts models, achieving higher inference efficiency. In a variety of...', + description: 'The Qwen3.5 native vision-language series Plus models are built on a hybrid architecture that integrates linear attention mechanisms with sparse mixture-of-experts models, achieving higher inference efficiency. In a variety of...', context_length: 1000000, architecture: { modality: 'text+image+video->text', @@ -12382,8 +12067,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Qwen: Qwen3.6 Plus', created: 1775133557, - description: - 'Qwen 3.6 Plus builds on a hybrid architecture that combines efficient linear attention with sparse mixture-of-experts routing, enabling strong scalability and high-performance inference. Compared to the 3.5 series, it delivers...', + description: 'Qwen 3.6 Plus builds on a hybrid architecture that combines efficient linear attention with sparse mixture-of-experts routing, enabling strong scalability and high-performance inference. Compared to the 3.5 series, it delivers...', context_length: 1000000, architecture: { modality: 'text+image+video->text', @@ -12422,8 +12106,7 @@ export const models: Array = [ hugging_face_id: 'Qwen/QwQ-32B', name: 'Qwen: QwQ 32B', created: 1741208814, - description: - 'QwQ is the reasoning model of the Qwen series. Compared with conventional instruction-tuned models, QwQ, which is capable of thinking and reasoning, can achieve significantly enhanced performance in downstream tasks,...', + description: 'QwQ is the reasoning model of the Qwen series. Compared with conventional instruction-tuned models, QwQ, which is capable of thinking and reasoning, can achieve significantly enhanced performance in downstream tasks,...', context_length: 131072, architecture: { modality: 'text->text', @@ -12459,8 +12142,7 @@ export const models: Array = [ hugging_face_id: 'RekaAI/reka-edge-2603', name: 'Reka Edge', created: 1774026965, - description: - 'Reka Edge is an extremely efficient 7B multimodal vision-language model that accepts image/video+text inputs and generates text outputs. This model is optimized specifically to deliver industry-leading performance in image understanding,...', + description: 'Reka Edge is an extremely efficient 7B multimodal vision-language model that accepts image/video+text inputs and generates text outputs. This model is optimized specifically to deliver industry-leading performance in image understanding,...', context_length: 16384, architecture: { modality: 'text+image+video->text', @@ -12499,8 +12181,7 @@ export const models: Array = [ hugging_face_id: 'RekaAI/reka-flash-3', name: 'Reka Flash 3', created: 1741812813, - description: - 'Reka Flash 3 is a general-purpose, instruction-tuned large language model with 21 billion parameters, developed by Reka. It excels at general chat, coding tasks, instruction-following, and function calling. Featuring a...', + description: 'Reka Flash 3 is a general-purpose, instruction-tuned large language model with 21 billion parameters, developed by Reka. It excels at general chat, coding tasks, instruction-following, and function calling. Featuring a...', context_length: 65536, architecture: { modality: 'text->text', @@ -12538,8 +12219,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Relace: Relace Apply 3', created: 1758891572, - description: - 'Relace Apply 3 is a specialized code-patching LLM that merges AI-suggested edits straight into your source files. It can apply updates from GPT-4o, Claude, and others into your files at...', + description: 'Relace Apply 3 is a specialized code-patching LLM that merges AI-suggested edits straight into your source files. It can apply updates from GPT-4o, Claude, and others into your files at...', context_length: 256000, architecture: { modality: 'text->text', @@ -12558,7 +12238,11 @@ export const models: Array = [ is_moderated: false, }, per_request_limits: null, - supported_parameters: ['max_tokens', 'seed', 'stop'], + supported_parameters: [ + 'max_tokens', + 'seed', + 'stop', + ], }, { id: 'relace/relace-search', @@ -12566,8 +12250,7 @@ export const models: Array = [ hugging_face_id: null, name: 'Relace: Relace Search', created: 1765213560, - description: - 'The relace-search model uses 4-12 `view_file` and `grep` tools in parallel to explore a codebase and return relevant files to the user request. In contrast to RAG, relace-search performs agentic...', + description: 'The relace-search model uses 4-12 `view_file` and `grep` tools in parallel to explore a codebase and return relevant files to the user request. In contrast to RAG, relace-search performs agentic...', context_length: 256000, architecture: { modality: 'text->text', @@ -12602,8 +12285,7 @@ export const models: Array = [ hugging_face_id: 'Sao10K/L3-70B-Euryale-v2.1', name: 'Sao10k: Llama 3 Euryale 70B v2.1', created: 1718668800, - description: - 'Euryale 70B v2.1 is a model focused on creative roleplay from [Sao10k](https://ko-fi.com/sao10k). - Better prompt adherence. - Better anatomy / spatial awareness. - Adapts much better to unique and custom...', + description: 'Euryale 70B v2.1 is a model focused on creative roleplay from [Sao10k](https://ko-fi.com/sao10k). - Better prompt adherence. - Better anatomy / spatial awareness. - Adapts much better to unique and custom...', context_length: 8192, architecture: { modality: 'text->text', @@ -12642,8 +12324,7 @@ export const models: Array = [ hugging_face_id: 'Sao10K/L3-8B-Lunaris-v1', name: 'Sao10K: Llama 3 8B Lunaris', created: 1723507200, - description: - "Lunaris 8B is a versatile generalist and roleplaying model based on Llama 3. It's a strategic merge of multiple models, designed to balance creativity with improved logic and general knowledge....", + description: 'Lunaris 8B is a versatile generalist and roleplaying model based on Llama 3. It\'s a strategic merge of multiple models, designed to balance creativity with improved logic and general knowledge....', context_length: 8192, architecture: { modality: 'text->text', @@ -12683,8 +12364,7 @@ export const models: Array = [ hugging_face_id: 'Sao10K/L3.1-70B-Hanami-x1', name: 'Sao10K: Llama 3.1 70B Hanami x1', created: 1736302854, - description: - "This is [Sao10K](/sao10k)'s experiment over [Euryale v2.2](/sao10k/l3.1-euryale-70b).", + description: 'This is [Sao10K](/sao10k)\'s experiment over [Euryale v2.2](/sao10k/l3.1-euryale-70b).', context_length: 16000, architecture: { modality: 'text->text', @@ -12723,8 +12403,7 @@ export const models: Array = [ hugging_face_id: 'Sao10K/L3.1-70B-Euryale-v2.2', name: 'Sao10K: Llama 3.1 Euryale 70B v2.2', created: 1724803200, - description: - 'Euryale L3.1 70B v2.2 is a model focused on creative roleplay from [Sao10k](https://ko-fi.com/sao10k). It is the successor of [Euryale L3 70B v2.1](/models/sao10k/l3-euryale-70b).', + description: 'Euryale L3.1 70B v2.2 is a model focused on creative roleplay from [Sao10k](https://ko-fi.com/sao10k). It is the successor of [Euryale L3 70B v2.1](/models/sao10k/l3-euryale-70b).', context_length: 131072, architecture: { modality: 'text->text', @@ -12765,8 +12444,7 @@ export const models: Array = [ hugging_face_id: 'Sao10K/L3.3-70B-Euryale-v2.3', name: 'Sao10K: Llama 3.3 Euryale 70B', created: 1734535928, - description: - 'Euryale L3.3 70B is a model focused on creative roleplay from [Sao10k](https://ko-fi.com/sao10k). It is the successor of [Euryale L3 70B v2.2](/models/sao10k/l3-euryale-70b).', + description: 'Euryale L3.3 70B is a model focused on creative roleplay from [Sao10k](https://ko-fi.com/sao10k). It is the successor of [Euryale L3 70B v2.2](/models/sao10k/l3-euryale-70b).', context_length: 131072, architecture: { modality: 'text->text', @@ -12808,8 +12486,7 @@ export const models: Array = [ hugging_face_id: 'stepfun-ai/Step-3.5-Flash', name: 'StepFun: Step 3.5 Flash', created: 1769728337, - description: - "Step 3.5 Flash is StepFun's most capable open-source foundation model. Built on a sparse Mixture of Experts (MoE) architecture, it selectively activates only 11B of its 196B parameters per token....", + description: 'Step 3.5 Flash is StepFun\'s most capable open-source foundation model. Built on a sparse Mixture of Experts (MoE) architecture, it selectively activates only 11B of its 196B parameters per token....', context_length: 262144, architecture: { modality: 'text->text', @@ -12835,6 +12512,7 @@ export const models: Array = [ 'min_p', 'presence_penalty', 'reasoning', + 'reasoning_effort', 'repetition_penalty', 'response_format', 'seed', @@ -12852,8 +12530,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Switchpoint Router', created: 1752272899, - description: - "Switchpoint AI's router instantly analyzes your request and directs it to the optimal AI from an ever-evolving library. As the world of LLMs advances, our router gets smarter, ensuring you...", + description: 'Switchpoint AI\'s router instantly analyzes your request and directs it to the optimal AI from an ever-evolving library. As the world of LLMs advances, our router gets smarter, ensuring you...', context_length: 131072, architecture: { modality: 'text->text', @@ -12889,8 +12566,7 @@ export const models: Array = [ hugging_face_id: 'tencent/Hunyuan-A13B-Instruct', name: 'Tencent: Hunyuan A13B Instruct', created: 1751987664, - description: - 'Hunyuan-A13B is a 13B active parameter Mixture-of-Experts (MoE) language model developed by Tencent, with a total parameter count of 80B and support for reasoning via Chain-of-Thought. It offers competitive benchmark...', + description: 'Hunyuan-A13B is a 13B active parameter Mixture-of-Experts (MoE) language model developed by Tencent, with a total parameter count of 80B and support for reasoning via Chain-of-Thought. It offers competitive benchmark...', context_length: 131072, architecture: { modality: 'text->text', @@ -12926,8 +12602,7 @@ export const models: Array = [ hugging_face_id: 'thedrummer/cydonia-24b-v4.1', name: 'TheDrummer: Cydonia 24B V4.1', created: 1758931878, - description: - 'Uncensored and creative writing model based on Mistral Small 3.2 24B with good recall, prompt adherence, and intelligence.', + description: 'Uncensored and creative writing model based on Mistral Small 3.2 24B with good recall, prompt adherence, and intelligence.', context_length: 131072, architecture: { modality: 'text->text', @@ -12939,6 +12614,7 @@ export const models: Array = [ pricing: { prompt: '0.0000003', completion: '0.0000005', + input_cache_read: '0.00000015', }, top_provider: { context_length: 131072, @@ -12965,8 +12641,7 @@ export const models: Array = [ hugging_face_id: 'TheDrummer/Rocinante-12B-v1.1', name: 'TheDrummer: Rocinante 12B', created: 1727654400, - description: - 'Rocinante 12B is designed for engaging storytelling and rich prose. Early testers have reported: - Expanded vocabulary with unique and expressive word choices - Enhanced creativity for vivid narratives -...', + description: 'Rocinante 12B is designed for engaging storytelling and rich prose. Early testers have reported: - Expanded vocabulary with unique and expressive word choices - Enhanced creativity for vivid narratives -...', context_length: 32768, architecture: { modality: 'text->text', @@ -13011,8 +12686,7 @@ export const models: Array = [ hugging_face_id: 'TheDrummer/Skyfall-36B-v2', name: 'TheDrummer: Skyfall 36B V2', created: 1741636566, - description: - 'Skyfall 36B v2 is an enhanced iteration of Mistral Small 2501, specifically fine-tuned for improved creativity, nuanced writing, role-playing, and coherent storytelling.', + description: 'Skyfall 36B v2 is an enhanced iteration of Mistral Small 2501, specifically fine-tuned for improved creativity, nuanced writing, role-playing, and coherent storytelling.', context_length: 32768, architecture: { modality: 'text->text', @@ -13024,6 +12698,7 @@ export const models: Array = [ pricing: { prompt: '0.00000055', completion: '0.0000008', + input_cache_read: '0.00000025', }, top_provider: { context_length: 32768, @@ -13050,8 +12725,7 @@ export const models: Array = [ hugging_face_id: 'TheDrummer/UnslopNemo-12B-v4.1', name: 'TheDrummer: UnslopNemo 12B', created: 1731103448, - description: - 'UnslopNemo v4.1 is the latest addition from the creator of Rocinante, designed for adventure writing and role-play scenarios.', + description: 'UnslopNemo v4.1 is the latest addition from the creator of Rocinante, designed for adventure writing and role-play scenarios.', context_length: 32768, architecture: { modality: 'text->text', @@ -13093,8 +12767,7 @@ export const models: Array = [ hugging_face_id: 'tngtech/DeepSeek-TNG-R1T2-Chimera', name: 'TNG: DeepSeek R1T2 Chimera', created: 1751986985, - description: - 'DeepSeek-TNG-R1T2-Chimera is the second-generation Chimera model from TNG Tech. It is a 671 B-parameter mixture-of-experts text-generation model assembled from DeepSeek-AI’s R1-0528, R1, and V3-0324 checkpoints with an Assembly-of-Experts merge. The...', + description: 'DeepSeek-TNG-R1T2-Chimera is the second-generation Chimera model from TNG Tech. It is a 671 B-parameter mixture-of-experts text-generation model assembled from DeepSeek-AI’s R1-0528, R1, and V3-0324 checkpoints with an Assembly-of-Experts merge. The...', context_length: 163840, architecture: { modality: 'text->text', @@ -13138,8 +12811,7 @@ export const models: Array = [ hugging_face_id: 'Undi95/ReMM-SLERP-L2-13B', name: 'ReMM SLERP 13B', created: 1689984000, - description: - 'A recreation trial of the original MythoMax-L2-B13 but with updated models. #merge', + description: 'A recreation trial of the original MythoMax-L2-B13 but with updated models. #merge', context_length: 6144, architecture: { modality: 'text->text', @@ -13183,8 +12855,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Upstage: Solar Pro 3', created: 1769481200, - description: - "Solar Pro 3 is Upstage's powerful Mixture-of-Experts (MoE) language model. With 102B total parameters and 12B active parameters per forward pass, it delivers exceptional performance while maintaining computational efficiency. Optimized...", + description: 'Solar Pro 3 is Upstage\'s powerful Mixture-of-Experts (MoE) language model. With 102B total parameters and 12B active parameters per forward pass, it delivers exceptional performance while maintaining computational efficiency. Optimized...', context_length: 128000, architecture: { modality: 'text->text', @@ -13221,8 +12892,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Writer: Palmyra X5', created: 1769003823, - description: - "Palmyra X5 is Writer's most advanced model, purpose-built for building and scaling AI agents across the enterprise. It delivers industry-leading speed and efficiency on context windows up to 1 million...", + description: 'Palmyra X5 is Writer\'s most advanced model, purpose-built for building and scaling AI agents across the enterprise. It delivers industry-leading speed and efficiency on context windows up to 1 million...', context_length: 1040000, architecture: { modality: 'text->text', @@ -13255,8 +12925,7 @@ export const models: Array = [ hugging_face_id: '', name: 'xAI: Grok 3', created: 1749582908, - description: - "Grok 3 is the latest model from xAI. It's their flagship model that excels at enterprise use cases like data extraction, coding, and text summarization. Possesses deep domain knowledge in...", + description: 'Grok 3 is the latest model from xAI. It\'s their flagship model that excels at enterprise use cases like data extraction, coding, and text summarization. Possesses deep domain knowledge in...', context_length: 131072, architecture: { modality: 'text->text', @@ -13299,8 +12968,7 @@ export const models: Array = [ hugging_face_id: '', name: 'xAI: Grok 3 Beta', created: 1744240068, - description: - "Grok 3 is the latest model from xAI. It's their flagship model that excels at enterprise use cases like data extraction, coding, and text summarization. Possesses deep domain knowledge in...", + description: 'Grok 3 is the latest model from xAI. It\'s their flagship model that excels at enterprise use cases like data extraction, coding, and text summarization. Possesses deep domain knowledge in...', context_length: 131072, architecture: { modality: 'text->text', @@ -13342,8 +13010,7 @@ export const models: Array = [ hugging_face_id: '', name: 'xAI: Grok 3 Mini', created: 1749583245, - description: - 'A lightweight model that thinks before responding. Fast, smart, and great for logic-based tasks that do not require deep domain knowledge. The raw thinking traces are accessible.', + description: 'A lightweight model that thinks before responding. Fast, smart, and great for logic-based tasks that do not require deep domain knowledge. The raw thinking traces are accessible.', context_length: 131072, architecture: { modality: 'text->text', @@ -13386,8 +13053,7 @@ export const models: Array = [ hugging_face_id: '', name: 'xAI: Grok 3 Mini Beta', created: 1744240195, - description: - 'Grok 3 Mini is a lightweight, smaller thinking model. Unlike traditional models that generate answers immediately, Grok 3 Mini thinks before responding. It’s ideal for reasoning-heavy tasks that don’t demand...', + description: 'Grok 3 Mini is a lightweight, smaller thinking model. Unlike traditional models that generate answers immediately, Grok 3 Mini thinks before responding. It’s ideal for reasoning-heavy tasks that don’t demand...', context_length: 131072, architecture: { modality: 'text->text', @@ -13429,8 +13095,7 @@ export const models: Array = [ hugging_face_id: '', name: 'xAI: Grok 4', created: 1752087689, - description: - "Grok 4 is xAI's latest reasoning model with a 256k context window. It supports parallel tool calling, structured outputs, and both image and text inputs. Note that reasoning is not...", + description: 'Grok 4 is xAI\'s latest reasoning model with a 256k context window. It supports parallel tool calling, structured outputs, and both image and text inputs. Note that reasoning is not...', context_length: 256000, architecture: { modality: 'text+image+file->text', @@ -13472,8 +13137,7 @@ export const models: Array = [ hugging_face_id: '', name: 'xAI: Grok 4 Fast', created: 1758240090, - description: - "Grok 4 Fast is xAI's latest multimodal model with SOTA cost-efficiency and a 2M token context window. It comes in two flavors: non-reasoning and reasoning. Read more about the model...", + description: 'Grok 4 Fast is xAI\'s latest multimodal model with SOTA cost-efficiency and a 2M token context window. It comes in two flavors: non-reasoning and reasoning. Read more about the model...', context_length: 2000000, architecture: { modality: 'text+image+file->text', @@ -13515,8 +13179,7 @@ export const models: Array = [ hugging_face_id: '', name: 'xAI: Grok 4.1 Fast', created: 1763587502, - description: - "Grok 4.1 Fast is xAI's best agentic tool calling model that shines in real-world use cases like customer support and deep research. 2M context window. Reasoning can be enabled/disabled using...", + description: 'Grok 4.1 Fast is xAI\'s best agentic tool calling model that shines in real-world use cases like customer support and deep research. 2M context window. Reasoning can be enabled/disabled using...', context_length: 2000000, architecture: { modality: 'text+image+file->text', @@ -13558,8 +13221,7 @@ export const models: Array = [ hugging_face_id: '', name: 'xAI: Grok 4.20', created: 1774979019, - description: - "Grok 4.20 is xAI's newest flagship model with industry-leading speed and agentic tool calling capabilities. It combines the lowest hallucination rate on the market with strict prompt adherance, delivering consistently...", + description: 'Grok 4.20 is xAI\'s newest flagship model with industry-leading speed and agentic tool calling capabilities. It combines the lowest hallucination rate on the market with strict prompt adherance, delivering consistently...', context_length: 2000000, architecture: { modality: 'text+image+file->text', @@ -13601,8 +13263,7 @@ export const models: Array = [ hugging_face_id: '', name: 'xAI: Grok 4.20 Multi-Agent', created: 1774979158, - description: - 'Grok 4.20 Multi-Agent is a variant of xAI’s Grok 4.20 designed for collaborative, agent-based workflows. Multiple agents operate in parallel to conduct deep research, coordinate tool use, and synthesize information...', + description: 'Grok 4.20 Multi-Agent is a variant of xAI’s Grok 4.20 designed for collaborative, agent-based workflows. Multiple agents operate in parallel to conduct deep research, coordinate tool use, and synthesize information...', context_length: 2000000, architecture: { modality: 'text+image+file->text', @@ -13642,8 +13303,7 @@ export const models: Array = [ hugging_face_id: '', name: 'xAI: Grok Code Fast 1', created: 1756238927, - description: - 'Grok Code Fast 1 is a speedy and economical reasoning model that excels at agentic coding. With reasoning traces visible in the response, developers can steer Grok Code for high-quality...', + description: 'Grok Code Fast 1 is a speedy and economical reasoning model that excels at agentic coding. With reasoning traces visible in the response, developers can steer Grok Code for high-quality...', context_length: 256000, architecture: { modality: 'text->text', @@ -13686,8 +13346,7 @@ export const models: Array = [ hugging_face_id: 'XiaomiMiMo/MiMo-V2-Flash', name: 'Xiaomi: MiMo-V2-Flash', created: 1765731308, - description: - 'MiMo-V2-Flash is an open-source foundation language model developed by Xiaomi. It is a Mixture-of-Experts model with 309B total parameters and 15B active parameters, adopting hybrid attention architecture. MiMo-V2-Flash supports a...', + description: 'MiMo-V2-Flash is an open-source foundation language model developed by Xiaomi. It is a Mixture-of-Experts model with 309B total parameters and 15B active parameters, adopting hybrid attention architecture. MiMo-V2-Flash supports a...', context_length: 262144, architecture: { modality: 'text->text', @@ -13733,8 +13392,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Xiaomi: MiMo-V2-Omni', created: 1773863703, - description: - 'MiMo-V2-Omni is a frontier omni-modal model that natively processes image, video, and audio inputs within a unified architecture. It combines strong multimodal perception with agentic capability - visual grounding, multi-step...', + description: 'MiMo-V2-Omni is a frontier omni-modal model that natively processes image, video, and audio inputs within a unified architecture. It combines strong multimodal perception with agentic capability - visual grounding, multi-step...', context_length: 262144, architecture: { modality: 'text+image+audio+video->text', @@ -13774,8 +13432,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Xiaomi: MiMo-V2-Pro', created: 1773863643, - description: - "MiMo-V2-Pro is Xiaomi's flagship foundation model, featuring over 1T total parameters and a 1M context length, deeply optimized for agentic scenarios. It is highly adaptable to general agent frameworks like...", + description: 'MiMo-V2-Pro is Xiaomi\'s flagship foundation model, featuring over 1T total parameters and a 1M context length, deeply optimized for agentic scenarios. It is highly adaptable to general agent frameworks like...', context_length: 1048576, architecture: { modality: 'text->text', @@ -13815,8 +13472,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Z.ai: GLM 4 32B ', created: 1753376617, - description: - 'GLM 4 32B is a cost-effective foundation language model. It can efficiently perform complex tasks and has significantly enhanced capabilities in tool use, online search, and code-related intelligent tasks. It...', + description: 'GLM 4 32B is a cost-effective foundation language model. It can efficiently perform complex tasks and has significantly enhanced capabilities in tool use, online search, and code-related intelligent tasks. It...', context_length: 128000, architecture: { modality: 'text->text', @@ -13849,8 +13505,7 @@ export const models: Array = [ hugging_face_id: 'zai-org/GLM-4.5', name: 'Z.ai: GLM 4.5', created: 1753471347, - description: - 'GLM-4.5 is our latest flagship foundation model, purpose-built for agent-based applications. It leverages a Mixture-of-Experts (MoE) architecture and supports a context length of up to 128k tokens. GLM-4.5 delivers significantly...', + description: 'GLM-4.5 is our latest flagship foundation model, purpose-built for agent-based applications. It leverages a Mixture-of-Experts (MoE) architecture and supports a context length of up to 128k tokens. GLM-4.5 delivers significantly...', context_length: 131072, architecture: { modality: 'text->text', @@ -13880,7 +13535,6 @@ export const models: Array = [ 'response_format', 'seed', 'stop', - 'structured_outputs', 'temperature', 'tool_choice', 'tools', @@ -13894,8 +13548,7 @@ export const models: Array = [ hugging_face_id: 'zai-org/GLM-4.5-Air', name: 'Z.ai: GLM 4.5 Air', created: 1753471258, - description: - 'GLM-4.5-Air is the lightweight variant of our latest flagship model family, also purpose-built for agent-centric applications. Like GLM-4.5, it adopts the Mixture-of-Experts (MoE) architecture but with a more compact parameter...', + description: 'GLM-4.5-Air is the lightweight variant of our latest flagship model family, also purpose-built for agent-centric applications. Like GLM-4.5, it adopts the Mixture-of-Experts (MoE) architecture but with a more compact parameter...', context_length: 131072, architecture: { modality: 'text->text', @@ -13939,8 +13592,7 @@ export const models: Array = [ hugging_face_id: 'zai-org/GLM-4.5-Air', name: 'Z.ai: GLM 4.5 Air (free)', created: 1753471258, - description: - 'GLM-4.5-Air is the lightweight variant of our latest flagship model family, also purpose-built for agent-centric applications. Like GLM-4.5, it adopts the Mixture-of-Experts (MoE) architecture but with a more compact parameter...', + description: 'GLM-4.5-Air is the lightweight variant of our latest flagship model family, also purpose-built for agent-centric applications. Like GLM-4.5, it adopts the Mixture-of-Experts (MoE) architecture but with a more compact parameter...', context_length: 131072, architecture: { modality: 'text->text', @@ -13975,8 +13627,7 @@ export const models: Array = [ hugging_face_id: 'zai-org/GLM-4.5V', name: 'Z.ai: GLM 4.5V', created: 1754922288, - description: - 'GLM-4.5V is a vision-language foundation model for multimodal agent applications. Built on a Mixture-of-Experts (MoE) architecture with 106B parameters and 12B activated parameters, it achieves state-of-the-art results in video understanding,...', + description: 'GLM-4.5V is a vision-language foundation model for multimodal agent applications. Built on a Mixture-of-Experts (MoE) architecture with 106B parameters and 12B activated parameters, it achieves state-of-the-art results in video understanding,...', context_length: 65536, architecture: { modality: 'text+image->text', @@ -14018,8 +13669,7 @@ export const models: Array = [ hugging_face_id: 'zai-org/GLM-4.6', name: 'Z.ai: GLM 4.6', created: 1759235576, - description: - 'Compared with GLM-4.5, this generation brings several key improvements: Longer context window: The context window has been expanded from 128K to 200K tokens, enabling the model to handle more complex...', + description: 'Compared with GLM-4.5, this generation brings several key improvements: Longer context window: The context window has been expanded from 128K to 200K tokens, enabling the model to handle more complex...', context_length: 204800, architecture: { modality: 'text->text', @@ -14064,8 +13714,7 @@ export const models: Array = [ hugging_face_id: 'zai-org/GLM-4.6V', name: 'Z.ai: GLM 4.6V', created: 1765207462, - description: - 'GLM-4.6V is a large multimodal model designed for high-fidelity visual understanding and long-context reasoning across images, documents, and mixed media. It supports up to 128K tokens, processes complex page layouts...', + description: 'GLM-4.6V is a large multimodal model designed for high-fidelity visual understanding and long-context reasoning across images, documents, and mixed media. It supports up to 128K tokens, processes complex page layouts...', context_length: 131072, architecture: { modality: 'text+image+video->text', @@ -14109,8 +13758,7 @@ export const models: Array = [ hugging_face_id: 'zai-org/GLM-4.7', name: 'Z.ai: GLM 4.7', created: 1766378014, - description: - 'GLM-4.7 is Z.ai’s latest flagship model, featuring upgrades in two key areas: enhanced programming capabilities and more stable multi-step reasoning/execution. It demonstrates significant improvements in executing complex agent tasks while...', + description: 'GLM-4.7 is Z.ai’s latest flagship model, featuring upgrades in two key areas: enhanced programming capabilities and more stable multi-step reasoning/execution. It demonstrates significant improvements in executing complex agent tasks while...', context_length: 202752, architecture: { modality: 'text->text', @@ -14158,8 +13806,7 @@ export const models: Array = [ hugging_face_id: 'zai-org/GLM-4.7-Flash', name: 'Z.ai: GLM 4.7 Flash', created: 1768833913, - description: - 'As a 30B-class SOTA model, GLM-4.7-Flash offers a new option that balances performance and efficiency. It is further optimized for agentic coding use cases, strengthening coding capabilities, long-horizon task planning,...', + description: 'As a 30B-class SOTA model, GLM-4.7-Flash offers a new option that balances performance and efficiency. It is further optimized for agentic coding use cases, strengthening coding capabilities, long-horizon task planning,...', context_length: 202752, architecture: { modality: 'text->text', @@ -14204,8 +13851,7 @@ export const models: Array = [ hugging_face_id: 'zai-org/GLM-5', name: 'Z.ai: GLM 5', created: 1770829182, - description: - 'GLM-5 is Z.ai’s flagship open-source foundation model engineered for complex systems design and long-horizon agent workflows. Built for expert developers, it delivers production-grade performance on large-scale programming tasks, rivaling leading...', + description: 'GLM-5 is Z.ai’s flagship open-source foundation model engineered for complex systems design and long-horizon agent workflows. Built for expert developers, it delivers production-grade performance on large-scale programming tasks, rivaling leading...', context_length: 80000, architecture: { modality: 'text->text', @@ -14252,8 +13898,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Z.ai: GLM 5 Turbo', created: 1773583573, - description: - 'GLM-5 Turbo is a new model from Z.ai designed for fast inference and strong performance in agent-driven environments such as OpenClaw scenarios. It is deeply optimized for real-world agent workflows...', + description: 'GLM-5 Turbo is a new model from Z.ai designed for fast inference and strong performance in agent-driven environments such as OpenClaw scenarios. It is deeply optimized for real-world agent workflows...', context_length: 202752, architecture: { modality: 'text->text', @@ -14298,8 +13943,7 @@ export const models: Array = [ hugging_face_id: 'zai-org/GLM-5.1', name: 'Z.ai: GLM 5.1', created: 1775578025, - description: - 'GLM-5.1 delivers a major leap in coding capability, with particularly significant gains in handling long-horizon tasks. Unlike previous models built around minute-level interactions, GLM-5.1 can work independently and continuously on...', + description: 'GLM-5.1 delivers a major leap in coding capability, with particularly significant gains in handling long-horizon tasks. Unlike previous models built around minute-level interactions, GLM-5.1 can work independently and continuously on...', context_length: 202752, architecture: { modality: 'text->text', @@ -14309,12 +13953,13 @@ export const models: Array = [ instruct_type: null, }, pricing: { - prompt: '0.00000126', - completion: '0.00000396', + prompt: '0.00000095', + completion: '0.00000315', + input_cache_read: '0.000000475', }, top_provider: { context_length: 202752, - max_completion_tokens: null, + max_completion_tokens: 65535, is_moderated: false, }, per_request_limits: null, @@ -14325,8 +13970,10 @@ export const models: Array = [ 'logprobs', 'max_tokens', 'min_p', + 'parallel_tool_calls', 'presence_penalty', 'reasoning', + 'reasoning_effort', 'repetition_penalty', 'response_format', 'seed', @@ -14346,8 +13993,7 @@ export const models: Array = [ hugging_face_id: '', name: 'Z.ai: GLM 5V Turbo', created: 1775061458, - description: - 'GLM-5V-Turbo is Z.ai’s first native multimodal agent foundation model, built for vision-based coding and agent-driven tasks. It natively handles image, video, and text inputs, excels at long-horizon planning, complex coding,...', + description: 'GLM-5V-Turbo is Z.ai’s first native multimodal agent foundation model, built for vision-based coding and agent-driven tasks. It natively handles image, video, and text inputs, excels at long-horizon planning, complex coding,...', context_length: 202752, architecture: { modality: 'text+image+video->text', @@ -14377,5 +14023,5 @@ export const models: Array = [ 'tools', 'top_p', ], - }, + } ]