diff --git a/crates/goose/src/providers/canonical/build_canonical_models.rs b/crates/goose/src/providers/canonical/build_canonical_models.rs index 9b70646f0417..c3a6cb1db783 100644 --- a/crates/goose/src/providers/canonical/build_canonical_models.rs +++ b/crates/goose/src/providers/canonical/build_canonical_models.rs @@ -15,7 +15,7 @@ use goose::providers::canonical::{ use goose::providers::{canonical::ModelMapping, create_with_named_model}; use serde::{Deserialize, Serialize}; use serde_json::Value; -use std::collections::{HashMap, HashSet}; +use std::collections::{BTreeMap, BTreeSet, HashMap}; use std::path::PathBuf; const OPENROUTER_API_URL: &str = "https://openrouter.ai/api/v1/models"; @@ -63,16 +63,16 @@ struct MappingReport { /// All mappings: (provider, model) -> canonical model /// Stored per provider for backward compatibility - all_mappings: HashMap>, + all_mappings: BTreeMap>, /// Flat list of all mappings for easier comparison (lock file format) mapped_models: Vec, /// Total models checked per provider - model_counts: HashMap, + model_counts: BTreeMap, /// Canonical models referenced - canonical_models_used: HashSet, + canonical_models_used: BTreeSet, } impl MappingReport { @@ -80,10 +80,10 @@ impl MappingReport { Self { timestamp: chrono::Utc::now().to_rfc3339(), unmapped_models: Vec::new(), - all_mappings: HashMap::new(), + all_mappings: BTreeMap::new(), mapped_models: Vec::new(), - model_counts: HashMap::new(), - canonical_models_used: HashSet::new(), + model_counts: BTreeMap::new(), + canonical_models_used: BTreeSet::new(), } } @@ -276,7 +276,25 @@ impl MappingReport { } fn save_to_file(&self, path: &PathBuf) -> Result<()> { - let json = serde_json::to_string_pretty(self).context("Failed to serialize report")?; + let mut report = self.clone(); + + report.unmapped_models.sort_by(|a, b| { + a.provider + .cmp(&b.provider) + .then_with(|| a.model.cmp(&b.model)) + }); + + report.mapped_models.sort_by(|a, b| { + a.provider + .cmp(&b.provider) + .then_with(|| a.model.cmp(&b.model)) + }); + + for mappings in report.all_mappings.values_mut() { + mappings.sort_by(|a, b| a.provider_model.cmp(&b.provider_model)); + } + + let json = serde_json::to_string_pretty(&report).context("Failed to serialize report")?; std::fs::write(path, json).context("Failed to write report file")?; Ok(()) } @@ -437,7 +455,7 @@ async fn build_canonical_models() -> Result<()> { .and_then(|v| v.as_u64()) .map(|v| v as usize); - let input_modalities: Vec = model + let mut input_modalities: Vec = model .get("architecture") .and_then(|arch| arch.get("input_modalities")) .and_then(|v| v.as_array()) @@ -448,8 +466,9 @@ async fn build_canonical_models() -> Result<()> { .collect() }) .unwrap_or_else(|| vec!["text".to_string()]); + input_modalities.sort(); - let output_modalities: Vec = model + let mut output_modalities: Vec = model .get("architecture") .and_then(|arch| arch.get("output_modalities")) .and_then(|v| v.as_array()) @@ -460,6 +479,7 @@ async fn build_canonical_models() -> Result<()> { .collect() }) .unwrap_or_else(|| vec!["text".to_string()]); + output_modalities.sort(); let supports_tools = model .get("supported_parameters") diff --git a/crates/goose/src/providers/canonical/data/canonical_mapping_report.json b/crates/goose/src/providers/canonical/data/canonical_mapping_report.json index 254e37d87dee..ee9c59fd76e3 100644 --- a/crates/goose/src/providers/canonical/data/canonical_mapping_report.json +++ b/crates/goose/src/providers/canonical/data/canonical_mapping_report.json @@ -1,6 +1,122 @@ { - "timestamp": "2026-01-06T00:31:30.015565735+00:00", + "timestamp": "2026-01-08T18:28:52.658440+00:00", "unmapped_models": [ + { + "provider": "google", + "model": "aqa" + }, + { + "provider": "google", + "model": "deep-research-pro-preview-12-2025" + }, + { + "provider": "google", + "model": "embedding-001" + }, + { + "provider": "google", + "model": "embedding-gecko-001" + }, + { + "provider": "google", + "model": "gemini-2.0-flash-exp-image-generation" + }, + { + "provider": "google", + "model": "gemini-2.5-computer-use-preview-10-2025" + }, + { + "provider": "google", + "model": "gemini-2.5-flash-preview-tts" + }, + { + "provider": "google", + "model": "gemini-2.5-pro-preview-tts" + }, + { + "provider": "google", + "model": "gemini-embedding-001" + }, + { + "provider": "google", + "model": "gemini-embedding-exp" + }, + { + "provider": "google", + "model": "gemini-embedding-exp-03-07" + }, + { + "provider": "google", + "model": "gemini-exp-1206" + }, + { + "provider": "google", + "model": "gemini-flash-latest" + }, + { + "provider": "google", + "model": "gemini-flash-lite-latest" + }, + { + "provider": "google", + "model": "gemini-pro-latest" + }, + { + "provider": "google", + "model": "gemini-robotics-er-1.5-preview" + }, + { + "provider": "google", + "model": "gemma-3-1b-it" + }, + { + "provider": "google", + "model": "gemma-3n-e2b-it" + }, + { + "provider": "google", + "model": "imagen-4.0-fast-generate-001" + }, + { + "provider": "google", + "model": "imagen-4.0-generate-001" + }, + { + "provider": "google", + "model": "imagen-4.0-generate-preview-06-06" + }, + { + "provider": "google", + "model": "imagen-4.0-ultra-generate-001" + }, + { + "provider": "google", + "model": "imagen-4.0-ultra-generate-preview-06-06" + }, + { + "provider": "google", + "model": "nano-banana-pro-preview" + }, + { + "provider": "google", + "model": "text-embedding-004" + }, + { + "provider": "google", + "model": "veo-2.0-generate-001" + }, + { + "provider": "google", + "model": "veo-3.0-fast-generate-001" + }, + { + "provider": "google", + "model": "veo-3.0-generate-001" + }, + { + "provider": "google", + "model": "veo-3.1-generate-preview" + }, { "provider": "openai", "model": "ada:ft-square-2023-01-20-06-09-37" @@ -2305,6 +2421,10 @@ "provider": "openrouter", "model": "allenai/olmo-3-7b-instruct" }, + { + "provider": "openrouter", + "model": "allenai/olmo-3.1-32b-instruct" + }, { "provider": "openrouter", "model": "amazon/nova-2-lite-v1" @@ -2393,18 +2513,6 @@ "provider": "openrouter", "model": "meta-llama/llama-3.3-70b-instruct:free" }, - { - "provider": "openrouter", - "model": "microsoft/phi-3-medium-128k-instruct" - }, - { - "provider": "openrouter", - "model": "microsoft/phi-3-mini-128k-instruct" - }, - { - "provider": "openrouter", - "model": "microsoft/phi-3.5-mini-128k-instruct" - }, { "provider": "openrouter", "model": "minimax/minimax-m1" @@ -2588,122 +2696,6 @@ { "provider": "openrouter", "model": "z-ai/glm-4.7" - }, - { - "provider": "google", - "model": "aqa" - }, - { - "provider": "google", - "model": "deep-research-pro-preview-12-2025" - }, - { - "provider": "google", - "model": "embedding-001" - }, - { - "provider": "google", - "model": "embedding-gecko-001" - }, - { - "provider": "google", - "model": "gemini-2.0-flash-exp-image-generation" - }, - { - "provider": "google", - "model": "gemini-2.5-computer-use-preview-10-2025" - }, - { - "provider": "google", - "model": "gemini-2.5-flash-preview-tts" - }, - { - "provider": "google", - "model": "gemini-2.5-pro-preview-tts" - }, - { - "provider": "google", - "model": "gemini-embedding-001" - }, - { - "provider": "google", - "model": "gemini-embedding-exp" - }, - { - "provider": "google", - "model": "gemini-embedding-exp-03-07" - }, - { - "provider": "google", - "model": "gemini-exp-1206" - }, - { - "provider": "google", - "model": "gemini-flash-latest" - }, - { - "provider": "google", - "model": "gemini-flash-lite-latest" - }, - { - "provider": "google", - "model": "gemini-pro-latest" - }, - { - "provider": "google", - "model": "gemini-robotics-er-1.5-preview" - }, - { - "provider": "google", - "model": "gemma-3-1b-it" - }, - { - "provider": "google", - "model": "gemma-3n-e2b-it" - }, - { - "provider": "google", - "model": "imagen-4.0-fast-generate-001" - }, - { - "provider": "google", - "model": "imagen-4.0-generate-001" - }, - { - "provider": "google", - "model": "imagen-4.0-generate-preview-06-06" - }, - { - "provider": "google", - "model": "imagen-4.0-ultra-generate-001" - }, - { - "provider": "google", - "model": "imagen-4.0-ultra-generate-preview-06-06" - }, - { - "provider": "google", - "model": "nano-banana-pro-preview" - }, - { - "provider": "google", - "model": "text-embedding-004" - }, - { - "provider": "google", - "model": "veo-2.0-generate-001" - }, - { - "provider": "google", - "model": "veo-3.0-fast-generate-001" - }, - { - "provider": "google", - "model": "veo-3.0-generate-001" - }, - { - "provider": "google", - "model": "veo-3.1-generate-preview" } ], "all_mappings": { @@ -2745,1057 +2737,1062 @@ "canonical_model": "anthropic/claude-sonnet-4.5" } ], - "openrouter": [ + "google": [ { - "provider_model": "ai21/jamba-large-1.7", - "canonical_model": "ai21/jamba-large-1.7" + "provider_model": "gemini-2.0-flash", + "canonical_model": "google/gemini-2.0-flash" }, { - "provider_model": "ai21/jamba-mini-1.7", - "canonical_model": "ai21/jamba-mini-1.7" + "provider_model": "gemini-2.0-flash-001", + "canonical_model": "google/gemini-2.0-flash" }, { - "provider_model": "anthropic/claude-3-haiku", - "canonical_model": "anthropic/claude-3-haiku" + "provider_model": "gemini-2.0-flash-exp", + "canonical_model": "google/gemini-2.0-flash" }, { - "provider_model": "anthropic/claude-3.5-haiku", - "canonical_model": "anthropic/claude-3.5-haiku" + "provider_model": "gemini-2.0-flash-lite", + "canonical_model": "google/gemini-2.0-flash-lite" }, { - "provider_model": "anthropic/claude-3.5-haiku-20241022", - "canonical_model": "anthropic/claude-3.5-haiku" + "provider_model": "gemini-2.0-flash-lite-001", + "canonical_model": "google/gemini-2.0-flash-lite" }, { - "provider_model": "anthropic/claude-3.5-sonnet", - "canonical_model": "anthropic/claude-3.5-sonnet" + "provider_model": "gemini-2.0-flash-lite-preview", + "canonical_model": "google/gemini-2.0-flash-lite" }, { - "provider_model": "anthropic/claude-3.7-sonnet", - "canonical_model": "anthropic/claude-3.7-sonnet" + "provider_model": "gemini-2.0-flash-lite-preview-02-05", + "canonical_model": "google/gemini-2.0-flash-lite" }, { - "provider_model": "anthropic/claude-3.7-sonnet:thinking", - "canonical_model": "anthropic/claude-3.7-sonnet:thinking" + "provider_model": "gemini-2.5-flash", + "canonical_model": "google/gemini-2.5-flash" }, { - "provider_model": "anthropic/claude-haiku-4.5", - "canonical_model": "anthropic/claude-haiku-4.5" + "provider_model": "gemini-2.5-flash-image", + "canonical_model": "google/gemini-2.5-flash-image" }, { - "provider_model": "anthropic/claude-opus-4", - "canonical_model": "anthropic/claude-opus-4" + "provider_model": "gemini-2.5-flash-image-preview", + "canonical_model": "google/gemini-2.5-flash-image" }, { - "provider_model": "anthropic/claude-opus-4.1", - "canonical_model": "anthropic/claude-opus-4.1" + "provider_model": "gemini-2.5-flash-lite", + "canonical_model": "google/gemini-2.5-flash-lite" }, { - "provider_model": "anthropic/claude-opus-4.5", - "canonical_model": "anthropic/claude-opus-4.5" + "provider_model": "gemini-2.5-flash-lite-preview-09-2025", + "canonical_model": "google/gemini-2.5-flash-lite" }, { - "provider_model": "anthropic/claude-sonnet-4", - "canonical_model": "anthropic/claude-sonnet-4" + "provider_model": "gemini-2.5-flash-preview-09-2025", + "canonical_model": "google/gemini-2.5-flash" }, { - "provider_model": "anthropic/claude-sonnet-4.5", - "canonical_model": "anthropic/claude-sonnet-4.5" + "provider_model": "gemini-2.5-pro", + "canonical_model": "google/gemini-2.5-pro" }, { - "provider_model": "cohere/command-r-08-2024", - "canonical_model": "cohere/command-r-08" + "provider_model": "gemini-3-flash-preview", + "canonical_model": "google/gemini-3-flash" }, { - "provider_model": "cohere/command-r-plus-08-2024", - "canonical_model": "cohere/command-r-plus-08" + "provider_model": "gemini-3-pro-image-preview", + "canonical_model": "google/gemini-3-pro-image" }, { - "provider_model": "deepseek/deepseek-chat", - "canonical_model": "deepseek/deepseek-chat" + "provider_model": "gemini-3-pro-preview", + "canonical_model": "google/gemini-3-pro" }, { - "provider_model": "deepseek/deepseek-chat-v3-0324", - "canonical_model": "deepseek/deepseek-chat" + "provider_model": "gemma-3-12b-it", + "canonical_model": "google/gemma-3-12b-it" }, { - "provider_model": "deepseek/deepseek-chat-v3.1", - "canonical_model": "deepseek/deepseek-chat" + "provider_model": "gemma-3-27b-it", + "canonical_model": "google/gemma-3-27b-it" }, { - "provider_model": "deepseek/deepseek-r1", - "canonical_model": "deepseek/deepseek-r1" + "provider_model": "gemma-3-4b-it", + "canonical_model": "google/gemma-3-4b-it" }, { - "provider_model": "deepseek/deepseek-r1-0528", - "canonical_model": "deepseek/deepseek-r1" + "provider_model": "gemma-3n-e4b-it", + "canonical_model": "google/gemma-3n-e4b-it" + } + ], + "openai": [ + { + "provider_model": "chatgpt-4o-latest", + "canonical_model": "openai/chatgpt-4o" }, { - "provider_model": "deepseek/deepseek-r1-distill-llama-70b", - "canonical_model": "deepseek/deepseek-r1-distill-llama-70b" + "provider_model": "codex-mini-latest", + "canonical_model": "openai/codex-mini" }, { - "provider_model": "deepseek/deepseek-v3.1-terminus", - "canonical_model": "deepseek/deepseek-v3.1-terminus" + "provider_model": "gpt-3.5-turbo", + "canonical_model": "openai/gpt-3.5-turbo" }, { - "provider_model": "deepseek/deepseek-v3.1-terminus:exacto", - "canonical_model": "deepseek/deepseek-v3.1-terminus" + "provider_model": "gpt-3.5-turbo-0125", + "canonical_model": "openai/gpt-3.5-turbo" }, { - "provider_model": "deepseek/deepseek-v3.2", - "canonical_model": "deepseek/deepseek" + "provider_model": "gpt-3.5-turbo-1106", + "canonical_model": "openai/gpt-3.5-turbo" }, { - "provider_model": "deepseek/deepseek-v3.2-exp", - "canonical_model": "deepseek/deepseek" + "provider_model": "gpt-3.5-turbo-16k", + "canonical_model": "openai/gpt-3.5-turbo-16k" }, { - "provider_model": "google/gemini-2.0-flash-001", - "canonical_model": "google/gemini-2.0-flash" + "provider_model": "gpt-3.5-turbo-instruct", + "canonical_model": "openai/gpt-3.5-turbo-instruct" }, { - "provider_model": "google/gemini-2.0-flash-lite-001", - "canonical_model": "google/gemini-2.0-flash-lite" + "provider_model": "gpt-3.5-turbo-instruct-0914", + "canonical_model": "openai/gpt-3.5-turbo-instruct" }, { - "provider_model": "google/gemini-2.5-flash", - "canonical_model": "google/gemini-2.5-flash" + "provider_model": "gpt-4", + "canonical_model": "openai/gpt-4" }, { - "provider_model": "google/gemini-2.5-flash-lite", - "canonical_model": "google/gemini-2.5-flash-lite" + "provider_model": "gpt-4-0125-preview", + "canonical_model": "openai/gpt-4" }, { - "provider_model": "google/gemini-2.5-flash-lite-preview-09-2025", - "canonical_model": "google/gemini-2.5-flash-lite" + "provider_model": "gpt-4-0314", + "canonical_model": "openai/gpt-4" }, { - "provider_model": "google/gemini-2.5-flash-preview-09-2025", - "canonical_model": "google/gemini-2.5-flash" + "provider_model": "gpt-4-0613", + "canonical_model": "openai/gpt-4" }, { - "provider_model": "google/gemini-2.5-pro", - "canonical_model": "google/gemini-2.5-pro" + "provider_model": "gpt-4-1106-preview", + "canonical_model": "openai/gpt-4" }, { - "provider_model": "google/gemini-2.5-pro-preview", - "canonical_model": "google/gemini-2.5-pro" + "provider_model": "gpt-4-turbo", + "canonical_model": "openai/gpt-4-turbo" }, { - "provider_model": "google/gemini-2.5-pro-preview-05-06", - "canonical_model": "google/gemini-2.5-pro" + "provider_model": "gpt-4-turbo-2024-04-09", + "canonical_model": "openai/gpt-4-turbo" }, { - "provider_model": "google/gemini-3-flash-preview", - "canonical_model": "google/gemini-3-flash" + "provider_model": "gpt-4-turbo-preview", + "canonical_model": "openai/gpt-4-turbo" }, { - "provider_model": "google/gemini-3-pro-preview", - "canonical_model": "google/gemini-3-pro" + "provider_model": "gpt-4.1", + "canonical_model": "openai/gpt-4.1" }, { - "provider_model": "google/gemma-3-27b-it", - "canonical_model": "google/gemma-3-27b-it" + "provider_model": "gpt-4.1-2025-04-14", + "canonical_model": "openai/gpt-4.1" }, { - "provider_model": "meta-llama/llama-3-70b-instruct", - "canonical_model": "meta-llama/llama-3-70b-instruct" + "provider_model": "gpt-4.1-mini", + "canonical_model": "openai/gpt-4.1-mini" }, { - "provider_model": "meta-llama/llama-3-8b-instruct", - "canonical_model": "meta-llama/llama-3-8b-instruct" + "provider_model": "gpt-4.1-mini-2025-04-14", + "canonical_model": "openai/gpt-4.1-mini" }, { - "provider_model": "meta-llama/llama-3.1-405b-instruct", - "canonical_model": "meta-llama/llama-3.1-405b-instruct" + "provider_model": "gpt-4.1-nano", + "canonical_model": "openai/gpt-4.1-nano" }, { - "provider_model": "meta-llama/llama-3.1-70b-instruct", - "canonical_model": "meta-llama/llama-3.1-70b-instruct" + "provider_model": "gpt-4.1-nano-2025-04-14", + "canonical_model": "openai/gpt-4.1-nano" }, { - "provider_model": "meta-llama/llama-3.1-8b-instruct", - "canonical_model": "meta-llama/llama-3.1-8b-instruct" + "provider_model": "gpt-4o", + "canonical_model": "openai/gpt-4o" }, { - "provider_model": "meta-llama/llama-3.2-3b-instruct", - "canonical_model": "meta-llama/llama-3.2-3b-instruct" + "provider_model": "gpt-4o-2024-05-13", + "canonical_model": "openai/gpt-4o" }, { - "provider_model": "meta-llama/llama-3.3-70b-instruct", - "canonical_model": "meta-llama/llama-3.3-70b-instruct" + "provider_model": "gpt-4o-2024-08-06", + "canonical_model": "openai/gpt-4o" }, { - "provider_model": "meta-llama/llama-4-maverick", - "canonical_model": "meta-llama/llama-4-maverick" + "provider_model": "gpt-4o-2024-11-20", + "canonical_model": "openai/gpt-4o" }, { - "provider_model": "meta-llama/llama-4-scout", - "canonical_model": "meta-llama/llama-4-scout" + "provider_model": "gpt-4o-audio-preview", + "canonical_model": "openai/gpt-4o-audio" }, { - "provider_model": "mistralai/codestral-2508", - "canonical_model": "mistralai/codestral" + "provider_model": "gpt-4o-audio-preview-2024-12-17", + "canonical_model": "openai/gpt-4o-audio" }, { - "provider_model": "mistralai/devstral-2512", - "canonical_model": "mistralai/devstral" + "provider_model": "gpt-4o-audio-preview-2025-06-03", + "canonical_model": "openai/gpt-4o-audio" }, { - "provider_model": "mistralai/devstral-medium", - "canonical_model": "mistralai/devstral-medium" + "provider_model": "gpt-4o-mini", + "canonical_model": "openai/gpt-4o-mini" }, { - "provider_model": "mistralai/devstral-small", - "canonical_model": "mistralai/devstral-small" + "provider_model": "gpt-4o-mini-2024-07-18", + "canonical_model": "openai/gpt-4o-mini" }, { - "provider_model": "mistralai/ministral-14b-2512", - "canonical_model": "mistralai/ministral-14b" + "provider_model": "gpt-4o-mini-search-preview", + "canonical_model": "openai/gpt-4o-mini-search" }, { - "provider_model": "mistralai/ministral-3b", - "canonical_model": "mistralai/ministral-3b" + "provider_model": "gpt-4o-mini-search-preview-2025-03-11", + "canonical_model": "openai/gpt-4o-mini-search" }, { - "provider_model": "mistralai/ministral-3b-2512", - "canonical_model": "mistralai/ministral-3b" + "provider_model": "gpt-4o-search-preview", + "canonical_model": "openai/gpt-4o-search" }, { - "provider_model": "mistralai/ministral-8b", - "canonical_model": "mistralai/ministral-8b" + "provider_model": "gpt-4o-search-preview-2025-03-11", + "canonical_model": "openai/gpt-4o-search" }, { - "provider_model": "mistralai/ministral-8b-2512", - "canonical_model": "mistralai/ministral-8b" + "provider_model": "gpt-5", + "canonical_model": "openai/gpt-5" }, { - "provider_model": "mistralai/mistral-7b-instruct", - "canonical_model": "mistralai/mistral-7b-instruct" + "provider_model": "gpt-5-2025-08-07", + "canonical_model": "openai/gpt-5" }, { - "provider_model": "mistralai/mistral-large", - "canonical_model": "mistralai/mistral-large" + "provider_model": "gpt-5-chat-latest", + "canonical_model": "openai/gpt-5-chat" }, { - "provider_model": "mistralai/mistral-large-2407", - "canonical_model": "mistralai/mistral-large" + "provider_model": "gpt-5-codex", + "canonical_model": "openai/gpt-5-codex" }, { - "provider_model": "mistralai/mistral-large-2411", - "canonical_model": "mistralai/mistral-large" + "provider_model": "gpt-5-mini", + "canonical_model": "openai/gpt-5-mini" }, { - "provider_model": "mistralai/mistral-large-2512", - "canonical_model": "mistralai/mistral-large" + "provider_model": "gpt-5-mini-2025-08-07", + "canonical_model": "openai/gpt-5-mini" }, { - "provider_model": "mistralai/mistral-medium-3", - "canonical_model": "mistralai/mistral-medium-3" + "provider_model": "gpt-5-nano", + "canonical_model": "openai/gpt-5-nano" }, { - "provider_model": "mistralai/mistral-medium-3.1", - "canonical_model": "mistralai/mistral-medium-3.1" + "provider_model": "gpt-5-nano-2025-08-07", + "canonical_model": "openai/gpt-5-nano" }, { - "provider_model": "mistralai/mistral-nemo", - "canonical_model": "mistralai/mistral-nemo" + "provider_model": "gpt-5-pro", + "canonical_model": "openai/gpt-5-pro" }, { - "provider_model": "mistralai/mistral-saba", - "canonical_model": "mistralai/mistral-saba" + "provider_model": "gpt-5-pro-2025-10-06", + "canonical_model": "openai/gpt-5-pro" }, { - "provider_model": "mistralai/mistral-small-24b-instruct-2501", - "canonical_model": "mistralai/mistral-small-24b-instruct" + "provider_model": "gpt-5.1", + "canonical_model": "openai/gpt-5.1" }, { - "provider_model": "mistralai/mistral-small-3.1-24b-instruct", - "canonical_model": "mistralai/mistral-small-3.1-24b-instruct" + "provider_model": "gpt-5.1-2025-11-13", + "canonical_model": "openai/gpt-5.1" }, { - "provider_model": "mistralai/mistral-small-3.2-24b-instruct", - "canonical_model": "mistralai/mistral-small-3.2-24b-instruct" + "provider_model": "gpt-5.1-chat-latest", + "canonical_model": "openai/gpt-5.1-chat" }, { - "provider_model": "mistralai/mistral-small-creative", - "canonical_model": "mistralai/mistral-small-creative" + "provider_model": "gpt-5.1-codex", + "canonical_model": "openai/gpt-5.1-codex" }, { - "provider_model": "mistralai/mistral-tiny", - "canonical_model": "mistralai/mistral-tiny" + "provider_model": "gpt-5.1-codex-max", + "canonical_model": "openai/gpt-5.1-codex-max" }, { - "provider_model": "mistralai/mixtral-8x22b-instruct", - "canonical_model": "mistralai/mixtral-8x22b-instruct" + "provider_model": "gpt-5.1-codex-mini", + "canonical_model": "openai/gpt-5.1-codex-mini" }, { - "provider_model": "mistralai/mixtral-8x7b-instruct", - "canonical_model": "mistralai/mixtral-8x7b-instruct" + "provider_model": "gpt-5.2", + "canonical_model": "openai/gpt-5.2" }, { - "provider_model": "mistralai/pixtral-12b", - "canonical_model": "mistralai/pixtral-12b" + "provider_model": "gpt-5.2-2025-12-11", + "canonical_model": "openai/gpt-5.2" }, { - "provider_model": "mistralai/pixtral-large-2411", - "canonical_model": "mistralai/pixtral-large" + "provider_model": "gpt-5.2-chat-latest", + "canonical_model": "openai/gpt-5.2-chat" }, { - "provider_model": "mistralai/voxtral-small-24b-2507", - "canonical_model": "mistralai/voxtral-small-24b" + "provider_model": "gpt-5.2-pro", + "canonical_model": "openai/gpt-5.2-pro" }, { - "provider_model": "openai/codex-mini", - "canonical_model": "openai/codex-mini" + "provider_model": "gpt-5.2-pro-2025-12-11", + "canonical_model": "openai/gpt-5.2-pro" }, { - "provider_model": "openai/gpt-3.5-turbo", - "canonical_model": "openai/gpt-3.5-turbo" + "provider_model": "o1", + "canonical_model": "openai/o1" }, { - "provider_model": "openai/gpt-3.5-turbo-0613", - "canonical_model": "openai/gpt-3.5-turbo" + "provider_model": "o1-2024-12-17", + "canonical_model": "openai/o1" }, { - "provider_model": "openai/gpt-3.5-turbo-16k", - "canonical_model": "openai/gpt-3.5-turbo-16k" + "provider_model": "o1-pro", + "canonical_model": "openai/o1-pro" }, { - "provider_model": "openai/gpt-4", - "canonical_model": "openai/gpt-4" + "provider_model": "o1-pro-2025-03-19", + "canonical_model": "openai/o1-pro" }, { - "provider_model": "openai/gpt-4-0314", - "canonical_model": "openai/gpt-4" + "provider_model": "o3", + "canonical_model": "openai/o3" }, { - "provider_model": "openai/gpt-4-1106-preview", - "canonical_model": "openai/gpt-4" + "provider_model": "o3-2025-04-16", + "canonical_model": "openai/o3" }, { - "provider_model": "openai/gpt-4-turbo", - "canonical_model": "openai/gpt-4-turbo" + "provider_model": "o3-deep-research", + "canonical_model": "openai/o3-deep-research" }, { - "provider_model": "openai/gpt-4-turbo-preview", - "canonical_model": "openai/gpt-4-turbo" + "provider_model": "o3-deep-research-2025-06-26", + "canonical_model": "openai/o3-deep-research" }, { - "provider_model": "openai/gpt-4.1", - "canonical_model": "openai/gpt-4.1" + "provider_model": "o3-mini", + "canonical_model": "openai/o3-mini" }, { - "provider_model": "openai/gpt-4.1-mini", - "canonical_model": "openai/gpt-4.1-mini" + "provider_model": "o3-mini-2025-01-31", + "canonical_model": "openai/o3-mini" }, { - "provider_model": "openai/gpt-4.1-nano", - "canonical_model": "openai/gpt-4.1-nano" + "provider_model": "o3-pro", + "canonical_model": "openai/o3-pro" }, { - "provider_model": "openai/gpt-4o", - "canonical_model": "openai/gpt-4o" + "provider_model": "o3-pro-2025-06-10", + "canonical_model": "openai/o3-pro" }, { - "provider_model": "openai/gpt-4o-2024-05-13", - "canonical_model": "openai/gpt-4o" + "provider_model": "o4-mini", + "canonical_model": "openai/o4-mini" }, { - "provider_model": "openai/gpt-4o-2024-08-06", - "canonical_model": "openai/gpt-4o" + "provider_model": "o4-mini-2025-04-16", + "canonical_model": "openai/o4-mini" }, { - "provider_model": "openai/gpt-4o-2024-11-20", - "canonical_model": "openai/gpt-4o" + "provider_model": "o4-mini-deep-research", + "canonical_model": "openai/o4-mini-deep-research" }, { - "provider_model": "openai/gpt-4o-audio-preview", - "canonical_model": "openai/gpt-4o-audio" - }, + "provider_model": "o4-mini-deep-research-2025-06-26", + "canonical_model": "openai/o4-mini-deep-research" + } + ], + "openrouter": [ { - "provider_model": "openai/gpt-4o-mini", - "canonical_model": "openai/gpt-4o-mini" + "provider_model": "ai21/jamba-large-1.7", + "canonical_model": "ai21/jamba-large-1.7" }, { - "provider_model": "openai/gpt-4o-mini-2024-07-18", - "canonical_model": "openai/gpt-4o-mini" + "provider_model": "ai21/jamba-mini-1.7", + "canonical_model": "ai21/jamba-mini-1.7" }, { - "provider_model": "openai/gpt-4o:extended", - "canonical_model": "openai/gpt-4o:extended" + "provider_model": "anthropic/claude-3-haiku", + "canonical_model": "anthropic/claude-3-haiku" }, { - "provider_model": "openai/gpt-5", - "canonical_model": "openai/gpt-5" + "provider_model": "anthropic/claude-3.5-haiku", + "canonical_model": "anthropic/claude-3.5-haiku" }, { - "provider_model": "openai/gpt-5-codex", - "canonical_model": "openai/gpt-5-codex" + "provider_model": "anthropic/claude-3.5-haiku-20241022", + "canonical_model": "anthropic/claude-3.5-haiku" }, { - "provider_model": "openai/gpt-5-image", - "canonical_model": "openai/gpt-5-image" + "provider_model": "anthropic/claude-3.5-sonnet", + "canonical_model": "anthropic/claude-3.5-sonnet" }, { - "provider_model": "openai/gpt-5-image-mini", - "canonical_model": "openai/gpt-5-image-mini" + "provider_model": "anthropic/claude-3.7-sonnet", + "canonical_model": "anthropic/claude-3.7-sonnet" }, { - "provider_model": "openai/gpt-5-mini", - "canonical_model": "openai/gpt-5-mini" + "provider_model": "anthropic/claude-3.7-sonnet:thinking", + "canonical_model": "anthropic/claude-3.7-sonnet:thinking" }, { - "provider_model": "openai/gpt-5-nano", - "canonical_model": "openai/gpt-5-nano" + "provider_model": "anthropic/claude-haiku-4.5", + "canonical_model": "anthropic/claude-haiku-4.5" }, { - "provider_model": "openai/gpt-5-pro", - "canonical_model": "openai/gpt-5-pro" + "provider_model": "anthropic/claude-opus-4", + "canonical_model": "anthropic/claude-opus-4" }, { - "provider_model": "openai/gpt-5.1", - "canonical_model": "openai/gpt-5.1" + "provider_model": "anthropic/claude-opus-4.1", + "canonical_model": "anthropic/claude-opus-4.1" }, { - "provider_model": "openai/gpt-5.1-chat", - "canonical_model": "openai/gpt-5.1-chat" + "provider_model": "anthropic/claude-opus-4.5", + "canonical_model": "anthropic/claude-opus-4.5" }, { - "provider_model": "openai/gpt-5.1-codex", - "canonical_model": "openai/gpt-5.1-codex" + "provider_model": "anthropic/claude-sonnet-4", + "canonical_model": "anthropic/claude-sonnet-4" }, { - "provider_model": "openai/gpt-5.1-codex-max", - "canonical_model": "openai/gpt-5.1-codex-max" + "provider_model": "anthropic/claude-sonnet-4.5", + "canonical_model": "anthropic/claude-sonnet-4.5" }, { - "provider_model": "openai/gpt-5.1-codex-mini", - "canonical_model": "openai/gpt-5.1-codex-mini" + "provider_model": "cohere/command-r-08-2024", + "canonical_model": "cohere/command-r-08" }, { - "provider_model": "openai/gpt-5.2", - "canonical_model": "openai/gpt-5.2" + "provider_model": "cohere/command-r-plus-08-2024", + "canonical_model": "cohere/command-r-plus-08" }, { - "provider_model": "openai/gpt-5.2-chat", - "canonical_model": "openai/gpt-5.2-chat" + "provider_model": "deepseek/deepseek-chat", + "canonical_model": "deepseek/deepseek-chat" }, { - "provider_model": "openai/gpt-5.2-pro", - "canonical_model": "openai/gpt-5.2-pro" + "provider_model": "deepseek/deepseek-chat-v3-0324", + "canonical_model": "deepseek/deepseek-chat" }, { - "provider_model": "openai/gpt-oss-120b", - "canonical_model": "openai/gpt-oss-120b" + "provider_model": "deepseek/deepseek-chat-v3.1", + "canonical_model": "deepseek/deepseek-chat" }, { - "provider_model": "openai/gpt-oss-120b:exacto", - "canonical_model": "openai/gpt-oss-120b" + "provider_model": "deepseek/deepseek-r1", + "canonical_model": "deepseek/deepseek-r1" }, { - "provider_model": "openai/gpt-oss-20b", - "canonical_model": "openai/gpt-oss-20b" + "provider_model": "deepseek/deepseek-r1-0528", + "canonical_model": "deepseek/deepseek-r1" }, { - "provider_model": "openai/gpt-oss-safeguard-20b", - "canonical_model": "openai/gpt-oss-safeguard-20b" + "provider_model": "deepseek/deepseek-r1-distill-llama-70b", + "canonical_model": "deepseek/deepseek-r1-distill-llama-70b" }, { - "provider_model": "openai/o1", - "canonical_model": "openai/o1" + "provider_model": "deepseek/deepseek-v3.1-terminus", + "canonical_model": "deepseek/deepseek-v3.1-terminus" }, { - "provider_model": "openai/o3", - "canonical_model": "openai/o3" + "provider_model": "deepseek/deepseek-v3.1-terminus:exacto", + "canonical_model": "deepseek/deepseek-v3.1-terminus" }, { - "provider_model": "openai/o3-deep-research", - "canonical_model": "openai/o3-deep-research" + "provider_model": "deepseek/deepseek-v3.2", + "canonical_model": "deepseek/deepseek" }, { - "provider_model": "openai/o3-mini", - "canonical_model": "openai/o3-mini" + "provider_model": "deepseek/deepseek-v3.2-exp", + "canonical_model": "deepseek/deepseek" }, { - "provider_model": "openai/o3-mini-high", - "canonical_model": "openai/o3-mini-high" + "provider_model": "google/gemini-2.0-flash-001", + "canonical_model": "google/gemini-2.0-flash" }, { - "provider_model": "openai/o3-pro", - "canonical_model": "openai/o3-pro" + "provider_model": "google/gemini-2.0-flash-lite-001", + "canonical_model": "google/gemini-2.0-flash-lite" }, { - "provider_model": "openai/o4-mini", - "canonical_model": "openai/o4-mini" + "provider_model": "google/gemini-2.5-flash", + "canonical_model": "google/gemini-2.5-flash" }, { - "provider_model": "openai/o4-mini-deep-research", - "canonical_model": "openai/o4-mini-deep-research" + "provider_model": "google/gemini-2.5-flash-lite", + "canonical_model": "google/gemini-2.5-flash-lite" }, { - "provider_model": "openai/o4-mini-high", - "canonical_model": "openai/o4-mini-high" + "provider_model": "google/gemini-2.5-flash-lite-preview-09-2025", + "canonical_model": "google/gemini-2.5-flash-lite" }, { - "provider_model": "qwen/qwen-2.5-72b-instruct", - "canonical_model": "qwen/qwen-2.5-72b-instruct" + "provider_model": "google/gemini-2.5-flash-preview-09-2025", + "canonical_model": "google/gemini-2.5-flash" }, { - "provider_model": "qwen/qwen-max", - "canonical_model": "qwen/qwen-max" + "provider_model": "google/gemini-2.5-pro", + "canonical_model": "google/gemini-2.5-pro" }, { - "provider_model": "qwen/qwen-plus", - "canonical_model": "qwen/qwen-plus" + "provider_model": "google/gemini-2.5-pro-preview", + "canonical_model": "google/gemini-2.5-pro" }, { - "provider_model": "qwen/qwen-plus-2025-07-28", - "canonical_model": "qwen/qwen-plus" + "provider_model": "google/gemini-2.5-pro-preview-05-06", + "canonical_model": "google/gemini-2.5-pro" }, { - "provider_model": "qwen/qwen-plus-2025-07-28:thinking", - "canonical_model": "qwen/qwen-plus-2025-07-28:thinking" + "provider_model": "google/gemini-3-flash-preview", + "canonical_model": "google/gemini-3-flash" }, { - "provider_model": "qwen/qwen-turbo", - "canonical_model": "qwen/qwen-turbo" + "provider_model": "google/gemini-3-pro-preview", + "canonical_model": "google/gemini-3-pro" }, { - "provider_model": "qwen/qwen-vl-max", - "canonical_model": "qwen/qwen-vl-max" + "provider_model": "google/gemma-3-27b-it", + "canonical_model": "google/gemma-3-27b-it" }, { - "provider_model": "qwen/qwen3-14b", - "canonical_model": "qwen/qwen3-14b" + "provider_model": "meta-llama/llama-3-70b-instruct", + "canonical_model": "meta-llama/llama-3-70b-instruct" }, { - "provider_model": "qwen/qwen3-235b-a22b", - "canonical_model": "qwen/qwen3-235b-a22b" + "provider_model": "meta-llama/llama-3-8b-instruct", + "canonical_model": "meta-llama/llama-3-8b-instruct" }, { - "provider_model": "qwen/qwen3-235b-a22b-2507", - "canonical_model": "qwen/qwen3-235b-a22b" + "provider_model": "meta-llama/llama-3.1-405b-instruct", + "canonical_model": "meta-llama/llama-3.1-405b-instruct" }, { - "provider_model": "qwen/qwen3-235b-a22b-thinking-2507", - "canonical_model": "qwen/qwen3-235b-a22b-thinking" + "provider_model": "meta-llama/llama-3.1-70b-instruct", + "canonical_model": "meta-llama/llama-3.1-70b-instruct" }, { - "provider_model": "qwen/qwen3-30b-a3b", - "canonical_model": "qwen/qwen3-30b-a3b" + "provider_model": "meta-llama/llama-3.1-8b-instruct", + "canonical_model": "meta-llama/llama-3.1-8b-instruct" }, { - "provider_model": "qwen/qwen3-30b-a3b-instruct-2507", - "canonical_model": "qwen/qwen3-30b-a3b-instruct" + "provider_model": "meta-llama/llama-3.2-3b-instruct", + "canonical_model": "meta-llama/llama-3.2-3b-instruct" }, { - "provider_model": "qwen/qwen3-30b-a3b-thinking-2507", - "canonical_model": "qwen/qwen3-30b-a3b-thinking" + "provider_model": "meta-llama/llama-3.3-70b-instruct", + "canonical_model": "meta-llama/llama-3.3-70b-instruct" }, { - "provider_model": "qwen/qwen3-32b", - "canonical_model": "qwen/qwen3-32b" + "provider_model": "meta-llama/llama-4-maverick", + "canonical_model": "meta-llama/llama-4-maverick" }, { - "provider_model": "qwen/qwen3-8b", - "canonical_model": "qwen/qwen3-8b" + "provider_model": "meta-llama/llama-4-scout", + "canonical_model": "meta-llama/llama-4-scout" }, { - "provider_model": "qwen/qwen3-coder", - "canonical_model": "qwen/qwen3-coder" + "provider_model": "mistralai/codestral-2508", + "canonical_model": "mistralai/codestral" }, { - "provider_model": "qwen/qwen3-coder-30b-a3b-instruct", - "canonical_model": "qwen/qwen3-coder-30b-a3b-instruct" + "provider_model": "mistralai/devstral-2512", + "canonical_model": "mistralai/devstral" }, { - "provider_model": "qwen/qwen3-coder-flash", - "canonical_model": "qwen/qwen3-coder-flash" + "provider_model": "mistralai/devstral-medium", + "canonical_model": "mistralai/devstral-medium" }, { - "provider_model": "qwen/qwen3-coder-plus", - "canonical_model": "qwen/qwen3-coder-plus" + "provider_model": "mistralai/devstral-small", + "canonical_model": "mistralai/devstral-small" }, { - "provider_model": "qwen/qwen3-coder:exacto", - "canonical_model": "qwen/qwen3-coder" + "provider_model": "mistralai/ministral-14b-2512", + "canonical_model": "mistralai/ministral-14b" }, { - "provider_model": "qwen/qwen3-max", - "canonical_model": "qwen/qwen3-max" + "provider_model": "mistralai/ministral-3b", + "canonical_model": "mistralai/ministral-3b" }, { - "provider_model": "qwen/qwen3-next-80b-a3b-instruct", - "canonical_model": "qwen/qwen3-next-80b-a3b-instruct" + "provider_model": "mistralai/ministral-3b-2512", + "canonical_model": "mistralai/ministral-3b" }, { - "provider_model": "qwen/qwen3-next-80b-a3b-thinking", - "canonical_model": "qwen/qwen3-next-80b-a3b-thinking" + "provider_model": "mistralai/ministral-8b", + "canonical_model": "mistralai/ministral-8b" }, { - "provider_model": "qwen/qwen3-vl-235b-a22b-instruct", - "canonical_model": "qwen/qwen3-vl-235b-a22b-instruct" + "provider_model": "mistralai/ministral-8b-2512", + "canonical_model": "mistralai/ministral-8b" }, { - "provider_model": "qwen/qwen3-vl-235b-a22b-thinking", - "canonical_model": "qwen/qwen3-vl-235b-a22b-thinking" + "provider_model": "mistralai/mistral-7b-instruct", + "canonical_model": "mistralai/mistral-7b-instruct" }, { - "provider_model": "qwen/qwen3-vl-30b-a3b-instruct", - "canonical_model": "qwen/qwen3-vl-30b-a3b-instruct" + "provider_model": "mistralai/mistral-large", + "canonical_model": "mistralai/mistral-large" }, { - "provider_model": "qwen/qwen3-vl-30b-a3b-thinking", - "canonical_model": "qwen/qwen3-vl-30b-a3b-thinking" + "provider_model": "mistralai/mistral-large-2407", + "canonical_model": "mistralai/mistral-large" }, { - "provider_model": "qwen/qwen3-vl-8b-instruct", - "canonical_model": "qwen/qwen3-vl-8b-instruct" + "provider_model": "mistralai/mistral-large-2411", + "canonical_model": "mistralai/mistral-large" }, { - "provider_model": "qwen/qwen3-vl-8b-thinking", - "canonical_model": "qwen/qwen3-vl-8b-thinking" + "provider_model": "mistralai/mistral-large-2512", + "canonical_model": "mistralai/mistral-large" }, { - "provider_model": "qwen/qwq-32b", - "canonical_model": "qwen/qwq-32b" + "provider_model": "mistralai/mistral-medium-3", + "canonical_model": "mistralai/mistral-medium-3" }, { - "provider_model": "x-ai/grok-3", - "canonical_model": "x-ai/grok-3" + "provider_model": "mistralai/mistral-medium-3.1", + "canonical_model": "mistralai/mistral-medium-3.1" }, { - "provider_model": "x-ai/grok-3-mini", - "canonical_model": "x-ai/grok-3-mini" + "provider_model": "mistralai/mistral-nemo", + "canonical_model": "mistralai/mistral-nemo" }, { - "provider_model": "x-ai/grok-4", - "canonical_model": "x-ai/grok-4" + "provider_model": "mistralai/mistral-saba", + "canonical_model": "mistralai/mistral-saba" }, { - "provider_model": "x-ai/grok-4-fast", - "canonical_model": "x-ai/grok-4-fast" + "provider_model": "mistralai/mistral-small-24b-instruct-2501", + "canonical_model": "mistralai/mistral-small-24b-instruct" }, { - "provider_model": "x-ai/grok-4.1-fast", - "canonical_model": "x-ai/grok-4.1-fast" + "provider_model": "mistralai/mistral-small-3.1-24b-instruct", + "canonical_model": "mistralai/mistral-small-3.1-24b-instruct" }, { - "provider_model": "x-ai/grok-code-fast-1", - "canonical_model": "x-ai/grok-code-fast-1" - } - ], - "openai": [ + "provider_model": "mistralai/mistral-small-3.2-24b-instruct", + "canonical_model": "mistralai/mistral-small-3.2-24b-instruct" + }, { - "provider_model": "chatgpt-4o-latest", - "canonical_model": "openai/chatgpt-4o" + "provider_model": "mistralai/mistral-small-creative", + "canonical_model": "mistralai/mistral-small-creative" }, { - "provider_model": "codex-mini-latest", - "canonical_model": "openai/codex-mini" + "provider_model": "mistralai/mistral-tiny", + "canonical_model": "mistralai/mistral-tiny" }, { - "provider_model": "gpt-3.5-turbo", - "canonical_model": "openai/gpt-3.5-turbo" + "provider_model": "mistralai/mixtral-8x22b-instruct", + "canonical_model": "mistralai/mixtral-8x22b-instruct" }, { - "provider_model": "gpt-3.5-turbo-0125", - "canonical_model": "openai/gpt-3.5-turbo" + "provider_model": "mistralai/mixtral-8x7b-instruct", + "canonical_model": "mistralai/mixtral-8x7b-instruct" }, { - "provider_model": "gpt-3.5-turbo-1106", - "canonical_model": "openai/gpt-3.5-turbo" + "provider_model": "mistralai/pixtral-12b", + "canonical_model": "mistralai/pixtral-12b" }, { - "provider_model": "gpt-3.5-turbo-16k", - "canonical_model": "openai/gpt-3.5-turbo-16k" + "provider_model": "mistralai/pixtral-large-2411", + "canonical_model": "mistralai/pixtral-large" }, { - "provider_model": "gpt-3.5-turbo-instruct", - "canonical_model": "openai/gpt-3.5-turbo-instruct" + "provider_model": "mistralai/voxtral-small-24b-2507", + "canonical_model": "mistralai/voxtral-small-24b" }, { - "provider_model": "gpt-3.5-turbo-instruct-0914", - "canonical_model": "openai/gpt-3.5-turbo-instruct" + "provider_model": "openai/codex-mini", + "canonical_model": "openai/codex-mini" }, { - "provider_model": "gpt-4", - "canonical_model": "openai/gpt-4" + "provider_model": "openai/gpt-3.5-turbo", + "canonical_model": "openai/gpt-3.5-turbo" }, { - "provider_model": "gpt-4-0125-preview", - "canonical_model": "openai/gpt-4" + "provider_model": "openai/gpt-3.5-turbo-0613", + "canonical_model": "openai/gpt-3.5-turbo" }, { - "provider_model": "gpt-4-0314", - "canonical_model": "openai/gpt-4" + "provider_model": "openai/gpt-3.5-turbo-16k", + "canonical_model": "openai/gpt-3.5-turbo-16k" }, { - "provider_model": "gpt-4-0613", + "provider_model": "openai/gpt-4", "canonical_model": "openai/gpt-4" }, { - "provider_model": "gpt-4-1106-preview", + "provider_model": "openai/gpt-4-0314", "canonical_model": "openai/gpt-4" }, { - "provider_model": "gpt-4-turbo", - "canonical_model": "openai/gpt-4-turbo" + "provider_model": "openai/gpt-4-1106-preview", + "canonical_model": "openai/gpt-4" }, { - "provider_model": "gpt-4-turbo-2024-04-09", + "provider_model": "openai/gpt-4-turbo", "canonical_model": "openai/gpt-4-turbo" }, { - "provider_model": "gpt-4-turbo-preview", + "provider_model": "openai/gpt-4-turbo-preview", "canonical_model": "openai/gpt-4-turbo" }, { - "provider_model": "gpt-4.1", - "canonical_model": "openai/gpt-4.1" - }, - { - "provider_model": "gpt-4.1-2025-04-14", + "provider_model": "openai/gpt-4.1", "canonical_model": "openai/gpt-4.1" }, { - "provider_model": "gpt-4.1-mini", - "canonical_model": "openai/gpt-4.1-mini" - }, - { - "provider_model": "gpt-4.1-mini-2025-04-14", + "provider_model": "openai/gpt-4.1-mini", "canonical_model": "openai/gpt-4.1-mini" }, { - "provider_model": "gpt-4.1-nano", - "canonical_model": "openai/gpt-4.1-nano" - }, - { - "provider_model": "gpt-4.1-nano-2025-04-14", + "provider_model": "openai/gpt-4.1-nano", "canonical_model": "openai/gpt-4.1-nano" }, { - "provider_model": "gpt-4o", + "provider_model": "openai/gpt-4o", "canonical_model": "openai/gpt-4o" }, { - "provider_model": "gpt-4o-2024-05-13", + "provider_model": "openai/gpt-4o-2024-05-13", "canonical_model": "openai/gpt-4o" }, { - "provider_model": "gpt-4o-2024-08-06", + "provider_model": "openai/gpt-4o-2024-08-06", "canonical_model": "openai/gpt-4o" }, { - "provider_model": "gpt-4o-2024-11-20", + "provider_model": "openai/gpt-4o-2024-11-20", "canonical_model": "openai/gpt-4o" }, { - "provider_model": "gpt-4o-audio-preview", - "canonical_model": "openai/gpt-4o-audio" - }, - { - "provider_model": "gpt-4o-audio-preview-2024-12-17", - "canonical_model": "openai/gpt-4o-audio" - }, - { - "provider_model": "gpt-4o-audio-preview-2025-06-03", + "provider_model": "openai/gpt-4o-audio-preview", "canonical_model": "openai/gpt-4o-audio" }, { - "provider_model": "gpt-4o-mini", + "provider_model": "openai/gpt-4o-mini", "canonical_model": "openai/gpt-4o-mini" }, { - "provider_model": "gpt-4o-mini-2024-07-18", + "provider_model": "openai/gpt-4o-mini-2024-07-18", "canonical_model": "openai/gpt-4o-mini" }, { - "provider_model": "gpt-4o-mini-search-preview", - "canonical_model": "openai/gpt-4o-mini-search" + "provider_model": "openai/gpt-4o:extended", + "canonical_model": "openai/gpt-4o:extended" }, { - "provider_model": "gpt-4o-mini-search-preview-2025-03-11", - "canonical_model": "openai/gpt-4o-mini-search" + "provider_model": "openai/gpt-5", + "canonical_model": "openai/gpt-5" }, { - "provider_model": "gpt-4o-search-preview", - "canonical_model": "openai/gpt-4o-search" + "provider_model": "openai/gpt-5-codex", + "canonical_model": "openai/gpt-5-codex" }, { - "provider_model": "gpt-4o-search-preview-2025-03-11", - "canonical_model": "openai/gpt-4o-search" + "provider_model": "openai/gpt-5-image", + "canonical_model": "openai/gpt-5-image" }, { - "provider_model": "gpt-5", - "canonical_model": "openai/gpt-5" + "provider_model": "openai/gpt-5-image-mini", + "canonical_model": "openai/gpt-5-image-mini" }, { - "provider_model": "gpt-5-2025-08-07", - "canonical_model": "openai/gpt-5" + "provider_model": "openai/gpt-5-mini", + "canonical_model": "openai/gpt-5-mini" }, { - "provider_model": "gpt-5-chat-latest", - "canonical_model": "openai/gpt-5-chat" + "provider_model": "openai/gpt-5-nano", + "canonical_model": "openai/gpt-5-nano" }, { - "provider_model": "gpt-5-codex", - "canonical_model": "openai/gpt-5-codex" + "provider_model": "openai/gpt-5-pro", + "canonical_model": "openai/gpt-5-pro" }, { - "provider_model": "gpt-5-mini", - "canonical_model": "openai/gpt-5-mini" + "provider_model": "openai/gpt-5.1", + "canonical_model": "openai/gpt-5.1" }, { - "provider_model": "gpt-5-mini-2025-08-07", - "canonical_model": "openai/gpt-5-mini" + "provider_model": "openai/gpt-5.1-chat", + "canonical_model": "openai/gpt-5.1-chat" }, { - "provider_model": "gpt-5-nano", - "canonical_model": "openai/gpt-5-nano" + "provider_model": "openai/gpt-5.1-codex", + "canonical_model": "openai/gpt-5.1-codex" }, { - "provider_model": "gpt-5-nano-2025-08-07", - "canonical_model": "openai/gpt-5-nano" + "provider_model": "openai/gpt-5.1-codex-max", + "canonical_model": "openai/gpt-5.1-codex-max" }, { - "provider_model": "gpt-5-pro", - "canonical_model": "openai/gpt-5-pro" + "provider_model": "openai/gpt-5.1-codex-mini", + "canonical_model": "openai/gpt-5.1-codex-mini" }, { - "provider_model": "gpt-5-pro-2025-10-06", - "canonical_model": "openai/gpt-5-pro" + "provider_model": "openai/gpt-5.2", + "canonical_model": "openai/gpt-5.2" }, { - "provider_model": "gpt-5.1", - "canonical_model": "openai/gpt-5.1" + "provider_model": "openai/gpt-5.2-chat", + "canonical_model": "openai/gpt-5.2-chat" }, { - "provider_model": "gpt-5.1-2025-11-13", - "canonical_model": "openai/gpt-5.1" + "provider_model": "openai/gpt-5.2-pro", + "canonical_model": "openai/gpt-5.2-pro" }, { - "provider_model": "gpt-5.1-chat-latest", - "canonical_model": "openai/gpt-5.1-chat" + "provider_model": "openai/gpt-oss-120b", + "canonical_model": "openai/gpt-oss-120b" }, { - "provider_model": "gpt-5.1-codex", - "canonical_model": "openai/gpt-5.1-codex" + "provider_model": "openai/gpt-oss-120b:exacto", + "canonical_model": "openai/gpt-oss-120b" }, { - "provider_model": "gpt-5.1-codex-max", - "canonical_model": "openai/gpt-5.1-codex-max" + "provider_model": "openai/gpt-oss-20b", + "canonical_model": "openai/gpt-oss-20b" }, { - "provider_model": "gpt-5.1-codex-mini", - "canonical_model": "openai/gpt-5.1-codex-mini" + "provider_model": "openai/gpt-oss-safeguard-20b", + "canonical_model": "openai/gpt-oss-safeguard-20b" }, { - "provider_model": "gpt-5.2", - "canonical_model": "openai/gpt-5.2" + "provider_model": "openai/o1", + "canonical_model": "openai/o1" }, { - "provider_model": "gpt-5.2-2025-12-11", - "canonical_model": "openai/gpt-5.2" + "provider_model": "openai/o3", + "canonical_model": "openai/o3" }, { - "provider_model": "gpt-5.2-chat-latest", - "canonical_model": "openai/gpt-5.2-chat" + "provider_model": "openai/o3-deep-research", + "canonical_model": "openai/o3-deep-research" }, { - "provider_model": "gpt-5.2-pro", - "canonical_model": "openai/gpt-5.2-pro" + "provider_model": "openai/o3-mini", + "canonical_model": "openai/o3-mini" }, { - "provider_model": "gpt-5.2-pro-2025-12-11", - "canonical_model": "openai/gpt-5.2-pro" + "provider_model": "openai/o3-mini-high", + "canonical_model": "openai/o3-mini-high" }, { - "provider_model": "o1", - "canonical_model": "openai/o1" + "provider_model": "openai/o3-pro", + "canonical_model": "openai/o3-pro" }, { - "provider_model": "o1-2024-12-17", - "canonical_model": "openai/o1" + "provider_model": "openai/o4-mini", + "canonical_model": "openai/o4-mini" }, { - "provider_model": "o1-pro", - "canonical_model": "openai/o1-pro" + "provider_model": "openai/o4-mini-deep-research", + "canonical_model": "openai/o4-mini-deep-research" }, { - "provider_model": "o1-pro-2025-03-19", - "canonical_model": "openai/o1-pro" + "provider_model": "openai/o4-mini-high", + "canonical_model": "openai/o4-mini-high" }, { - "provider_model": "o3", - "canonical_model": "openai/o3" + "provider_model": "qwen/qwen-2.5-72b-instruct", + "canonical_model": "qwen/qwen-2.5-72b-instruct" }, { - "provider_model": "o3-2025-04-16", - "canonical_model": "openai/o3" + "provider_model": "qwen/qwen-max", + "canonical_model": "qwen/qwen-max" }, { - "provider_model": "o3-deep-research", - "canonical_model": "openai/o3-deep-research" + "provider_model": "qwen/qwen-plus", + "canonical_model": "qwen/qwen-plus" }, { - "provider_model": "o3-deep-research-2025-06-26", - "canonical_model": "openai/o3-deep-research" + "provider_model": "qwen/qwen-plus-2025-07-28", + "canonical_model": "qwen/qwen-plus" }, { - "provider_model": "o3-mini", - "canonical_model": "openai/o3-mini" + "provider_model": "qwen/qwen-plus-2025-07-28:thinking", + "canonical_model": "qwen/qwen-plus-2025-07-28:thinking" }, { - "provider_model": "o3-mini-2025-01-31", - "canonical_model": "openai/o3-mini" + "provider_model": "qwen/qwen-turbo", + "canonical_model": "qwen/qwen-turbo" }, { - "provider_model": "o3-pro", - "canonical_model": "openai/o3-pro" + "provider_model": "qwen/qwen-vl-max", + "canonical_model": "qwen/qwen-vl-max" }, { - "provider_model": "o3-pro-2025-06-10", - "canonical_model": "openai/o3-pro" + "provider_model": "qwen/qwen3-14b", + "canonical_model": "qwen/qwen3-14b" }, { - "provider_model": "o4-mini", - "canonical_model": "openai/o4-mini" + "provider_model": "qwen/qwen3-235b-a22b", + "canonical_model": "qwen/qwen3-235b-a22b" }, { - "provider_model": "o4-mini-2025-04-16", - "canonical_model": "openai/o4-mini" + "provider_model": "qwen/qwen3-235b-a22b-2507", + "canonical_model": "qwen/qwen3-235b-a22b" }, { - "provider_model": "o4-mini-deep-research", - "canonical_model": "openai/o4-mini-deep-research" + "provider_model": "qwen/qwen3-235b-a22b-thinking-2507", + "canonical_model": "qwen/qwen3-235b-a22b-thinking" }, { - "provider_model": "o4-mini-deep-research-2025-06-26", - "canonical_model": "openai/o4-mini-deep-research" - } - ], - "tetrate": [], - "xai": [], - "google": [ + "provider_model": "qwen/qwen3-30b-a3b", + "canonical_model": "qwen/qwen3-30b-a3b" + }, { - "provider_model": "gemini-2.0-flash", - "canonical_model": "google/gemini-2.0-flash" + "provider_model": "qwen/qwen3-30b-a3b-instruct-2507", + "canonical_model": "qwen/qwen3-30b-a3b-instruct" }, { - "provider_model": "gemini-2.0-flash-001", - "canonical_model": "google/gemini-2.0-flash" + "provider_model": "qwen/qwen3-30b-a3b-thinking-2507", + "canonical_model": "qwen/qwen3-30b-a3b-thinking" }, { - "provider_model": "gemini-2.0-flash-exp", - "canonical_model": "google/gemini-2.0-flash" + "provider_model": "qwen/qwen3-32b", + "canonical_model": "qwen/qwen3-32b" }, { - "provider_model": "gemini-2.0-flash-lite", - "canonical_model": "google/gemini-2.0-flash-lite" + "provider_model": "qwen/qwen3-8b", + "canonical_model": "qwen/qwen3-8b" }, { - "provider_model": "gemini-2.0-flash-lite-001", - "canonical_model": "google/gemini-2.0-flash-lite" + "provider_model": "qwen/qwen3-coder", + "canonical_model": "qwen/qwen3-coder" }, { - "provider_model": "gemini-2.0-flash-lite-preview", - "canonical_model": "google/gemini-2.0-flash-lite" + "provider_model": "qwen/qwen3-coder-30b-a3b-instruct", + "canonical_model": "qwen/qwen3-coder-30b-a3b-instruct" }, { - "provider_model": "gemini-2.0-flash-lite-preview-02-05", - "canonical_model": "google/gemini-2.0-flash-lite" + "provider_model": "qwen/qwen3-coder-flash", + "canonical_model": "qwen/qwen3-coder-flash" }, { - "provider_model": "gemini-2.5-flash", - "canonical_model": "google/gemini-2.5-flash" + "provider_model": "qwen/qwen3-coder-plus", + "canonical_model": "qwen/qwen3-coder-plus" }, { - "provider_model": "gemini-2.5-flash-image", - "canonical_model": "google/gemini-2.5-flash-image" + "provider_model": "qwen/qwen3-coder:exacto", + "canonical_model": "qwen/qwen3-coder" }, { - "provider_model": "gemini-2.5-flash-image-preview", - "canonical_model": "google/gemini-2.5-flash-image" + "provider_model": "qwen/qwen3-max", + "canonical_model": "qwen/qwen3-max" }, { - "provider_model": "gemini-2.5-flash-lite", - "canonical_model": "google/gemini-2.5-flash-lite" + "provider_model": "qwen/qwen3-next-80b-a3b-instruct", + "canonical_model": "qwen/qwen3-next-80b-a3b-instruct" }, { - "provider_model": "gemini-2.5-flash-lite-preview-09-2025", - "canonical_model": "google/gemini-2.5-flash-lite" + "provider_model": "qwen/qwen3-next-80b-a3b-thinking", + "canonical_model": "qwen/qwen3-next-80b-a3b-thinking" }, { - "provider_model": "gemini-2.5-flash-preview-09-2025", - "canonical_model": "google/gemini-2.5-flash" + "provider_model": "qwen/qwen3-vl-235b-a22b-instruct", + "canonical_model": "qwen/qwen3-vl-235b-a22b-instruct" }, { - "provider_model": "gemini-2.5-pro", - "canonical_model": "google/gemini-2.5-pro" + "provider_model": "qwen/qwen3-vl-235b-a22b-thinking", + "canonical_model": "qwen/qwen3-vl-235b-a22b-thinking" }, { - "provider_model": "gemini-3-flash-preview", - "canonical_model": "google/gemini-3-flash" + "provider_model": "qwen/qwen3-vl-30b-a3b-instruct", + "canonical_model": "qwen/qwen3-vl-30b-a3b-instruct" }, { - "provider_model": "gemini-3-pro-image-preview", - "canonical_model": "google/gemini-3-pro-image" + "provider_model": "qwen/qwen3-vl-30b-a3b-thinking", + "canonical_model": "qwen/qwen3-vl-30b-a3b-thinking" }, { - "provider_model": "gemini-3-pro-preview", - "canonical_model": "google/gemini-3-pro" + "provider_model": "qwen/qwen3-vl-8b-instruct", + "canonical_model": "qwen/qwen3-vl-8b-instruct" }, { - "provider_model": "gemma-3-12b-it", - "canonical_model": "google/gemma-3-12b-it" + "provider_model": "qwen/qwen3-vl-8b-thinking", + "canonical_model": "qwen/qwen3-vl-8b-thinking" }, { - "provider_model": "gemma-3-27b-it", - "canonical_model": "google/gemma-3-27b-it" + "provider_model": "qwen/qwq-32b", + "canonical_model": "qwen/qwq-32b" }, { - "provider_model": "gemma-3-4b-it", - "canonical_model": "google/gemma-3-4b-it" + "provider_model": "x-ai/grok-3", + "canonical_model": "x-ai/grok-3" }, { - "provider_model": "gemma-3n-e4b-it", - "canonical_model": "google/gemma-3n-e4b-it" + "provider_model": "x-ai/grok-3-mini", + "canonical_model": "x-ai/grok-3-mini" + }, + { + "provider_model": "x-ai/grok-4", + "canonical_model": "x-ai/grok-4" + }, + { + "provider_model": "x-ai/grok-4-fast", + "canonical_model": "x-ai/grok-4-fast" + }, + { + "provider_model": "x-ai/grok-4.1-fast", + "canonical_model": "x-ai/grok-4.1-fast" + }, + { + "provider_model": "x-ai/grok-code-fast-1", + "canonical_model": "x-ai/grok-code-fast-1" } - ] + ], + "tetrate": [], + "xai": [] }, "mapped_models": [ { "provider": "anthropic", - "model": "claude-opus-4-1-20250805", - "canonical": "anthropic/claude-opus-4.1" + "model": "claude-3-5-haiku-20241022", + "canonical": "anthropic/claude-3.5-haiku" }, { "provider": "anthropic", - "model": "claude-opus-4-20250514", - "canonical": "anthropic/claude-opus-4" + "model": "claude-3-7-sonnet-20250219", + "canonical": "anthropic/claude-3.7-sonnet" }, { "provider": "anthropic", - "model": "claude-sonnet-4-5-20250929", - "canonical": "anthropic/claude-sonnet-4.5" + "model": "claude-3-haiku-20240307", + "canonical": "anthropic/claude-3-haiku" }, { "provider": "anthropic", - "model": "claude-3-5-haiku-20241022", - "canonical": "anthropic/claude-3.5-haiku" + "model": "claude-haiku-4-5-20251001", + "canonical": "anthropic/claude-haiku-4.5" }, { "provider": "anthropic", - "model": "claude-opus-4-5-20251101", - "canonical": "anthropic/claude-opus-4.5" + "model": "claude-opus-4-1-20250805", + "canonical": "anthropic/claude-opus-4.1" }, { "provider": "anthropic", - "model": "claude-3-haiku-20240307", - "canonical": "anthropic/claude-3-haiku" + "model": "claude-opus-4-20250514", + "canonical": "anthropic/claude-opus-4" + }, + { + "provider": "anthropic", + "model": "claude-opus-4-5-20251101", + "canonical": "anthropic/claude-opus-4.5" }, { "provider": "anthropic", @@ -3804,83 +3801,113 @@ }, { "provider": "anthropic", - "model": "claude-3-7-sonnet-20250219", - "canonical": "anthropic/claude-3.7-sonnet" + "model": "claude-sonnet-4-5-20250929", + "canonical": "anthropic/claude-sonnet-4.5" }, { - "provider": "anthropic", - "model": "claude-haiku-4-5-20251001", - "canonical": "anthropic/claude-haiku-4.5" + "provider": "google", + "model": "gemini-2.0-flash", + "canonical": "google/gemini-2.0-flash" }, { - "provider": "openai", - "model": "gpt-4o-mini", - "canonical": "openai/gpt-4o-mini" + "provider": "google", + "model": "gemini-2.0-flash-001", + "canonical": "google/gemini-2.0-flash" }, { - "provider": "openai", - "model": "gpt-5-pro", - "canonical": "openai/gpt-5-pro" + "provider": "google", + "model": "gemini-2.0-flash-exp", + "canonical": "google/gemini-2.0-flash" }, { - "provider": "openai", - "model": "gpt-4o-audio-preview-2025-06-03", - "canonical": "openai/gpt-4o-audio" + "provider": "google", + "model": "gemini-2.0-flash-lite", + "canonical": "google/gemini-2.0-flash-lite" }, { - "provider": "openai", - "model": "gpt-5.1-2025-11-13", - "canonical": "openai/gpt-5.1" + "provider": "google", + "model": "gemini-2.0-flash-lite-001", + "canonical": "google/gemini-2.0-flash-lite" }, { - "provider": "openai", - "model": "o3", - "canonical": "openai/o3" + "provider": "google", + "model": "gemini-2.0-flash-lite-preview", + "canonical": "google/gemini-2.0-flash-lite" }, { - "provider": "openai", - "model": "gpt-3.5-turbo-instruct-0914", - "canonical": "openai/gpt-3.5-turbo-instruct" + "provider": "google", + "model": "gemini-2.0-flash-lite-preview-02-05", + "canonical": "google/gemini-2.0-flash-lite" }, { - "provider": "openai", - "model": "gpt-4-0613", - "canonical": "openai/gpt-4" + "provider": "google", + "model": "gemini-2.5-flash", + "canonical": "google/gemini-2.5-flash" }, { - "provider": "openai", - "model": "o3-deep-research-2025-06-26", - "canonical": "openai/o3-deep-research" + "provider": "google", + "model": "gemini-2.5-flash-image", + "canonical": "google/gemini-2.5-flash-image" }, { - "provider": "openai", - "model": "gpt-4o-2024-11-20", - "canonical": "openai/gpt-4o" + "provider": "google", + "model": "gemini-2.5-flash-image-preview", + "canonical": "google/gemini-2.5-flash-image" }, { - "provider": "openai", - "model": "codex-mini-latest", - "canonical": "openai/codex-mini" + "provider": "google", + "model": "gemini-2.5-flash-lite", + "canonical": "google/gemini-2.5-flash-lite" }, { - "provider": "openai", - "model": "gpt-4-turbo", - "canonical": "openai/gpt-4-turbo" + "provider": "google", + "model": "gemini-2.5-flash-lite-preview-09-2025", + "canonical": "google/gemini-2.5-flash-lite" }, { - "provider": "openai", - "model": "o4-mini-2025-04-16", - "canonical": "openai/o4-mini" + "provider": "google", + "model": "gemini-2.5-flash-preview-09-2025", + "canonical": "google/gemini-2.5-flash" }, { - "provider": "openai", - "model": "gpt-3.5-turbo-1106", - "canonical": "openai/gpt-3.5-turbo" + "provider": "google", + "model": "gemini-2.5-pro", + "canonical": "google/gemini-2.5-pro" }, { - "provider": "openai", - "model": "gpt-5-2025-08-07", - "canonical": "openai/gpt-5" + "provider": "google", + "model": "gemini-3-flash-preview", + "canonical": "google/gemini-3-flash" + }, + { + "provider": "google", + "model": "gemini-3-pro-image-preview", + "canonical": "google/gemini-3-pro-image" + }, + { + "provider": "google", + "model": "gemini-3-pro-preview", + "canonical": "google/gemini-3-pro" + }, + { + "provider": "google", + "model": "gemma-3-12b-it", + "canonical": "google/gemma-3-12b-it" + }, + { + "provider": "google", + "model": "gemma-3-27b-it", + "canonical": "google/gemma-3-27b-it" + }, + { + "provider": "google", + "model": "gemma-3-4b-it", + "canonical": "google/gemma-3-4b-it" + }, + { + "provider": "google", + "model": "gemma-3n-e4b-it", + "canonical": "google/gemma-3n-e4b-it" }, { "provider": "openai", @@ -3889,68 +3916,68 @@ }, { "provider": "openai", - "model": "gpt-5.2-2025-12-11", - "canonical": "openai/gpt-5.2" + "model": "codex-mini-latest", + "canonical": "openai/codex-mini" }, { "provider": "openai", - "model": "gpt-5-mini", - "canonical": "openai/gpt-5-mini" + "model": "gpt-3.5-turbo", + "canonical": "openai/gpt-3.5-turbo" }, { "provider": "openai", - "model": "o4-mini-deep-research", - "canonical": "openai/o4-mini-deep-research" + "model": "gpt-3.5-turbo-0125", + "canonical": "openai/gpt-3.5-turbo" }, { "provider": "openai", - "model": "o3-2025-04-16", - "canonical": "openai/o3" + "model": "gpt-3.5-turbo-1106", + "canonical": "openai/gpt-3.5-turbo" }, { "provider": "openai", - "model": "gpt-5-codex", - "canonical": "openai/gpt-5-codex" + "model": "gpt-3.5-turbo-16k", + "canonical": "openai/gpt-3.5-turbo-16k" }, { "provider": "openai", - "model": "gpt-4-1106-preview", - "canonical": "openai/gpt-4" + "model": "gpt-3.5-turbo-instruct", + "canonical": "openai/gpt-3.5-turbo-instruct" }, { "provider": "openai", - "model": "gpt-5-mini-2025-08-07", - "canonical": "openai/gpt-5-mini" + "model": "gpt-3.5-turbo-instruct-0914", + "canonical": "openai/gpt-3.5-turbo-instruct" }, { "provider": "openai", - "model": "gpt-4o-search-preview", - "canonical": "openai/gpt-4o-search" + "model": "gpt-4", + "canonical": "openai/gpt-4" }, { "provider": "openai", - "model": "gpt-5.1-codex-max", - "canonical": "openai/gpt-5.1-codex-max" + "model": "gpt-4-0125-preview", + "canonical": "openai/gpt-4" }, { "provider": "openai", - "model": "gpt-5.2", - "canonical": "openai/gpt-5.2" + "model": "gpt-4-0314", + "canonical": "openai/gpt-4" }, { "provider": "openai", - "model": "gpt-5.2-pro-2025-12-11", - "canonical": "openai/gpt-5.2-pro" + "model": "gpt-4-0613", + "canonical": "openai/gpt-4" }, { "provider": "openai", - "model": "o1-pro", - "canonical": "openai/o1-pro" + "model": "gpt-4-1106-preview", + "canonical": "openai/gpt-4" }, { "provider": "openai", - "model": "gpt-5", - "canonical": "openai/gpt-5" + "model": "gpt-4-turbo", + "canonical": "openai/gpt-4-turbo" }, { "provider": "openai", @@ -3959,8 +3986,8 @@ }, { "provider": "openai", - "model": "gpt-4.1-mini", - "canonical": "openai/gpt-4.1-mini" + "model": "gpt-4-turbo-preview", + "canonical": "openai/gpt-4-turbo" }, { "provider": "openai", @@ -3969,333 +3996,343 @@ }, { "provider": "openai", - "model": "o3-mini", - "canonical": "openai/o3-mini" + "model": "gpt-4.1-2025-04-14", + "canonical": "openai/gpt-4.1" }, { "provider": "openai", - "model": "gpt-4o", - "canonical": "openai/gpt-4o" + "model": "gpt-4.1-mini", + "canonical": "openai/gpt-4.1-mini" }, { "provider": "openai", - "model": "gpt-4o-audio-preview", - "canonical": "openai/gpt-4o-audio" + "model": "gpt-4.1-mini-2025-04-14", + "canonical": "openai/gpt-4.1-mini" }, { "provider": "openai", - "model": "o3-deep-research", - "canonical": "openai/o3-deep-research" + "model": "gpt-4.1-nano", + "canonical": "openai/gpt-4.1-nano" }, { "provider": "openai", - "model": "gpt-4.1-nano", + "model": "gpt-4.1-nano-2025-04-14", "canonical": "openai/gpt-4.1-nano" }, { "provider": "openai", - "model": "gpt-5.1", - "canonical": "openai/gpt-5.1" + "model": "gpt-4o", + "canonical": "openai/gpt-4o" }, { "provider": "openai", - "model": "gpt-5.1-codex", - "canonical": "openai/gpt-5.1-codex" + "model": "gpt-4o-2024-05-13", + "canonical": "openai/gpt-4o" }, { "provider": "openai", - "model": "o4-mini", - "canonical": "openai/o4-mini" + "model": "gpt-4o-2024-08-06", + "canonical": "openai/gpt-4o" }, { "provider": "openai", - "model": "gpt-4.1-nano-2025-04-14", - "canonical": "openai/gpt-4.1-nano" + "model": "gpt-4o-2024-11-20", + "canonical": "openai/gpt-4o" }, { "provider": "openai", - "model": "gpt-5-pro-2025-10-06", - "canonical": "openai/gpt-5-pro" + "model": "gpt-4o-audio-preview", + "canonical": "openai/gpt-4o-audio" }, { "provider": "openai", - "model": "gpt-5.2-chat-latest", - "canonical": "openai/gpt-5.2-chat" + "model": "gpt-4o-audio-preview-2024-12-17", + "canonical": "openai/gpt-4o-audio" }, { "provider": "openai", - "model": "gpt-4-0314", - "canonical": "openai/gpt-4" + "model": "gpt-4o-audio-preview-2025-06-03", + "canonical": "openai/gpt-4o-audio" }, { "provider": "openai", - "model": "gpt-4", - "canonical": "openai/gpt-4" + "model": "gpt-4o-mini", + "canonical": "openai/gpt-4o-mini" }, { "provider": "openai", - "model": "gpt-4-turbo-preview", - "canonical": "openai/gpt-4-turbo" + "model": "gpt-4o-mini-2024-07-18", + "canonical": "openai/gpt-4o-mini" }, { "provider": "openai", - "model": "gpt-3.5-turbo", - "canonical": "openai/gpt-3.5-turbo" + "model": "gpt-4o-mini-search-preview", + "canonical": "openai/gpt-4o-mini-search" }, { "provider": "openai", - "model": "gpt-5-chat-latest", - "canonical": "openai/gpt-5-chat" + "model": "gpt-4o-mini-search-preview-2025-03-11", + "canonical": "openai/gpt-4o-mini-search" }, { "provider": "openai", - "model": "gpt-4-0125-preview", - "canonical": "openai/gpt-4" + "model": "gpt-4o-search-preview", + "canonical": "openai/gpt-4o-search" }, { "provider": "openai", - "model": "gpt-5-nano", - "canonical": "openai/gpt-5-nano" + "model": "gpt-4o-search-preview-2025-03-11", + "canonical": "openai/gpt-4o-search" }, { "provider": "openai", - "model": "o1", - "canonical": "openai/o1" + "model": "gpt-5", + "canonical": "openai/gpt-5" }, { "provider": "openai", - "model": "o1-2024-12-17", - "canonical": "openai/o1" + "model": "gpt-5-2025-08-07", + "canonical": "openai/gpt-5" }, { "provider": "openai", - "model": "o4-mini-deep-research-2025-06-26", - "canonical": "openai/o4-mini-deep-research" + "model": "gpt-5-chat-latest", + "canonical": "openai/gpt-5-chat" }, { "provider": "openai", - "model": "gpt-4o-mini-search-preview", - "canonical": "openai/gpt-4o-mini-search" + "model": "gpt-5-codex", + "canonical": "openai/gpt-5-codex" }, { "provider": "openai", - "model": "gpt-4o-2024-08-06", - "canonical": "openai/gpt-4o" + "model": "gpt-5-mini", + "canonical": "openai/gpt-5-mini" }, { "provider": "openai", - "model": "o1-pro-2025-03-19", - "canonical": "openai/o1-pro" + "model": "gpt-5-mini-2025-08-07", + "canonical": "openai/gpt-5-mini" }, { "provider": "openai", - "model": "gpt-3.5-turbo-16k", - "canonical": "openai/gpt-3.5-turbo-16k" + "model": "gpt-5-nano", + "canonical": "openai/gpt-5-nano" }, { "provider": "openai", - "model": "gpt-5.1-codex-mini", - "canonical": "openai/gpt-5.1-codex-mini" + "model": "gpt-5-nano-2025-08-07", + "canonical": "openai/gpt-5-nano" }, { "provider": "openai", - "model": "gpt-4.1-2025-04-14", - "canonical": "openai/gpt-4.1" + "model": "gpt-5-pro", + "canonical": "openai/gpt-5-pro" }, { "provider": "openai", - "model": "gpt-4.1-mini-2025-04-14", - "canonical": "openai/gpt-4.1-mini" + "model": "gpt-5-pro-2025-10-06", + "canonical": "openai/gpt-5-pro" }, { "provider": "openai", - "model": "o3-mini-2025-01-31", - "canonical": "openai/o3-mini" + "model": "gpt-5.1", + "canonical": "openai/gpt-5.1" }, { "provider": "openai", - "model": "gpt-4o-mini-search-preview-2025-03-11", - "canonical": "openai/gpt-4o-mini-search" + "model": "gpt-5.1-2025-11-13", + "canonical": "openai/gpt-5.1" }, { "provider": "openai", - "model": "gpt-4o-mini-2024-07-18", - "canonical": "openai/gpt-4o-mini" + "model": "gpt-5.1-chat-latest", + "canonical": "openai/gpt-5.1-chat" }, { "provider": "openai", - "model": "o3-pro-2025-06-10", - "canonical": "openai/o3-pro" + "model": "gpt-5.1-codex", + "canonical": "openai/gpt-5.1-codex" }, { "provider": "openai", - "model": "gpt-3.5-turbo-instruct", - "canonical": "openai/gpt-3.5-turbo-instruct" + "model": "gpt-5.1-codex-max", + "canonical": "openai/gpt-5.1-codex-max" }, { "provider": "openai", - "model": "gpt-4o-search-preview-2025-03-11", - "canonical": "openai/gpt-4o-search" + "model": "gpt-5.1-codex-mini", + "canonical": "openai/gpt-5.1-codex-mini" }, { "provider": "openai", - "model": "gpt-4o-audio-preview-2024-12-17", - "canonical": "openai/gpt-4o-audio" + "model": "gpt-5.2", + "canonical": "openai/gpt-5.2" }, { "provider": "openai", - "model": "o3-pro", - "canonical": "openai/o3-pro" + "model": "gpt-5.2-2025-12-11", + "canonical": "openai/gpt-5.2" }, { "provider": "openai", - "model": "gpt-5.1-chat-latest", - "canonical": "openai/gpt-5.1-chat" + "model": "gpt-5.2-chat-latest", + "canonical": "openai/gpt-5.2-chat" }, { "provider": "openai", - "model": "gpt-3.5-turbo-0125", - "canonical": "openai/gpt-3.5-turbo" + "model": "gpt-5.2-pro", + "canonical": "openai/gpt-5.2-pro" }, { "provider": "openai", - "model": "gpt-5.2-pro", + "model": "gpt-5.2-pro-2025-12-11", "canonical": "openai/gpt-5.2-pro" }, { "provider": "openai", - "model": "gpt-5-nano-2025-08-07", - "canonical": "openai/gpt-5-nano" + "model": "o1", + "canonical": "openai/o1" }, { "provider": "openai", - "model": "gpt-4o-2024-05-13", - "canonical": "openai/gpt-4o" + "model": "o1-2024-12-17", + "canonical": "openai/o1" }, { - "provider": "openrouter", - "model": "openai/gpt-4o-mini-2024-07-18", - "canonical": "openai/gpt-4o-mini" + "provider": "openai", + "model": "o1-pro", + "canonical": "openai/o1-pro" }, { - "provider": "openrouter", - "model": "deepseek/deepseek-r1-distill-llama-70b", - "canonical": "deepseek/deepseek-r1-distill-llama-70b" + "provider": "openai", + "model": "o1-pro-2025-03-19", + "canonical": "openai/o1-pro" }, { - "provider": "openrouter", - "model": "qwen/qwen3-30b-a3b", - "canonical": "qwen/qwen3-30b-a3b" + "provider": "openai", + "model": "o3", + "canonical": "openai/o3" }, { - "provider": "openrouter", - "model": "x-ai/grok-4-fast", - "canonical": "x-ai/grok-4-fast" + "provider": "openai", + "model": "o3-2025-04-16", + "canonical": "openai/o3" }, { - "provider": "openrouter", - "model": "qwen/qwen3-8b", - "canonical": "qwen/qwen3-8b" + "provider": "openai", + "model": "o3-deep-research", + "canonical": "openai/o3-deep-research" }, { - "provider": "openrouter", - "model": "google/gemini-2.5-pro", - "canonical": "google/gemini-2.5-pro" + "provider": "openai", + "model": "o3-deep-research-2025-06-26", + "canonical": "openai/o3-deep-research" }, { - "provider": "openrouter", - "model": "google/gemini-2.5-flash-preview-09-2025", - "canonical": "google/gemini-2.5-flash" + "provider": "openai", + "model": "o3-mini", + "canonical": "openai/o3-mini" }, { - "provider": "openrouter", - "model": "qwen/qwen-plus-2025-07-28:thinking", - "canonical": "qwen/qwen-plus-2025-07-28:thinking" + "provider": "openai", + "model": "o3-mini-2025-01-31", + "canonical": "openai/o3-mini" }, { - "provider": "openrouter", - "model": "qwen/qwen3-30b-a3b-instruct-2507", - "canonical": "qwen/qwen3-30b-a3b-instruct" + "provider": "openai", + "model": "o3-pro", + "canonical": "openai/o3-pro" }, { - "provider": "openrouter", - "model": "qwen/qwen3-vl-8b-thinking", - "canonical": "qwen/qwen3-vl-8b-thinking" + "provider": "openai", + "model": "o3-pro-2025-06-10", + "canonical": "openai/o3-pro" }, { - "provider": "openrouter", - "model": "anthropic/claude-3.5-sonnet", - "canonical": "anthropic/claude-3.5-sonnet" + "provider": "openai", + "model": "o4-mini", + "canonical": "openai/o4-mini" }, { - "provider": "openrouter", - "model": "deepseek/deepseek-v3.2", - "canonical": "deepseek/deepseek" + "provider": "openai", + "model": "o4-mini-2025-04-16", + "canonical": "openai/o4-mini" + }, + { + "provider": "openai", + "model": "o4-mini-deep-research", + "canonical": "openai/o4-mini-deep-research" + }, + { + "provider": "openai", + "model": "o4-mini-deep-research-2025-06-26", + "canonical": "openai/o4-mini-deep-research" }, { "provider": "openrouter", - "model": "openai/gpt-4-0314", - "canonical": "openai/gpt-4" + "model": "ai21/jamba-large-1.7", + "canonical": "ai21/jamba-large-1.7" }, { "provider": "openrouter", - "model": "mistralai/voxtral-small-24b-2507", - "canonical": "mistralai/voxtral-small-24b" + "model": "ai21/jamba-mini-1.7", + "canonical": "ai21/jamba-mini-1.7" }, { "provider": "openrouter", - "model": "deepseek/deepseek-v3.1-terminus:exacto", - "canonical": "deepseek/deepseek-v3.1-terminus" + "model": "anthropic/claude-3-haiku", + "canonical": "anthropic/claude-3-haiku" }, { "provider": "openrouter", - "model": "mistralai/pixtral-large-2411", - "canonical": "mistralai/pixtral-large" + "model": "anthropic/claude-3.5-haiku", + "canonical": "anthropic/claude-3.5-haiku" }, { "provider": "openrouter", - "model": "openai/gpt-5-image-mini", - "canonical": "openai/gpt-5-image-mini" + "model": "anthropic/claude-3.5-haiku-20241022", + "canonical": "anthropic/claude-3.5-haiku" }, { "provider": "openrouter", - "model": "openai/gpt-5-pro", - "canonical": "openai/gpt-5-pro" + "model": "anthropic/claude-3.5-sonnet", + "canonical": "anthropic/claude-3.5-sonnet" }, { "provider": "openrouter", - "model": "openai/o3-pro", - "canonical": "openai/o3-pro" + "model": "anthropic/claude-3.7-sonnet", + "canonical": "anthropic/claude-3.7-sonnet" }, { "provider": "openrouter", - "model": "deepseek/deepseek-chat", - "canonical": "deepseek/deepseek-chat" + "model": "anthropic/claude-3.7-sonnet:thinking", + "canonical": "anthropic/claude-3.7-sonnet:thinking" }, { "provider": "openrouter", - "model": "mistralai/mistral-tiny", - "canonical": "mistralai/mistral-tiny" + "model": "anthropic/claude-haiku-4.5", + "canonical": "anthropic/claude-haiku-4.5" }, { "provider": "openrouter", - "model": "google/gemma-3-27b-it", - "canonical": "google/gemma-3-27b-it" + "model": "anthropic/claude-opus-4", + "canonical": "anthropic/claude-opus-4" }, { "provider": "openrouter", - "model": "qwen/qwen3-coder-30b-a3b-instruct", - "canonical": "qwen/qwen3-coder-30b-a3b-instruct" + "model": "anthropic/claude-opus-4.1", + "canonical": "anthropic/claude-opus-4.1" }, { "provider": "openrouter", - "model": "meta-llama/llama-3-8b-instruct", - "canonical": "meta-llama/llama-3-8b-instruct" + "model": "anthropic/claude-opus-4.5", + "canonical": "anthropic/claude-opus-4.5" }, { "provider": "openrouter", - "model": "openai/gpt-4-turbo-preview", - "canonical": "openai/gpt-4-turbo" + "model": "anthropic/claude-sonnet-4", + "canonical": "anthropic/claude-sonnet-4" }, { "provider": "openrouter", @@ -4304,388 +4341,393 @@ }, { "provider": "openrouter", - "model": "openai/gpt-5-codex", - "canonical": "openai/gpt-5-codex" + "model": "cohere/command-r-08-2024", + "canonical": "cohere/command-r-08" }, { "provider": "openrouter", - "model": "openai/gpt-4.1", - "canonical": "openai/gpt-4.1" + "model": "cohere/command-r-plus-08-2024", + "canonical": "cohere/command-r-plus-08" }, { "provider": "openrouter", - "model": "ai21/jamba-mini-1.7", - "canonical": "ai21/jamba-mini-1.7" + "model": "deepseek/deepseek-chat", + "canonical": "deepseek/deepseek-chat" }, { "provider": "openrouter", - "model": "openai/gpt-5.1-codex-mini", - "canonical": "openai/gpt-5.1-codex-mini" + "model": "deepseek/deepseek-chat-v3-0324", + "canonical": "deepseek/deepseek-chat" }, { "provider": "openrouter", - "model": "qwen/qwen3-vl-30b-a3b-instruct", - "canonical": "qwen/qwen3-vl-30b-a3b-instruct" + "model": "deepseek/deepseek-chat-v3.1", + "canonical": "deepseek/deepseek-chat" }, { "provider": "openrouter", - "model": "qwen/qwen3-vl-30b-a3b-thinking", - "canonical": "qwen/qwen3-vl-30b-a3b-thinking" + "model": "deepseek/deepseek-r1", + "canonical": "deepseek/deepseek-r1" }, { "provider": "openrouter", - "model": "anthropic/claude-opus-4.1", - "canonical": "anthropic/claude-opus-4.1" + "model": "deepseek/deepseek-r1-0528", + "canonical": "deepseek/deepseek-r1" }, { "provider": "openrouter", - "model": "mistralai/codestral-2508", - "canonical": "mistralai/codestral" + "model": "deepseek/deepseek-r1-distill-llama-70b", + "canonical": "deepseek/deepseek-r1-distill-llama-70b" }, { "provider": "openrouter", - "model": "openai/gpt-oss-120b", - "canonical": "openai/gpt-oss-120b" + "model": "deepseek/deepseek-v3.1-terminus", + "canonical": "deepseek/deepseek-v3.1-terminus" }, { "provider": "openrouter", - "model": "qwen/qwen3-32b", - "canonical": "qwen/qwen3-32b" + "model": "deepseek/deepseek-v3.1-terminus:exacto", + "canonical": "deepseek/deepseek-v3.1-terminus" }, { "provider": "openrouter", - "model": "x-ai/grok-4.1-fast", - "canonical": "x-ai/grok-4.1-fast" + "model": "deepseek/deepseek-v3.2", + "canonical": "deepseek/deepseek" }, { "provider": "openrouter", - "model": "mistralai/mistral-large", - "canonical": "mistralai/mistral-large" + "model": "deepseek/deepseek-v3.2-exp", + "canonical": "deepseek/deepseek" }, { "provider": "openrouter", - "model": "openai/o4-mini-high", - "canonical": "openai/o4-mini-high" + "model": "google/gemini-2.0-flash-001", + "canonical": "google/gemini-2.0-flash" }, { "provider": "openrouter", - "model": "qwen/qwen-plus-2025-07-28", - "canonical": "qwen/qwen-plus" + "model": "google/gemini-2.0-flash-lite-001", + "canonical": "google/gemini-2.0-flash-lite" }, { "provider": "openrouter", - "model": "anthropic/claude-opus-4.5", - "canonical": "anthropic/claude-opus-4.5" + "model": "google/gemini-2.5-flash", + "canonical": "google/gemini-2.5-flash" }, { "provider": "openrouter", - "model": "qwen/qwen3-vl-8b-instruct", - "canonical": "qwen/qwen3-vl-8b-instruct" + "model": "google/gemini-2.5-flash-lite", + "canonical": "google/gemini-2.5-flash-lite" }, { "provider": "openrouter", - "model": "openai/gpt-3.5-turbo-0613", - "canonical": "openai/gpt-3.5-turbo" + "model": "google/gemini-2.5-flash-lite-preview-09-2025", + "canonical": "google/gemini-2.5-flash-lite" }, { "provider": "openrouter", - "model": "openai/gpt-oss-20b", - "canonical": "openai/gpt-oss-20b" + "model": "google/gemini-2.5-flash-preview-09-2025", + "canonical": "google/gemini-2.5-flash" }, { "provider": "openrouter", - "model": "qwen/qwen-turbo", - "canonical": "qwen/qwen-turbo" + "model": "google/gemini-2.5-pro", + "canonical": "google/gemini-2.5-pro" }, { "provider": "openrouter", - "model": "google/gemini-2.0-flash-lite-001", - "canonical": "google/gemini-2.0-flash-lite" + "model": "google/gemini-2.5-pro-preview", + "canonical": "google/gemini-2.5-pro" }, { "provider": "openrouter", - "model": "mistralai/devstral-small", - "canonical": "mistralai/devstral-small" + "model": "google/gemini-2.5-pro-preview-05-06", + "canonical": "google/gemini-2.5-pro" }, { "provider": "openrouter", - "model": "openai/gpt-5.2-chat", - "canonical": "openai/gpt-5.2-chat" + "model": "google/gemini-3-flash-preview", + "canonical": "google/gemini-3-flash" }, { "provider": "openrouter", - "model": "openai/codex-mini", - "canonical": "openai/codex-mini" + "model": "google/gemini-3-pro-preview", + "canonical": "google/gemini-3-pro" }, { "provider": "openrouter", - "model": "mistralai/mistral-medium-3.1", - "canonical": "mistralai/mistral-medium-3.1" + "model": "google/gemma-3-27b-it", + "canonical": "google/gemma-3-27b-it" }, { "provider": "openrouter", - "model": "openai/gpt-5-image", - "canonical": "openai/gpt-5-image" + "model": "meta-llama/llama-3-70b-instruct", + "canonical": "meta-llama/llama-3-70b-instruct" }, { "provider": "openrouter", - "model": "openai/gpt-5-mini", - "canonical": "openai/gpt-5-mini" + "model": "meta-llama/llama-3-8b-instruct", + "canonical": "meta-llama/llama-3-8b-instruct" }, { "provider": "openrouter", - "model": "qwen/qwen3-coder:exacto", - "canonical": "qwen/qwen3-coder" + "model": "meta-llama/llama-3.1-405b-instruct", + "canonical": "meta-llama/llama-3.1-405b-instruct" }, { "provider": "openrouter", - "model": "qwen/qwen-vl-max", - "canonical": "qwen/qwen-vl-max" + "model": "meta-llama/llama-3.1-70b-instruct", + "canonical": "meta-llama/llama-3.1-70b-instruct" }, { "provider": "openrouter", - "model": "mistralai/devstral-medium", - "canonical": "mistralai/devstral-medium" + "model": "meta-llama/llama-3.1-8b-instruct", + "canonical": "meta-llama/llama-3.1-8b-instruct" }, { "provider": "openrouter", - "model": "openai/gpt-4.1-nano", - "canonical": "openai/gpt-4.1-nano" + "model": "meta-llama/llama-3.2-3b-instruct", + "canonical": "meta-llama/llama-3.2-3b-instruct" }, { "provider": "openrouter", - "model": "openai/gpt-5.2", - "canonical": "openai/gpt-5.2" + "model": "meta-llama/llama-3.3-70b-instruct", + "canonical": "meta-llama/llama-3.3-70b-instruct" }, { "provider": "openrouter", - "model": "openai/gpt-4o-audio-preview", - "canonical": "openai/gpt-4o-audio" + "model": "meta-llama/llama-4-maverick", + "canonical": "meta-llama/llama-4-maverick" }, { "provider": "openrouter", - "model": "mistralai/ministral-8b", - "canonical": "mistralai/ministral-8b" + "model": "meta-llama/llama-4-scout", + "canonical": "meta-llama/llama-4-scout" }, { "provider": "openrouter", - "model": "openai/gpt-5-nano", - "canonical": "openai/gpt-5-nano" + "model": "mistralai/codestral-2508", + "canonical": "mistralai/codestral" }, { "provider": "openrouter", - "model": "qwen/qwen3-235b-a22b", - "canonical": "qwen/qwen3-235b-a22b" + "model": "mistralai/devstral-2512", + "canonical": "mistralai/devstral" }, { "provider": "openrouter", - "model": "mistralai/mistral-saba", - "canonical": "mistralai/mistral-saba" + "model": "mistralai/devstral-medium", + "canonical": "mistralai/devstral-medium" }, { "provider": "openrouter", - "model": "openai/o1", - "canonical": "openai/o1" + "model": "mistralai/devstral-small", + "canonical": "mistralai/devstral-small" }, { "provider": "openrouter", - "model": "anthropic/claude-3.5-haiku", - "canonical": "anthropic/claude-3.5-haiku" + "model": "mistralai/ministral-14b-2512", + "canonical": "mistralai/ministral-14b" }, { "provider": "openrouter", - "model": "mistralai/devstral-2512", - "canonical": "mistralai/devstral" + "model": "mistralai/ministral-3b", + "canonical": "mistralai/ministral-3b" }, { "provider": "openrouter", - "model": "anthropic/claude-3.7-sonnet", - "canonical": "anthropic/claude-3.7-sonnet" + "model": "mistralai/ministral-3b-2512", + "canonical": "mistralai/ministral-3b" }, { "provider": "openrouter", - "model": "openai/gpt-5.1-chat", - "canonical": "openai/gpt-5.1-chat" + "model": "mistralai/ministral-8b", + "canonical": "mistralai/ministral-8b" }, { "provider": "openrouter", - "model": "anthropic/claude-3-haiku", - "canonical": "anthropic/claude-3-haiku" + "model": "mistralai/ministral-8b-2512", + "canonical": "mistralai/ministral-8b" }, { "provider": "openrouter", - "model": "qwen/qwen-2.5-72b-instruct", - "canonical": "qwen/qwen-2.5-72b-instruct" + "model": "mistralai/mistral-7b-instruct", + "canonical": "mistralai/mistral-7b-instruct" }, { "provider": "openrouter", - "model": "qwen/qwen3-coder", - "canonical": "qwen/qwen3-coder" + "model": "mistralai/mistral-large", + "canonical": "mistralai/mistral-large" }, { "provider": "openrouter", - "model": "openai/o3-mini", - "canonical": "openai/o3-mini" + "model": "mistralai/mistral-large-2407", + "canonical": "mistralai/mistral-large" }, { "provider": "openrouter", - "model": "mistralai/mixtral-8x22b-instruct", - "canonical": "mistralai/mixtral-8x22b-instruct" + "model": "mistralai/mistral-large-2411", + "canonical": "mistralai/mistral-large" }, { "provider": "openrouter", - "model": "qwen/qwen3-next-80b-a3b-thinking", - "canonical": "qwen/qwen3-next-80b-a3b-thinking" + "model": "mistralai/mistral-large-2512", + "canonical": "mistralai/mistral-large" }, { "provider": "openrouter", - "model": "deepseek/deepseek-chat-v3-0324", - "canonical": "deepseek/deepseek-chat" + "model": "mistralai/mistral-medium-3", + "canonical": "mistralai/mistral-medium-3" }, { "provider": "openrouter", - "model": "mistralai/mistral-large-2411", - "canonical": "mistralai/mistral-large" + "model": "mistralai/mistral-medium-3.1", + "canonical": "mistralai/mistral-medium-3.1" }, { "provider": "openrouter", - "model": "mistralai/mistral-small-3.2-24b-instruct", - "canonical": "mistralai/mistral-small-3.2-24b-instruct" + "model": "mistralai/mistral-nemo", + "canonical": "mistralai/mistral-nemo" }, { "provider": "openrouter", - "model": "qwen/qwen3-vl-235b-a22b-instruct", - "canonical": "qwen/qwen3-vl-235b-a22b-instruct" + "model": "mistralai/mistral-saba", + "canonical": "mistralai/mistral-saba" }, { "provider": "openrouter", - "model": "x-ai/grok-code-fast-1", - "canonical": "x-ai/grok-code-fast-1" + "model": "mistralai/mistral-small-24b-instruct-2501", + "canonical": "mistralai/mistral-small-24b-instruct" }, { "provider": "openrouter", - "model": "qwen/qwen3-next-80b-a3b-instruct", - "canonical": "qwen/qwen3-next-80b-a3b-instruct" + "model": "mistralai/mistral-small-3.1-24b-instruct", + "canonical": "mistralai/mistral-small-3.1-24b-instruct" }, { "provider": "openrouter", - "model": "openai/gpt-oss-120b:exacto", - "canonical": "openai/gpt-oss-120b" + "model": "mistralai/mistral-small-3.2-24b-instruct", + "canonical": "mistralai/mistral-small-3.2-24b-instruct" }, { "provider": "openrouter", - "model": "qwen/qwen3-14b", - "canonical": "qwen/qwen3-14b" + "model": "mistralai/mistral-small-creative", + "canonical": "mistralai/mistral-small-creative" }, { "provider": "openrouter", - "model": "google/gemini-2.5-flash-lite", - "canonical": "google/gemini-2.5-flash-lite" + "model": "mistralai/mistral-tiny", + "canonical": "mistralai/mistral-tiny" }, { "provider": "openrouter", - "model": "qwen/qwen3-max", - "canonical": "qwen/qwen3-max" + "model": "mistralai/mixtral-8x22b-instruct", + "canonical": "mistralai/mixtral-8x22b-instruct" }, { "provider": "openrouter", - "model": "openai/gpt-oss-safeguard-20b", - "canonical": "openai/gpt-oss-safeguard-20b" + "model": "mistralai/mixtral-8x7b-instruct", + "canonical": "mistralai/mixtral-8x7b-instruct" }, { "provider": "openrouter", - "model": "google/gemini-2.5-pro-preview-05-06", - "canonical": "google/gemini-2.5-pro" + "model": "mistralai/pixtral-12b", + "canonical": "mistralai/pixtral-12b" }, { "provider": "openrouter", - "model": "anthropic/claude-haiku-4.5", - "canonical": "anthropic/claude-haiku-4.5" + "model": "mistralai/pixtral-large-2411", + "canonical": "mistralai/pixtral-large" }, { "provider": "openrouter", - "model": "deepseek/deepseek-v3.1-terminus", - "canonical": "deepseek/deepseek-v3.1-terminus" + "model": "mistralai/voxtral-small-24b-2507", + "canonical": "mistralai/voxtral-small-24b" }, { "provider": "openrouter", - "model": "meta-llama/llama-4-scout", - "canonical": "meta-llama/llama-4-scout" + "model": "openai/codex-mini", + "canonical": "openai/codex-mini" }, { "provider": "openrouter", - "model": "openai/o4-mini-deep-research", - "canonical": "openai/o4-mini-deep-research" + "model": "openai/gpt-3.5-turbo", + "canonical": "openai/gpt-3.5-turbo" }, { "provider": "openrouter", - "model": "deepseek/deepseek-v3.2-exp", - "canonical": "deepseek/deepseek" + "model": "openai/gpt-3.5-turbo-0613", + "canonical": "openai/gpt-3.5-turbo" }, { "provider": "openrouter", - "model": "google/gemini-2.5-flash-lite-preview-09-2025", - "canonical": "google/gemini-2.5-flash-lite" + "model": "openai/gpt-3.5-turbo-16k", + "canonical": "openai/gpt-3.5-turbo-16k" }, { "provider": "openrouter", - "model": "openai/o3-deep-research", - "canonical": "openai/o3-deep-research" + "model": "openai/gpt-4", + "canonical": "openai/gpt-4" }, { "provider": "openrouter", - "model": "google/gemini-2.0-flash-001", - "canonical": "google/gemini-2.0-flash" + "model": "openai/gpt-4-0314", + "canonical": "openai/gpt-4" }, { "provider": "openrouter", - "model": "mistralai/mistral-small-3.1-24b-instruct", - "canonical": "mistralai/mistral-small-3.1-24b-instruct" + "model": "openai/gpt-4-1106-preview", + "canonical": "openai/gpt-4" }, { "provider": "openrouter", - "model": "anthropic/claude-3.5-haiku-20241022", - "canonical": "anthropic/claude-3.5-haiku" + "model": "openai/gpt-4-turbo", + "canonical": "openai/gpt-4-turbo" }, { "provider": "openrouter", - "model": "openai/gpt-4o", - "canonical": "openai/gpt-4o" + "model": "openai/gpt-4-turbo-preview", + "canonical": "openai/gpt-4-turbo" }, { "provider": "openrouter", - "model": "anthropic/claude-3.7-sonnet:thinking", - "canonical": "anthropic/claude-3.7-sonnet:thinking" + "model": "openai/gpt-4.1", + "canonical": "openai/gpt-4.1" }, { "provider": "openrouter", - "model": "qwen/qwen3-coder-flash", - "canonical": "qwen/qwen3-coder-flash" + "model": "openai/gpt-4.1-mini", + "canonical": "openai/gpt-4.1-mini" }, { "provider": "openrouter", - "model": "mistralai/ministral-3b-2512", - "canonical": "mistralai/ministral-3b" + "model": "openai/gpt-4.1-nano", + "canonical": "openai/gpt-4.1-nano" }, { "provider": "openrouter", - "model": "openai/gpt-5", - "canonical": "openai/gpt-5" + "model": "openai/gpt-4o", + "canonical": "openai/gpt-4o" }, { "provider": "openrouter", - "model": "anthropic/claude-opus-4", - "canonical": "anthropic/claude-opus-4" + "model": "openai/gpt-4o-2024-05-13", + "canonical": "openai/gpt-4o" }, { "provider": "openrouter", - "model": "openai/gpt-5.1-codex-max", - "canonical": "openai/gpt-5.1-codex-max" + "model": "openai/gpt-4o-2024-08-06", + "canonical": "openai/gpt-4o" }, { "provider": "openrouter", - "model": "meta-llama/llama-3.1-405b-instruct", - "canonical": "meta-llama/llama-3.1-405b-instruct" + "model": "openai/gpt-4o-2024-11-20", + "canonical": "openai/gpt-4o" + }, + { + "provider": "openrouter", + "model": "openai/gpt-4o-audio-preview", + "canonical": "openai/gpt-4o-audio" }, { "provider": "openrouter", @@ -4694,542 +4736,492 @@ }, { "provider": "openrouter", - "model": "qwen/qwen3-30b-a3b-thinking-2507", - "canonical": "qwen/qwen3-30b-a3b-thinking" + "model": "openai/gpt-4o-mini-2024-07-18", + "canonical": "openai/gpt-4o-mini" }, { "provider": "openrouter", - "model": "openai/o3-mini-high", - "canonical": "openai/o3-mini-high" + "model": "openai/gpt-4o:extended", + "canonical": "openai/gpt-4o:extended" }, { "provider": "openrouter", - "model": "meta-llama/llama-4-maverick", - "canonical": "meta-llama/llama-4-maverick" + "model": "openai/gpt-5", + "canonical": "openai/gpt-5" }, { "provider": "openrouter", - "model": "qwen/qwen-plus", - "canonical": "qwen/qwen-plus" + "model": "openai/gpt-5-codex", + "canonical": "openai/gpt-5-codex" }, { "provider": "openrouter", - "model": "meta-llama/llama-3.1-70b-instruct", - "canonical": "meta-llama/llama-3.1-70b-instruct" + "model": "openai/gpt-5-image", + "canonical": "openai/gpt-5-image" }, { "provider": "openrouter", - "model": "meta-llama/llama-3.1-8b-instruct", - "canonical": "meta-llama/llama-3.1-8b-instruct" + "model": "openai/gpt-5-image-mini", + "canonical": "openai/gpt-5-image-mini" }, { "provider": "openrouter", - "model": "google/gemini-2.5-pro-preview", - "canonical": "google/gemini-2.5-pro" + "model": "openai/gpt-5-mini", + "canonical": "openai/gpt-5-mini" }, { "provider": "openrouter", - "model": "openai/gpt-4o-2024-08-06", - "canonical": "openai/gpt-4o" + "model": "openai/gpt-5-nano", + "canonical": "openai/gpt-5-nano" }, { "provider": "openrouter", - "model": "meta-llama/llama-3-70b-instruct", - "canonical": "meta-llama/llama-3-70b-instruct" + "model": "openai/gpt-5-pro", + "canonical": "openai/gpt-5-pro" }, { "provider": "openrouter", - "model": "mistralai/mistral-large-2512", - "canonical": "mistralai/mistral-large" + "model": "openai/gpt-5.1", + "canonical": "openai/gpt-5.1" }, { "provider": "openrouter", - "model": "mistralai/ministral-14b-2512", - "canonical": "mistralai/ministral-14b" + "model": "openai/gpt-5.1-chat", + "canonical": "openai/gpt-5.1-chat" }, { "provider": "openrouter", - "model": "openai/gpt-4", - "canonical": "openai/gpt-4" + "model": "openai/gpt-5.1-codex", + "canonical": "openai/gpt-5.1-codex" }, { "provider": "openrouter", - "model": "openai/gpt-4.1-mini", - "canonical": "openai/gpt-4.1-mini" + "model": "openai/gpt-5.1-codex-max", + "canonical": "openai/gpt-5.1-codex-max" }, { "provider": "openrouter", - "model": "cohere/command-r-plus-08-2024", - "canonical": "cohere/command-r-plus-08" + "model": "openai/gpt-5.1-codex-mini", + "canonical": "openai/gpt-5.1-codex-mini" }, { "provider": "openrouter", - "model": "qwen/qwen3-coder-plus", - "canonical": "qwen/qwen3-coder-plus" + "model": "openai/gpt-5.2", + "canonical": "openai/gpt-5.2" }, { "provider": "openrouter", - "model": "qwen/qwen3-vl-235b-a22b-thinking", - "canonical": "qwen/qwen3-vl-235b-a22b-thinking" + "model": "openai/gpt-5.2-chat", + "canonical": "openai/gpt-5.2-chat" }, { "provider": "openrouter", - "model": "mistralai/mistral-small-24b-instruct-2501", - "canonical": "mistralai/mistral-small-24b-instruct" + "model": "openai/gpt-5.2-pro", + "canonical": "openai/gpt-5.2-pro" }, { "provider": "openrouter", - "model": "x-ai/grok-3", - "canonical": "x-ai/grok-3" + "model": "openai/gpt-oss-120b", + "canonical": "openai/gpt-oss-120b" }, { "provider": "openrouter", - "model": "mistralai/ministral-8b-2512", - "canonical": "mistralai/ministral-8b" + "model": "openai/gpt-oss-120b:exacto", + "canonical": "openai/gpt-oss-120b" }, { "provider": "openrouter", - "model": "openai/gpt-5.1-codex", - "canonical": "openai/gpt-5.1-codex" + "model": "openai/gpt-oss-20b", + "canonical": "openai/gpt-oss-20b" }, { "provider": "openrouter", - "model": "openai/gpt-3.5-turbo", - "canonical": "openai/gpt-3.5-turbo" + "model": "openai/gpt-oss-safeguard-20b", + "canonical": "openai/gpt-oss-safeguard-20b" }, { "provider": "openrouter", - "model": "mistralai/pixtral-12b", - "canonical": "mistralai/pixtral-12b" + "model": "openai/o1", + "canonical": "openai/o1" }, { "provider": "openrouter", - "model": "google/gemini-3-flash-preview", - "canonical": "google/gemini-3-flash" + "model": "openai/o3", + "canonical": "openai/o3" }, { "provider": "openrouter", - "model": "openai/gpt-4-1106-preview", - "canonical": "openai/gpt-4" + "model": "openai/o3-deep-research", + "canonical": "openai/o3-deep-research" }, { "provider": "openrouter", - "model": "openai/gpt-4o-2024-11-20", - "canonical": "openai/gpt-4o" + "model": "openai/o3-mini", + "canonical": "openai/o3-mini" }, { "provider": "openrouter", - "model": "deepseek/deepseek-r1", - "canonical": "deepseek/deepseek-r1" + "model": "openai/o3-mini-high", + "canonical": "openai/o3-mini-high" }, { "provider": "openrouter", - "model": "google/gemini-3-pro-preview", - "canonical": "google/gemini-3-pro" + "model": "openai/o3-pro", + "canonical": "openai/o3-pro" }, { "provider": "openrouter", - "model": "cohere/command-r-08-2024", - "canonical": "cohere/command-r-08" + "model": "openai/o4-mini", + "canonical": "openai/o4-mini" }, { "provider": "openrouter", - "model": "ai21/jamba-large-1.7", - "canonical": "ai21/jamba-large-1.7" + "model": "openai/o4-mini-deep-research", + "canonical": "openai/o4-mini-deep-research" }, { "provider": "openrouter", - "model": "deepseek/deepseek-r1-0528", - "canonical": "deepseek/deepseek-r1" + "model": "openai/o4-mini-high", + "canonical": "openai/o4-mini-high" }, { "provider": "openrouter", - "model": "mistralai/mistral-nemo", - "canonical": "mistralai/mistral-nemo" + "model": "qwen/qwen-2.5-72b-instruct", + "canonical": "qwen/qwen-2.5-72b-instruct" }, { "provider": "openrouter", - "model": "mistralai/mixtral-8x7b-instruct", - "canonical": "mistralai/mixtral-8x7b-instruct" + "model": "qwen/qwen-max", + "canonical": "qwen/qwen-max" }, { "provider": "openrouter", - "model": "openai/gpt-4o-2024-05-13", - "canonical": "openai/gpt-4o" + "model": "qwen/qwen-plus", + "canonical": "qwen/qwen-plus" }, { "provider": "openrouter", - "model": "openai/gpt-5.1", - "canonical": "openai/gpt-5.1" + "model": "qwen/qwen-plus-2025-07-28", + "canonical": "qwen/qwen-plus" }, { "provider": "openrouter", - "model": "qwen/qwen3-235b-a22b-thinking-2507", - "canonical": "qwen/qwen3-235b-a22b-thinking" + "model": "qwen/qwen-plus-2025-07-28:thinking", + "canonical": "qwen/qwen-plus-2025-07-28:thinking" }, { "provider": "openrouter", - "model": "openai/gpt-4-turbo", - "canonical": "openai/gpt-4-turbo" + "model": "qwen/qwen-turbo", + "canonical": "qwen/qwen-turbo" }, { "provider": "openrouter", - "model": "google/gemini-2.5-flash", - "canonical": "google/gemini-2.5-flash" + "model": "qwen/qwen-vl-max", + "canonical": "qwen/qwen-vl-max" }, { "provider": "openrouter", - "model": "mistralai/mistral-small-creative", - "canonical": "mistralai/mistral-small-creative" + "model": "qwen/qwen3-14b", + "canonical": "qwen/qwen3-14b" }, { "provider": "openrouter", - "model": "qwen/qwen-max", - "canonical": "qwen/qwen-max" + "model": "qwen/qwen3-235b-a22b", + "canonical": "qwen/qwen3-235b-a22b" }, { "provider": "openrouter", - "model": "mistralai/ministral-3b", - "canonical": "mistralai/ministral-3b" + "model": "qwen/qwen3-235b-a22b-2507", + "canonical": "qwen/qwen3-235b-a22b" }, { "provider": "openrouter", - "model": "mistralai/mistral-medium-3", - "canonical": "mistralai/mistral-medium-3" + "model": "qwen/qwen3-235b-a22b-thinking-2507", + "canonical": "qwen/qwen3-235b-a22b-thinking" }, { "provider": "openrouter", - "model": "openai/gpt-4o:extended", - "canonical": "openai/gpt-4o:extended" + "model": "qwen/qwen3-30b-a3b", + "canonical": "qwen/qwen3-30b-a3b" }, { "provider": "openrouter", - "model": "anthropic/claude-sonnet-4", - "canonical": "anthropic/claude-sonnet-4" + "model": "qwen/qwen3-30b-a3b-instruct-2507", + "canonical": "qwen/qwen3-30b-a3b-instruct" }, { "provider": "openrouter", - "model": "qwen/qwq-32b", - "canonical": "qwen/qwq-32b" + "model": "qwen/qwen3-30b-a3b-thinking-2507", + "canonical": "qwen/qwen3-30b-a3b-thinking" }, { "provider": "openrouter", - "model": "mistralai/mistral-7b-instruct", - "canonical": "mistralai/mistral-7b-instruct" + "model": "qwen/qwen3-32b", + "canonical": "qwen/qwen3-32b" }, { "provider": "openrouter", - "model": "openai/gpt-3.5-turbo-16k", - "canonical": "openai/gpt-3.5-turbo-16k" + "model": "qwen/qwen3-8b", + "canonical": "qwen/qwen3-8b" }, { "provider": "openrouter", - "model": "openai/gpt-5.2-pro", - "canonical": "openai/gpt-5.2-pro" + "model": "qwen/qwen3-coder", + "canonical": "qwen/qwen3-coder" }, { "provider": "openrouter", - "model": "meta-llama/llama-3.2-3b-instruct", - "canonical": "meta-llama/llama-3.2-3b-instruct" + "model": "qwen/qwen3-coder-30b-a3b-instruct", + "canonical": "qwen/qwen3-coder-30b-a3b-instruct" }, { "provider": "openrouter", - "model": "mistralai/mistral-large-2407", - "canonical": "mistralai/mistral-large" + "model": "qwen/qwen3-coder-flash", + "canonical": "qwen/qwen3-coder-flash" }, { "provider": "openrouter", - "model": "deepseek/deepseek-chat-v3.1", - "canonical": "deepseek/deepseek-chat" + "model": "qwen/qwen3-coder-plus", + "canonical": "qwen/qwen3-coder-plus" }, { "provider": "openrouter", - "model": "x-ai/grok-4", - "canonical": "x-ai/grok-4" + "model": "qwen/qwen3-coder:exacto", + "canonical": "qwen/qwen3-coder" }, { "provider": "openrouter", - "model": "x-ai/grok-3-mini", - "canonical": "x-ai/grok-3-mini" + "model": "qwen/qwen3-max", + "canonical": "qwen/qwen3-max" }, { "provider": "openrouter", - "model": "qwen/qwen3-235b-a22b-2507", - "canonical": "qwen/qwen3-235b-a22b" + "model": "qwen/qwen3-next-80b-a3b-instruct", + "canonical": "qwen/qwen3-next-80b-a3b-instruct" }, { "provider": "openrouter", - "model": "meta-llama/llama-3.3-70b-instruct", - "canonical": "meta-llama/llama-3.3-70b-instruct" + "model": "qwen/qwen3-next-80b-a3b-thinking", + "canonical": "qwen/qwen3-next-80b-a3b-thinking" }, { "provider": "openrouter", - "model": "openai/o3", - "canonical": "openai/o3" + "model": "qwen/qwen3-vl-235b-a22b-instruct", + "canonical": "qwen/qwen3-vl-235b-a22b-instruct" }, { "provider": "openrouter", - "model": "openai/o4-mini", - "canonical": "openai/o4-mini" - }, - { - "provider": "google", - "model": "gemini-2.0-flash-001", - "canonical": "google/gemini-2.0-flash" - }, - { - "provider": "google", - "model": "gemini-2.0-flash-lite-preview", - "canonical": "google/gemini-2.0-flash-lite" - }, - { - "provider": "google", - "model": "gemma-3-27b-it", - "canonical": "google/gemma-3-27b-it" - }, - { - "provider": "google", - "model": "gemini-2.0-flash-exp", - "canonical": "google/gemini-2.0-flash" - }, - { - "provider": "google", - "model": "gemini-2.5-flash-image", - "canonical": "google/gemini-2.5-flash-image" - }, - { - "provider": "google", - "model": "gemini-2.5-pro", - "canonical": "google/gemini-2.5-pro" - }, - { - "provider": "google", - "model": "gemini-2.5-flash-lite-preview-09-2025", - "canonical": "google/gemini-2.5-flash-lite" - }, - { - "provider": "google", - "model": "gemini-3-flash-preview", - "canonical": "google/gemini-3-flash" - }, - { - "provider": "google", - "model": "gemma-3-12b-it", - "canonical": "google/gemma-3-12b-it" - }, - { - "provider": "google", - "model": "gemma-3n-e4b-it", - "canonical": "google/gemma-3n-e4b-it" + "model": "qwen/qwen3-vl-235b-a22b-thinking", + "canonical": "qwen/qwen3-vl-235b-a22b-thinking" }, { - "provider": "google", - "model": "gemini-2.0-flash-lite-001", - "canonical": "google/gemini-2.0-flash-lite" + "provider": "openrouter", + "model": "qwen/qwen3-vl-30b-a3b-instruct", + "canonical": "qwen/qwen3-vl-30b-a3b-instruct" }, { - "provider": "google", - "model": "gemini-2.5-flash-image-preview", - "canonical": "google/gemini-2.5-flash-image" + "provider": "openrouter", + "model": "qwen/qwen3-vl-30b-a3b-thinking", + "canonical": "qwen/qwen3-vl-30b-a3b-thinking" }, { - "provider": "google", - "model": "gemini-3-pro-image-preview", - "canonical": "google/gemini-3-pro-image" + "provider": "openrouter", + "model": "qwen/qwen3-vl-8b-instruct", + "canonical": "qwen/qwen3-vl-8b-instruct" }, { - "provider": "google", - "model": "gemini-2.5-flash", - "canonical": "google/gemini-2.5-flash" + "provider": "openrouter", + "model": "qwen/qwen3-vl-8b-thinking", + "canonical": "qwen/qwen3-vl-8b-thinking" }, { - "provider": "google", - "model": "gemini-2.0-flash-lite", - "canonical": "google/gemini-2.0-flash-lite" + "provider": "openrouter", + "model": "qwen/qwq-32b", + "canonical": "qwen/qwq-32b" }, { - "provider": "google", - "model": "gemini-2.5-flash-lite", - "canonical": "google/gemini-2.5-flash-lite" + "provider": "openrouter", + "model": "x-ai/grok-3", + "canonical": "x-ai/grok-3" }, { - "provider": "google", - "model": "gemini-2.5-flash-preview-09-2025", - "canonical": "google/gemini-2.5-flash" + "provider": "openrouter", + "model": "x-ai/grok-3-mini", + "canonical": "x-ai/grok-3-mini" }, { - "provider": "google", - "model": "gemini-2.0-flash-lite-preview-02-05", - "canonical": "google/gemini-2.0-flash-lite" + "provider": "openrouter", + "model": "x-ai/grok-4", + "canonical": "x-ai/grok-4" }, { - "provider": "google", - "model": "gemini-3-pro-preview", - "canonical": "google/gemini-3-pro" + "provider": "openrouter", + "model": "x-ai/grok-4-fast", + "canonical": "x-ai/grok-4-fast" }, { - "provider": "google", - "model": "gemini-2.0-flash", - "canonical": "google/gemini-2.0-flash" + "provider": "openrouter", + "model": "x-ai/grok-4.1-fast", + "canonical": "x-ai/grok-4.1-fast" }, { - "provider": "google", - "model": "gemma-3-4b-it", - "canonical": "google/gemma-3-4b-it" + "provider": "openrouter", + "model": "x-ai/grok-code-fast-1", + "canonical": "x-ai/grok-code-fast-1" } ], "model_counts": { - "google": 50, "anthropic": 9, - "tetrate": 0, + "google": 50, "openai": 646, - "openrouter": 233, + "openrouter": 231, + "tetrate": 0, "xai": 0 }, "canonical_models_used": [ - "openai/o1-pro", - "openai/gpt-5-mini", - "qwen/qwen3-vl-30b-a3b-instruct", - "mistralai/ministral-8b", - "openai/gpt-3.5-turbo-16k", + "ai21/jamba-large-1.7", + "ai21/jamba-mini-1.7", + "anthropic/claude-3-haiku", + "anthropic/claude-3.5-haiku", + "anthropic/claude-3.5-sonnet", + "anthropic/claude-3.7-sonnet", + "anthropic/claude-3.7-sonnet:thinking", + "anthropic/claude-haiku-4.5", "anthropic/claude-opus-4", + "anthropic/claude-opus-4.1", + "anthropic/claude-opus-4.5", + "anthropic/claude-sonnet-4", + "anthropic/claude-sonnet-4.5", + "cohere/command-r-08", + "cohere/command-r-plus-08", + "deepseek/deepseek", + "deepseek/deepseek-chat", + "deepseek/deepseek-r1", + "deepseek/deepseek-r1-distill-llama-70b", "deepseek/deepseek-v3.1-terminus", - "qwen/qwen3-235b-a22b-thinking", + "google/gemini-2.0-flash", + "google/gemini-2.0-flash-lite", + "google/gemini-2.5-flash", + "google/gemini-2.5-flash-image", + "google/gemini-2.5-flash-lite", + "google/gemini-2.5-pro", + "google/gemini-3-flash", + "google/gemini-3-pro", "google/gemini-3-pro-image", - "openai/o3-pro", - "mistralai/mixtral-8x22b-instruct", "google/gemma-3-12b-it", - "qwen/qwen3-next-80b-a3b-instruct", - "openai/o3", - "mistralai/mistral-7b-instruct", - "qwen/qwen-2.5-72b-instruct", - "anthropic/claude-sonnet-4", - "openai/gpt-5-codex", - "deepseek/deepseek-r1-distill-llama-70b", + "google/gemma-3-27b-it", + "google/gemma-3-4b-it", + "google/gemma-3n-e4b-it", + "meta-llama/llama-3-70b-instruct", + "meta-llama/llama-3-8b-instruct", + "meta-llama/llama-3.1-405b-instruct", "meta-llama/llama-3.1-70b-instruct", - "deepseek/deepseek-r1", - "openai/gpt-5.1-codex", - "openai/gpt-4o", - "qwen/qwen3-next-80b-a3b-thinking", - "openai/gpt-5.2-pro", - "qwen/qwen-vl-max", - "openai/gpt-4", - "openai/gpt-4o-mini", - "qwen/qwen-plus", - "openai/gpt-4o-mini-search", - "qwen/qwen3-30b-a3b-instruct", - "mistralai/pixtral-large", - "qwen/qwen3-14b", - "mistralai/mistral-small-3.1-24b-instruct", - "x-ai/grok-3", - "x-ai/grok-4.1-fast", - "google/gemini-3-pro", - "mistralai/mistral-medium-3", - "openai/o4-mini-high", - "openai/o3-deep-research", - "openai/gpt-4o-search", - "qwen/qwen3-vl-235b-a22b-thinking", - "ai21/jamba-mini-1.7", - "x-ai/grok-3-mini", "meta-llama/llama-3.1-8b-instruct", - "openai/gpt-5.2", - "openai/gpt-5.1-codex-mini", + "meta-llama/llama-3.2-3b-instruct", + "meta-llama/llama-3.3-70b-instruct", + "meta-llama/llama-4-maverick", + "meta-llama/llama-4-scout", + "mistralai/codestral", + "mistralai/devstral", + "mistralai/devstral-medium", + "mistralai/devstral-small", + "mistralai/ministral-14b", "mistralai/ministral-3b", - "openai/gpt-4.1", - "x-ai/grok-4-fast", - "qwen/qwen-plus-2025-07-28:thinking", - "openai/gpt-5-image", - "google/gemini-2.5-flash", - "openai/gpt-4.1-mini", - "anthropic/claude-haiku-4.5", - "openai/gpt-5.1-codex-max", - "openai/gpt-oss-safeguard-20b", - "meta-llama/llama-3-8b-instruct", - "qwen/qwen3-vl-8b-thinking", - "openai/o4-mini", + "mistralai/ministral-8b", + "mistralai/mistral-7b-instruct", + "mistralai/mistral-large", + "mistralai/mistral-medium-3", "mistralai/mistral-medium-3.1", - "anthropic/claude-sonnet-4.5", - "openai/gpt-5", - "qwen/qwq-32b", + "mistralai/mistral-nemo", + "mistralai/mistral-saba", + "mistralai/mistral-small-24b-instruct", + "mistralai/mistral-small-3.1-24b-instruct", "mistralai/mistral-small-3.2-24b-instruct", - "mistralai/codestral", + "mistralai/mistral-small-creative", + "mistralai/mistral-tiny", + "mistralai/mixtral-8x22b-instruct", + "mistralai/mixtral-8x7b-instruct", + "mistralai/pixtral-12b", + "mistralai/pixtral-large", "mistralai/voxtral-small-24b", - "meta-llama/llama-3.3-70b-instruct", - "cohere/command-r-plus-08", - "mistralai/ministral-14b", - "mistralai/mistral-nemo", "openai/chatgpt-4o", - "anthropic/claude-3-haiku", - "qwen/qwen3-32b", - "openai/o4-mini-deep-research", - "meta-llama/llama-3-70b-instruct", - "google/gemma-3n-e4b-it", - "mistralai/mistral-tiny", - "mistralai/devstral-medium", + "openai/codex-mini", + "openai/gpt-3.5-turbo", + "openai/gpt-3.5-turbo-16k", + "openai/gpt-3.5-turbo-instruct", + "openai/gpt-4", "openai/gpt-4-turbo", - "qwen/qwen3-coder-flash", - "qwen/qwen3-vl-8b-instruct", - "meta-llama/llama-4-scout", - "qwen/qwen3-coder-plus", - "qwen/qwen-max", - "openai/gpt-oss-120b", - "openai/gpt-5.2-chat", - "mistralai/mistral-small-creative", - "openai/gpt-5.1", - "deepseek/deepseek", - "x-ai/grok-4", - "mistralai/mistral-large", - "mistralai/mixtral-8x7b-instruct", - "anthropic/claude-3.7-sonnet", - "qwen/qwen3-8b", + "openai/gpt-4.1", + "openai/gpt-4.1-mini", + "openai/gpt-4.1-nano", + "openai/gpt-4o", + "openai/gpt-4o-audio", + "openai/gpt-4o-mini", + "openai/gpt-4o-mini-search", + "openai/gpt-4o-search", "openai/gpt-4o:extended", - "anthropic/claude-3.5-sonnet", + "openai/gpt-5", + "openai/gpt-5-chat", + "openai/gpt-5-codex", + "openai/gpt-5-image", + "openai/gpt-5-image-mini", + "openai/gpt-5-mini", + "openai/gpt-5-nano", + "openai/gpt-5-pro", + "openai/gpt-5.1", "openai/gpt-5.1-chat", - "anthropic/claude-opus-4.5", - "google/gemini-2.5-flash-image", - "anthropic/claude-3.5-haiku", - "meta-llama/llama-3.1-405b-instruct", - "openai/codex-mini", - "meta-llama/llama-4-maverick", + "openai/gpt-5.1-codex", + "openai/gpt-5.1-codex-max", + "openai/gpt-5.1-codex-mini", + "openai/gpt-5.2", + "openai/gpt-5.2-chat", + "openai/gpt-5.2-pro", + "openai/gpt-oss-120b", + "openai/gpt-oss-20b", + "openai/gpt-oss-safeguard-20b", + "openai/o1", + "openai/o1-pro", + "openai/o3", + "openai/o3-deep-research", "openai/o3-mini", + "openai/o3-mini-high", + "openai/o3-pro", + "openai/o4-mini", + "openai/o4-mini-deep-research", + "openai/o4-mini-high", + "qwen/qwen-2.5-72b-instruct", + "qwen/qwen-max", + "qwen/qwen-plus", + "qwen/qwen-plus-2025-07-28:thinking", + "qwen/qwen-turbo", + "qwen/qwen-vl-max", + "qwen/qwen3-14b", + "qwen/qwen3-235b-a22b", + "qwen/qwen3-235b-a22b-thinking", + "qwen/qwen3-30b-a3b", + "qwen/qwen3-30b-a3b-instruct", "qwen/qwen3-30b-a3b-thinking", - "qwen/qwen3-coder-30b-a3b-instruct", - "google/gemma-3-4b-it", + "qwen/qwen3-32b", + "qwen/qwen3-8b", "qwen/qwen3-coder", - "openai/gpt-3.5-turbo-instruct", - "qwen/qwen3-30b-a3b", - "anthropic/claude-opus-4.1", - "openai/gpt-5-chat", - "mistralai/mistral-saba", - "ai21/jamba-large-1.7", - "mistralai/devstral-small", - "google/gemini-2.5-flash-lite", - "openai/gpt-oss-20b", - "openai/gpt-5-pro", - "google/gemini-2.0-flash-lite", - "openai/gpt-4.1-nano", - "openai/o1", - "openai/gpt-5-nano", - "qwen/qwen3-vl-30b-a3b-thinking", - "meta-llama/llama-3.2-3b-instruct", - "mistralai/devstral", + "qwen/qwen3-coder-30b-a3b-instruct", + "qwen/qwen3-coder-flash", + "qwen/qwen3-coder-plus", "qwen/qwen3-max", - "google/gemma-3-27b-it", - "deepseek/deepseek-chat", - "mistralai/mistral-small-24b-instruct", - "cohere/command-r-08", - "anthropic/claude-3.7-sonnet:thinking", - "mistralai/pixtral-12b", - "qwen/qwen-turbo", - "google/gemini-3-flash", - "openai/gpt-4o-audio", - "google/gemini-2.5-pro", - "google/gemini-2.0-flash", - "openai/o3-mini-high", + "qwen/qwen3-next-80b-a3b-instruct", + "qwen/qwen3-next-80b-a3b-thinking", "qwen/qwen3-vl-235b-a22b-instruct", - "x-ai/grok-code-fast-1", - "openai/gpt-3.5-turbo", - "qwen/qwen3-235b-a22b", - "openai/gpt-5-image-mini" + "qwen/qwen3-vl-235b-a22b-thinking", + "qwen/qwen3-vl-30b-a3b-instruct", + "qwen/qwen3-vl-30b-a3b-thinking", + "qwen/qwen3-vl-8b-instruct", + "qwen/qwen3-vl-8b-thinking", + "qwen/qwq-32b", + "x-ai/grok-3", + "x-ai/grok-3-mini", + "x-ai/grok-4", + "x-ai/grok-4-fast", + "x-ai/grok-4.1-fast", + "x-ai/grok-code-fast-1" ] } \ No newline at end of file diff --git a/crates/goose/src/providers/canonical/data/canonical_models.json b/crates/goose/src/providers/canonical/data/canonical_models.json index 3d8bd0e016bd..cfe390386cb3 100644 --- a/crates/goose/src/providers/canonical/data/canonical_models.json +++ b/crates/goose/src/providers/canonical/data/canonical_models.json @@ -43,8 +43,8 @@ "context_length": 200000, "max_completion_tokens": 4096, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -63,8 +63,8 @@ "context_length": 200000, "max_completion_tokens": 8192, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -83,9 +83,9 @@ "context_length": 200000, "max_completion_tokens": 8192, "input_modalities": [ - "text", + "file", "image", - "file" + "text" ], "output_modalities": [ "text" @@ -104,9 +104,9 @@ "context_length": 200000, "max_completion_tokens": 64000, "input_modalities": [ - "text", + "file", "image", - "file" + "text" ], "output_modalities": [ "text" @@ -125,9 +125,9 @@ "context_length": 200000, "max_completion_tokens": 64000, "input_modalities": [ - "text", + "file", "image", - "file" + "text" ], "output_modalities": [ "text" @@ -166,9 +166,9 @@ "context_length": 200000, "max_completion_tokens": 32000, "input_modalities": [ + "file", "image", - "text", - "file" + "text" ], "output_modalities": [ "text" @@ -186,9 +186,9 @@ "name": "Anthropic: Claude Opus 4.1", "context_length": 200000, "input_modalities": [ + "file", "image", - "text", - "file" + "text" ], "output_modalities": [ "text" @@ -228,9 +228,9 @@ "context_length": 1000000, "max_completion_tokens": 64000, "input_modalities": [ + "file", "image", - "text", - "file" + "text" ], "output_modalities": [ "text" @@ -249,9 +249,9 @@ "context_length": 1000000, "max_completion_tokens": 64000, "input_modalities": [ - "text", + "file", "image", - "file" + "text" ], "output_modalities": [ "text" @@ -533,10 +533,10 @@ "context_length": 1048576, "max_completion_tokens": 8192, "input_modalities": [ - "text", - "image", - "file", "audio", + "file", + "image", + "text", "video" ], "output_modalities": [ @@ -556,10 +556,10 @@ "context_length": 1048576, "max_completion_tokens": 8192, "input_modalities": [ - "text", - "image", - "file", "audio", + "file", + "image", + "text", "video" ], "output_modalities": [ @@ -579,10 +579,10 @@ "context_length": 1048576, "max_completion_tokens": 65535, "input_modalities": [ + "audio", "file", "image", "text", - "audio", "video" ], "output_modalities": [ @@ -623,10 +623,10 @@ "context_length": 1048576, "max_completion_tokens": 65535, "input_modalities": [ - "text", - "image", - "file", "audio", + "file", + "image", + "text", "video" ], "output_modalities": [ @@ -646,10 +646,10 @@ "context_length": 1048576, "max_completion_tokens": 65536, "input_modalities": [ - "text", - "image", - "file", "audio", + "file", + "image", + "text", "video" ], "output_modalities": [ @@ -669,10 +669,10 @@ "context_length": 1048576, "max_completion_tokens": 65535, "input_modalities": [ - "text", - "image", - "file", "audio", + "file", + "image", + "text", "video" ], "output_modalities": [ @@ -692,10 +692,10 @@ "context_length": 1048576, "max_completion_tokens": 65536, "input_modalities": [ - "text", - "image", - "file", "audio", + "file", + "image", + "text", "video" ], "output_modalities": [ @@ -772,8 +772,8 @@ "context_length": 131072, "max_completion_tokens": 131072, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -789,18 +789,19 @@ { "id": "google/gemma-3-27b-it", "name": "Google: Gemma 3 27B", - "context_length": 131072, + "context_length": 96000, + "max_completion_tokens": 96000, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" ], "supports_tools": true, "pricing": { - "prompt": 3.6e-8, - "completion": 6.4e-8, + "prompt": 4e-8, + "completion": 1.5e-7, "request": 0.0, "image": 0.0 } @@ -810,8 +811,8 @@ "name": "Google: Gemma 3 4B", "context_length": 96000, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -960,8 +961,8 @@ "context_length": 131072, "max_completion_tokens": 16384, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -1017,8 +1018,8 @@ "context_length": 32768, "max_completion_tokens": 16384, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -1056,8 +1057,8 @@ "context_length": 1048576, "max_completion_tokens": 16384, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -1076,8 +1077,8 @@ "context_length": 327680, "max_completion_tokens": 16384, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -1223,8 +1224,8 @@ "name": "Mistral: Ministral 3 14B 2512", "context_length": 262144, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -1315,8 +1316,8 @@ "name": "Mistral: Mistral Medium 3", "context_length": 131072, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -1334,8 +1335,8 @@ "name": "Mistral: Mistral Medium 3.1", "context_length": 131072, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -1410,8 +1411,8 @@ "context_length": 131072, "max_completion_tokens": 131072, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -1522,8 +1523,8 @@ "name": "Mistral: Pixtral 12B", "context_length": 32768, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -1541,8 +1542,8 @@ "name": "Mistral: Pixtral Large 2411", "context_length": 131072, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -1560,8 +1561,8 @@ "name": "Mistral: Voxtral Small 24B 2507", "context_length": 32000, "input_modalities": [ - "text", - "audio" + "audio", + "text" ], "output_modalities": [ "text" @@ -1580,8 +1581,8 @@ "context_length": 128000, "max_completion_tokens": 16384, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -1696,8 +1697,8 @@ "context_length": 128000, "max_completion_tokens": 4096, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -1716,9 +1717,9 @@ "context_length": 1047576, "max_completion_tokens": 32768, "input_modalities": [ + "file", "image", - "text", - "file" + "text" ], "output_modalities": [ "text" @@ -1737,9 +1738,9 @@ "context_length": 1047576, "max_completion_tokens": 32768, "input_modalities": [ + "file", "image", - "text", - "file" + "text" ], "output_modalities": [ "text" @@ -1758,9 +1759,9 @@ "context_length": 1047576, "max_completion_tokens": 32768, "input_modalities": [ + "file", "image", - "text", - "file" + "text" ], "output_modalities": [ "text" @@ -1779,9 +1780,9 @@ "context_length": 128000, "max_completion_tokens": 16384, "input_modalities": [ - "text", + "file", "image", - "file" + "text" ], "output_modalities": [ "text" @@ -1820,9 +1821,9 @@ "context_length": 128000, "max_completion_tokens": 16384, "input_modalities": [ - "text", + "file", "image", - "file" + "text" ], "output_modalities": [ "text" @@ -1879,9 +1880,9 @@ "context_length": 128000, "max_completion_tokens": 64000, "input_modalities": [ - "text", + "file", "image", - "file" + "text" ], "output_modalities": [ "text" @@ -1900,9 +1901,9 @@ "context_length": 400000, "max_completion_tokens": 128000, "input_modalities": [ - "text", + "file", "image", - "file" + "text" ], "output_modalities": [ "text" @@ -1942,8 +1943,8 @@ "context_length": 400000, "max_completion_tokens": 128000, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -1962,9 +1963,9 @@ "context_length": 400000, "max_completion_tokens": 128000, "input_modalities": [ + "file", "image", - "text", - "file" + "text" ], "output_modalities": [ "image", @@ -2006,9 +2007,9 @@ "context_length": 400000, "max_completion_tokens": 128000, "input_modalities": [ - "text", + "file", "image", - "file" + "text" ], "output_modalities": [ "text" @@ -2027,9 +2028,9 @@ "context_length": 400000, "max_completion_tokens": 128000, "input_modalities": [ - "text", + "file", "image", - "file" + "text" ], "output_modalities": [ "text" @@ -2048,9 +2049,9 @@ "context_length": 400000, "max_completion_tokens": 128000, "input_modalities": [ + "file", "image", - "text", - "file" + "text" ], "output_modalities": [ "text" @@ -2069,9 +2070,9 @@ "context_length": 400000, "max_completion_tokens": 128000, "input_modalities": [ + "file", "image", - "text", - "file" + "text" ], "output_modalities": [ "text" @@ -2111,8 +2112,8 @@ "context_length": 400000, "max_completion_tokens": 128000, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -2131,8 +2132,8 @@ "context_length": 400000, "max_completion_tokens": 128000, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -2213,9 +2214,9 @@ "context_length": 400000, "max_completion_tokens": 128000, "input_modalities": [ + "file", "image", - "text", - "file" + "text" ], "output_modalities": [ "text" @@ -2240,8 +2241,8 @@ ], "supports_tools": true, "pricing": { - "prompt": 2e-8, - "completion": 1e-7, + "prompt": 3.9e-8, + "completion": 1.9e-7, "request": 0.0, "image": 0.0 } @@ -2250,6 +2251,7 @@ "id": "openai/gpt-oss-20b", "name": "OpenAI: gpt-oss-20b", "context_length": 131072, + "max_completion_tokens": 131072, "input_modalities": [ "text" ], @@ -2258,8 +2260,8 @@ ], "supports_tools": true, "pricing": { - "prompt": 1.6e-8, - "completion": 6e-8, + "prompt": 2e-8, + "completion": 1e-7, "request": 0.0, "image": 0.0 } @@ -2289,9 +2291,9 @@ "context_length": 200000, "max_completion_tokens": 100000, "input_modalities": [ - "text", + "file", "image", - "file" + "text" ], "output_modalities": [ "text" @@ -2310,9 +2312,9 @@ "context_length": 200000, "max_completion_tokens": 100000, "input_modalities": [ - "text", + "file", "image", - "file" + "text" ], "output_modalities": [ "text" @@ -2331,9 +2333,9 @@ "context_length": 200000, "max_completion_tokens": 100000, "input_modalities": [ + "file", "image", - "text", - "file" + "text" ], "output_modalities": [ "text" @@ -2352,9 +2354,9 @@ "context_length": 200000, "max_completion_tokens": 100000, "input_modalities": [ + "file", "image", - "text", - "file" + "text" ], "output_modalities": [ "text" @@ -2373,8 +2375,8 @@ "context_length": 200000, "max_completion_tokens": 100000, "input_modalities": [ - "text", - "file" + "file", + "text" ], "output_modalities": [ "text" @@ -2393,8 +2395,8 @@ "context_length": 200000, "max_completion_tokens": 100000, "input_modalities": [ - "text", - "file" + "file", + "text" ], "output_modalities": [ "text" @@ -2413,9 +2415,9 @@ "context_length": 200000, "max_completion_tokens": 100000, "input_modalities": [ - "text", "file", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -2434,9 +2436,9 @@ "context_length": 200000, "max_completion_tokens": 100000, "input_modalities": [ + "file", "image", - "text", - "file" + "text" ], "output_modalities": [ "text" @@ -2476,9 +2478,9 @@ "context_length": 200000, "max_completion_tokens": 100000, "input_modalities": [ + "file", "image", - "text", - "file" + "text" ], "output_modalities": [ "text" @@ -2552,8 +2554,8 @@ "name": "Qwen: Qwen2.5-VL 7B Instruct", "context_length": 32768, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -2648,8 +2650,8 @@ "context_length": 131072, "max_completion_tokens": 8192, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -2668,8 +2670,8 @@ "context_length": 7500, "max_completion_tokens": 1500, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -2706,8 +2708,8 @@ "context_length": 16384, "max_completion_tokens": 16384, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -2726,8 +2728,8 @@ "context_length": 32768, "max_completion_tokens": 32768, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -2998,8 +3000,8 @@ ], "supports_tools": true, "pricing": { - "prompt": 6e-8, - "completion": 6e-7, + "prompt": 9e-8, + "completion": 1.1e-6, "request": 0.0, "image": 0.0 } @@ -3028,16 +3030,16 @@ "name": "Qwen: Qwen3 VL 235B A22B Instruct", "context_length": 262144, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" ], "supports_tools": true, "pricing": { - "prompt": 1.2e-7, - "completion": 5.6e-7, + "prompt": 2e-7, + "completion": 1.2e-6, "request": 0.0, "image": 0.0 } @@ -3048,8 +3050,8 @@ "context_length": 262144, "max_completion_tokens": 262144, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -3067,8 +3069,8 @@ "name": "Qwen: Qwen3 VL 30B A3B Instruct", "context_length": 262144, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -3087,8 +3089,8 @@ "context_length": 131072, "max_completion_tokens": 32768, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -3106,8 +3108,8 @@ "name": "Qwen: Qwen3 VL 32B Instruct", "context_length": 262144, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -3239,8 +3241,8 @@ "context_length": 2000000, "max_completion_tokens": 30000, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text" @@ -3259,8 +3261,8 @@ "context_length": 2000000, "max_completion_tokens": 30000, "input_modalities": [ - "text", - "image" + "image", + "text" ], "output_modalities": [ "text"