From e2a18c932ad5e4b134df1425392f7d291646eb23 Mon Sep 17 00:00:00 2001 From: David Katz Date: Thu, 29 Jan 2026 13:40:52 -0500 Subject: [PATCH] Swap canonical model from openrouter to models.dev (#6625) --- crates/goose-cli/src/session/output.rs | 4 +- .../src/routes/config_management.rs | 14 +- crates/goose/src/providers/base.rs | 43 +- .../canonical/build_canonical_models.rs | 397 +- .../data/canonical_mapping_report.json | 4392 ++-- .../canonical/data/canonical_models.json | 16525 +++++++++++++--- crates/goose/src/providers/canonical/mod.rs | 11 +- crates/goose/src/providers/canonical/model.rs | 137 +- .../src/providers/canonical/name_builder.rs | 161 +- .../goose/src/providers/canonical/registry.rs | 29 +- crates/goose/src/providers/utils.rs | 1 + crates/goose/src/providers/xai.rs | 30 + crates/goose/tests/providers.rs | 4 +- ui/desktop/openapi.json | 4 +- ui/desktop/src/api/types.gen.ts | 4 +- 15 files changed, 16730 insertions(+), 5026 deletions(-) diff --git a/crates/goose-cli/src/session/output.rs b/crates/goose-cli/src/session/output.rs index bdc8458e..9b0668b2 100644 --- a/crates/goose-cli/src/session/output.rs +++ b/crates/goose-cli/src/session/output.rs @@ -901,8 +901,8 @@ fn estimate_cost_usd( ) -> Option { let canonical_model = maybe_get_canonical_model(provider, model)?; - let input_cost_per_token = canonical_model.pricing.prompt?; - let output_cost_per_token = canonical_model.pricing.completion?; + let input_cost_per_token = canonical_model.cost.input? / 1_000_000.0; + let output_cost_per_token = canonical_model.cost.output? / 1_000_000.0; let input_cost = input_cost_per_token * input_tokens as f64; let output_cost = output_cost_per_token * output_tokens as f64; diff --git a/crates/goose-server/src/routes/config_management.rs b/crates/goose-server/src/routes/config_management.rs index 67aef90f..6c12b6c0 100644 --- a/crates/goose-server/src/routes/config_management.rs +++ b/crates/goose-server/src/routes/config_management.rs @@ -482,17 +482,17 @@ pub async fn get_pricing( let mut pricing_data = Vec::new(); - if let (Some(input_cost), Some(output_cost)) = ( - canonical_model.pricing.prompt, - canonical_model.pricing.completion, - ) { + if let (Some(input_cost), Some(output_cost)) = + (canonical_model.cost.input, canonical_model.cost.output) + { pricing_data.push(PricingData { provider: query.provider.clone(), model: query.model.clone(), - input_token_cost: input_cost, - output_token_cost: output_cost, + // Canonical model costs are per million tokens, convert to per-token + input_token_cost: input_cost / 1_000_000.0, + output_token_cost: output_cost / 1_000_000.0, currency: "$".to_string(), - context_length: Some(canonical_model.context_length as u32), + context_length: Some(canonical_model.limit.context as u32), }); } diff --git a/crates/goose/src/providers/base.rs b/crates/goose/src/providers/base.rs index cbd982ed..6eda0923 100644 --- a/crates/goose/src/providers/base.rs +++ b/crates/goose/src/providers/base.rs @@ -42,9 +42,9 @@ pub struct ModelInfo { pub name: String, /// The maximum context length this model supports pub context_limit: usize, - /// Cost per token for input (optional) + /// Cost per token for input in USD (optional) pub input_token_cost: Option, - /// Cost per token for output (optional) + /// Cost per token for output in USD (optional) pub output_token_cost: Option, /// Currency for the costs (default: "$") pub currency: Option, @@ -456,15 +456,40 @@ pub trait Provider: Send + Sync { let provider_name = self.get_name(); - let recommended_models: Vec = all_models + // Get all text-capable models with their release dates + let mut models_with_dates: Vec<(String, Option)> = all_models .iter() - .filter(|model| { - map_to_canonical_model(provider_name, model, registry) - .and_then(|canonical_id| registry.get(&canonical_id)) - .map(|m| m.input_modalities.contains(&"text".to_string())) - .unwrap_or(false) + .filter_map(|model| { + let canonical_id = map_to_canonical_model(provider_name, model, registry)?; + + let (provider, model_name) = canonical_id.split_once('/')?; + let canonical_model = registry.get(provider, model_name)?; + + if !canonical_model + .modalities + .input + .contains(&crate::providers::canonical::Modality::Text) + { + return None; + } + + let release_date = canonical_model.release_date.clone(); + + Some((model.clone(), release_date)) }) - .cloned() + .collect(); + + // Sort by release date (most recent first), then alphabetically for models without dates + models_with_dates.sort_by(|a, b| match (&a.1, &b.1) { + (Some(date_a), Some(date_b)) => date_b.cmp(date_a), + (Some(_), None) => std::cmp::Ordering::Less, + (None, Some(_)) => std::cmp::Ordering::Greater, + (None, None) => a.0.cmp(&b.0), + }); + + let recommended_models: Vec = models_with_dates + .into_iter() + .map(|(name, _)| name) .collect(); if recommended_models.is_empty() { diff --git a/crates/goose/src/providers/canonical/build_canonical_models.rs b/crates/goose/src/providers/canonical/build_canonical_models.rs index c3a6cb1d..b683e8f3 100644 --- a/crates/goose/src/providers/canonical/build_canonical_models.rs +++ b/crates/goose/src/providers/canonical/build_canonical_models.rs @@ -1,6 +1,6 @@ -/// Build canonical models from OpenRouter API +/// Build canonical models from models.dev API /// -/// This script fetches models from OpenRouter and converts them to canonical format. +/// This script fetches models from models.dev and converts them to canonical format. /// By default, it also checks which models from top providers are properly mapped. /// /// Usage: @@ -10,7 +10,7 @@ use anyhow::{Context, Result}; use clap::Parser; use goose::providers::canonical::{ - canonical_name, CanonicalModel, CanonicalModelRegistry, Pricing, + canonical_name, CanonicalModel, CanonicalModelRegistry, Limit, Modalities, Modality, Pricing, }; use goose::providers::{canonical::ModelMapping, create_with_named_model}; use serde::{Deserialize, Serialize}; @@ -18,20 +18,35 @@ use serde_json::Value; use std::collections::{BTreeMap, BTreeSet, HashMap}; use std::path::PathBuf; -const OPENROUTER_API_URL: &str = "https://openrouter.ai/api/v1/models"; +const MODELS_DEV_API_URL: &str = "https://models.dev/api.json"; + +// Providers to include in canonical models const ALLOWED_PROVIDERS: &[&str] = &[ "anthropic", "google", "openai", - "meta-llama", - "mistralai", - "x-ai", + "openrouter", + "llama", + "mistral", + "xai", "deepseek", "cohere", - "ai21", - "qwen", + "azure", + "amazon-bedrock", + "venice", + "google-vertex", ]; +// Normalize provider names from models.dev to our canonical format +fn normalize_provider_name(provider: &str) -> &str { + match provider { + "llama" => "meta-llama", + "xai" => "x-ai", + "mistral" => "mistralai", + _ => provider, + } +} + #[derive(Parser, Debug)] #[command(author, version, about, long_about = None)] struct Args { @@ -51,6 +66,7 @@ struct MappingEntry { provider: String, model: String, canonical: String, + recommended: bool, } #[derive(Debug, Clone, Serialize, Deserialize)] @@ -92,12 +108,16 @@ impl MappingReport { provider_name: &str, fetched_models: Vec, mappings: Vec, + recommended_models: Vec, ) { let mapping_map: HashMap = mappings .iter() .map(|m| (m.provider_model.clone(), m.canonical_model.clone())) .collect(); + let recommended_set: std::collections::HashSet = + recommended_models.into_iter().collect(); + for model in &fetched_models { if !mapping_map.contains_key(model) { self.unmapped_models.push(ProviderModelPair { @@ -113,6 +133,7 @@ impl MappingReport { provider: provider_name.to_string(), model: model.clone(), canonical: canonical.clone(), + recommended: recommended_set.contains(model), }); } @@ -307,220 +328,167 @@ impl MappingReport { } } -#[allow(clippy::too_many_lines)] async fn build_canonical_models() -> Result<()> { - println!("Fetching models from OpenRouter API..."); + println!("Fetching models from models.dev API..."); let client = reqwest::Client::new(); let response = client - .get(OPENROUTER_API_URL) + .get(MODELS_DEV_API_URL) .header("User-Agent", "goose/canonical-builder") .send() .await - .context("Failed to fetch from OpenRouter API")?; + .context("Failed to fetch from models.dev API")?; let json: Value = response .json() .await - .context("Failed to parse OpenRouter response")?; + .context("Failed to parse models.dev response")?; - let models = json["data"] - .as_array() - .context("Expected 'data' array in OpenRouter response")? - .clone(); + let providers_obj = json + .as_object() + .context("Expected object in models.dev response")?; - println!("Processing {} models from OpenRouter...", models.len()); - - // First pass: Group models by canonical ID and track the one with shortest name - let mut canonical_groups: HashMap = HashMap::new(); - let mut shortest_names: HashMap = HashMap::new(); - - for model in &models { - let id = model["id"].as_str().unwrap(); - let name = model["name"].as_str().context("Model missing id field")?; - - // Skip OpenRouter-specific pricing variants (:free, :nitro) - // Keep :extended since it has different context length - if id.contains(":free") || id.contains(":nitro") { - continue; - } - - let canonical_id = canonical_name("openrouter", id); - - let provider = canonical_id.split('/').next().unwrap_or(""); - if !ALLOWED_PROVIDERS.contains(&provider) { - continue; - } - - let prompt_cost = model - .get("pricing") - .and_then(|p| p.get("prompt")) - .and_then(|v| v.as_str()) - .and_then(|s| s.parse::().ok()) - .unwrap_or(0.0); - - let completion_cost = model - .get("pricing") - .and_then(|p| p.get("completion")) - .and_then(|v| v.as_str()) - .and_then(|s| s.parse::().ok()) - .unwrap_or(0.0); - - let has_paid_pricing = prompt_cost > 0.0 || completion_cost > 0.0; - - if let Some(existing_model) = canonical_groups.get(&canonical_id) { - let existing_name = shortest_names.get(&canonical_id).unwrap(); - - let existing_prompt = existing_model - .get("pricing") - .and_then(|p| p.get("prompt")) - .and_then(|v| v.as_str()) - .and_then(|s| s.parse::().ok()) - .unwrap_or(0.0); - - let existing_completion = existing_model - .get("pricing") - .and_then(|p| p.get("completion")) - .and_then(|v| v.as_str()) - .and_then(|s| s.parse::().ok()) - .unwrap_or(0.0); - - let existing_has_paid = existing_prompt > 0.0 || existing_completion > 0.0; - - let should_replace = if has_paid_pricing != existing_has_paid { - has_paid_pricing // Prefer the one with paid pricing - } else { - name.len() < existing_name.len() // Both same pricing tier, prefer shorter name - }; - - if should_replace { - println!( - " Updating {} from '{}' (paid: {}) to '{}' (paid: {})", - canonical_id, - existing_model["id"].as_str().unwrap(), - existing_has_paid, - id, - has_paid_pricing - ); - shortest_names.insert(canonical_id.clone(), name.to_string()); - canonical_groups.insert(canonical_id, model); - } - } else { - println!( - " Adding: {} (from {}, paid: {})", - canonical_id, id, has_paid_pricing - ); - shortest_names.insert(canonical_id.clone(), name.to_string()); - canonical_groups.insert(canonical_id, model); - } - } - - // Filter out beta/preview variants if non-beta version exists - let beta_suffixes = ["-beta", "-preview", "-alpha"]; - let mut to_remove = Vec::new(); - - for canonical_id in canonical_groups.keys() { - for suffix in &beta_suffixes { - if canonical_id.ends_with(suffix) { - // Check if non-beta version exists - let base_id = canonical_id.strip_suffix(suffix).unwrap(); - if canonical_groups.contains_key(base_id) { - println!( - " Filtering out {} (non-beta version {} exists)", - canonical_id, base_id - ); - to_remove.push(canonical_id.clone()); - break; - } - } - } - } - - for id in to_remove { - canonical_groups.remove(&id); - shortest_names.remove(&id); - } - - // Second pass: Build the registry with the selected models let mut registry = CanonicalModelRegistry::new(); + let mut total_models = 0; - for (canonical_id, model) in canonical_groups.iter() { - let name = shortest_names.get(canonical_id).unwrap(); + for provider_key in ALLOWED_PROVIDERS { + if let Some(provider_data) = providers_obj.get(*provider_key) { + let models = provider_data["models"] + .as_object() + .context(format!("Provider {} missing models object", provider_key))?; - let context_length = model["context_length"].as_u64().unwrap_or(128_000) as usize; + let normalized_provider = normalize_provider_name(provider_key); - let max_completion_tokens = model - .get("top_provider") - .and_then(|tp| tp.get("max_completion_tokens")) - .and_then(|v| v.as_u64()) - .map(|v| v as usize); + println!( + "\nProcessing {} ({} models)...", + normalized_provider, + models.len() + ); - let mut input_modalities: Vec = model - .get("architecture") - .and_then(|arch| arch.get("input_modalities")) - .and_then(|v| v.as_array()) - .map(|arr| { - arr.iter() - .filter_map(|v| v.as_str()) - .map(|s| s.to_string()) - .collect() - }) - .unwrap_or_else(|| vec!["text".to_string()]); - input_modalities.sort(); + for (model_id, model_data) in models { + // Skip models without pricing information + let cost_data = match model_data.get("cost") { + Some(c) if !c.is_null() => c, + _ => continue, + }; - let mut output_modalities: Vec = model - .get("architecture") - .and_then(|arch| arch.get("output_modalities")) - .and_then(|v| v.as_array()) - .map(|arr| { - arr.iter() - .filter_map(|v| v.as_str()) - .map(|s| s.to_string()) - .collect() - }) - .unwrap_or_else(|| vec!["text".to_string()]); - output_modalities.sort(); + let name = model_data["name"] + .as_str() + .context(format!("Model {} missing name", model_id))?; - let supports_tools = model - .get("supported_parameters") - .and_then(|v| v.as_array()) - .map(|params| params.iter().any(|param| param.as_str() == Some("tools"))) - .unwrap_or(false); + // Use canonical_name to normalize the model ID (strips date stamps, etc.) + // This deduplicates different versions of the same model + let canonical_id = canonical_name(normalized_provider, model_id); - let pricing_obj = model - .get("pricing") - .context("Model missing pricing field")?; - let pricing = Pricing { - prompt: pricing_obj - .get("prompt") - .and_then(|v| v.as_str()) - .and_then(|s| s.parse().ok()), - completion: pricing_obj - .get("completion") - .and_then(|v| v.as_str()) - .and_then(|s| s.parse().ok()), - request: pricing_obj - .get("request") - .and_then(|v| v.as_str()) - .and_then(|s| s.parse().ok()), - image: pricing_obj - .get("image") - .and_then(|v| v.as_str()) - .and_then(|s| s.parse().ok()), - }; + let family = model_data + .get("family") + .and_then(|v| v.as_str()) + .map(|s| s.to_string()); - let canonical_model = CanonicalModel { - id: canonical_id.clone(), - name: name.to_string(), - context_length, - max_completion_tokens, - input_modalities, - output_modalities, - supports_tools, - pricing, - }; + let attachment = model_data.get("attachment").and_then(|v| v.as_bool()); - registry.register(canonical_model); + let reasoning = model_data.get("reasoning").and_then(|v| v.as_bool()); + + let tool_call = model_data + .get("tool_call") + .and_then(|v| v.as_bool()) + .unwrap_or(false); + + let temperature = model_data.get("temperature").and_then(|v| v.as_bool()); + + let knowledge = model_data + .get("knowledge") + .and_then(|v| v.as_str()) + .map(|s| s.to_string()); + + let release_date = model_data + .get("release_date") + .and_then(|v| v.as_str()) + .map(|s| s.to_string()); + + let last_updated = model_data + .get("last_updated") + .and_then(|v| v.as_str()) + .map(|s| s.to_string()); + + let modalities = Modalities { + input: model_data + .get("modalities") + .and_then(|m| m.get("input")) + .and_then(|v| v.as_array()) + .map(|arr| { + arr.iter() + .filter_map(|v| v.as_str()) + .filter_map(|s| { + serde_json::from_value(serde_json::Value::String(s.to_string())) + .ok() + }) + .collect() + }) + .unwrap_or_else(|| vec![Modality::Text]), + output: model_data + .get("modalities") + .and_then(|m| m.get("output")) + .and_then(|v| v.as_array()) + .map(|arr| { + arr.iter() + .filter_map(|v| v.as_str()) + .filter_map(|s| { + serde_json::from_value(serde_json::Value::String(s.to_string())) + .ok() + }) + .collect() + }) + .unwrap_or_else(|| vec![Modality::Text]), + }; + + let open_weights = model_data.get("open_weights").and_then(|v| v.as_bool()); + + let cost = Pricing { + input: cost_data.get("input").and_then(|v| v.as_f64()), + output: cost_data.get("output").and_then(|v| v.as_f64()), + cache_read: cost_data.get("cache_read").and_then(|v| v.as_f64()), + cache_write: cost_data.get("cache_write").and_then(|v| v.as_f64()), + }; + + let limit = Limit { + context: model_data + .get("limit") + .and_then(|l| l.get("context")) + .and_then(|v| v.as_u64()) + .unwrap_or(128_000) as usize, + output: model_data + .get("limit") + .and_then(|l| l.get("output")) + .and_then(|v| v.as_u64()) + .map(|v| v as usize), + }; + + let canonical_model = CanonicalModel { + id: canonical_id.clone(), + name: name.to_string(), + family, + attachment, + reasoning, + tool_call, + temperature, + knowledge, + release_date, + last_updated, + modalities, + open_weights, + cost, + limit, + }; + + // Extract the normalized model name (everything after "provider/") + let model_name = canonical_id + .strip_prefix(&format!("{}/", normalized_provider)) + .unwrap_or(model_id); + registry.register(normalized_provider, model_name, canonical_model); + total_models += 1; + } + } } let output_path = PathBuf::from(env!("CARGO_MANIFEST_DIR")) @@ -528,7 +496,7 @@ async fn build_canonical_models() -> Result<()> { registry.to_file(&output_path)?; println!( "\n✓ Wrote {} models to {}", - registry.count(), + total_models, output_path.display() ); @@ -538,7 +506,7 @@ async fn build_canonical_models() -> Result<()> { async fn check_provider( provider_name: &str, model_for_init: &str, -) -> Result<(Vec, Vec)> { +) -> Result<(Vec, Vec, Vec)> { println!("Checking provider: {}", provider_name); let provider = match create_with_named_model(provider_name, model_for_init).await { @@ -546,7 +514,7 @@ async fn check_provider( Err(e) => { println!(" ⚠ Failed to create provider: {}", e); println!(" This is expected if credentials are not configured."); - return Ok((Vec::new(), Vec::new())); + return Ok((Vec::new(), Vec::new(), Vec::new())); } }; @@ -566,6 +534,18 @@ async fn check_provider( } }; + let recommended_models = match provider.fetch_recommended_models().await { + Ok(Some(models)) => { + println!(" ✓ Found {} recommended models", models.len()); + models + } + Ok(None) => Vec::new(), + Err(e) => { + println!(" ⚠ Failed to fetch recommended models: {}", e); + Vec::new() + } + }; + let mut mappings = Vec::new(); for model in &fetched_models { match provider.map_to_canonical_model(model).await { @@ -582,7 +562,7 @@ async fn check_provider( } println!(" ✓ Found {} mappings", mappings.len()); - Ok((fetched_models, mappings)) + Ok((fetched_models, mappings, recommended_models)) } async fn check_canonical_mappings() -> Result<()> { @@ -596,15 +576,20 @@ async fn check_canonical_mappings() -> Result<()> { ("openai", "gpt-4"), ("openrouter", "anthropic/claude-3.5-sonnet"), ("google", "gemini-1.5-pro-002"), + ("databricks", "claude-3-5-sonnet-20241022"), ("tetrate", "claude-3-5-sonnet-computer-use"), ("xai", "grok-code-fast-1"), + ("azure_openai", "gpt-4o"), + ("aws_bedrock", "anthropic.claude-3-5-sonnet-20241022-v2:0"), + ("venice", "llama-3.3-70b"), + ("gcp_vertex_ai", "gemini-1.5-pro-002"), ]; let mut report = MappingReport::new(); for (provider_name, default_model) in providers { - let (fetched, mappings) = check_provider(provider_name, default_model).await?; - report.add_provider_results(provider_name, fetched, mappings); + let (fetched, mappings, recommended) = check_provider(provider_name, default_model).await?; + report.add_provider_results(provider_name, fetched, mappings, recommended); println!(); } 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 35bf9d5c..4ff9dd97 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,278 @@ { - "timestamp": "2026-01-22T13:48:22.433709606+00:00", + "timestamp": "2026-01-27T17:42:42.278162+00:00", "unmapped_models": [ + { + "provider": "databricks", + "model": "baxen-migration-demo" + }, + { + "provider": "databricks", + "model": "big-hack" + }, + { + "provider": "databricks", + "model": "case-history-checker" + }, + { + "provider": "databricks", + "model": "case_history_hackweek" + }, + { + "provider": "databricks", + "model": "claude-3-5-sonnet-2" + }, + { + "provider": "databricks", + "model": "claude-4" + }, + { + "provider": "databricks", + "model": "claude-haiku" + }, + { + "provider": "databricks", + "model": "claude-opus" + }, + { + "provider": "databricks", + "model": "claude-sonnet" + }, + { + "provider": "databricks", + "model": "cmg-test-iris" + }, + { + "provider": "databricks", + "model": "codellama-7b-hf-ift" + }, + { + "provider": "databricks", + "model": "column-mapping-model-endpoint" + }, + { + "provider": "databricks", + "model": "column-mapping-model-endpoint-v2" + }, + { + "provider": "databricks", + "model": "databricks-bge-large-en" + }, + { + "provider": "databricks", + "model": "databricks-gemini-3-flash" + }, + { + "provider": "databricks", + "model": "databricks-gemini-3-pro" + }, + { + "provider": "databricks", + "model": "databricks-gemma-3-12b" + }, + { + "provider": "databricks", + "model": "databricks-gpt-oss-120b" + }, + { + "provider": "databricks", + "model": "databricks-gpt-oss-20b" + }, + { + "provider": "databricks", + "model": "databricks-gte-large-en" + }, + { + "provider": "databricks", + "model": "databricks-llama-4-maverick" + }, + { + "provider": "databricks", + "model": "databricks-meta-llama-3-1-405b-instruct" + }, + { + "provider": "databricks", + "model": "databricks-meta-llama-3-1-8b-instruct" + }, + { + "provider": "databricks", + "model": "dummy-model-ml-gp-endpoint" + }, + { + "provider": "databricks", + "model": "e5-large-v2" + }, + { + "provider": "databricks", + "model": "gemini-2-5-pro-exp" + }, + { + "provider": "databricks", + "model": "gemini-pro" + }, + { + "provider": "databricks", + "model": "goose" + }, + { + "provider": "databricks", + "model": "goose-cerebras-glm-4-6" + }, + { + "provider": "databricks", + "model": "goose-gemini-3-pro" + }, + { + "provider": "databricks", + "model": "goose-gpt-oss" + }, + { + "provider": "databricks", + "model": "gpt-3-5-turbo-16k" + }, + { + "provider": "databricks", + "model": "gpt-3-5-turbo-instruct" + }, + { + "provider": "databricks", + "model": "gpt-4-0125-preview" + }, + { + "provider": "databricks", + "model": "gpt-4-vision-preview" + }, + { + "provider": "databricks", + "model": "gpt-5-mini-high" + }, + { + "provider": "databricks", + "model": "gpt-vision" + }, + { + "provider": "databricks", + "model": "hackweek-snowflake-gpt-query-generator" + }, + { + "provider": "databricks", + "model": "headless-goose" + }, + { + "provider": "databricks", + "model": "icg-poc" + }, + { + "provider": "databricks", + "model": "invoice_parser_test" + }, + { + "provider": "databricks", + "model": "jina-reranker-v1-turbo-en" + }, + { + "provider": "databricks", + "model": "korhan-openai-test" + }, + { + "provider": "databricks", + "model": "korhan-openai-wrapper" + }, + { + "provider": "databricks", + "model": "lfc_mml_er_bge_m3" + }, + { + "provider": "databricks", + "model": "moderation" + }, + { + "provider": "databricks", + "model": "o3-cdd-autopilot" + }, + { + "provider": "databricks", + "model": "optimized-llama2-7b" + }, + { + "provider": "databricks", + "model": "opus-mt-en-es" + }, + { + "provider": "databricks", + "model": "opus-mt-en-fr" + }, + { + "provider": "databricks", + "model": "opus-mt-en-ja" + }, + { + "provider": "databricks", + "model": "opus-mt-es-en" + }, + { + "provider": "databricks", + "model": "opus-mt-fr-en" + }, + { + "provider": "databricks", + "model": "opus-mt-ja-en" + }, + { + "provider": "databricks", + "model": "p2p-device-recovery-classify" + }, + { + "provider": "databricks", + "model": "picasso_embeddings" + }, + { + "provider": "databricks", + "model": "pii-redactor" + }, + { + "provider": "databricks", + "model": "pii-redactor-prod" + }, + { + "provider": "databricks", + "model": "prime_model" + }, + { + "provider": "databricks", + "model": "reportiq_selector_1" + }, + { + "provider": "databricks", + "model": "reportiq_selector_md_file" + }, + { + "provider": "databricks", + "model": "snowflake-gpt-query-generator-v3" + }, + { + "provider": "databricks", + "model": "sq-bank-statement-classifier" + }, + { + "provider": "databricks", + "model": "sq-bank-statement-parser" + }, + { + "provider": "databricks", + "model": "support-article-intent-mapping" + }, + { + "provider": "databricks", + "model": "text-embedding-3-large" + }, + { + "provider": "databricks", + "model": "text-embedding-3-small" + }, + { + "provider": "databricks", + "model": "text-embedding-ada-002" + }, { "provider": "google", "model": "aqa" @@ -17,25 +289,37 @@ "provider": "google", "model": "embedding-gecko-001" }, + { + "provider": "google", + "model": "gemini-2.0-flash-001" + }, + { + "provider": "google", + "model": "gemini-2.0-flash-exp" + }, { "provider": "google", "model": "gemini-2.0-flash-exp-image-generation" }, + { + "provider": "google", + "model": "gemini-2.0-flash-lite-001" + }, + { + "provider": "google", + "model": "gemini-2.0-flash-lite-preview" + }, + { + "provider": "google", + "model": "gemini-2.0-flash-lite-preview-02-05" + }, { "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" + "model": "gemini-3-pro-image-preview" }, { "provider": "google", @@ -49,14 +333,6 @@ "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" @@ -65,14 +341,30 @@ "provider": "google", "model": "gemini-robotics-er-1.5-preview" }, + { + "provider": "google", + "model": "gemma-3-12b-it" + }, { "provider": "google", "model": "gemma-3-1b-it" }, + { + "provider": "google", + "model": "gemma-3-27b-it" + }, + { + "provider": "google", + "model": "gemma-3-4b-it" + }, { "provider": "google", "model": "gemma-3n-e2b-it" }, + { + "provider": "google", + "model": "gemma-3n-e4b-it" + }, { "provider": "google", "model": "imagen-4.0-fast-generate-001" @@ -293,6 +585,10 @@ "provider": "openai", "model": "babbage:ft-square-2023-02-28-14-48-38" }, + { + "provider": "openai", + "model": "chatgpt-4o-latest" + }, { "provider": "openai", "model": "chatgpt-image-latest" @@ -2273,6 +2569,42 @@ "provider": "openai", "model": "ft:gpt-4o-mini-2024-07-18:square:tarkin:9rJTCzuI" }, + { + "provider": "openai", + "model": "gpt-3.5-turbo-16k" + }, + { + "provider": "openai", + "model": "gpt-3.5-turbo-instruct" + }, + { + "provider": "openai", + "model": "gpt-3.5-turbo-instruct-0914" + }, + { + "provider": "openai", + "model": "gpt-4-0125-preview" + }, + { + "provider": "openai", + "model": "gpt-4-1106-preview" + }, + { + "provider": "openai", + "model": "gpt-4-turbo-preview" + }, + { + "provider": "openai", + "model": "gpt-4o-audio-preview" + }, + { + "provider": "openai", + "model": "gpt-4o-audio-preview-2024-12-17" + }, + { + "provider": "openai", + "model": "gpt-4o-audio-preview-2025-06-03" + }, { "provider": "openai", "model": "gpt-4o-mini-audio-preview" @@ -2289,6 +2621,14 @@ "provider": "openai", "model": "gpt-4o-mini-realtime-preview-2024-12-17" }, + { + "provider": "openai", + "model": "gpt-4o-mini-search-preview" + }, + { + "provider": "openai", + "model": "gpt-4o-mini-search-preview-2025-03-11" + }, { "provider": "openai", "model": "gpt-4o-mini-transcribe" @@ -2325,6 +2665,14 @@ "provider": "openai", "model": "gpt-4o-realtime-preview-2025-06-03" }, + { + "provider": "openai", + "model": "gpt-4o-search-preview" + }, + { + "provider": "openai", + "model": "gpt-4o-search-preview-2025-03-11" + }, { "provider": "openai", "model": "gpt-4o-transcribe" @@ -2341,10 +2689,6 @@ "provider": "openai", "model": "gpt-5-search-api-2025-10-14" }, - { - "provider": "openai", - "model": "gpt-5.2-codex" - }, { "provider": "openai", "model": "gpt-audio" @@ -2413,18 +2757,6 @@ "provider": "openai", "model": "sora-2-pro" }, - { - "provider": "openai", - "model": "text-embedding-3-large" - }, - { - "provider": "openai", - "model": "text-embedding-3-small" - }, - { - "provider": "openai", - "model": "text-embedding-ada-002" - }, { "provider": "openai", "model": "tts-1" @@ -2445,6 +2777,14 @@ "provider": "openai", "model": "whisper-1" }, + { + "provider": "openrouter", + "model": "ai21/jamba-large-1.7" + }, + { + "provider": "openrouter", + "model": "ai21/jamba-mini-1.7" + }, { "provider": "openrouter", "model": "alibaba/tongyi-deepresearch-30b-a3b" @@ -2473,6 +2813,18 @@ "provider": "openrouter", "model": "amazon/nova-pro-v1" }, + { + "provider": "openrouter", + "model": "anthropic/claude-3-haiku" + }, + { + "provider": "openrouter", + "model": "anthropic/claude-3.5-sonnet" + }, + { + "provider": "openrouter", + "model": "anthropic/claude-3.7-sonnet:thinking" + }, { "provider": "openrouter", "model": "arcee-ai/trinity-mini" @@ -2501,6 +2853,14 @@ "provider": "openrouter", "model": "bytedance-seed/seed-1.6-flash" }, + { + "provider": "openrouter", + "model": "cohere/command-r-08-2024" + }, + { + "provider": "openrouter", + "model": "cohere/command-r-plus-08-2024" + }, { "provider": "openrouter", "model": "deepcogito/cogito-v2-preview-llama-109b-moe" @@ -2515,7 +2875,27 @@ }, { "provider": "openrouter", - "model": "google/gemini-2.0-flash-exp:free" + "model": "deepseek/deepseek-chat" + }, + { + "provider": "openrouter", + "model": "deepseek/deepseek-r1" + }, + { + "provider": "openrouter", + "model": "deepseek/deepseek-r1-0528" + }, + { + "provider": "openrouter", + "model": "deepseek/deepseek-v3.2-exp" + }, + { + "provider": "openrouter", + "model": "google/gemini-2.0-flash-lite-001" + }, + { + "provider": "openrouter", + "model": "google/gemini-2.5-pro-preview" }, { "provider": "openrouter", @@ -2535,23 +2915,79 @@ }, { "provider": "openrouter", - "model": "meta-llama/llama-3.3-70b-instruct:free" + "model": "meta-llama/llama-3-8b-instruct" }, { "provider": "openrouter", - "model": "minimax/minimax-m1" + "model": "meta-llama/llama-3.1-405b-instruct" }, { "provider": "openrouter", - "model": "minimax/minimax-m2" + "model": "meta-llama/llama-3.1-70b-instruct" }, { "provider": "openrouter", - "model": "minimax/minimax-m2.1" + "model": "meta-llama/llama-3.1-8b-instruct" }, { "provider": "openrouter", - "model": "mistralai/devstral-2512:free" + "model": "meta-llama/llama-3.3-70b-instruct" + }, + { + "provider": "openrouter", + "model": "meta-llama/llama-4-maverick" + }, + { + "provider": "openrouter", + "model": "meta-llama/llama-4-scout" + }, + { + "provider": "openrouter", + "model": "mistralai/ministral-14b-2512" + }, + { + "provider": "openrouter", + "model": "mistralai/ministral-3b" + }, + { + "provider": "openrouter", + "model": "mistralai/ministral-3b-2512" + }, + { + "provider": "openrouter", + "model": "mistralai/ministral-8b" + }, + { + "provider": "openrouter", + "model": "mistralai/ministral-8b-2512" + }, + { + "provider": "openrouter", + "model": "mistralai/mistral-large" + }, + { + "provider": "openrouter", + "model": "mistralai/mistral-large-2407" + }, + { + "provider": "openrouter", + "model": "mistralai/mistral-large-2411" + }, + { + "provider": "openrouter", + "model": "mistralai/mistral-large-2512" + }, + { + "provider": "openrouter", + "model": "mistralai/mistral-nemo" + }, + { + "provider": "openrouter", + "model": "mistralai/mistral-saba" + }, + { + "provider": "openrouter", + "model": "mistralai/mistral-small-24b-instruct-2501" }, { "provider": "openrouter", @@ -2559,19 +2995,35 @@ }, { "provider": "openrouter", - "model": "moonshotai/kimi-k2" + "model": "mistralai/mistral-small-creative" }, { "provider": "openrouter", - "model": "moonshotai/kimi-k2-0905" + "model": "mistralai/mistral-tiny" }, { "provider": "openrouter", - "model": "moonshotai/kimi-k2-0905:exacto" + "model": "mistralai/mixtral-8x22b-instruct" }, { "provider": "openrouter", - "model": "moonshotai/kimi-k2-thinking" + "model": "mistralai/mixtral-8x7b-instruct" + }, + { + "provider": "openrouter", + "model": "mistralai/pixtral-12b" + }, + { + "provider": "openrouter", + "model": "mistralai/pixtral-large-2411" + }, + { + "provider": "openrouter", + "model": "mistralai/voxtral-small-24b-2507" + }, + { + "provider": "openrouter", + "model": "moonshotai/kimi-k2.5" }, { "provider": "openrouter", @@ -2581,10 +3033,6 @@ "provider": "openrouter", "model": "nousresearch/deephermes-3-mistral-24b-preview" }, - { - "provider": "openrouter", - "model": "nousresearch/hermes-4-70b" - }, { "provider": "openrouter", "model": "nvidia/llama-3.1-nemotron-70b-instruct" @@ -2605,17 +3053,73 @@ "provider": "openrouter", "model": "nvidia/nemotron-nano-12b-v2-vl:free" }, - { - "provider": "openrouter", - "model": "nvidia/nemotron-nano-9b-v2" - }, { "provider": "openrouter", "model": "nvidia/nemotron-nano-9b-v2:free" }, { "provider": "openrouter", - "model": "openai/gpt-5.2-codex" + "model": "openai/gpt-3.5-turbo" + }, + { + "provider": "openrouter", + "model": "openai/gpt-3.5-turbo-0613" + }, + { + "provider": "openrouter", + "model": "openai/gpt-3.5-turbo-16k" + }, + { + "provider": "openrouter", + "model": "openai/gpt-4" + }, + { + "provider": "openrouter", + "model": "openai/gpt-4-0314" + }, + { + "provider": "openrouter", + "model": "openai/gpt-4-1106-preview" + }, + { + "provider": "openrouter", + "model": "openai/gpt-4-turbo" + }, + { + "provider": "openrouter", + "model": "openai/gpt-4-turbo-preview" + }, + { + "provider": "openrouter", + "model": "openai/gpt-4.1-nano" + }, + { + "provider": "openrouter", + "model": "openai/gpt-4o" + }, + { + "provider": "openrouter", + "model": "openai/gpt-4o-2024-05-13" + }, + { + "provider": "openrouter", + "model": "openai/gpt-4o-2024-08-06" + }, + { + "provider": "openrouter", + "model": "openai/gpt-4o-2024-11-20" + }, + { + "provider": "openrouter", + "model": "openai/gpt-4o-audio-preview" + }, + { + "provider": "openrouter", + "model": "openai/gpt-4o:extended" + }, + { + "provider": "openrouter", + "model": "openai/gpt-5-image-mini" }, { "provider": "openrouter", @@ -2625,22 +3129,138 @@ "provider": "openrouter", "model": "openai/gpt-oss-20b:free" }, + { + "provider": "openrouter", + "model": "openai/o1" + }, + { + "provider": "openrouter", + "model": "openai/o3" + }, + { + "provider": "openrouter", + "model": "openai/o3-deep-research" + }, + { + "provider": "openrouter", + "model": "openai/o3-mini" + }, + { + "provider": "openrouter", + "model": "openai/o3-mini-high" + }, + { + "provider": "openrouter", + "model": "openai/o3-pro" + }, + { + "provider": "openrouter", + "model": "openai/o4-mini-deep-research" + }, + { + "provider": "openrouter", + "model": "openai/o4-mini-high" + }, { "provider": "openrouter", "model": "prime-intellect/intellect-3" }, + { + "provider": "openrouter", + "model": "qwen/qwen-2.5-72b-instruct" + }, + { + "provider": "openrouter", + "model": "qwen/qwen-2.5-7b-instruct" + }, + { + "provider": "openrouter", + "model": "qwen/qwen-max" + }, + { + "provider": "openrouter", + "model": "qwen/qwen-plus" + }, + { + "provider": "openrouter", + "model": "qwen/qwen-plus-2025-07-28" + }, + { + "provider": "openrouter", + "model": "qwen/qwen-plus-2025-07-28:thinking" + }, + { + "provider": "openrouter", + "model": "qwen/qwen-turbo" + }, + { + "provider": "openrouter", + "model": "qwen/qwen-vl-max" + }, + { + "provider": "openrouter", + "model": "qwen/qwen3-14b" + }, + { + "provider": "openrouter", + "model": "qwen/qwen3-235b-a22b" + }, + { + "provider": "openrouter", + "model": "qwen/qwen3-235b-a22b-2507" + }, + { + "provider": "openrouter", + "model": "qwen/qwen3-30b-a3b" + }, + { + "provider": "openrouter", + "model": "qwen/qwen3-32b" + }, { "provider": "openrouter", "model": "qwen/qwen3-4b:free" }, { "provider": "openrouter", - "model": "qwen/qwen3-coder:free" + "model": "qwen/qwen3-8b" + }, + { + "provider": "openrouter", + "model": "qwen/qwen3-coder-plus" }, { "provider": "openrouter", "model": "qwen/qwen3-next-80b-a3b-instruct:free" }, + { + "provider": "openrouter", + "model": "qwen/qwen3-vl-235b-a22b-instruct" + }, + { + "provider": "openrouter", + "model": "qwen/qwen3-vl-235b-a22b-thinking" + }, + { + "provider": "openrouter", + "model": "qwen/qwen3-vl-30b-a3b-instruct" + }, + { + "provider": "openrouter", + "model": "qwen/qwen3-vl-30b-a3b-thinking" + }, + { + "provider": "openrouter", + "model": "qwen/qwen3-vl-8b-instruct" + }, + { + "provider": "openrouter", + "model": "qwen/qwen3-vl-8b-thinking" + }, + { + "provider": "openrouter", + "model": "qwen/qwq-32b" + }, { "provider": "openrouter", "model": "relace/relace-search" @@ -2679,723 +3299,27 @@ }, { "provider": "openrouter", - "model": "x-ai/grok-3-beta" - }, - { - "provider": "openrouter", - "model": "x-ai/grok-3-mini-beta" + "model": "upstage/solar-pro-3:free" }, { "provider": "openrouter", "model": "xiaomi/mimo-v2-flash" }, - { - "provider": "openrouter", - "model": "xiaomi/mimo-v2-flash:free" - }, { "provider": "openrouter", "model": "z-ai/glm-4-32b" }, - { - "provider": "openrouter", - "model": "z-ai/glm-4.5" - }, - { - "provider": "openrouter", - "model": "z-ai/glm-4.5-air" - }, - { - "provider": "openrouter", - "model": "z-ai/glm-4.5-air:free" - }, - { - "provider": "openrouter", - "model": "z-ai/glm-4.5v" - }, - { - "provider": "openrouter", - "model": "z-ai/glm-4.6" - }, - { - "provider": "openrouter", - "model": "z-ai/glm-4.6:exacto" - }, { "provider": "openrouter", "model": "z-ai/glm-4.6v" }, - { - "provider": "openrouter", - "model": "z-ai/glm-4.7" - }, { "provider": "openrouter", "model": "z-ai/glm-4.7-flash" }, { - "provider": "tetrate", - "model": "claude-3-5-haiku-20241022" - }, - { - "provider": "tetrate", - "model": "claude-3-5-haiku-latest" - }, - { - "provider": "tetrate", - "model": "claude-3-7-sonnet-20250219" - }, - { - "provider": "tetrate", - "model": "claude-3-7-sonnet-latest" - }, - { - "provider": "tetrate", - "model": "claude-3-haiku-20240307" - }, - { - "provider": "tetrate", - "model": "claude-3-opus-20240229" - }, - { - "provider": "tetrate", - "model": "claude-haiku-4-5" - }, - { - "provider": "tetrate", - "model": "claude-haiku-4-5-20251001" - }, - { - "provider": "tetrate", - "model": "claude-opus-4-0" - }, - { - "provider": "tetrate", - "model": "claude-opus-4-1" - }, - { - "provider": "tetrate", - "model": "claude-opus-4-1-20250805" - }, - { - "provider": "tetrate", - "model": "claude-opus-4-20250514" - }, - { - "provider": "tetrate", - "model": "claude-opus-4-5" - }, - { - "provider": "tetrate", - "model": "claude-opus-4-5-20251101" - }, - { - "provider": "tetrate", - "model": "claude-sonnet-4-0" - }, - { - "provider": "tetrate", - "model": "claude-sonnet-4-20250514" - }, - { - "provider": "tetrate", - "model": "claude-sonnet-4-5" - }, - { - "provider": "tetrate", - "model": "claude-sonnet-4-5-20250929" - }, - { - "provider": "tetrate", - "model": "deepinfra/MiniMaxAI/MiniMax-M2" - }, - { - "provider": "tetrate", - "model": "deepinfra/NousResearch/Hermes-3-Llama-3.1-405B" - }, - { - "provider": "tetrate", - "model": "deepinfra/NousResearch/Hermes-3-Llama-3.1-70B" - }, - { - "provider": "tetrate", - "model": "deepinfra/Qwen/Qwen2.5-72B-Instruct" - }, - { - "provider": "tetrate", - "model": "deepinfra/Qwen/Qwen3-14B" - }, - { - "provider": "tetrate", - "model": "deepinfra/Qwen/Qwen3-235B-A22B-Instruct-2507" - }, - { - "provider": "tetrate", - "model": "deepinfra/Qwen/Qwen3-235B-A22B-Thinking-2507" - }, - { - "provider": "tetrate", - "model": "deepinfra/Qwen/Qwen3-30B-A3B" - }, - { - "provider": "tetrate", - "model": "deepinfra/Qwen/Qwen3-32B" - }, - { - "provider": "tetrate", - "model": "deepinfra/Qwen/Qwen3-Coder-480B-A35B-Instruct" - }, - { - "provider": "tetrate", - "model": "deepinfra/Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo" - }, - { - "provider": "tetrate", - "model": "deepinfra/Qwen/Qwen3-Next-80B-A3B-Instruct" - }, - { - "provider": "tetrate", - "model": "deepinfra/Qwen/Qwen3-VL-235B-A22B-Instruct" - }, - { - "provider": "tetrate", - "model": "deepinfra/Qwen/Qwen3-VL-30B-A3B-Instruct" - }, - { - "provider": "tetrate", - "model": "deepinfra/anthropic/claude-3-7-sonnet-latest" - }, - { - "provider": "tetrate", - "model": "deepinfra/anthropic/claude-4-opus" - }, - { - "provider": "tetrate", - "model": "deepinfra/anthropic/claude-4-sonnet" - }, - { - "provider": "tetrate", - "model": "deepinfra/deepseek-ai/DeepSeek-R1-0528" - }, - { - "provider": "tetrate", - "model": "deepinfra/deepseek-ai/DeepSeek-R1-0528-Turbo" - }, - { - "provider": "tetrate", - "model": "deepinfra/deepseek-ai/DeepSeek-V3" - }, - { - "provider": "tetrate", - "model": "deepinfra/deepseek-ai/DeepSeek-V3-0324" - }, - { - "provider": "tetrate", - "model": "deepinfra/deepseek-ai/DeepSeek-V3.1" - }, - { - "provider": "tetrate", - "model": "deepinfra/deepseek-ai/DeepSeek-V3.1-Terminus" - }, - { - "provider": "tetrate", - "model": "deepinfra/deepseek-ai/DeepSeek-V3.2" - }, - { - "provider": "tetrate", - "model": "deepinfra/google/gemini-2.0-flash-001" - }, - { - "provider": "tetrate", - "model": "deepinfra/google/gemini-2.5-flash" - }, - { - "provider": "tetrate", - "model": "deepinfra/google/gemini-2.5-pro" - }, - { - "provider": "tetrate", - "model": "deepinfra/google/gemma-3-12b-it" - }, - { - "provider": "tetrate", - "model": "deepinfra/google/gemma-3-27b-it" - }, - { - "provider": "tetrate", - "model": "deepinfra/google/gemma-3-4b-it" - }, - { - "provider": "tetrate", - "model": "deepinfra/meta-llama/Llama-3.2-3B-Instruct" - }, - { - "provider": "tetrate", - "model": "deepinfra/meta-llama/Llama-3.3-70B-Instruct-Turbo" - }, - { - "provider": "tetrate", - "model": "deepinfra/meta-llama/Llama-4-Scout-17B-16E-Instruct" - }, - { - "provider": "tetrate", - "model": "deepinfra/meta-llama/Meta-Llama-3-8B-Instruct" - }, - { - "provider": "tetrate", - "model": "deepinfra/meta-llama/Meta-Llama-3.1-70B-Instruct" - }, - { - "provider": "tetrate", - "model": "deepinfra/meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo" - }, - { - "provider": "tetrate", - "model": "deepinfra/meta-llama/Meta-Llama-3.1-8B-Instruct" - }, - { - "provider": "tetrate", - "model": "deepinfra/meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo" - }, - { - "provider": "tetrate", - "model": "deepinfra/mistralai/Mistral-Nemo-Instruct-2407" - }, - { - "provider": "tetrate", - "model": "deepinfra/mistralai/Mistral-Small-24B-Instruct-2501" - }, - { - "provider": "tetrate", - "model": "deepinfra/mistralai/Mistral-Small-3.2-24B-Instruct-2506" - }, - { - "provider": "tetrate", - "model": "deepinfra/mistralai/Mixtral-8x7B-Instruct-v0.1" - }, - { - "provider": "tetrate", - "model": "deepinfra/moonshotai/Kimi-K2-Instruct-0905" - }, - { - "provider": "tetrate", - "model": "deepinfra/moonshotai/Kimi-K2-Thinking" - }, - { - "provider": "tetrate", - "model": "deepinfra/nvidia/Llama-3.1-Nemotron-70B-Instruct" - }, - { - "provider": "tetrate", - "model": "deepinfra/nvidia/Llama-3.3-Nemotron-Super-49B-v1.5" - }, - { - "provider": "tetrate", - "model": "deepinfra/nvidia/NVIDIA-Nemotron-Nano-9B-v2" - }, - { - "provider": "tetrate", - "model": "deepinfra/nvidia/Nemotron-3-Nano-30B-A3B" - }, - { - "provider": "tetrate", - "model": "deepinfra/openai/gpt-oss-120b" - }, - { - "provider": "tetrate", - "model": "deepinfra/openai/gpt-oss-120b-Turbo" - }, - { - "provider": "tetrate", - "model": "deepinfra/openai/gpt-oss-20b" - }, - { - "provider": "tetrate", - "model": "deepinfra/zai-org/GLM-4.6" - }, - { - "provider": "tetrate", - "model": "deepinfra/zai-org/GLM-4.6V" - }, - { - "provider": "tetrate", - "model": "gemini-2.0-flash" - }, - { - "provider": "tetrate", - "model": "gemini-2.0-flash-001" - }, - { - "provider": "tetrate", - "model": "gemini-2.0-flash-exp" - }, - { - "provider": "tetrate", - "model": "gemini-2.0-flash-lite" - }, - { - "provider": "tetrate", - "model": "gemini-2.0-flash-lite-001" - }, - { - "provider": "tetrate", - "model": "gemini-2.5-flash" - }, - { - "provider": "tetrate", - "model": "gemini-2.5-flash-lite" - }, - { - "provider": "tetrate", - "model": "gemini-2.5-flash-lite-preview-09-2025" - }, - { - "provider": "tetrate", - "model": "gemini-2.5-flash-preview-09-2025" - }, - { - "provider": "tetrate", - "model": "gemini-2.5-pro" - }, - { - "provider": "tetrate", - "model": "gemini-3-pro-preview" - }, - { - "provider": "tetrate", - "model": "gpt-4-turbo" - }, - { - "provider": "tetrate", - "model": "gpt-4-turbo-2024-04-09" - }, - { - "provider": "tetrate", - "model": "gpt-4.1" - }, - { - "provider": "tetrate", - "model": "gpt-4.1-2025-04-14" - }, - { - "provider": "tetrate", - "model": "gpt-4.1-mini" - }, - { - "provider": "tetrate", - "model": "gpt-4.1-mini-2025-04-14" - }, - { - "provider": "tetrate", - "model": "gpt-4.1-nano" - }, - { - "provider": "tetrate", - "model": "gpt-4.1-nano-2025-04-14" - }, - { - "provider": "tetrate", - "model": "gpt-4o" - }, - { - "provider": "tetrate", - "model": "gpt-4o-2024-05-13" - }, - { - "provider": "tetrate", - "model": "gpt-4o-2024-08-06" - }, - { - "provider": "tetrate", - "model": "gpt-4o-2024-11-20" - }, - { - "provider": "tetrate", - "model": "gpt-4o-mini" - }, - { - "provider": "tetrate", - "model": "gpt-4o-mini-2024-07-18" - }, - { - "provider": "tetrate", - "model": "gpt-5" - }, - { - "provider": "tetrate", - "model": "gpt-5-2025-08-07" - }, - { - "provider": "tetrate", - "model": "gpt-5-chat-latest" - }, - { - "provider": "tetrate", - "model": "gpt-5-mini" - }, - { - "provider": "tetrate", - "model": "gpt-5-mini-2025-08-07" - }, - { - "provider": "tetrate", - "model": "gpt-5-nano" - }, - { - "provider": "tetrate", - "model": "gpt-5-nano-2025-08-07" - }, - { - "provider": "tetrate", - "model": "gpt-5.1" - }, - { - "provider": "tetrate", - "model": "gpt-5.1-2025-11-13" - }, - { - "provider": "tetrate", - "model": "gpt-5.1-chat-latest" - }, - { - "provider": "tetrate", - "model": "gpt-5.2" - }, - { - "provider": "tetrate", - "model": "gpt-5.2-2025-12-11" - }, - { - "provider": "tetrate", - "model": "groq/llama-3.1-8b-instant" - }, - { - "provider": "tetrate", - "model": "groq/llama-3.3-70b-versatile" - }, - { - "provider": "tetrate", - "model": "groq/meta-llama/llama-4-maverick-17b-128e-instruct" - }, - { - "provider": "tetrate", - "model": "groq/meta-llama/llama-4-scout-17b-16e-instruct" - }, - { - "provider": "tetrate", - "model": "groq/moonshotai/kimi-k2-instruct-0905" - }, - { - "provider": "tetrate", - "model": "groq/openai/gpt-oss-120b" - }, - { - "provider": "tetrate", - "model": "groq/openai/gpt-oss-20b" - }, - { - "provider": "tetrate", - "model": "groq/qwen/qwen3-32b" - }, - { - "provider": "tetrate", - "model": "o1" - }, - { - "provider": "tetrate", - "model": "o1-2024-12-17" - }, - { - "provider": "tetrate", - "model": "o3" - }, - { - "provider": "tetrate", - "model": "o3-2025-04-16" - }, - { - "provider": "tetrate", - "model": "o3-mini" - }, - { - "provider": "tetrate", - "model": "o3-mini-2025-01-31" - }, - { - "provider": "tetrate", - "model": "o4-mini" - }, - { - "provider": "tetrate", - "model": "o4-mini-2025-04-16" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-3-5-haiku" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-3-5-haiku@20241022" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-3-haiku" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-3-haiku@20240307" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-haiku-4-5" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-haiku-4-5@20251001" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-opus-4" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-opus-4-1" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-opus-4-1@20250805" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-opus-4-5" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-opus-4-5@20251101" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-opus-4@20250514" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-sonnet-4" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-sonnet-4-5" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-sonnet-4-5@20250929" - }, - { - "provider": "tetrate", - "model": "vertexanthropic/claude-sonnet-4@20250514" - }, - { - "provider": "tetrate", - "model": "xai/grok-2-vision" - }, - { - "provider": "tetrate", - "model": "xai/grok-2-vision-1212" - }, - { - "provider": "tetrate", - "model": "xai/grok-2-vision-latest" - }, - { - "provider": "tetrate", - "model": "xai/grok-3" - }, - { - "provider": "tetrate", - "model": "xai/grok-3-beta" - }, - { - "provider": "tetrate", - "model": "xai/grok-3-fast" - }, - { - "provider": "tetrate", - "model": "xai/grok-3-fast-beta" - }, - { - "provider": "tetrate", - "model": "xai/grok-3-fast-latest" - }, - { - "provider": "tetrate", - "model": "xai/grok-3-latest" - }, - { - "provider": "tetrate", - "model": "xai/grok-3-mini" - }, - { - "provider": "tetrate", - "model": "xai/grok-3-mini-beta" - }, - { - "provider": "tetrate", - "model": "xai/grok-3-mini-fast" - }, - { - "provider": "tetrate", - "model": "xai/grok-3-mini-fast-beta" - }, - { - "provider": "tetrate", - "model": "xai/grok-3-mini-fast-latest" - }, - { - "provider": "tetrate", - "model": "xai/grok-3-mini-latest" - }, - { - "provider": "tetrate", - "model": "xai/grok-4" - }, - { - "provider": "tetrate", - "model": "xai/grok-4-0709" - }, - { - "provider": "tetrate", - "model": "xai/grok-4-fast" - }, - { - "provider": "tetrate", - "model": "xai/grok-4-fast-non-reasoning" - }, - { - "provider": "tetrate", - "model": "xai/grok-4-fast-non-reasoning-latest" - }, - { - "provider": "tetrate", - "model": "xai/grok-4-fast-reasoning" - }, - { - "provider": "tetrate", - "model": "xai/grok-4-fast-reasoning-latest" - }, - { - "provider": "tetrate", - "model": "xai/grok-4-latest" - }, - { - "provider": "tetrate", - "model": "xai/grok-code-fast" - }, - { - "provider": "tetrate", - "model": "xai/grok-code-fast-1" - }, - { - "provider": "tetrate", - "model": "xai/grok-code-fast-1-0825" + "provider": "xai", + "model": "grok-2-image-1212" } ], "all_mappings": { @@ -3437,35 +3361,388 @@ "canonical_model": "anthropic/claude-sonnet-4.5" } ], + "aws_bedrock": [], + "azure_openai": [], + "databricks": [ + { + "provider_model": "claude-3-5-haiku", + "canonical_model": "anthropic/claude-3.5-haiku" + }, + { + "provider_model": "claude-3-5-sonnet", + "canonical_model": "anthropic/claude-3.5-sonnet" + }, + { + "provider_model": "claude-3-7-sonnet", + "canonical_model": "anthropic/claude-3.7-sonnet" + }, + { + "provider_model": "claude-4-opus", + "canonical_model": "anthropic/claude-opus-4" + }, + { + "provider_model": "code-review-gpt-5", + "canonical_model": "openai/gpt-5" + }, + { + "provider_model": "code-review-gpt-5-mini", + "canonical_model": "openai/gpt-5-mini" + }, + { + "provider_model": "databricks-claude-3-7-sonnet", + "canonical_model": "anthropic/claude-3.7-sonnet" + }, + { + "provider_model": "databricks-claude-haiku-4-5", + "canonical_model": "anthropic/claude-haiku-4.5" + }, + { + "provider_model": "databricks-claude-opus-4-1", + "canonical_model": "anthropic/claude-opus-4.1" + }, + { + "provider_model": "databricks-claude-opus-4-5", + "canonical_model": "anthropic/claude-opus-4.5" + }, + { + "provider_model": "databricks-claude-sonnet-4", + "canonical_model": "anthropic/claude-sonnet-4" + }, + { + "provider_model": "databricks-claude-sonnet-4-5", + "canonical_model": "anthropic/claude-sonnet-4.5" + }, + { + "provider_model": "databricks-gemini-2-5-flash", + "canonical_model": "google/gemini-2.5-flash" + }, + { + "provider_model": "databricks-gemini-2-5-pro", + "canonical_model": "google/gemini-2.5-pro" + }, + { + "provider_model": "databricks-gpt-5", + "canonical_model": "openai/gpt-5" + }, + { + "provider_model": "databricks-gpt-5-1", + "canonical_model": "openai/gpt-5.1" + }, + { + "provider_model": "databricks-gpt-5-1-codex-max", + "canonical_model": "openai/gpt-5.1-codex-max" + }, + { + "provider_model": "databricks-gpt-5-1-codex-mini", + "canonical_model": "openai/gpt-5.1-codex-mini" + }, + { + "provider_model": "databricks-gpt-5-2", + "canonical_model": "openai/gpt-5.2" + }, + { + "provider_model": "databricks-gpt-5-mini", + "canonical_model": "openai/gpt-5-mini" + }, + { + "provider_model": "databricks-gpt-5-nano", + "canonical_model": "openai/gpt-5-nano" + }, + { + "provider_model": "databricks-meta-llama-3-3-70b-instruct", + "canonical_model": "meta-llama/llama-3.3-70b-instruct" + }, + { + "provider_model": "gemini-1-5-flash", + "canonical_model": "google/gemini-1.5-flash" + }, + { + "provider_model": "gemini-1-5-pro", + "canonical_model": "google/gemini-1.5-pro" + }, + { + "provider_model": "gemini-2-0-flash", + "canonical_model": "google/gemini-2.0-flash" + }, + { + "provider_model": "gemini-2-5-flash", + "canonical_model": "google/gemini-2.5-flash" + }, + { + "provider_model": "gemini-2-5-flash-latest", + "canonical_model": "google/gemini-2.5-flash" + }, + { + "provider_model": "gemini-2-5-pro", + "canonical_model": "google/gemini-2.5-pro" + }, + { + "provider_model": "gemini-flash-lite-latest", + "canonical_model": "google/gemini-flash-lite" + }, + { + "provider_model": "goose-claude-3-5-sonnet", + "canonical_model": "anthropic/claude-3.5-sonnet" + }, + { + "provider_model": "goose-claude-3-7-sonnet", + "canonical_model": "anthropic/claude-3.7-sonnet" + }, + { + "provider_model": "goose-claude-4-5-haiku", + "canonical_model": "anthropic/claude-haiku-4.5" + }, + { + "provider_model": "goose-claude-4-5-opus", + "canonical_model": "anthropic/claude-opus-4.5" + }, + { + "provider_model": "goose-claude-4-5-sonnet", + "canonical_model": "anthropic/claude-sonnet-4.5" + }, + { + "provider_model": "goose-claude-4-opus", + "canonical_model": "anthropic/claude-opus-4" + }, + { + "provider_model": "goose-claude-4-sonnet", + "canonical_model": "anthropic/claude-sonnet-4" + }, + { + "provider_model": "goose-claude-4-sonnet-bedrock", + "canonical_model": "anthropic/claude-sonnet-4" + }, + { + "provider_model": "goose-gemini-2-5-pro", + "canonical_model": "google/gemini-2.5-pro" + }, + { + "provider_model": "goose-gpt-4-1", + "canonical_model": "openai/gpt-4.1" + }, + { + "provider_model": "goose-gpt-4o", + "canonical_model": "openai/gpt-4o" + }, + { + "provider_model": "goose-gpt-5", + "canonical_model": "openai/gpt-5" + }, + { + "provider_model": "goose-gpt-5-2", + "canonical_model": "openai/gpt-5.2" + }, + { + "provider_model": "goose-o1", + "canonical_model": "openai/o1" + }, + { + "provider_model": "goose-o3", + "canonical_model": "openai/o3" + }, + { + "provider_model": "goose-o4-mini", + "canonical_model": "openai/o4-mini" + }, + { + "provider_model": "gpt-3-5-turbo", + "canonical_model": "openai/gpt-3.5-turbo" + }, + { + "provider_model": "gpt-3-5-turbo-0125", + "canonical_model": "openai/gpt-3.5-turbo" + }, + { + "provider_model": "gpt-4", + "canonical_model": "openai/gpt-4" + }, + { + "provider_model": "gpt-4-1-2025-04-14", + "canonical_model": "openai/gpt-4.1" + }, + { + "provider_model": "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-turbo", + "canonical_model": "openai/gpt-4-turbo" + }, + { + "provider_model": "gpt-4-turbo-2024-04-09", + "canonical_model": "openai/gpt-4-turbo" + }, + { + "provider_model": "gpt-4o", + "canonical_model": "openai/gpt-4o" + }, + { + "provider_model": "gpt-4o-2024-05-13", + "canonical_model": "openai/gpt-4o" + }, + { + "provider_model": "gpt-4o-2024-11-20", + "canonical_model": "openai/gpt-4o" + }, + { + "provider_model": "gpt-4o-mini", + "canonical_model": "openai/gpt-4o-mini" + }, + { + "provider_model": "gpt-4o-mini-2024-07-18", + "canonical_model": "openai/gpt-4o-mini" + }, + { + "provider_model": "gpt-5", + "canonical_model": "openai/gpt-5" + }, + { + "provider_model": "gpt-5-nano", + "canonical_model": "openai/gpt-5-nano" + }, + { + "provider_model": "headless-goose-claude-4-sonnet", + "canonical_model": "anthropic/claude-sonnet-4" + }, + { + "provider_model": "headless-goose-o3-mini", + "canonical_model": "openai/o3-mini" + }, + { + "provider_model": "kgoose-cashapp-claude-4-sonnet", + "canonical_model": "anthropic/claude-sonnet-4" + }, + { + "provider_model": "kgoose-cashapp-claude-sonnet-4-5", + "canonical_model": "anthropic/claude-sonnet-4.5" + }, + { + "provider_model": "kgoose-claude-4-sonnet", + "canonical_model": "anthropic/claude-sonnet-4" + }, + { + "provider_model": "kgoose-claude-haiku-4-5", + "canonical_model": "anthropic/claude-haiku-4.5" + }, + { + "provider_model": "kgoose-claude-sonnet-4-5", + "canonical_model": "anthropic/claude-sonnet-4.5" + }, + { + "provider_model": "kgoose-gemini-2-5-flash", + "canonical_model": "google/gemini-2.5-flash" + }, + { + "provider_model": "kgoose-gpt-4-1", + "canonical_model": "openai/gpt-4.1" + }, + { + "provider_model": "kgoose-gpt-4-1-mini", + "canonical_model": "openai/gpt-4.1-mini" + }, + { + "provider_model": "kgoose-gpt-4-1-nano", + "canonical_model": "openai/gpt-4.1-nano" + }, + { + "provider_model": "kgoose-gpt-4o", + "canonical_model": "openai/gpt-4o" + }, + { + "provider_model": "kgoose-gpt-5", + "canonical_model": "openai/gpt-5" + }, + { + "provider_model": "kgoose-gpt-5-mini", + "canonical_model": "openai/gpt-5-mini" + }, + { + "provider_model": "kgoose-gpt-5-nano", + "canonical_model": "openai/gpt-5-nano" + }, + { + "provider_model": "kgoose-o3", + "canonical_model": "openai/o3" + }, + { + "provider_model": "kgoose-o4-mini", + "canonical_model": "openai/o4-mini" + }, + { + "provider_model": "ng-tools-claude-haiku-3-5", + "canonical_model": "anthropic/claude-3.5-haiku" + }, + { + "provider_model": "ng-tools-claude-opus-4", + "canonical_model": "anthropic/claude-opus-4" + }, + { + "provider_model": "ng-tools-claude-opus-4-1", + "canonical_model": "anthropic/claude-opus-4.1" + }, + { + "provider_model": "ng-tools-claude-sonnet-3-7", + "canonical_model": "anthropic/claude-3.7-sonnet" + }, + { + "provider_model": "ng-tools-claude-sonnet-4", + "canonical_model": "anthropic/claude-sonnet-4" + }, + { + "provider_model": "ng-tools-gpt-5-nano", + "canonical_model": "openai/gpt-5-nano" + }, + { + "provider_model": "ng-tools-int-claude-sonnet-4-5", + "canonical_model": "anthropic/claude-sonnet-4.5" + }, + { + "provider_model": "o1", + "canonical_model": "openai/o1" + }, + { + "provider_model": "o1-2024-12-17", + "canonical_model": "openai/o1" + }, + { + "provider_model": "o1-mini", + "canonical_model": "openai/o1-mini" + }, + { + "provider_model": "o1-preview", + "canonical_model": "openai/o1-preview" + }, + { + "provider_model": "o3", + "canonical_model": "openai/o3" + }, + { + "provider_model": "o3-mini", + "canonical_model": "openai/o3-mini" + }, + { + "provider_model": "raml-claude-opus-4-5", + "canonical_model": "anthropic/claude-opus-4.5" + }, + { + "provider_model": "raml-claude-sonnet-4-5", + "canonical_model": "anthropic/claude-sonnet-4.5" + } + ], + "gcp_vertex_ai": [], "google": [ { "provider_model": "gemini-2.0-flash", "canonical_model": "google/gemini-2.0-flash" }, - { - "provider_model": "gemini-2.0-flash-001", - "canonical_model": "google/gemini-2.0-flash" - }, - { - "provider_model": "gemini-2.0-flash-exp", - "canonical_model": "google/gemini-2.0-flash" - }, { "provider_model": "gemini-2.0-flash-lite", "canonical_model": "google/gemini-2.0-flash-lite" }, - { - "provider_model": "gemini-2.0-flash-lite-001", - "canonical_model": "google/gemini-2.0-flash-lite" - }, - { - "provider_model": "gemini-2.0-flash-lite-preview", - "canonical_model": "google/gemini-2.0-flash-lite" - }, - { - "provider_model": "gemini-2.0-flash-lite-preview-02-05", - "canonical_model": "google/gemini-2.0-flash-lite" - }, { "provider_model": "gemini-2.5-flash", "canonical_model": "google/gemini-2.5-flash" @@ -3480,50 +3757,46 @@ }, { "provider_model": "gemini-2.5-flash-lite-preview-09-2025", - "canonical_model": "google/gemini-2.5-flash-lite" + "canonical_model": "google/gemini-2.5-flash-lite-preview-09" }, { "provider_model": "gemini-2.5-flash-preview-09-2025", - "canonical_model": "google/gemini-2.5-flash" + "canonical_model": "google/gemini-2.5-flash-preview-09" + }, + { + "provider_model": "gemini-2.5-flash-preview-tts", + "canonical_model": "google/gemini-2.5-flash-preview-tts" }, { "provider_model": "gemini-2.5-pro", "canonical_model": "google/gemini-2.5-pro" }, { - "provider_model": "gemini-3-flash-preview", - "canonical_model": "google/gemini-3-flash" + "provider_model": "gemini-2.5-pro-preview-tts", + "canonical_model": "google/gemini-2.5-pro-preview-tts" }, { - "provider_model": "gemini-3-pro-image-preview", - "canonical_model": "google/gemini-3-pro-image" + "provider_model": "gemini-3-flash-preview", + "canonical_model": "google/gemini-3-flash-preview" }, { "provider_model": "gemini-3-pro-preview", - "canonical_model": "google/gemini-3-pro" + "canonical_model": "google/gemini-3-pro-preview" }, { - "provider_model": "gemma-3-12b-it", - "canonical_model": "google/gemma-3-12b-it" + "provider_model": "gemini-embedding-001", + "canonical_model": "google/gemini-embedding-001" }, { - "provider_model": "gemma-3-27b-it", - "canonical_model": "google/gemma-3-27b-it" + "provider_model": "gemini-flash-latest", + "canonical_model": "google/gemini-flash" }, { - "provider_model": "gemma-3-4b-it", - "canonical_model": "google/gemma-3-4b-it" - }, - { - "provider_model": "gemma-3n-e4b-it", - "canonical_model": "google/gemma-3n-e4b-it" + "provider_model": "gemini-flash-lite-latest", + "canonical_model": "google/gemini-flash-lite" } ], "openai": [ - { - "provider_model": "chatgpt-4o-latest", - "canonical_model": "openai/chatgpt-4o" - }, { "provider_model": "codex-mini-latest", "canonical_model": "openai/codex-mini" @@ -3540,26 +3813,10 @@ "provider_model": "gpt-3.5-turbo-1106", "canonical_model": "openai/gpt-3.5-turbo" }, - { - "provider_model": "gpt-3.5-turbo-16k", - "canonical_model": "openai/gpt-3.5-turbo-16k" - }, - { - "provider_model": "gpt-3.5-turbo-instruct", - "canonical_model": "openai/gpt-3.5-turbo-instruct" - }, - { - "provider_model": "gpt-3.5-turbo-instruct-0914", - "canonical_model": "openai/gpt-3.5-turbo-instruct" - }, { "provider_model": "gpt-4", "canonical_model": "openai/gpt-4" }, - { - "provider_model": "gpt-4-0125-preview", - "canonical_model": "openai/gpt-4" - }, { "provider_model": "gpt-4-0314", "canonical_model": "openai/gpt-4" @@ -3568,10 +3825,6 @@ "provider_model": "gpt-4-0613", "canonical_model": "openai/gpt-4" }, - { - "provider_model": "gpt-4-1106-preview", - "canonical_model": "openai/gpt-4" - }, { "provider_model": "gpt-4-turbo", "canonical_model": "openai/gpt-4-turbo" @@ -3580,10 +3833,6 @@ "provider_model": "gpt-4-turbo-2024-04-09", "canonical_model": "openai/gpt-4-turbo" }, - { - "provider_model": "gpt-4-turbo-preview", - "canonical_model": "openai/gpt-4-turbo" - }, { "provider_model": "gpt-4.1", "canonical_model": "openai/gpt-4.1" @@ -3624,18 +3873,6 @@ "provider_model": "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", - "canonical_model": "openai/gpt-4o-audio" - }, { "provider_model": "gpt-4o-mini", "canonical_model": "openai/gpt-4o-mini" @@ -3644,22 +3881,6 @@ "provider_model": "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": "gpt-4o-mini-search-preview-2025-03-11", - "canonical_model": "openai/gpt-4o-mini-search" - }, - { - "provider_model": "gpt-4o-search-preview", - "canonical_model": "openai/gpt-4o-search" - }, - { - "provider_model": "gpt-4o-search-preview-2025-03-11", - "canonical_model": "openai/gpt-4o-search" - }, { "provider_model": "gpt-5", "canonical_model": "openai/gpt-5" @@ -3724,10 +3945,6 @@ "provider_model": "gpt-5.1-codex-mini", "canonical_model": "openai/gpt-5.1-codex-mini" }, - { - "provider_model": "gpt-5.2-codex", - "canonical_model": "openai/gpt-5.2-codex" - }, { "provider_model": "gpt-5.2", "canonical_model": "openai/gpt-5.2" @@ -3740,6 +3957,10 @@ "provider_model": "gpt-5.2-chat-latest", "canonical_model": "openai/gpt-5.2-chat" }, + { + "provider_model": "gpt-5.2-codex", + "canonical_model": "openai/gpt-5.2-codex" + }, { "provider_model": "gpt-5.2-pro", "canonical_model": "openai/gpt-5.2-pro" @@ -3811,2016 +4032,2171 @@ { "provider_model": "o4-mini-deep-research-2025-06-26", "canonical_model": "openai/o4-mini-deep-research" + }, + { + "provider_model": "text-embedding-3-large", + "canonical_model": "openai/text-embedding-3-large" + }, + { + "provider_model": "text-embedding-3-small", + "canonical_model": "openai/text-embedding-3-small" + }, + { + "provider_model": "text-embedding-ada-002", + "canonical_model": "openai/text-embedding-ada-002" } ], "openrouter": [ - { - "provider_model": "ai21/jamba-large-1.7", - "canonical_model": "ai21/jamba-large-1.7" - }, - { - "provider_model": "ai21/jamba-mini-1.7", - "canonical_model": "ai21/jamba-mini-1.7" - }, - { - "provider_model": "anthropic/claude-3-haiku", - "canonical_model": "anthropic/claude-3-haiku" - }, { "provider_model": "anthropic/claude-3.5-haiku", - "canonical_model": "anthropic/claude-3.5-haiku" - }, - { - "provider_model": "anthropic/claude-3.5-sonnet", - "canonical_model": "anthropic/claude-3.5-sonnet" + "canonical_model": "openrouter/anthropic/claude-3.5-haiku" }, { "provider_model": "anthropic/claude-3.7-sonnet", - "canonical_model": "anthropic/claude-3.7-sonnet" - }, - { - "provider_model": "anthropic/claude-3.7-sonnet:thinking", - "canonical_model": "anthropic/claude-3.7-sonnet:thinking" + "canonical_model": "openrouter/anthropic/claude-3.7-sonnet" }, { "provider_model": "anthropic/claude-haiku-4.5", - "canonical_model": "anthropic/claude-haiku-4.5" + "canonical_model": "openrouter/anthropic/claude-haiku-4.5" }, { "provider_model": "anthropic/claude-opus-4", - "canonical_model": "anthropic/claude-opus-4" + "canonical_model": "openrouter/anthropic/claude-opus-4" }, { "provider_model": "anthropic/claude-opus-4.1", - "canonical_model": "anthropic/claude-opus-4.1" + "canonical_model": "openrouter/anthropic/claude-opus-4.1" }, { "provider_model": "anthropic/claude-opus-4.5", - "canonical_model": "anthropic/claude-opus-4.5" + "canonical_model": "openrouter/anthropic/claude-opus-4.5" }, { "provider_model": "anthropic/claude-sonnet-4", - "canonical_model": "anthropic/claude-sonnet-4" + "canonical_model": "openrouter/anthropic/claude-sonnet-4" }, { "provider_model": "anthropic/claude-sonnet-4.5", - "canonical_model": "anthropic/claude-sonnet-4.5" - }, - { - "provider_model": "cohere/command-r-08-2024", - "canonical_model": "cohere/command-r-08" - }, - { - "provider_model": "cohere/command-r-plus-08-2024", - "canonical_model": "cohere/command-r-plus-08" - }, - { - "provider_model": "deepseek/deepseek-chat", - "canonical_model": "deepseek/deepseek-chat" + "canonical_model": "openrouter/anthropic/claude-sonnet-4.5" }, { "provider_model": "deepseek/deepseek-chat-v3-0324", - "canonical_model": "deepseek/deepseek-chat" + "canonical_model": "openrouter/deepseek/deepseek-chat-v3" }, { "provider_model": "deepseek/deepseek-chat-v3.1", - "canonical_model": "deepseek/deepseek-chat" - }, - { - "provider_model": "deepseek/deepseek-r1", - "canonical_model": "deepseek/deepseek-r1" - }, - { - "provider_model": "deepseek/deepseek-r1-0528", - "canonical_model": "deepseek/deepseek-r1" + "canonical_model": "openrouter/deepseek/deepseek-chat-v3.1" }, { "provider_model": "deepseek/deepseek-r1-distill-llama-70b", - "canonical_model": "deepseek/deepseek-r1-distill-llama-70b" + "canonical_model": "openrouter/deepseek/deepseek-r1-distill-llama-70b" }, { "provider_model": "deepseek/deepseek-v3.1-terminus", - "canonical_model": "deepseek/deepseek-v3.1-terminus" + "canonical_model": "openrouter/deepseek/deepseek-v3.1-terminus" }, { "provider_model": "deepseek/deepseek-v3.1-terminus:exacto", - "canonical_model": "deepseek/deepseek-v3.1-terminus" + "canonical_model": "openrouter/deepseek/deepseek-v3.1-terminus:exacto" }, { "provider_model": "deepseek/deepseek-v3.2", - "canonical_model": "deepseek/deepseek" - }, - { - "provider_model": "deepseek/deepseek-v3.2-exp", - "canonical_model": "deepseek/deepseek" + "canonical_model": "openrouter/deepseek/deepseek-v3.2" }, { "provider_model": "google/gemini-2.0-flash-001", - "canonical_model": "google/gemini-2.0-flash" + "canonical_model": "openrouter/google/gemini-2.0-flash-001" }, { - "provider_model": "google/gemini-2.0-flash-lite-001", - "canonical_model": "google/gemini-2.0-flash-lite" + "provider_model": "google/gemini-2.0-flash-exp:free", + "canonical_model": "openrouter/google/gemini-2.0-flash-exp:free" }, { "provider_model": "google/gemini-2.5-flash", - "canonical_model": "google/gemini-2.5-flash" + "canonical_model": "openrouter/google/gemini-2.5-flash" }, { "provider_model": "google/gemini-2.5-flash-lite", - "canonical_model": "google/gemini-2.5-flash-lite" + "canonical_model": "openrouter/google/gemini-2.5-flash-lite" }, { "provider_model": "google/gemini-2.5-flash-lite-preview-09-2025", - "canonical_model": "google/gemini-2.5-flash-lite" + "canonical_model": "openrouter/google/gemini-2.5-flash-lite-preview-09" }, { "provider_model": "google/gemini-2.5-flash-preview-09-2025", - "canonical_model": "google/gemini-2.5-flash" + "canonical_model": "openrouter/google/gemini-2.5-flash-preview-09" }, { "provider_model": "google/gemini-2.5-pro", - "canonical_model": "google/gemini-2.5-pro" - }, - { - "provider_model": "google/gemini-2.5-pro-preview", - "canonical_model": "google/gemini-2.5-pro" + "canonical_model": "openrouter/google/gemini-2.5-pro" }, { "provider_model": "google/gemini-2.5-pro-preview-05-06", - "canonical_model": "google/gemini-2.5-pro" + "canonical_model": "openrouter/google/gemini-2.5-pro-preview-05-06" }, { "provider_model": "google/gemini-3-flash-preview", - "canonical_model": "google/gemini-3-flash" + "canonical_model": "openrouter/google/gemini-3-flash-preview" }, { "provider_model": "google/gemini-3-pro-preview", - "canonical_model": "google/gemini-3-pro" + "canonical_model": "openrouter/google/gemini-3-pro-preview" }, { "provider_model": "google/gemma-3-27b-it", - "canonical_model": "google/gemma-3-27b-it" + "canonical_model": "openrouter/google/gemma-3-27b-it" }, { - "provider_model": "meta-llama/llama-3-8b-instruct", - "canonical_model": "meta-llama/llama-3-8b-instruct" + "provider_model": "meta-llama/llama-3.3-70b-instruct:free", + "canonical_model": "openrouter/meta-llama/llama-3.3-70b-instruct:free" }, { - "provider_model": "meta-llama/llama-3.1-405b-instruct", - "canonical_model": "meta-llama/llama-3.1-405b-instruct" + "provider_model": "minimax/minimax-m1", + "canonical_model": "openrouter/minimax/minimax-m1" }, { - "provider_model": "meta-llama/llama-3.1-70b-instruct", - "canonical_model": "meta-llama/llama-3.1-70b-instruct" + "provider_model": "minimax/minimax-m2", + "canonical_model": "openrouter/minimax/minimax-m2" }, { - "provider_model": "meta-llama/llama-3.1-8b-instruct", - "canonical_model": "meta-llama/llama-3.1-8b-instruct" - }, - { - "provider_model": "meta-llama/llama-3.3-70b-instruct", - "canonical_model": "meta-llama/llama-3.3-70b-instruct" - }, - { - "provider_model": "meta-llama/llama-4-maverick", - "canonical_model": "meta-llama/llama-4-maverick" - }, - { - "provider_model": "meta-llama/llama-4-scout", - "canonical_model": "meta-llama/llama-4-scout" + "provider_model": "minimax/minimax-m2.1", + "canonical_model": "openrouter/minimax/minimax-m2.1" }, { "provider_model": "mistralai/codestral-2508", - "canonical_model": "mistralai/codestral" + "canonical_model": "openrouter/mistralai/codestral" }, { "provider_model": "mistralai/devstral-2512", - "canonical_model": "mistralai/devstral" + "canonical_model": "openrouter/mistralai/devstral" }, { "provider_model": "mistralai/devstral-medium", - "canonical_model": "mistralai/devstral-medium" + "canonical_model": "openrouter/mistralai/devstral-medium" }, { "provider_model": "mistralai/devstral-small", - "canonical_model": "mistralai/devstral-small" - }, - { - "provider_model": "mistralai/ministral-14b-2512", - "canonical_model": "mistralai/ministral-14b" - }, - { - "provider_model": "mistralai/ministral-3b", - "canonical_model": "mistralai/ministral-3b" - }, - { - "provider_model": "mistralai/ministral-3b-2512", - "canonical_model": "mistralai/ministral-3b" - }, - { - "provider_model": "mistralai/ministral-8b", - "canonical_model": "mistralai/ministral-8b" - }, - { - "provider_model": "mistralai/ministral-8b-2512", - "canonical_model": "mistralai/ministral-8b" - }, - { - "provider_model": "mistralai/mistral-large", - "canonical_model": "mistralai/mistral-large" - }, - { - "provider_model": "mistralai/mistral-large-2407", - "canonical_model": "mistralai/mistral-large" - }, - { - "provider_model": "mistralai/mistral-large-2411", - "canonical_model": "mistralai/mistral-large" - }, - { - "provider_model": "mistralai/mistral-large-2512", - "canonical_model": "mistralai/mistral-large" + "canonical_model": "openrouter/mistralai/devstral-small" }, { "provider_model": "mistralai/mistral-medium-3", - "canonical_model": "mistralai/mistral-medium-3" + "canonical_model": "openrouter/mistralai/mistral-medium-3" }, { "provider_model": "mistralai/mistral-medium-3.1", - "canonical_model": "mistralai/mistral-medium-3.1" - }, - { - "provider_model": "mistralai/mistral-nemo", - "canonical_model": "mistralai/mistral-nemo" - }, - { - "provider_model": "mistralai/mistral-saba", - "canonical_model": "mistralai/mistral-saba" - }, - { - "provider_model": "mistralai/mistral-small-24b-instruct-2501", - "canonical_model": "mistralai/mistral-small-24b-instruct" + "canonical_model": "openrouter/mistralai/mistral-medium-3.1" }, { "provider_model": "mistralai/mistral-small-3.1-24b-instruct", - "canonical_model": "mistralai/mistral-small-3.1-24b-instruct" + "canonical_model": "openrouter/mistralai/mistral-small-3.1-24b-instruct" }, { "provider_model": "mistralai/mistral-small-3.2-24b-instruct", - "canonical_model": "mistralai/mistral-small-3.2-24b-instruct" + "canonical_model": "openrouter/mistralai/mistral-small-3.2-24b-instruct" }, { - "provider_model": "mistralai/mistral-small-creative", - "canonical_model": "mistralai/mistral-small-creative" + "provider_model": "moonshotai/kimi-k2", + "canonical_model": "openrouter/moonshotai/kimi-k2" }, { - "provider_model": "mistralai/mistral-tiny", - "canonical_model": "mistralai/mistral-tiny" + "provider_model": "moonshotai/kimi-k2-0905", + "canonical_model": "openrouter/moonshotai/kimi-k2" }, { - "provider_model": "mistralai/mixtral-8x22b-instruct", - "canonical_model": "mistralai/mixtral-8x22b-instruct" + "provider_model": "moonshotai/kimi-k2-0905:exacto", + "canonical_model": "openrouter/moonshotai/kimi-k2-0905:exacto" }, { - "provider_model": "mistralai/mixtral-8x7b-instruct", - "canonical_model": "mistralai/mixtral-8x7b-instruct" + "provider_model": "moonshotai/kimi-k2-thinking", + "canonical_model": "openrouter/moonshotai/kimi-k2-thinking" }, { - "provider_model": "mistralai/pixtral-12b", - "canonical_model": "mistralai/pixtral-12b" + "provider_model": "nousresearch/hermes-4-70b", + "canonical_model": "openrouter/nousresearch/hermes-4-70b" }, { - "provider_model": "mistralai/pixtral-large-2411", - "canonical_model": "mistralai/pixtral-large" - }, - { - "provider_model": "mistralai/voxtral-small-24b-2507", - "canonical_model": "mistralai/voxtral-small-24b" - }, - { - "provider_model": "openai/gpt-3.5-turbo", - "canonical_model": "openai/gpt-3.5-turbo" - }, - { - "provider_model": "openai/gpt-3.5-turbo-0613", - "canonical_model": "openai/gpt-3.5-turbo" - }, - { - "provider_model": "openai/gpt-3.5-turbo-16k", - "canonical_model": "openai/gpt-3.5-turbo-16k" - }, - { - "provider_model": "openai/gpt-4", - "canonical_model": "openai/gpt-4" - }, - { - "provider_model": "openai/gpt-4-0314", - "canonical_model": "openai/gpt-4" - }, - { - "provider_model": "openai/gpt-4-1106-preview", - "canonical_model": "openai/gpt-4" - }, - { - "provider_model": "openai/gpt-4-turbo", - "canonical_model": "openai/gpt-4-turbo" - }, - { - "provider_model": "openai/gpt-4-turbo-preview", - "canonical_model": "openai/gpt-4-turbo" + "provider_model": "nvidia/nemotron-nano-9b-v2", + "canonical_model": "openrouter/nvidia/nemotron-nano-9b-v2" }, { "provider_model": "openai/gpt-4.1", - "canonical_model": "openai/gpt-4.1" + "canonical_model": "openrouter/openai/gpt-4.1" }, { "provider_model": "openai/gpt-4.1-mini", - "canonical_model": "openai/gpt-4.1-mini" - }, - { - "provider_model": "openai/gpt-4.1-nano", - "canonical_model": "openai/gpt-4.1-nano" - }, - { - "provider_model": "openai/gpt-4o", - "canonical_model": "openai/gpt-4o" - }, - { - "provider_model": "openai/gpt-4o-2024-05-13", - "canonical_model": "openai/gpt-4o" - }, - { - "provider_model": "openai/gpt-4o-2024-08-06", - "canonical_model": "openai/gpt-4o" - }, - { - "provider_model": "openai/gpt-4o-2024-11-20", - "canonical_model": "openai/gpt-4o" - }, - { - "provider_model": "openai/gpt-4o-audio-preview", - "canonical_model": "openai/gpt-4o-audio" + "canonical_model": "openrouter/openai/gpt-4.1-mini" }, { "provider_model": "openai/gpt-4o-mini", - "canonical_model": "openai/gpt-4o-mini" + "canonical_model": "openrouter/openai/gpt-4o-mini" }, { "provider_model": "openai/gpt-4o-mini-2024-07-18", - "canonical_model": "openai/gpt-4o-mini" - }, - { - "provider_model": "openai/gpt-4o:extended", - "canonical_model": "openai/gpt-4o:extended" + "canonical_model": "openrouter/openai/gpt-4o-mini" }, { "provider_model": "openai/gpt-5", - "canonical_model": "openai/gpt-5" + "canonical_model": "openrouter/openai/gpt-5" }, { "provider_model": "openai/gpt-5-codex", - "canonical_model": "openai/gpt-5-codex" + "canonical_model": "openrouter/openai/gpt-5-codex" }, { "provider_model": "openai/gpt-5-image", - "canonical_model": "openai/gpt-5-image" - }, - { - "provider_model": "openai/gpt-5-image-mini", - "canonical_model": "openai/gpt-5-image-mini" + "canonical_model": "openrouter/openai/gpt-5-image" }, { "provider_model": "openai/gpt-5-mini", - "canonical_model": "openai/gpt-5-mini" + "canonical_model": "openrouter/openai/gpt-5-mini" }, { "provider_model": "openai/gpt-5-nano", - "canonical_model": "openai/gpt-5-nano" + "canonical_model": "openrouter/openai/gpt-5-nano" }, { "provider_model": "openai/gpt-5-pro", - "canonical_model": "openai/gpt-5-pro" + "canonical_model": "openrouter/openai/gpt-5-pro" }, { "provider_model": "openai/gpt-5.1", - "canonical_model": "openai/gpt-5.1" + "canonical_model": "openrouter/openai/gpt-5.1" }, { "provider_model": "openai/gpt-5.1-chat", - "canonical_model": "openai/gpt-5.1-chat" + "canonical_model": "openrouter/openai/gpt-5.1-chat" }, { "provider_model": "openai/gpt-5.1-codex", - "canonical_model": "openai/gpt-5.1-codex" + "canonical_model": "openrouter/openai/gpt-5.1-codex" }, { "provider_model": "openai/gpt-5.1-codex-max", - "canonical_model": "openai/gpt-5.1-codex-max" + "canonical_model": "openrouter/openai/gpt-5.1-codex-max" }, { "provider_model": "openai/gpt-5.1-codex-mini", - "canonical_model": "openai/gpt-5.1-codex-mini" + "canonical_model": "openrouter/openai/gpt-5.1-codex-mini" }, { "provider_model": "openai/gpt-5.2", - "canonical_model": "openai/gpt-5.2" + "canonical_model": "openrouter/openai/gpt-5.2" }, { "provider_model": "openai/gpt-5.2-chat", - "canonical_model": "openai/gpt-5.2-chat" + "canonical_model": "openrouter/openai/gpt-5.2-chat" + }, + { + "provider_model": "openai/gpt-5.2-codex", + "canonical_model": "openrouter/openai/gpt-5.2-codex" }, { "provider_model": "openai/gpt-5.2-pro", - "canonical_model": "openai/gpt-5.2-pro" + "canonical_model": "openrouter/openai/gpt-5.2-pro" }, { "provider_model": "openai/gpt-oss-120b", - "canonical_model": "openai/gpt-oss-120b" + "canonical_model": "openrouter/openai/gpt-oss-120b" }, { "provider_model": "openai/gpt-oss-120b:exacto", - "canonical_model": "openai/gpt-oss-120b" + "canonical_model": "openrouter/openai/gpt-oss-120b:exacto" }, { "provider_model": "openai/gpt-oss-20b", - "canonical_model": "openai/gpt-oss-20b" + "canonical_model": "openrouter/openai/gpt-oss-20b" }, { "provider_model": "openai/gpt-oss-safeguard-20b", - "canonical_model": "openai/gpt-oss-safeguard-20b" - }, - { - "provider_model": "openai/o1", - "canonical_model": "openai/o1" - }, - { - "provider_model": "openai/o3", - "canonical_model": "openai/o3" - }, - { - "provider_model": "openai/o3-deep-research", - "canonical_model": "openai/o3-deep-research" - }, - { - "provider_model": "openai/o3-mini", - "canonical_model": "openai/o3-mini" - }, - { - "provider_model": "openai/o3-mini-high", - "canonical_model": "openai/o3-mini-high" - }, - { - "provider_model": "openai/o3-pro", - "canonical_model": "openai/o3-pro" + "canonical_model": "openrouter/openai/gpt-oss-safeguard-20b" }, { "provider_model": "openai/o4-mini", - "canonical_model": "openai/o4-mini" - }, - { - "provider_model": "openai/o4-mini-deep-research", - "canonical_model": "openai/o4-mini-deep-research" - }, - { - "provider_model": "openai/o4-mini-high", - "canonical_model": "openai/o4-mini-high" - }, - { - "provider_model": "qwen/qwen-2.5-72b-instruct", - "canonical_model": "qwen/qwen-2.5-72b-instruct" - }, - { - "provider_model": "qwen/qwen-2.5-7b-instruct", - "canonical_model": "qwen/qwen-2.5-7b-instruct" - }, - { - "provider_model": "qwen/qwen-max", - "canonical_model": "qwen/qwen-max" - }, - { - "provider_model": "qwen/qwen-plus", - "canonical_model": "qwen/qwen-plus" - }, - { - "provider_model": "qwen/qwen-plus-2025-07-28", - "canonical_model": "qwen/qwen-plus" - }, - { - "provider_model": "qwen/qwen-plus-2025-07-28:thinking", - "canonical_model": "qwen/qwen-plus-2025-07-28:thinking" - }, - { - "provider_model": "qwen/qwen-turbo", - "canonical_model": "qwen/qwen-turbo" - }, - { - "provider_model": "qwen/qwen-vl-max", - "canonical_model": "qwen/qwen-vl-max" - }, - { - "provider_model": "qwen/qwen3-14b", - "canonical_model": "qwen/qwen3-14b" - }, - { - "provider_model": "qwen/qwen3-235b-a22b", - "canonical_model": "qwen/qwen3-235b-a22b" - }, - { - "provider_model": "qwen/qwen3-235b-a22b-2507", - "canonical_model": "qwen/qwen3-235b-a22b" + "canonical_model": "openrouter/openai/o4-mini" }, { "provider_model": "qwen/qwen3-235b-a22b-thinking-2507", - "canonical_model": "qwen/qwen3-235b-a22b-thinking" - }, - { - "provider_model": "qwen/qwen3-30b-a3b", - "canonical_model": "qwen/qwen3-30b-a3b" + "canonical_model": "openrouter/qwen/qwen3-235b-a22b-thinking" }, { "provider_model": "qwen/qwen3-30b-a3b-instruct-2507", - "canonical_model": "qwen/qwen3-30b-a3b-instruct" + "canonical_model": "openrouter/qwen/qwen3-30b-a3b-instruct" }, { "provider_model": "qwen/qwen3-30b-a3b-thinking-2507", - "canonical_model": "qwen/qwen3-30b-a3b-thinking" - }, - { - "provider_model": "qwen/qwen3-32b", - "canonical_model": "qwen/qwen3-32b" - }, - { - "provider_model": "qwen/qwen3-8b", - "canonical_model": "qwen/qwen3-8b" + "canonical_model": "openrouter/qwen/qwen3-30b-a3b-thinking" }, { "provider_model": "qwen/qwen3-coder", - "canonical_model": "qwen/qwen3-coder" + "canonical_model": "openrouter/qwen/qwen3-coder" }, { "provider_model": "qwen/qwen3-coder-30b-a3b-instruct", - "canonical_model": "qwen/qwen3-coder-30b-a3b-instruct" + "canonical_model": "openrouter/qwen/qwen3-coder-30b-a3b-instruct" }, { "provider_model": "qwen/qwen3-coder-flash", - "canonical_model": "qwen/qwen3-coder-flash" - }, - { - "provider_model": "qwen/qwen3-coder-plus", - "canonical_model": "qwen/qwen3-coder-plus" + "canonical_model": "openrouter/qwen/qwen3-coder-flash" }, { "provider_model": "qwen/qwen3-coder:exacto", - "canonical_model": "qwen/qwen3-coder" + "canonical_model": "openrouter/qwen/qwen3-coder:exacto" + }, + { + "provider_model": "qwen/qwen3-coder:free", + "canonical_model": "openrouter/qwen/qwen3-coder:free" }, { "provider_model": "qwen/qwen3-max", - "canonical_model": "qwen/qwen3-max" + "canonical_model": "openrouter/qwen/qwen3-max" }, { "provider_model": "qwen/qwen3-next-80b-a3b-instruct", - "canonical_model": "qwen/qwen3-next-80b-a3b-instruct" + "canonical_model": "openrouter/qwen/qwen3-next-80b-a3b-instruct" }, { "provider_model": "qwen/qwen3-next-80b-a3b-thinking", - "canonical_model": "qwen/qwen3-next-80b-a3b-thinking" - }, - { - "provider_model": "qwen/qwen3-vl-235b-a22b-instruct", - "canonical_model": "qwen/qwen3-vl-235b-a22b-instruct" - }, - { - "provider_model": "qwen/qwen3-vl-235b-a22b-thinking", - "canonical_model": "qwen/qwen3-vl-235b-a22b-thinking" - }, - { - "provider_model": "qwen/qwen3-vl-30b-a3b-instruct", - "canonical_model": "qwen/qwen3-vl-30b-a3b-instruct" - }, - { - "provider_model": "qwen/qwen3-vl-30b-a3b-thinking", - "canonical_model": "qwen/qwen3-vl-30b-a3b-thinking" - }, - { - "provider_model": "qwen/qwen3-vl-8b-instruct", - "canonical_model": "qwen/qwen3-vl-8b-instruct" - }, - { - "provider_model": "qwen/qwen3-vl-8b-thinking", - "canonical_model": "qwen/qwen3-vl-8b-thinking" - }, - { - "provider_model": "qwen/qwq-32b", - "canonical_model": "qwen/qwq-32b" + "canonical_model": "openrouter/qwen/qwen3-next-80b-a3b-thinking" }, { "provider_model": "x-ai/grok-3", - "canonical_model": "x-ai/grok-3" + "canonical_model": "openrouter/x-ai/grok-3" + }, + { + "provider_model": "x-ai/grok-3-beta", + "canonical_model": "openrouter/x-ai/grok-3-beta" }, { "provider_model": "x-ai/grok-3-mini", - "canonical_model": "x-ai/grok-3-mini" + "canonical_model": "openrouter/x-ai/grok-3-mini" + }, + { + "provider_model": "x-ai/grok-3-mini-beta", + "canonical_model": "openrouter/x-ai/grok-3-mini-beta" }, { "provider_model": "x-ai/grok-4", - "canonical_model": "x-ai/grok-4" + "canonical_model": "openrouter/x-ai/grok-4" }, { "provider_model": "x-ai/grok-4-fast", - "canonical_model": "x-ai/grok-4-fast" + "canonical_model": "openrouter/x-ai/grok-4-fast" }, { "provider_model": "x-ai/grok-4.1-fast", - "canonical_model": "x-ai/grok-4.1-fast" + "canonical_model": "openrouter/x-ai/grok-4.1-fast" }, { "provider_model": "x-ai/grok-code-fast-1", - "canonical_model": "x-ai/grok-code-fast-1" + "canonical_model": "openrouter/x-ai/grok-code-fast-1" + }, + { + "provider_model": "z-ai/glm-4.5", + "canonical_model": "openrouter/z-ai/glm-4.5" + }, + { + "provider_model": "z-ai/glm-4.5-air", + "canonical_model": "openrouter/z-ai/glm-4.5-air" + }, + { + "provider_model": "z-ai/glm-4.5-air:free", + "canonical_model": "openrouter/z-ai/glm-4.5-air:free" + }, + { + "provider_model": "z-ai/glm-4.5v", + "canonical_model": "openrouter/z-ai/glm-4.5v" + }, + { + "provider_model": "z-ai/glm-4.6", + "canonical_model": "openrouter/z-ai/glm-4.6" + }, + { + "provider_model": "z-ai/glm-4.6:exacto", + "canonical_model": "openrouter/z-ai/glm-4.6:exacto" + }, + { + "provider_model": "z-ai/glm-4.7", + "canonical_model": "openrouter/z-ai/glm-4.7" } ], "tetrate": [], - "xai": [] + "venice": [], + "xai": [ + { + "provider_model": "grok-2-vision-1212", + "canonical_model": "x-ai/grok-2-vision" + }, + { + "provider_model": "grok-3", + "canonical_model": "x-ai/grok-3" + }, + { + "provider_model": "grok-3-mini", + "canonical_model": "x-ai/grok-3-mini" + }, + { + "provider_model": "grok-4-0709", + "canonical_model": "x-ai/grok-4" + }, + { + "provider_model": "grok-4-1-fast-non-reasoning", + "canonical_model": "x-ai/grok-4.1-fast-non" + }, + { + "provider_model": "grok-4-1-fast-reasoning", + "canonical_model": "x-ai/grok-4.1-fast" + }, + { + "provider_model": "grok-4-fast-non-reasoning", + "canonical_model": "x-ai/grok-4-fast-non" + }, + { + "provider_model": "grok-4-fast-reasoning", + "canonical_model": "x-ai/grok-4-fast" + }, + { + "provider_model": "grok-code-fast-1", + "canonical_model": "x-ai/grok-code-fast-1" + } + ] }, "mapped_models": [ { "provider": "anthropic", "model": "claude-3-5-haiku-20241022", - "canonical": "anthropic/claude-3.5-haiku" + "canonical": "anthropic/claude-3.5-haiku", + "recommended": true }, { "provider": "anthropic", "model": "claude-3-7-sonnet-20250219", - "canonical": "anthropic/claude-3.7-sonnet" + "canonical": "anthropic/claude-3.7-sonnet", + "recommended": true }, { "provider": "anthropic", "model": "claude-3-haiku-20240307", - "canonical": "anthropic/claude-3-haiku" + "canonical": "anthropic/claude-3-haiku", + "recommended": true }, { "provider": "anthropic", "model": "claude-haiku-4-5-20251001", - "canonical": "anthropic/claude-haiku-4.5" + "canonical": "anthropic/claude-haiku-4.5", + "recommended": true }, { "provider": "anthropic", "model": "claude-opus-4-1-20250805", - "canonical": "anthropic/claude-opus-4.1" + "canonical": "anthropic/claude-opus-4.1", + "recommended": true }, { "provider": "anthropic", "model": "claude-opus-4-20250514", - "canonical": "anthropic/claude-opus-4" + "canonical": "anthropic/claude-opus-4", + "recommended": true }, { "provider": "anthropic", "model": "claude-opus-4-5-20251101", - "canonical": "anthropic/claude-opus-4.5" + "canonical": "anthropic/claude-opus-4.5", + "recommended": true }, { "provider": "anthropic", "model": "claude-sonnet-4-20250514", - "canonical": "anthropic/claude-sonnet-4" + "canonical": "anthropic/claude-sonnet-4", + "recommended": true }, { "provider": "anthropic", "model": "claude-sonnet-4-5-20250929", - "canonical": "anthropic/claude-sonnet-4.5" + "canonical": "anthropic/claude-sonnet-4.5", + "recommended": true + }, + { + "provider": "databricks", + "model": "claude-3-5-haiku", + "canonical": "anthropic/claude-3.5-haiku", + "recommended": true + }, + { + "provider": "databricks", + "model": "claude-3-5-sonnet", + "canonical": "anthropic/claude-3.5-sonnet", + "recommended": true + }, + { + "provider": "databricks", + "model": "claude-3-7-sonnet", + "canonical": "anthropic/claude-3.7-sonnet", + "recommended": true + }, + { + "provider": "databricks", + "model": "claude-4-opus", + "canonical": "anthropic/claude-opus-4", + "recommended": true + }, + { + "provider": "databricks", + "model": "code-review-gpt-5", + "canonical": "openai/gpt-5", + "recommended": true + }, + { + "provider": "databricks", + "model": "code-review-gpt-5-mini", + "canonical": "openai/gpt-5-mini", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-claude-3-7-sonnet", + "canonical": "anthropic/claude-3.7-sonnet", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-claude-haiku-4-5", + "canonical": "anthropic/claude-haiku-4.5", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-claude-opus-4-1", + "canonical": "anthropic/claude-opus-4.1", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-claude-opus-4-5", + "canonical": "anthropic/claude-opus-4.5", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-claude-sonnet-4", + "canonical": "anthropic/claude-sonnet-4", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-claude-sonnet-4-5", + "canonical": "anthropic/claude-sonnet-4.5", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-gemini-2-5-flash", + "canonical": "google/gemini-2.5-flash", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-gemini-2-5-pro", + "canonical": "google/gemini-2.5-pro", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-gpt-5", + "canonical": "openai/gpt-5", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-gpt-5-1", + "canonical": "openai/gpt-5.1", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-gpt-5-1-codex-max", + "canonical": "openai/gpt-5.1-codex-max", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-gpt-5-1-codex-mini", + "canonical": "openai/gpt-5.1-codex-mini", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-gpt-5-2", + "canonical": "openai/gpt-5.2", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-gpt-5-mini", + "canonical": "openai/gpt-5-mini", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-gpt-5-nano", + "canonical": "openai/gpt-5-nano", + "recommended": true + }, + { + "provider": "databricks", + "model": "databricks-meta-llama-3-3-70b-instruct", + "canonical": "meta-llama/llama-3.3-70b-instruct", + "recommended": true + }, + { + "provider": "databricks", + "model": "gemini-1-5-flash", + "canonical": "google/gemini-1.5-flash", + "recommended": true + }, + { + "provider": "databricks", + "model": "gemini-1-5-pro", + "canonical": "google/gemini-1.5-pro", + "recommended": true + }, + { + "provider": "databricks", + "model": "gemini-2-0-flash", + "canonical": "google/gemini-2.0-flash", + "recommended": true + }, + { + "provider": "databricks", + "model": "gemini-2-5-flash", + "canonical": "google/gemini-2.5-flash", + "recommended": true + }, + { + "provider": "databricks", + "model": "gemini-2-5-flash-latest", + "canonical": "google/gemini-2.5-flash", + "recommended": true + }, + { + "provider": "databricks", + "model": "gemini-2-5-pro", + "canonical": "google/gemini-2.5-pro", + "recommended": true + }, + { + "provider": "databricks", + "model": "gemini-flash-lite-latest", + "canonical": "google/gemini-flash-lite", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-claude-3-5-sonnet", + "canonical": "anthropic/claude-3.5-sonnet", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-claude-3-7-sonnet", + "canonical": "anthropic/claude-3.7-sonnet", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-claude-4-5-haiku", + "canonical": "anthropic/claude-haiku-4.5", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-claude-4-5-opus", + "canonical": "anthropic/claude-opus-4.5", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-claude-4-5-sonnet", + "canonical": "anthropic/claude-sonnet-4.5", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-claude-4-opus", + "canonical": "anthropic/claude-opus-4", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-claude-4-sonnet", + "canonical": "anthropic/claude-sonnet-4", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-claude-4-sonnet-bedrock", + "canonical": "anthropic/claude-sonnet-4", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-gemini-2-5-pro", + "canonical": "google/gemini-2.5-pro", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-gpt-4-1", + "canonical": "openai/gpt-4.1", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-gpt-4o", + "canonical": "openai/gpt-4o", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-gpt-5", + "canonical": "openai/gpt-5", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-gpt-5-2", + "canonical": "openai/gpt-5.2", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-o1", + "canonical": "openai/o1", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-o3", + "canonical": "openai/o3", + "recommended": true + }, + { + "provider": "databricks", + "model": "goose-o4-mini", + "canonical": "openai/o4-mini", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-3-5-turbo", + "canonical": "openai/gpt-3.5-turbo", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-3-5-turbo-0125", + "canonical": "openai/gpt-3.5-turbo", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-4", + "canonical": "openai/gpt-4", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-4-1-2025-04-14", + "canonical": "openai/gpt-4.1", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-4-1-mini", + "canonical": "openai/gpt-4.1-mini", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-4-1-nano", + "canonical": "openai/gpt-4.1-nano", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-4-turbo", + "canonical": "openai/gpt-4-turbo", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-4-turbo-2024-04-09", + "canonical": "openai/gpt-4-turbo", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-4o", + "canonical": "openai/gpt-4o", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-4o-2024-05-13", + "canonical": "openai/gpt-4o", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-4o-2024-11-20", + "canonical": "openai/gpt-4o", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-4o-mini", + "canonical": "openai/gpt-4o-mini", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-4o-mini-2024-07-18", + "canonical": "openai/gpt-4o-mini", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-5", + "canonical": "openai/gpt-5", + "recommended": true + }, + { + "provider": "databricks", + "model": "gpt-5-nano", + "canonical": "openai/gpt-5-nano", + "recommended": true + }, + { + "provider": "databricks", + "model": "headless-goose-claude-4-sonnet", + "canonical": "anthropic/claude-sonnet-4", + "recommended": true + }, + { + "provider": "databricks", + "model": "headless-goose-o3-mini", + "canonical": "openai/o3-mini", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-cashapp-claude-4-sonnet", + "canonical": "anthropic/claude-sonnet-4", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-cashapp-claude-sonnet-4-5", + "canonical": "anthropic/claude-sonnet-4.5", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-claude-4-sonnet", + "canonical": "anthropic/claude-sonnet-4", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-claude-haiku-4-5", + "canonical": "anthropic/claude-haiku-4.5", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-claude-sonnet-4-5", + "canonical": "anthropic/claude-sonnet-4.5", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-gemini-2-5-flash", + "canonical": "google/gemini-2.5-flash", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-gpt-4-1", + "canonical": "openai/gpt-4.1", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-gpt-4-1-mini", + "canonical": "openai/gpt-4.1-mini", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-gpt-4-1-nano", + "canonical": "openai/gpt-4.1-nano", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-gpt-4o", + "canonical": "openai/gpt-4o", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-gpt-5", + "canonical": "openai/gpt-5", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-gpt-5-mini", + "canonical": "openai/gpt-5-mini", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-gpt-5-nano", + "canonical": "openai/gpt-5-nano", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-o3", + "canonical": "openai/o3", + "recommended": true + }, + { + "provider": "databricks", + "model": "kgoose-o4-mini", + "canonical": "openai/o4-mini", + "recommended": true + }, + { + "provider": "databricks", + "model": "ng-tools-claude-haiku-3-5", + "canonical": "anthropic/claude-3.5-haiku", + "recommended": true + }, + { + "provider": "databricks", + "model": "ng-tools-claude-opus-4", + "canonical": "anthropic/claude-opus-4", + "recommended": true + }, + { + "provider": "databricks", + "model": "ng-tools-claude-opus-4-1", + "canonical": "anthropic/claude-opus-4.1", + "recommended": true + }, + { + "provider": "databricks", + "model": "ng-tools-claude-sonnet-3-7", + "canonical": "anthropic/claude-3.7-sonnet", + "recommended": true + }, + { + "provider": "databricks", + "model": "ng-tools-claude-sonnet-4", + "canonical": "anthropic/claude-sonnet-4", + "recommended": true + }, + { + "provider": "databricks", + "model": "ng-tools-gpt-5-nano", + "canonical": "openai/gpt-5-nano", + "recommended": true + }, + { + "provider": "databricks", + "model": "ng-tools-int-claude-sonnet-4-5", + "canonical": "anthropic/claude-sonnet-4.5", + "recommended": true + }, + { + "provider": "databricks", + "model": "o1", + "canonical": "openai/o1", + "recommended": true + }, + { + "provider": "databricks", + "model": "o1-2024-12-17", + "canonical": "openai/o1", + "recommended": true + }, + { + "provider": "databricks", + "model": "o1-mini", + "canonical": "openai/o1-mini", + "recommended": true + }, + { + "provider": "databricks", + "model": "o1-preview", + "canonical": "openai/o1-preview", + "recommended": true + }, + { + "provider": "databricks", + "model": "o3", + "canonical": "openai/o3", + "recommended": true + }, + { + "provider": "databricks", + "model": "o3-mini", + "canonical": "openai/o3-mini", + "recommended": true + }, + { + "provider": "databricks", + "model": "raml-claude-opus-4-5", + "canonical": "anthropic/claude-opus-4.5", + "recommended": true + }, + { + "provider": "databricks", + "model": "raml-claude-sonnet-4-5", + "canonical": "anthropic/claude-sonnet-4.5", + "recommended": true }, { "provider": "google", "model": "gemini-2.0-flash", - "canonical": "google/gemini-2.0-flash" - }, - { - "provider": "google", - "model": "gemini-2.0-flash-001", - "canonical": "google/gemini-2.0-flash" - }, - { - "provider": "google", - "model": "gemini-2.0-flash-exp", - "canonical": "google/gemini-2.0-flash" + "canonical": "google/gemini-2.0-flash", + "recommended": true }, { "provider": "google", "model": "gemini-2.0-flash-lite", - "canonical": "google/gemini-2.0-flash-lite" - }, - { - "provider": "google", - "model": "gemini-2.0-flash-lite-001", - "canonical": "google/gemini-2.0-flash-lite" - }, - { - "provider": "google", - "model": "gemini-2.0-flash-lite-preview", - "canonical": "google/gemini-2.0-flash-lite" - }, - { - "provider": "google", - "model": "gemini-2.0-flash-lite-preview-02-05", - "canonical": "google/gemini-2.0-flash-lite" + "canonical": "google/gemini-2.0-flash-lite", + "recommended": true }, { "provider": "google", "model": "gemini-2.5-flash", - "canonical": "google/gemini-2.5-flash" + "canonical": "google/gemini-2.5-flash", + "recommended": true }, { "provider": "google", "model": "gemini-2.5-flash-image", - "canonical": "google/gemini-2.5-flash-image" + "canonical": "google/gemini-2.5-flash-image", + "recommended": true }, { "provider": "google", "model": "gemini-2.5-flash-lite", - "canonical": "google/gemini-2.5-flash-lite" + "canonical": "google/gemini-2.5-flash-lite", + "recommended": true }, { "provider": "google", "model": "gemini-2.5-flash-lite-preview-09-2025", - "canonical": "google/gemini-2.5-flash-lite" + "canonical": "google/gemini-2.5-flash-lite-preview-09", + "recommended": true }, { "provider": "google", "model": "gemini-2.5-flash-preview-09-2025", - "canonical": "google/gemini-2.5-flash" + "canonical": "google/gemini-2.5-flash-preview-09", + "recommended": true + }, + { + "provider": "google", + "model": "gemini-2.5-flash-preview-tts", + "canonical": "google/gemini-2.5-flash-preview-tts", + "recommended": true }, { "provider": "google", "model": "gemini-2.5-pro", - "canonical": "google/gemini-2.5-pro" + "canonical": "google/gemini-2.5-pro", + "recommended": true + }, + { + "provider": "google", + "model": "gemini-2.5-pro-preview-tts", + "canonical": "google/gemini-2.5-pro-preview-tts", + "recommended": true }, { "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" + "canonical": "google/gemini-3-flash-preview", + "recommended": true }, { "provider": "google", "model": "gemini-3-pro-preview", - "canonical": "google/gemini-3-pro" + "canonical": "google/gemini-3-pro-preview", + "recommended": true }, { "provider": "google", - "model": "gemma-3-12b-it", - "canonical": "google/gemma-3-12b-it" + "model": "gemini-embedding-001", + "canonical": "google/gemini-embedding-001", + "recommended": true }, { "provider": "google", - "model": "gemma-3-27b-it", - "canonical": "google/gemma-3-27b-it" + "model": "gemini-flash-latest", + "canonical": "google/gemini-flash", + "recommended": true }, { "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", - "model": "chatgpt-4o-latest", - "canonical": "openai/chatgpt-4o" + "model": "gemini-flash-lite-latest", + "canonical": "google/gemini-flash-lite", + "recommended": true }, { "provider": "openai", "model": "codex-mini-latest", - "canonical": "openai/codex-mini" + "canonical": "openai/codex-mini", + "recommended": true }, { "provider": "openai", "model": "gpt-3.5-turbo", - "canonical": "openai/gpt-3.5-turbo" + "canonical": "openai/gpt-3.5-turbo", + "recommended": true }, { "provider": "openai", "model": "gpt-3.5-turbo-0125", - "canonical": "openai/gpt-3.5-turbo" + "canonical": "openai/gpt-3.5-turbo", + "recommended": true }, { "provider": "openai", "model": "gpt-3.5-turbo-1106", - "canonical": "openai/gpt-3.5-turbo" - }, - { - "provider": "openai", - "model": "gpt-3.5-turbo-16k", - "canonical": "openai/gpt-3.5-turbo-16k" - }, - { - "provider": "openai", - "model": "gpt-3.5-turbo-instruct", - "canonical": "openai/gpt-3.5-turbo-instruct" - }, - { - "provider": "openai", - "model": "gpt-3.5-turbo-instruct-0914", - "canonical": "openai/gpt-3.5-turbo-instruct" + "canonical": "openai/gpt-3.5-turbo", + "recommended": true }, { "provider": "openai", "model": "gpt-4", - "canonical": "openai/gpt-4" - }, - { - "provider": "openai", - "model": "gpt-4-0125-preview", - "canonical": "openai/gpt-4" + "canonical": "openai/gpt-4", + "recommended": true }, { "provider": "openai", "model": "gpt-4-0314", - "canonical": "openai/gpt-4" + "canonical": "openai/gpt-4", + "recommended": true }, { "provider": "openai", "model": "gpt-4-0613", - "canonical": "openai/gpt-4" - }, - { - "provider": "openai", - "model": "gpt-4-1106-preview", - "canonical": "openai/gpt-4" + "canonical": "openai/gpt-4", + "recommended": true }, { "provider": "openai", "model": "gpt-4-turbo", - "canonical": "openai/gpt-4-turbo" + "canonical": "openai/gpt-4-turbo", + "recommended": true }, { "provider": "openai", "model": "gpt-4-turbo-2024-04-09", - "canonical": "openai/gpt-4-turbo" - }, - { - "provider": "openai", - "model": "gpt-4-turbo-preview", - "canonical": "openai/gpt-4-turbo" + "canonical": "openai/gpt-4-turbo", + "recommended": true }, { "provider": "openai", "model": "gpt-4.1", - "canonical": "openai/gpt-4.1" + "canonical": "openai/gpt-4.1", + "recommended": true }, { "provider": "openai", "model": "gpt-4.1-2025-04-14", - "canonical": "openai/gpt-4.1" + "canonical": "openai/gpt-4.1", + "recommended": true }, { "provider": "openai", "model": "gpt-4.1-mini", - "canonical": "openai/gpt-4.1-mini" + "canonical": "openai/gpt-4.1-mini", + "recommended": true }, { "provider": "openai", "model": "gpt-4.1-mini-2025-04-14", - "canonical": "openai/gpt-4.1-mini" + "canonical": "openai/gpt-4.1-mini", + "recommended": true }, { "provider": "openai", "model": "gpt-4.1-nano", - "canonical": "openai/gpt-4.1-nano" + "canonical": "openai/gpt-4.1-nano", + "recommended": true }, { "provider": "openai", "model": "gpt-4.1-nano-2025-04-14", - "canonical": "openai/gpt-4.1-nano" + "canonical": "openai/gpt-4.1-nano", + "recommended": true }, { "provider": "openai", "model": "gpt-4o", - "canonical": "openai/gpt-4o" + "canonical": "openai/gpt-4o", + "recommended": true }, { "provider": "openai", "model": "gpt-4o-2024-05-13", - "canonical": "openai/gpt-4o" + "canonical": "openai/gpt-4o", + "recommended": true }, { "provider": "openai", "model": "gpt-4o-2024-08-06", - "canonical": "openai/gpt-4o" + "canonical": "openai/gpt-4o", + "recommended": true }, { "provider": "openai", "model": "gpt-4o-2024-11-20", - "canonical": "openai/gpt-4o" - }, - { - "provider": "openai", - "model": "gpt-4o-audio-preview", - "canonical": "openai/gpt-4o-audio" - }, - { - "provider": "openai", - "model": "gpt-4o-audio-preview-2024-12-17", - "canonical": "openai/gpt-4o-audio" - }, - { - "provider": "openai", - "model": "gpt-4o-audio-preview-2025-06-03", - "canonical": "openai/gpt-4o-audio" + "canonical": "openai/gpt-4o", + "recommended": true }, { "provider": "openai", "model": "gpt-4o-mini", - "canonical": "openai/gpt-4o-mini" + "canonical": "openai/gpt-4o-mini", + "recommended": true }, { "provider": "openai", "model": "gpt-4o-mini-2024-07-18", - "canonical": "openai/gpt-4o-mini" - }, - { - "provider": "openai", - "model": "gpt-4o-mini-search-preview", - "canonical": "openai/gpt-4o-mini-search" - }, - { - "provider": "openai", - "model": "gpt-4o-mini-search-preview-2025-03-11", - "canonical": "openai/gpt-4o-mini-search" - }, - { - "provider": "openai", - "model": "gpt-4o-search-preview", - "canonical": "openai/gpt-4o-search" - }, - { - "provider": "openai", - "model": "gpt-4o-search-preview-2025-03-11", - "canonical": "openai/gpt-4o-search" + "canonical": "openai/gpt-4o-mini", + "recommended": true }, { "provider": "openai", "model": "gpt-5", - "canonical": "openai/gpt-5" + "canonical": "openai/gpt-5", + "recommended": true }, { "provider": "openai", "model": "gpt-5-2025-08-07", - "canonical": "openai/gpt-5" + "canonical": "openai/gpt-5", + "recommended": true }, { "provider": "openai", "model": "gpt-5-chat-latest", - "canonical": "openai/gpt-5-chat" + "canonical": "openai/gpt-5-chat", + "recommended": true }, { "provider": "openai", "model": "gpt-5-codex", - "canonical": "openai/gpt-5-codex" + "canonical": "openai/gpt-5-codex", + "recommended": true }, { "provider": "openai", "model": "gpt-5-mini", - "canonical": "openai/gpt-5-mini" + "canonical": "openai/gpt-5-mini", + "recommended": true }, { "provider": "openai", "model": "gpt-5-mini-2025-08-07", - "canonical": "openai/gpt-5-mini" + "canonical": "openai/gpt-5-mini", + "recommended": true }, { "provider": "openai", "model": "gpt-5-nano", - "canonical": "openai/gpt-5-nano" + "canonical": "openai/gpt-5-nano", + "recommended": true }, { "provider": "openai", "model": "gpt-5-nano-2025-08-07", - "canonical": "openai/gpt-5-nano" + "canonical": "openai/gpt-5-nano", + "recommended": true }, { "provider": "openai", "model": "gpt-5-pro", - "canonical": "openai/gpt-5-pro" + "canonical": "openai/gpt-5-pro", + "recommended": true }, { "provider": "openai", "model": "gpt-5-pro-2025-10-06", - "canonical": "openai/gpt-5-pro" + "canonical": "openai/gpt-5-pro", + "recommended": true }, { "provider": "openai", "model": "gpt-5.1", - "canonical": "openai/gpt-5.1" + "canonical": "openai/gpt-5.1", + "recommended": true }, { "provider": "openai", "model": "gpt-5.1-2025-11-13", - "canonical": "openai/gpt-5.1" + "canonical": "openai/gpt-5.1", + "recommended": true }, { "provider": "openai", "model": "gpt-5.1-chat-latest", - "canonical": "openai/gpt-5.1-chat" + "canonical": "openai/gpt-5.1-chat", + "recommended": true }, { "provider": "openai", "model": "gpt-5.1-codex", - "canonical": "openai/gpt-5.1-codex" + "canonical": "openai/gpt-5.1-codex", + "recommended": true }, { "provider": "openai", "model": "gpt-5.1-codex-max", - "canonical": "openai/gpt-5.1-codex-max" + "canonical": "openai/gpt-5.1-codex-max", + "recommended": true }, { "provider": "openai", "model": "gpt-5.1-codex-mini", - "canonical": "openai/gpt-5.1-codex-mini" + "canonical": "openai/gpt-5.1-codex-mini", + "recommended": true }, { "provider": "openai", "model": "gpt-5.2", - "canonical": "openai/gpt-5.2" + "canonical": "openai/gpt-5.2", + "recommended": true }, { "provider": "openai", "model": "gpt-5.2-2025-12-11", - "canonical": "openai/gpt-5.2" + "canonical": "openai/gpt-5.2", + "recommended": true }, { "provider": "openai", "model": "gpt-5.2-chat-latest", - "canonical": "openai/gpt-5.2-chat" + "canonical": "openai/gpt-5.2-chat", + "recommended": true + }, + { + "provider": "openai", + "model": "gpt-5.2-codex", + "canonical": "openai/gpt-5.2-codex", + "recommended": true }, { "provider": "openai", "model": "gpt-5.2-pro", - "canonical": "openai/gpt-5.2-pro" + "canonical": "openai/gpt-5.2-pro", + "recommended": true }, { "provider": "openai", "model": "gpt-5.2-pro-2025-12-11", - "canonical": "openai/gpt-5.2-pro" + "canonical": "openai/gpt-5.2-pro", + "recommended": true }, { "provider": "openai", "model": "o1", - "canonical": "openai/o1" + "canonical": "openai/o1", + "recommended": true }, { "provider": "openai", "model": "o1-2024-12-17", - "canonical": "openai/o1" + "canonical": "openai/o1", + "recommended": true }, { "provider": "openai", "model": "o1-pro", - "canonical": "openai/o1-pro" + "canonical": "openai/o1-pro", + "recommended": true }, { "provider": "openai", "model": "o1-pro-2025-03-19", - "canonical": "openai/o1-pro" + "canonical": "openai/o1-pro", + "recommended": true }, { "provider": "openai", "model": "o3", - "canonical": "openai/o3" + "canonical": "openai/o3", + "recommended": true }, { "provider": "openai", "model": "o3-2025-04-16", - "canonical": "openai/o3" + "canonical": "openai/o3", + "recommended": true }, { "provider": "openai", "model": "o3-deep-research", - "canonical": "openai/o3-deep-research" + "canonical": "openai/o3-deep-research", + "recommended": true }, { "provider": "openai", "model": "o3-deep-research-2025-06-26", - "canonical": "openai/o3-deep-research" + "canonical": "openai/o3-deep-research", + "recommended": true }, { "provider": "openai", "model": "o3-mini", - "canonical": "openai/o3-mini" + "canonical": "openai/o3-mini", + "recommended": true }, { "provider": "openai", "model": "o3-mini-2025-01-31", - "canonical": "openai/o3-mini" + "canonical": "openai/o3-mini", + "recommended": true }, { "provider": "openai", "model": "o3-pro", - "canonical": "openai/o3-pro" + "canonical": "openai/o3-pro", + "recommended": true }, { "provider": "openai", "model": "o3-pro-2025-06-10", - "canonical": "openai/o3-pro" + "canonical": "openai/o3-pro", + "recommended": true }, { "provider": "openai", "model": "o4-mini", - "canonical": "openai/o4-mini" + "canonical": "openai/o4-mini", + "recommended": true }, { "provider": "openai", "model": "o4-mini-2025-04-16", - "canonical": "openai/o4-mini" + "canonical": "openai/o4-mini", + "recommended": true }, { "provider": "openai", "model": "o4-mini-deep-research", - "canonical": "openai/o4-mini-deep-research" + "canonical": "openai/o4-mini-deep-research", + "recommended": true }, { "provider": "openai", "model": "o4-mini-deep-research-2025-06-26", - "canonical": "openai/o4-mini-deep-research" + "canonical": "openai/o4-mini-deep-research", + "recommended": true }, { - "provider": "openrouter", - "model": "ai21/jamba-large-1.7", - "canonical": "ai21/jamba-large-1.7" + "provider": "openai", + "model": "text-embedding-3-large", + "canonical": "openai/text-embedding-3-large", + "recommended": true }, { - "provider": "openrouter", - "model": "ai21/jamba-mini-1.7", - "canonical": "ai21/jamba-mini-1.7" + "provider": "openai", + "model": "text-embedding-3-small", + "canonical": "openai/text-embedding-3-small", + "recommended": true }, { - "provider": "openrouter", - "model": "anthropic/claude-3-haiku", - "canonical": "anthropic/claude-3-haiku" + "provider": "openai", + "model": "text-embedding-ada-002", + "canonical": "openai/text-embedding-ada-002", + "recommended": true }, { "provider": "openrouter", "model": "anthropic/claude-3.5-haiku", - "canonical": "anthropic/claude-3.5-haiku" - }, - { - "provider": "openrouter", - "model": "anthropic/claude-3.5-sonnet", - "canonical": "anthropic/claude-3.5-sonnet" + "canonical": "openrouter/anthropic/claude-3.5-haiku", + "recommended": true }, { "provider": "openrouter", "model": "anthropic/claude-3.7-sonnet", - "canonical": "anthropic/claude-3.7-sonnet" - }, - { - "provider": "openrouter", - "model": "anthropic/claude-3.7-sonnet:thinking", - "canonical": "anthropic/claude-3.7-sonnet:thinking" + "canonical": "openrouter/anthropic/claude-3.7-sonnet", + "recommended": true }, { "provider": "openrouter", "model": "anthropic/claude-haiku-4.5", - "canonical": "anthropic/claude-haiku-4.5" + "canonical": "openrouter/anthropic/claude-haiku-4.5", + "recommended": true }, { "provider": "openrouter", "model": "anthropic/claude-opus-4", - "canonical": "anthropic/claude-opus-4" + "canonical": "openrouter/anthropic/claude-opus-4", + "recommended": true }, { "provider": "openrouter", "model": "anthropic/claude-opus-4.1", - "canonical": "anthropic/claude-opus-4.1" + "canonical": "openrouter/anthropic/claude-opus-4.1", + "recommended": true }, { "provider": "openrouter", "model": "anthropic/claude-opus-4.5", - "canonical": "anthropic/claude-opus-4.5" + "canonical": "openrouter/anthropic/claude-opus-4.5", + "recommended": true }, { "provider": "openrouter", "model": "anthropic/claude-sonnet-4", - "canonical": "anthropic/claude-sonnet-4" + "canonical": "openrouter/anthropic/claude-sonnet-4", + "recommended": true }, { "provider": "openrouter", "model": "anthropic/claude-sonnet-4.5", - "canonical": "anthropic/claude-sonnet-4.5" - }, - { - "provider": "openrouter", - "model": "cohere/command-r-08-2024", - "canonical": "cohere/command-r-08" - }, - { - "provider": "openrouter", - "model": "cohere/command-r-plus-08-2024", - "canonical": "cohere/command-r-plus-08" - }, - { - "provider": "openrouter", - "model": "deepseek/deepseek-chat", - "canonical": "deepseek/deepseek-chat" + "canonical": "openrouter/anthropic/claude-sonnet-4.5", + "recommended": true }, { "provider": "openrouter", "model": "deepseek/deepseek-chat-v3-0324", - "canonical": "deepseek/deepseek-chat" + "canonical": "openrouter/deepseek/deepseek-chat-v3", + "recommended": true }, { "provider": "openrouter", "model": "deepseek/deepseek-chat-v3.1", - "canonical": "deepseek/deepseek-chat" - }, - { - "provider": "openrouter", - "model": "deepseek/deepseek-r1", - "canonical": "deepseek/deepseek-r1" - }, - { - "provider": "openrouter", - "model": "deepseek/deepseek-r1-0528", - "canonical": "deepseek/deepseek-r1" + "canonical": "openrouter/deepseek/deepseek-chat-v3.1", + "recommended": true }, { "provider": "openrouter", "model": "deepseek/deepseek-r1-distill-llama-70b", - "canonical": "deepseek/deepseek-r1-distill-llama-70b" + "canonical": "openrouter/deepseek/deepseek-r1-distill-llama-70b", + "recommended": true }, { "provider": "openrouter", "model": "deepseek/deepseek-v3.1-terminus", - "canonical": "deepseek/deepseek-v3.1-terminus" + "canonical": "openrouter/deepseek/deepseek-v3.1-terminus", + "recommended": true }, { "provider": "openrouter", "model": "deepseek/deepseek-v3.1-terminus:exacto", - "canonical": "deepseek/deepseek-v3.1-terminus" + "canonical": "openrouter/deepseek/deepseek-v3.1-terminus:exacto", + "recommended": true }, { "provider": "openrouter", "model": "deepseek/deepseek-v3.2", - "canonical": "deepseek/deepseek" - }, - { - "provider": "openrouter", - "model": "deepseek/deepseek-v3.2-exp", - "canonical": "deepseek/deepseek" + "canonical": "openrouter/deepseek/deepseek-v3.2", + "recommended": true }, { "provider": "openrouter", "model": "google/gemini-2.0-flash-001", - "canonical": "google/gemini-2.0-flash" + "canonical": "openrouter/google/gemini-2.0-flash-001", + "recommended": true }, { "provider": "openrouter", - "model": "google/gemini-2.0-flash-lite-001", - "canonical": "google/gemini-2.0-flash-lite" + "model": "google/gemini-2.0-flash-exp:free", + "canonical": "openrouter/google/gemini-2.0-flash-exp:free", + "recommended": true }, { "provider": "openrouter", "model": "google/gemini-2.5-flash", - "canonical": "google/gemini-2.5-flash" + "canonical": "openrouter/google/gemini-2.5-flash", + "recommended": true }, { "provider": "openrouter", "model": "google/gemini-2.5-flash-lite", - "canonical": "google/gemini-2.5-flash-lite" + "canonical": "openrouter/google/gemini-2.5-flash-lite", + "recommended": true }, { "provider": "openrouter", "model": "google/gemini-2.5-flash-lite-preview-09-2025", - "canonical": "google/gemini-2.5-flash-lite" + "canonical": "openrouter/google/gemini-2.5-flash-lite-preview-09", + "recommended": true }, { "provider": "openrouter", "model": "google/gemini-2.5-flash-preview-09-2025", - "canonical": "google/gemini-2.5-flash" + "canonical": "openrouter/google/gemini-2.5-flash-preview-09", + "recommended": true }, { "provider": "openrouter", "model": "google/gemini-2.5-pro", - "canonical": "google/gemini-2.5-pro" - }, - { - "provider": "openrouter", - "model": "google/gemini-2.5-pro-preview", - "canonical": "google/gemini-2.5-pro" + "canonical": "openrouter/google/gemini-2.5-pro", + "recommended": true }, { "provider": "openrouter", "model": "google/gemini-2.5-pro-preview-05-06", - "canonical": "google/gemini-2.5-pro" + "canonical": "openrouter/google/gemini-2.5-pro-preview-05-06", + "recommended": true }, { "provider": "openrouter", "model": "google/gemini-3-flash-preview", - "canonical": "google/gemini-3-flash" + "canonical": "openrouter/google/gemini-3-flash-preview", + "recommended": true }, { "provider": "openrouter", "model": "google/gemini-3-pro-preview", - "canonical": "google/gemini-3-pro" + "canonical": "openrouter/google/gemini-3-pro-preview", + "recommended": true }, { "provider": "openrouter", "model": "google/gemma-3-27b-it", - "canonical": "google/gemma-3-27b-it" + "canonical": "openrouter/google/gemma-3-27b-it", + "recommended": true }, { "provider": "openrouter", - "model": "meta-llama/llama-3-8b-instruct", - "canonical": "meta-llama/llama-3-8b-instruct" + "model": "meta-llama/llama-3.3-70b-instruct:free", + "canonical": "openrouter/meta-llama/llama-3.3-70b-instruct:free", + "recommended": true }, { "provider": "openrouter", - "model": "meta-llama/llama-3.1-405b-instruct", - "canonical": "meta-llama/llama-3.1-405b-instruct" + "model": "minimax/minimax-m1", + "canonical": "openrouter/minimax/minimax-m1", + "recommended": true }, { "provider": "openrouter", - "model": "meta-llama/llama-3.1-70b-instruct", - "canonical": "meta-llama/llama-3.1-70b-instruct" + "model": "minimax/minimax-m2", + "canonical": "openrouter/minimax/minimax-m2", + "recommended": true }, { "provider": "openrouter", - "model": "meta-llama/llama-3.1-8b-instruct", - "canonical": "meta-llama/llama-3.1-8b-instruct" - }, - { - "provider": "openrouter", - "model": "meta-llama/llama-3.3-70b-instruct", - "canonical": "meta-llama/llama-3.3-70b-instruct" - }, - { - "provider": "openrouter", - "model": "meta-llama/llama-4-maverick", - "canonical": "meta-llama/llama-4-maverick" - }, - { - "provider": "openrouter", - "model": "meta-llama/llama-4-scout", - "canonical": "meta-llama/llama-4-scout" + "model": "minimax/minimax-m2.1", + "canonical": "openrouter/minimax/minimax-m2.1", + "recommended": true }, { "provider": "openrouter", "model": "mistralai/codestral-2508", - "canonical": "mistralai/codestral" + "canonical": "openrouter/mistralai/codestral", + "recommended": true }, { "provider": "openrouter", "model": "mistralai/devstral-2512", - "canonical": "mistralai/devstral" + "canonical": "openrouter/mistralai/devstral", + "recommended": true }, { "provider": "openrouter", "model": "mistralai/devstral-medium", - "canonical": "mistralai/devstral-medium" + "canonical": "openrouter/mistralai/devstral-medium", + "recommended": true }, { "provider": "openrouter", "model": "mistralai/devstral-small", - "canonical": "mistralai/devstral-small" - }, - { - "provider": "openrouter", - "model": "mistralai/ministral-14b-2512", - "canonical": "mistralai/ministral-14b" - }, - { - "provider": "openrouter", - "model": "mistralai/ministral-3b", - "canonical": "mistralai/ministral-3b" - }, - { - "provider": "openrouter", - "model": "mistralai/ministral-3b-2512", - "canonical": "mistralai/ministral-3b" - }, - { - "provider": "openrouter", - "model": "mistralai/ministral-8b", - "canonical": "mistralai/ministral-8b" - }, - { - "provider": "openrouter", - "model": "mistralai/ministral-8b-2512", - "canonical": "mistralai/ministral-8b" - }, - { - "provider": "openrouter", - "model": "mistralai/mistral-large", - "canonical": "mistralai/mistral-large" - }, - { - "provider": "openrouter", - "model": "mistralai/mistral-large-2407", - "canonical": "mistralai/mistral-large" - }, - { - "provider": "openrouter", - "model": "mistralai/mistral-large-2411", - "canonical": "mistralai/mistral-large" - }, - { - "provider": "openrouter", - "model": "mistralai/mistral-large-2512", - "canonical": "mistralai/mistral-large" + "canonical": "openrouter/mistralai/devstral-small", + "recommended": true }, { "provider": "openrouter", "model": "mistralai/mistral-medium-3", - "canonical": "mistralai/mistral-medium-3" + "canonical": "openrouter/mistralai/mistral-medium-3", + "recommended": true }, { "provider": "openrouter", "model": "mistralai/mistral-medium-3.1", - "canonical": "mistralai/mistral-medium-3.1" - }, - { - "provider": "openrouter", - "model": "mistralai/mistral-nemo", - "canonical": "mistralai/mistral-nemo" - }, - { - "provider": "openrouter", - "model": "mistralai/mistral-saba", - "canonical": "mistralai/mistral-saba" - }, - { - "provider": "openrouter", - "model": "mistralai/mistral-small-24b-instruct-2501", - "canonical": "mistralai/mistral-small-24b-instruct" + "canonical": "openrouter/mistralai/mistral-medium-3.1", + "recommended": true }, { "provider": "openrouter", "model": "mistralai/mistral-small-3.1-24b-instruct", - "canonical": "mistralai/mistral-small-3.1-24b-instruct" + "canonical": "openrouter/mistralai/mistral-small-3.1-24b-instruct", + "recommended": true }, { "provider": "openrouter", "model": "mistralai/mistral-small-3.2-24b-instruct", - "canonical": "mistralai/mistral-small-3.2-24b-instruct" + "canonical": "openrouter/mistralai/mistral-small-3.2-24b-instruct", + "recommended": true }, { "provider": "openrouter", - "model": "mistralai/mistral-small-creative", - "canonical": "mistralai/mistral-small-creative" + "model": "moonshotai/kimi-k2", + "canonical": "openrouter/moonshotai/kimi-k2", + "recommended": true }, { "provider": "openrouter", - "model": "mistralai/mistral-tiny", - "canonical": "mistralai/mistral-tiny" + "model": "moonshotai/kimi-k2-0905", + "canonical": "openrouter/moonshotai/kimi-k2", + "recommended": true }, { "provider": "openrouter", - "model": "mistralai/mixtral-8x22b-instruct", - "canonical": "mistralai/mixtral-8x22b-instruct" + "model": "moonshotai/kimi-k2-0905:exacto", + "canonical": "openrouter/moonshotai/kimi-k2-0905:exacto", + "recommended": true }, { "provider": "openrouter", - "model": "mistralai/mixtral-8x7b-instruct", - "canonical": "mistralai/mixtral-8x7b-instruct" + "model": "moonshotai/kimi-k2-thinking", + "canonical": "openrouter/moonshotai/kimi-k2-thinking", + "recommended": true }, { "provider": "openrouter", - "model": "mistralai/pixtral-12b", - "canonical": "mistralai/pixtral-12b" + "model": "nousresearch/hermes-4-70b", + "canonical": "openrouter/nousresearch/hermes-4-70b", + "recommended": true }, { "provider": "openrouter", - "model": "mistralai/pixtral-large-2411", - "canonical": "mistralai/pixtral-large" - }, - { - "provider": "openrouter", - "model": "mistralai/voxtral-small-24b-2507", - "canonical": "mistralai/voxtral-small-24b" - }, - { - "provider": "openrouter", - "model": "openai/gpt-3.5-turbo", - "canonical": "openai/gpt-3.5-turbo" - }, - { - "provider": "openrouter", - "model": "openai/gpt-3.5-turbo-0613", - "canonical": "openai/gpt-3.5-turbo" - }, - { - "provider": "openrouter", - "model": "openai/gpt-3.5-turbo-16k", - "canonical": "openai/gpt-3.5-turbo-16k" - }, - { - "provider": "openrouter", - "model": "openai/gpt-4", - "canonical": "openai/gpt-4" - }, - { - "provider": "openrouter", - "model": "openai/gpt-4-0314", - "canonical": "openai/gpt-4" - }, - { - "provider": "openrouter", - "model": "openai/gpt-4-1106-preview", - "canonical": "openai/gpt-4" - }, - { - "provider": "openrouter", - "model": "openai/gpt-4-turbo", - "canonical": "openai/gpt-4-turbo" - }, - { - "provider": "openrouter", - "model": "openai/gpt-4-turbo-preview", - "canonical": "openai/gpt-4-turbo" + "model": "nvidia/nemotron-nano-9b-v2", + "canonical": "openrouter/nvidia/nemotron-nano-9b-v2", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-4.1", - "canonical": "openai/gpt-4.1" + "canonical": "openrouter/openai/gpt-4.1", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-4.1-mini", - "canonical": "openai/gpt-4.1-mini" - }, - { - "provider": "openrouter", - "model": "openai/gpt-4.1-nano", - "canonical": "openai/gpt-4.1-nano" - }, - { - "provider": "openrouter", - "model": "openai/gpt-4o", - "canonical": "openai/gpt-4o" - }, - { - "provider": "openrouter", - "model": "openai/gpt-4o-2024-05-13", - "canonical": "openai/gpt-4o" - }, - { - "provider": "openrouter", - "model": "openai/gpt-4o-2024-08-06", - "canonical": "openai/gpt-4o" - }, - { - "provider": "openrouter", - "model": "openai/gpt-4o-2024-11-20", - "canonical": "openai/gpt-4o" - }, - { - "provider": "openrouter", - "model": "openai/gpt-4o-audio-preview", - "canonical": "openai/gpt-4o-audio" + "canonical": "openrouter/openai/gpt-4.1-mini", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-4o-mini", - "canonical": "openai/gpt-4o-mini" + "canonical": "openrouter/openai/gpt-4o-mini", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-4o-mini-2024-07-18", - "canonical": "openai/gpt-4o-mini" - }, - { - "provider": "openrouter", - "model": "openai/gpt-4o:extended", - "canonical": "openai/gpt-4o:extended" + "canonical": "openrouter/openai/gpt-4o-mini", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-5", - "canonical": "openai/gpt-5" + "canonical": "openrouter/openai/gpt-5", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-5-codex", - "canonical": "openai/gpt-5-codex" + "canonical": "openrouter/openai/gpt-5-codex", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-5-image", - "canonical": "openai/gpt-5-image" - }, - { - "provider": "openrouter", - "model": "openai/gpt-5-image-mini", - "canonical": "openai/gpt-5-image-mini" + "canonical": "openrouter/openai/gpt-5-image", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-5-mini", - "canonical": "openai/gpt-5-mini" + "canonical": "openrouter/openai/gpt-5-mini", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-5-nano", - "canonical": "openai/gpt-5-nano" + "canonical": "openrouter/openai/gpt-5-nano", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-5-pro", - "canonical": "openai/gpt-5-pro" + "canonical": "openrouter/openai/gpt-5-pro", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-5.1", - "canonical": "openai/gpt-5.1" + "canonical": "openrouter/openai/gpt-5.1", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-5.1-chat", - "canonical": "openai/gpt-5.1-chat" + "canonical": "openrouter/openai/gpt-5.1-chat", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-5.1-codex", - "canonical": "openai/gpt-5.1-codex" + "canonical": "openrouter/openai/gpt-5.1-codex", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-5.1-codex-max", - "canonical": "openai/gpt-5.1-codex-max" + "canonical": "openrouter/openai/gpt-5.1-codex-max", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-5.1-codex-mini", - "canonical": "openai/gpt-5.1-codex-mini" + "canonical": "openrouter/openai/gpt-5.1-codex-mini", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-5.2", - "canonical": "openai/gpt-5.2" + "canonical": "openrouter/openai/gpt-5.2", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-5.2-chat", - "canonical": "openai/gpt-5.2-chat" + "canonical": "openrouter/openai/gpt-5.2-chat", + "recommended": true + }, + { + "provider": "openrouter", + "model": "openai/gpt-5.2-codex", + "canonical": "openrouter/openai/gpt-5.2-codex", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-5.2-pro", - "canonical": "openai/gpt-5.2-pro" + "canonical": "openrouter/openai/gpt-5.2-pro", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-oss-120b", - "canonical": "openai/gpt-oss-120b" + "canonical": "openrouter/openai/gpt-oss-120b", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-oss-120b:exacto", - "canonical": "openai/gpt-oss-120b" + "canonical": "openrouter/openai/gpt-oss-120b:exacto", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-oss-20b", - "canonical": "openai/gpt-oss-20b" + "canonical": "openrouter/openai/gpt-oss-20b", + "recommended": true }, { "provider": "openrouter", "model": "openai/gpt-oss-safeguard-20b", - "canonical": "openai/gpt-oss-safeguard-20b" - }, - { - "provider": "openrouter", - "model": "openai/o1", - "canonical": "openai/o1" - }, - { - "provider": "openrouter", - "model": "openai/o3", - "canonical": "openai/o3" - }, - { - "provider": "openrouter", - "model": "openai/o3-deep-research", - "canonical": "openai/o3-deep-research" - }, - { - "provider": "openrouter", - "model": "openai/o3-mini", - "canonical": "openai/o3-mini" - }, - { - "provider": "openrouter", - "model": "openai/o3-mini-high", - "canonical": "openai/o3-mini-high" - }, - { - "provider": "openrouter", - "model": "openai/o3-pro", - "canonical": "openai/o3-pro" + "canonical": "openrouter/openai/gpt-oss-safeguard-20b", + "recommended": true }, { "provider": "openrouter", "model": "openai/o4-mini", - "canonical": "openai/o4-mini" - }, - { - "provider": "openrouter", - "model": "openai/o4-mini-deep-research", - "canonical": "openai/o4-mini-deep-research" - }, - { - "provider": "openrouter", - "model": "openai/o4-mini-high", - "canonical": "openai/o4-mini-high" - }, - { - "provider": "openrouter", - "model": "qwen/qwen-2.5-72b-instruct", - "canonical": "qwen/qwen-2.5-72b-instruct" - }, - { - "provider": "openrouter", - "model": "qwen/qwen-2.5-7b-instruct", - "canonical": "qwen/qwen-2.5-7b-instruct" - }, - { - "provider": "openrouter", - "model": "qwen/qwen-max", - "canonical": "qwen/qwen-max" - }, - { - "provider": "openrouter", - "model": "qwen/qwen-plus", - "canonical": "qwen/qwen-plus" - }, - { - "provider": "openrouter", - "model": "qwen/qwen-plus-2025-07-28", - "canonical": "qwen/qwen-plus" - }, - { - "provider": "openrouter", - "model": "qwen/qwen-plus-2025-07-28:thinking", - "canonical": "qwen/qwen-plus-2025-07-28:thinking" - }, - { - "provider": "openrouter", - "model": "qwen/qwen-turbo", - "canonical": "qwen/qwen-turbo" - }, - { - "provider": "openrouter", - "model": "qwen/qwen-vl-max", - "canonical": "qwen/qwen-vl-max" - }, - { - "provider": "openrouter", - "model": "qwen/qwen3-14b", - "canonical": "qwen/qwen3-14b" - }, - { - "provider": "openrouter", - "model": "qwen/qwen3-235b-a22b", - "canonical": "qwen/qwen3-235b-a22b" - }, - { - "provider": "openrouter", - "model": "qwen/qwen3-235b-a22b-2507", - "canonical": "qwen/qwen3-235b-a22b" + "canonical": "openrouter/openai/o4-mini", + "recommended": true }, { "provider": "openrouter", "model": "qwen/qwen3-235b-a22b-thinking-2507", - "canonical": "qwen/qwen3-235b-a22b-thinking" - }, - { - "provider": "openrouter", - "model": "qwen/qwen3-30b-a3b", - "canonical": "qwen/qwen3-30b-a3b" + "canonical": "openrouter/qwen/qwen3-235b-a22b-thinking", + "recommended": true }, { "provider": "openrouter", "model": "qwen/qwen3-30b-a3b-instruct-2507", - "canonical": "qwen/qwen3-30b-a3b-instruct" + "canonical": "openrouter/qwen/qwen3-30b-a3b-instruct", + "recommended": true }, { "provider": "openrouter", "model": "qwen/qwen3-30b-a3b-thinking-2507", - "canonical": "qwen/qwen3-30b-a3b-thinking" - }, - { - "provider": "openrouter", - "model": "qwen/qwen3-32b", - "canonical": "qwen/qwen3-32b" - }, - { - "provider": "openrouter", - "model": "qwen/qwen3-8b", - "canonical": "qwen/qwen3-8b" + "canonical": "openrouter/qwen/qwen3-30b-a3b-thinking", + "recommended": true }, { "provider": "openrouter", "model": "qwen/qwen3-coder", - "canonical": "qwen/qwen3-coder" + "canonical": "openrouter/qwen/qwen3-coder", + "recommended": true }, { "provider": "openrouter", "model": "qwen/qwen3-coder-30b-a3b-instruct", - "canonical": "qwen/qwen3-coder-30b-a3b-instruct" + "canonical": "openrouter/qwen/qwen3-coder-30b-a3b-instruct", + "recommended": true }, { "provider": "openrouter", "model": "qwen/qwen3-coder-flash", - "canonical": "qwen/qwen3-coder-flash" - }, - { - "provider": "openrouter", - "model": "qwen/qwen3-coder-plus", - "canonical": "qwen/qwen3-coder-plus" + "canonical": "openrouter/qwen/qwen3-coder-flash", + "recommended": true }, { "provider": "openrouter", "model": "qwen/qwen3-coder:exacto", - "canonical": "qwen/qwen3-coder" + "canonical": "openrouter/qwen/qwen3-coder:exacto", + "recommended": true + }, + { + "provider": "openrouter", + "model": "qwen/qwen3-coder:free", + "canonical": "openrouter/qwen/qwen3-coder:free", + "recommended": true }, { "provider": "openrouter", "model": "qwen/qwen3-max", - "canonical": "qwen/qwen3-max" + "canonical": "openrouter/qwen/qwen3-max", + "recommended": true }, { "provider": "openrouter", "model": "qwen/qwen3-next-80b-a3b-instruct", - "canonical": "qwen/qwen3-next-80b-a3b-instruct" + "canonical": "openrouter/qwen/qwen3-next-80b-a3b-instruct", + "recommended": true }, { "provider": "openrouter", "model": "qwen/qwen3-next-80b-a3b-thinking", - "canonical": "qwen/qwen3-next-80b-a3b-thinking" - }, - { - "provider": "openrouter", - "model": "qwen/qwen3-vl-235b-a22b-instruct", - "canonical": "qwen/qwen3-vl-235b-a22b-instruct" - }, - { - "provider": "openrouter", - "model": "qwen/qwen3-vl-235b-a22b-thinking", - "canonical": "qwen/qwen3-vl-235b-a22b-thinking" - }, - { - "provider": "openrouter", - "model": "qwen/qwen3-vl-30b-a3b-instruct", - "canonical": "qwen/qwen3-vl-30b-a3b-instruct" - }, - { - "provider": "openrouter", - "model": "qwen/qwen3-vl-30b-a3b-thinking", - "canonical": "qwen/qwen3-vl-30b-a3b-thinking" - }, - { - "provider": "openrouter", - "model": "qwen/qwen3-vl-8b-instruct", - "canonical": "qwen/qwen3-vl-8b-instruct" - }, - { - "provider": "openrouter", - "model": "qwen/qwen3-vl-8b-thinking", - "canonical": "qwen/qwen3-vl-8b-thinking" - }, - { - "provider": "openrouter", - "model": "qwen/qwq-32b", - "canonical": "qwen/qwq-32b" + "canonical": "openrouter/qwen/qwen3-next-80b-a3b-thinking", + "recommended": true }, { "provider": "openrouter", "model": "x-ai/grok-3", - "canonical": "x-ai/grok-3" + "canonical": "openrouter/x-ai/grok-3", + "recommended": true + }, + { + "provider": "openrouter", + "model": "x-ai/grok-3-beta", + "canonical": "openrouter/x-ai/grok-3-beta", + "recommended": true }, { "provider": "openrouter", "model": "x-ai/grok-3-mini", - "canonical": "x-ai/grok-3-mini" + "canonical": "openrouter/x-ai/grok-3-mini", + "recommended": true + }, + { + "provider": "openrouter", + "model": "x-ai/grok-3-mini-beta", + "canonical": "openrouter/x-ai/grok-3-mini-beta", + "recommended": true }, { "provider": "openrouter", "model": "x-ai/grok-4", - "canonical": "x-ai/grok-4" + "canonical": "openrouter/x-ai/grok-4", + "recommended": true }, { "provider": "openrouter", "model": "x-ai/grok-4-fast", - "canonical": "x-ai/grok-4-fast" + "canonical": "openrouter/x-ai/grok-4-fast", + "recommended": true }, { "provider": "openrouter", "model": "x-ai/grok-4.1-fast", - "canonical": "x-ai/grok-4.1-fast" + "canonical": "openrouter/x-ai/grok-4.1-fast", + "recommended": true }, { "provider": "openrouter", "model": "x-ai/grok-code-fast-1", - "canonical": "x-ai/grok-code-fast-1" + "canonical": "openrouter/x-ai/grok-code-fast-1", + "recommended": true + }, + { + "provider": "openrouter", + "model": "z-ai/glm-4.5", + "canonical": "openrouter/z-ai/glm-4.5", + "recommended": true + }, + { + "provider": "openrouter", + "model": "z-ai/glm-4.5-air", + "canonical": "openrouter/z-ai/glm-4.5-air", + "recommended": true + }, + { + "provider": "openrouter", + "model": "z-ai/glm-4.5-air:free", + "canonical": "openrouter/z-ai/glm-4.5-air:free", + "recommended": true + }, + { + "provider": "openrouter", + "model": "z-ai/glm-4.5v", + "canonical": "openrouter/z-ai/glm-4.5v", + "recommended": true + }, + { + "provider": "openrouter", + "model": "z-ai/glm-4.6", + "canonical": "openrouter/z-ai/glm-4.6", + "recommended": true + }, + { + "provider": "openrouter", + "model": "z-ai/glm-4.6:exacto", + "canonical": "openrouter/z-ai/glm-4.6:exacto", + "recommended": true + }, + { + "provider": "openrouter", + "model": "z-ai/glm-4.7", + "canonical": "openrouter/z-ai/glm-4.7", + "recommended": true + }, + { + "provider": "xai", + "model": "grok-2-vision-1212", + "canonical": "x-ai/grok-2-vision", + "recommended": true + }, + { + "provider": "xai", + "model": "grok-3", + "canonical": "x-ai/grok-3", + "recommended": true + }, + { + "provider": "xai", + "model": "grok-3-mini", + "canonical": "x-ai/grok-3-mini", + "recommended": true + }, + { + "provider": "xai", + "model": "grok-4-0709", + "canonical": "x-ai/grok-4", + "recommended": true + }, + { + "provider": "xai", + "model": "grok-4-1-fast-non-reasoning", + "canonical": "x-ai/grok-4.1-fast-non", + "recommended": true + }, + { + "provider": "xai", + "model": "grok-4-1-fast-reasoning", + "canonical": "x-ai/grok-4.1-fast", + "recommended": true + }, + { + "provider": "xai", + "model": "grok-4-fast-non-reasoning", + "canonical": "x-ai/grok-4-fast-non", + "recommended": true + }, + { + "provider": "xai", + "model": "grok-4-fast-reasoning", + "canonical": "x-ai/grok-4-fast", + "recommended": true + }, + { + "provider": "xai", + "model": "grok-code-fast-1", + "canonical": "x-ai/grok-code-fast-1", + "recommended": true } ], "model_counts": { "anthropic": 9, + "aws_bedrock": 0, + "azure_openai": 0, + "databricks": 160, + "gcp_vertex_ai": 0, "google": 50, "openai": 653, "openrouter": 228, - "tetrate": 166, - "xai": 0 + "tetrate": 0, + "venice": 0, + "xai": 10 }, "canonical_models_used": [ - "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", + "google/gemini-1.5-flash", + "google/gemini-1.5-pro", "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-flash-lite-preview-09", + "google/gemini-2.5-flash-preview-09", + "google/gemini-2.5-flash-preview-tts", "google/gemini-2.5-pro", - "google/gemini-3-flash", - "google/gemini-3-pro", - "google/gemini-3-pro-image", - "google/gemma-3-12b-it", - "google/gemma-3-27b-it", - "google/gemma-3-4b-it", - "google/gemma-3n-e4b-it", - "meta-llama/llama-3-8b-instruct", - "meta-llama/llama-3.1-405b-instruct", - "meta-llama/llama-3.1-70b-instruct", - "meta-llama/llama-3.1-8b-instruct", + "google/gemini-2.5-pro-preview-tts", + "google/gemini-3-flash-preview", + "google/gemini-3-pro-preview", + "google/gemini-embedding-001", + "google/gemini-flash", + "google/gemini-flash-lite", "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", - "mistralai/ministral-8b", - "mistralai/mistral-large", - "mistralai/mistral-medium-3", - "mistralai/mistral-medium-3.1", - "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/mistral-small-creative", - "mistralai/mistral-tiny", - "mistralai/mixtral-8x22b-instruct", - "mistralai/mixtral-8x7b-instruct", - "mistralai/pixtral-12b", - "mistralai/pixtral-large", - "mistralai/voxtral-small-24b", - "openai/chatgpt-4o", "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", "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", "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", @@ -5831,54 +6207,120 @@ "openai/gpt-5.1-codex-mini", "openai/gpt-5.2", "openai/gpt-5.2-chat", + "openai/gpt-5.2-codex", "openai/gpt-5.2-pro", - "openai/gpt-oss-120b", - "openai/gpt-oss-20b", - "openai/gpt-oss-safeguard-20b", "openai/o1", + "openai/o1-mini", + "openai/o1-preview", "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-2.5-7b-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-32b", - "qwen/qwen3-8b", - "qwen/qwen3-coder", - "qwen/qwen3-coder-30b-a3b-instruct", - "qwen/qwen3-coder-flash", - "qwen/qwen3-coder-plus", - "qwen/qwen3-max", - "qwen/qwen3-next-80b-a3b-instruct", - "qwen/qwen3-next-80b-a3b-thinking", - "qwen/qwen3-vl-235b-a22b-instruct", - "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", + "openai/text-embedding-3-large", + "openai/text-embedding-3-small", + "openai/text-embedding-ada-002", + "openrouter/anthropic/claude-3.5-haiku", + "openrouter/anthropic/claude-3.7-sonnet", + "openrouter/anthropic/claude-haiku-4.5", + "openrouter/anthropic/claude-opus-4", + "openrouter/anthropic/claude-opus-4.1", + "openrouter/anthropic/claude-opus-4.5", + "openrouter/anthropic/claude-sonnet-4", + "openrouter/anthropic/claude-sonnet-4.5", + "openrouter/deepseek/deepseek-chat-v3", + "openrouter/deepseek/deepseek-chat-v3.1", + "openrouter/deepseek/deepseek-r1-distill-llama-70b", + "openrouter/deepseek/deepseek-v3.1-terminus", + "openrouter/deepseek/deepseek-v3.1-terminus:exacto", + "openrouter/deepseek/deepseek-v3.2", + "openrouter/google/gemini-2.0-flash-001", + "openrouter/google/gemini-2.0-flash-exp:free", + "openrouter/google/gemini-2.5-flash", + "openrouter/google/gemini-2.5-flash-lite", + "openrouter/google/gemini-2.5-flash-lite-preview-09", + "openrouter/google/gemini-2.5-flash-preview-09", + "openrouter/google/gemini-2.5-pro", + "openrouter/google/gemini-2.5-pro-preview-05-06", + "openrouter/google/gemini-3-flash-preview", + "openrouter/google/gemini-3-pro-preview", + "openrouter/google/gemma-3-27b-it", + "openrouter/meta-llama/llama-3.3-70b-instruct:free", + "openrouter/minimax/minimax-m1", + "openrouter/minimax/minimax-m2", + "openrouter/minimax/minimax-m2.1", + "openrouter/mistralai/codestral", + "openrouter/mistralai/devstral", + "openrouter/mistralai/devstral-medium", + "openrouter/mistralai/devstral-small", + "openrouter/mistralai/mistral-medium-3", + "openrouter/mistralai/mistral-medium-3.1", + "openrouter/mistralai/mistral-small-3.1-24b-instruct", + "openrouter/mistralai/mistral-small-3.2-24b-instruct", + "openrouter/moonshotai/kimi-k2", + "openrouter/moonshotai/kimi-k2-0905:exacto", + "openrouter/moonshotai/kimi-k2-thinking", + "openrouter/nousresearch/hermes-4-70b", + "openrouter/nvidia/nemotron-nano-9b-v2", + "openrouter/openai/gpt-4.1", + "openrouter/openai/gpt-4.1-mini", + "openrouter/openai/gpt-4o-mini", + "openrouter/openai/gpt-5", + "openrouter/openai/gpt-5-codex", + "openrouter/openai/gpt-5-image", + "openrouter/openai/gpt-5-mini", + "openrouter/openai/gpt-5-nano", + "openrouter/openai/gpt-5-pro", + "openrouter/openai/gpt-5.1", + "openrouter/openai/gpt-5.1-chat", + "openrouter/openai/gpt-5.1-codex", + "openrouter/openai/gpt-5.1-codex-max", + "openrouter/openai/gpt-5.1-codex-mini", + "openrouter/openai/gpt-5.2", + "openrouter/openai/gpt-5.2-chat", + "openrouter/openai/gpt-5.2-codex", + "openrouter/openai/gpt-5.2-pro", + "openrouter/openai/gpt-oss-120b", + "openrouter/openai/gpt-oss-120b:exacto", + "openrouter/openai/gpt-oss-20b", + "openrouter/openai/gpt-oss-safeguard-20b", + "openrouter/openai/o4-mini", + "openrouter/qwen/qwen3-235b-a22b-thinking", + "openrouter/qwen/qwen3-30b-a3b-instruct", + "openrouter/qwen/qwen3-30b-a3b-thinking", + "openrouter/qwen/qwen3-coder", + "openrouter/qwen/qwen3-coder-30b-a3b-instruct", + "openrouter/qwen/qwen3-coder-flash", + "openrouter/qwen/qwen3-coder:exacto", + "openrouter/qwen/qwen3-coder:free", + "openrouter/qwen/qwen3-max", + "openrouter/qwen/qwen3-next-80b-a3b-instruct", + "openrouter/qwen/qwen3-next-80b-a3b-thinking", + "openrouter/x-ai/grok-3", + "openrouter/x-ai/grok-3-beta", + "openrouter/x-ai/grok-3-mini", + "openrouter/x-ai/grok-3-mini-beta", + "openrouter/x-ai/grok-4", + "openrouter/x-ai/grok-4-fast", + "openrouter/x-ai/grok-4.1-fast", + "openrouter/x-ai/grok-code-fast-1", + "openrouter/z-ai/glm-4.5", + "openrouter/z-ai/glm-4.5-air", + "openrouter/z-ai/glm-4.5-air:free", + "openrouter/z-ai/glm-4.5v", + "openrouter/z-ai/glm-4.6", + "openrouter/z-ai/glm-4.6:exacto", + "openrouter/z-ai/glm-4.7", + "x-ai/grok-2-vision", "x-ai/grok-3", "x-ai/grok-3-mini", "x-ai/grok-4", "x-ai/grok-4-fast", + "x-ai/grok-4-fast-non", "x-ai/grok-4.1-fast", + "x-ai/grok-4.1-fast-non", "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 90412df5..ea4911be 100644 --- a/crates/goose/src/providers/canonical/data/canonical_models.json +++ b/crates/goose/src/providers/canonical/data/canonical_models.json @@ -1,3157 +1,14332 @@ [ { - "id": "ai21/jamba-large-1.7", - "name": "AI21: Jamba Large 1.7", - "context_length": 256000, - "max_completion_tokens": 4096, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-6, - "completion": 8e-6, - "request": 0.0, - "image": 0.0 + "id": "amazon-bedrock/ai21.jamba-1.5-large-v1:0", + "name": "Jamba 1.5 Large", + "family": "jamba", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-08-15", + "last_updated": "2024-08-15", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.0, + "output": 8.0 + }, + "limit": { + "context": 256000, + "output": 4096 } }, { - "id": "ai21/jamba-mini-1.7", - "name": "AI21: Jamba Mini 1.7", - "context_length": 256000, - "max_completion_tokens": 4096, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-7, - "completion": 4e-7, - "request": 0.0, - "image": 0.0 + "id": "amazon-bedrock/ai21.jamba-1.5-mini-v1:0", + "name": "Jamba 1.5 Mini", + "family": "jamba", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-08-15", + "last_updated": "2024-08-15", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.2, + "output": 0.4 + }, + "limit": { + "context": 256000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/amazon.nova-2-lite-v1:0", + "name": "Nova 2 Lite", + "family": "nova", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.33, + "output": 2.75 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/amazon.nova-lite-v1:0", + "name": "Nova Lite", + "family": "nova-lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.06, + "output": 0.24, + "cache_read": 0.015 + }, + "limit": { + "context": 300000, + "output": 8192 + } + }, + { + "id": "amazon-bedrock/amazon.nova-micro-v1:0", + "name": "Nova Micro", + "family": "nova-micro", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.035, + "output": 0.14, + "cache_read": 0.00875 + }, + "limit": { + "context": 128000, + "output": 8192 + } + }, + { + "id": "amazon-bedrock/amazon.nova-premier-v1:0", + "name": "Nova Premier", + "family": "nova", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.5, + "output": 12.5 + }, + "limit": { + "context": 1000000, + "output": 16384 + } + }, + { + "id": "amazon-bedrock/amazon.nova-pro-v1:0", + "name": "Nova Pro", + "family": "nova-pro", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.8, + "output": 3.2, + "cache_read": 0.2 + }, + "limit": { + "context": 300000, + "output": 8192 + } + }, + { + "id": "amazon-bedrock/amazon.titan-text-express-v1", + "name": "Titan Text G1 - Express", + "family": "titan", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 0.6 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/amazon.titan-text-express-v1:0:8k", + "name": "Titan Text G1 - Express", + "family": "titan", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 0.6 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-3-haiku-20240307-v1:0", + "name": "Claude Haiku 3", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-02", + "release_date": "2024-03-13", + "last_updated": "2024-03-13", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.25, + "output": 1.25 + }, + "limit": { + "context": 200000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-3-opus-20240229-v1:0", + "name": "Claude Opus 3", + "family": "claude-opus", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08", + "release_date": "2024-02-29", + "last_updated": "2024-02-29", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 75.0 + }, + "limit": { + "context": 200000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-3-sonnet-20240229-v1:0", + "name": "Claude Sonnet 3", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08", + "release_date": "2024-03-04", + "last_updated": "2024-03-04", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0 + }, + "limit": { + "context": 200000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-3.5-haiku-20241022-v1:0", + "name": "Claude Haiku 3.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.8, + "output": 4.0, + "cache_read": 0.08, + "cache_write": 1.0 + }, + "limit": { + "context": 200000, + "output": 8192 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-3.5-sonnet-20240620-v1:0", + "name": "Claude Sonnet 3.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-06-20", + "last_updated": "2024-06-20", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "limit": { + "context": 200000, + "output": 8192 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-3.5-sonnet-20241022-v2:0", + "name": "Claude Sonnet 3.5 v2", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "limit": { + "context": 200000, + "output": 8192 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-3.7-sonnet-20250219-v1:0", + "name": "Claude Sonnet 3.7", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "limit": { + "context": 200000, + "output": 8192 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-haiku-4.5-20251001-v1:0", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.0, + "output": 5.0, + "cache_read": 0.1, + "cache_write": 1.25 + }, + "limit": { + "context": 200000, + "output": 64000 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-instant-v1", + "name": "Claude Instant", + "family": "claude", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-08", + "release_date": "2023-03-01", + "last_updated": "2023-03-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.8, + "output": 2.4 + }, + "limit": { + "context": 100000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-opus-4-20250514-v1:0", + "name": "Claude Opus 4", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 75.0, + "cache_read": 1.5, + "cache_write": 18.75 + }, + "limit": { + "context": 200000, + "output": 32000 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-opus-4.1-20250805-v1:0", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 75.0, + "cache_read": 1.5, + "cache_write": 18.75 + }, + "limit": { + "context": 200000, + "output": 32000 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-opus-4.5-20251101-v1:0", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 5.0, + "output": 25.0, + "cache_read": 0.5, + "cache_write": 6.25 + }, + "limit": { + "context": 200000, + "output": 64000 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-sonnet-4-20250514-v1:0", + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "limit": { + "context": 200000, + "output": 64000 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-sonnet-4.5-20250929-v1:0", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "limit": { + "context": 200000, + "output": 64000 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-v2", + "name": "Claude 2", + "family": "claude", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-08", + "release_date": "2023-07-11", + "last_updated": "2023-07-11", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 8.0, + "output": 24.0 + }, + "limit": { + "context": 100000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/anthropic.claude-v2:1", + "name": "Claude 2.1", + "family": "claude", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-08", + "release_date": "2023-11-21", + "last_updated": "2023-11-21", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 8.0, + "output": 24.0 + }, + "limit": { + "context": 200000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/cohere.command-light-text-v14", + "name": "Command Light", + "family": "command-light", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-08", + "release_date": "2023-11-01", + "last_updated": "2023-11-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.3, + "output": 0.6 + }, + "limit": { + "context": 4096, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/cohere.command-r-plus-v1:0", + "name": "Command R+", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-04-04", + "last_updated": "2024-04-04", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 3.0, + "output": 15.0 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/cohere.command-r-v1:0", + "name": "Command R", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-03-11", + "last_updated": "2024-03-11", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.5, + "output": 1.5 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/cohere.command-text-v14", + "name": "Command", + "family": "command", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-08", + "release_date": "2023-11-01", + "last_updated": "2023-11-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 1.5, + "output": 2.0 + }, + "limit": { + "context": 4096, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/deepseek.r1-v1:0", + "name": "DeepSeek-R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-05-29", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.35, + "output": 5.4 + }, + "limit": { + "context": 128000, + "output": 32768 + } + }, + { + "id": "amazon-bedrock/deepseek.v3-v1:0", + "name": "DeepSeek-V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.58, + "output": 1.68 + }, + "limit": { + "context": 163840, + "output": 81920 + } + }, + { + "id": "amazon-bedrock/global.anthropic.claude-opus-4.5-20251101-v1:0", + "name": "Claude Opus 4.5 (Global)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 5.0, + "output": 25.0, + "cache_read": 0.5, + "cache_write": 6.25 + }, + "limit": { + "context": 200000, + "output": 64000 + } + }, + { + "id": "amazon-bedrock/google.gemma-3-12b-it", + "name": "Google Gemma 3 12B", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.05, + "output": 0.1 + }, + "limit": { + "context": 131072, + "output": 8192 + } + }, + { + "id": "amazon-bedrock/google.gemma-3-27b-it", + "name": "Google Gemma 3 27B Instruct", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-27", + "last_updated": "2025-07-27", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.12, + "output": 0.2 + }, + "limit": { + "context": 202752, + "output": 8192 + } + }, + { + "id": "amazon-bedrock/google.gemma-3-4b-it", + "name": "Gemma 3 4B IT", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.04, + "output": 0.08 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/meta.llama3-1-70b-instruct-v1:0", + "name": "Llama 3.1 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.72, + "output": 0.72 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/meta.llama3-1-8b-instruct-v1:0", + "name": "Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.22, + "output": 0.22 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/meta.llama3-2-11b-instruct-v1:0", + "name": "Llama 3.2 11B Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.16, + "output": 0.16 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/meta.llama3-2-1b-instruct-v1:0", + "name": "Llama 3.2 1B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.1, + "output": 0.1 + }, + "limit": { + "context": 131000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/meta.llama3-2-3b-instruct-v1:0", + "name": "Llama 3.2 3B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.15, + "output": 0.15 + }, + "limit": { + "context": 131000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/meta.llama3-2-90b-instruct-v1:0", + "name": "Llama 3.2 90B Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.72, + "output": 0.72 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/meta.llama3-3-70b-instruct-v1:0", + "name": "Llama 3.3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.72, + "output": 0.72 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/meta.llama3-70b-instruct-v1:0", + "name": "Llama 3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.65, + "output": 3.5 + }, + "limit": { + "context": 8192, + "output": 2048 + } + }, + { + "id": "amazon-bedrock/meta.llama3-8b-instruct-v1:0", + "name": "Llama 3 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-03", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.3, + "output": 0.6 + }, + "limit": { + "context": 8192, + "output": 2048 + } + }, + { + "id": "amazon-bedrock/meta.llama4-maverick-17b-instruct-v1:0", + "name": "Llama 4 Maverick 17B Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.24, + "output": 0.97 + }, + "limit": { + "context": 1000000, + "output": 16384 + } + }, + { + "id": "amazon-bedrock/meta.llama4-scout-17b-instruct-v1:0", + "name": "Llama 4 Scout 17B Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.17, + "output": 0.66 + }, + "limit": { + "context": 3500000, + "output": 16384 + } + }, + { + "id": "amazon-bedrock/minimax.minimax-m2", + "name": "MiniMax M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.3, + "output": 1.2 + }, + "limit": { + "context": 204608, + "output": 128000 + } + }, + { + "id": "amazon-bedrock/mistral.ministral-3-14b-instruct", + "name": "Ministral 14B 3.0", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 0.2 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/mistral.ministral-3-8b-instruct", + "name": "Ministral 3 8B", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.15, + "output": 0.15 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/mistral.mistral-7b-instruct-v0:2", + "name": "Mistral-7B-Instruct-v0.3", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-01", + "last_updated": "2025-04-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.11, + "output": 0.11 + }, + "limit": { + "context": 127000, + "output": 127000 + } + }, + { + "id": "amazon-bedrock/mistral.mistral-large-2402-v1:0", + "name": "Mistral Large (24.02)", + "family": "mistral-large", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.5, + "output": 1.5 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/mistral.mixtral-8x7b-instruct-v0:1", + "name": "Mixtral-8x7B-Instruct-v0.1", + "family": "mixtral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-01", + "last_updated": "2025-04-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.7, + "output": 0.7 + }, + "limit": { + "context": 32000, + "output": 32000 + } + }, + { + "id": "amazon-bedrock/mistral.voxtral-mini-3b", + "name": "Voxtral Mini 3B 2507", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "audio", + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.04, + "output": 0.04 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/mistral.voxtral-small-24b", + "name": "Voxtral Small 24B 2507", + "family": "mistral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-01", + "last_updated": "2025-07-01", + "modalities": { + "input": [ + "text", + "audio" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.15, + "output": 0.35 + }, + "limit": { + "context": 32000, + "output": 8192 + } + }, + { + "id": "amazon-bedrock/moonshot.kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.6, + "output": 2.5 + }, + "limit": { + "context": 256000, + "output": 256000 + } + }, + { + "id": "amazon-bedrock/nvidia.nemotron-nano-12b-v2", + "name": "NVIDIA Nemotron Nano 12B v2 VL BF16", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 0.6 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/nvidia.nemotron-nano-9b-v2", + "name": "NVIDIA Nemotron Nano 9B v2", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.06, + "output": 0.23 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/openai.gpt-oss-120b-1:0", + "name": "gpt-oss-120b", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.15, + "output": 0.6 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/openai.gpt-oss-20b-1:0", + "name": "gpt-oss-20b", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.07, + "output": 0.3 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/openai.gpt-oss-safeguard-120b", + "name": "GPT OSS Safeguard 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.15, + "output": 0.6 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/openai.gpt-oss-safeguard-20b", + "name": "GPT OSS Safeguard 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.07, + "output": 0.2 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "amazon-bedrock/qwen.qwen3-235b-a22b-2507-v1:0", + "name": "Qwen3 235B A22B 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.22, + "output": 0.88 + }, + "limit": { + "context": 262144, + "output": 131072 + } + }, + { + "id": "amazon-bedrock/qwen.qwen3-32b-v1:0", + "name": "Qwen3 32B (dense)", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.15, + "output": 0.6 + }, + "limit": { + "context": 16384, + "output": 16384 + } + }, + { + "id": "amazon-bedrock/qwen.qwen3-coder-30b-a3b-v1:0", + "name": "Qwen3 Coder 30B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.15, + "output": 0.6 + }, + "limit": { + "context": 262144, + "output": 131072 + } + }, + { + "id": "amazon-bedrock/qwen.qwen3-coder-480b-a35b-v1:0", + "name": "Qwen3 Coder 480B A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.22, + "output": 1.8 + }, + "limit": { + "context": 131072, + "output": 65536 + } + }, + { + "id": "amazon-bedrock/qwen.qwen3-next-80b-a3b", + "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.14, + "output": 1.4 + }, + "limit": { + "context": 262000, + "output": 262000 + } + }, + { + "id": "amazon-bedrock/qwen.qwen3-vl-235b-a22b", + "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 1.5 + }, + "limit": { + "context": 262000, + "output": 262000 } }, { "id": "anthropic/claude-3-haiku", - "name": "Anthropic: Claude 3 Haiku", - "context_length": 200000, - "max_completion_tokens": 4096, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2.5e-7, - "completion": 1.25e-6 + "name": "Claude Haiku 3", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08-31", + "release_date": "2024-03-13", + "last_updated": "2024-03-13", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.25, + "output": 1.25, + "cache_read": 0.03, + "cache_write": 0.3 + }, + "limit": { + "context": 200000, + "output": 4096 + } + }, + { + "id": "anthropic/claude-3-opus", + "name": "Claude Opus 3", + "family": "claude-opus", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08-31", + "release_date": "2024-02-29", + "last_updated": "2024-02-29", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 75.0, + "cache_read": 1.5, + "cache_write": 18.75 + }, + "limit": { + "context": 200000, + "output": 4096 + } + }, + { + "id": "anthropic/claude-3-sonnet", + "name": "Claude Sonnet 3", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08-31", + "release_date": "2024-03-04", + "last_updated": "2024-03-04", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.3, + "cache_write": 0.3 + }, + "limit": { + "context": 200000, + "output": 4096 } }, { "id": "anthropic/claude-3.5-haiku", - "name": "Anthropic: Claude 3.5 Haiku", - "context_length": 200000, - "max_completion_tokens": 8192, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 8e-7, - "completion": 4e-6, - "request": 0.0, - "image": 0.0 + "name": "Claude Haiku 3.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.8, + "output": 4.0, + "cache_read": 0.08, + "cache_write": 1.0 + }, + "limit": { + "context": 200000, + "output": 8192 } }, { "id": "anthropic/claude-3.5-sonnet", - "name": "Anthropic: Claude 3.5 Sonnet", - "context_length": 200000, - "max_completion_tokens": 8192, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 6e-6, - "completion": 0.00003, - "request": 0.0, - "image": 0.0 + "name": "Claude Sonnet 3.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04-30", + "release_date": "2024-06-20", + "last_updated": "2024-06-20", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "limit": { + "context": 200000, + "output": 8192 } }, { "id": "anthropic/claude-3.7-sonnet", - "name": "Anthropic: Claude 3.7 Sonnet", - "context_length": 200000, - "max_completion_tokens": 64000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-6, - "completion": 0.000015, - "request": 0.0, - "image": 0.0048 - } - }, - { - "id": "anthropic/claude-3.7-sonnet:thinking", - "name": "Anthropic: Claude 3.7 Sonnet (thinking)", - "context_length": 200000, - "max_completion_tokens": 64000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-6, - "completion": 0.000015, - "request": 0.0, - "image": 0.0048 + "name": "Claude Sonnet 3.7 (latest)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-31", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "limit": { + "context": 200000, + "output": 64000 } }, { "id": "anthropic/claude-haiku-4.5", - "name": "Anthropic: Claude Haiku 4.5", - "context_length": 200000, - "max_completion_tokens": 64000, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1e-6, - "completion": 5e-6 + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.0, + "output": 5.0, + "cache_read": 0.1, + "cache_write": 1.25 + }, + "limit": { + "context": 200000, + "output": 64000 } }, { "id": "anthropic/claude-opus-4", - "name": "Anthropic: Claude Opus 4", - "context_length": 200000, - "max_completion_tokens": 32000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 0.000015, - "completion": 0.000075, - "request": 0.0, - "image": 0.024 + "name": "Claude Opus 4", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 75.0, + "cache_read": 1.5, + "cache_write": 18.75 + }, + "limit": { + "context": 200000, + "output": 32000 + } + }, + { + "id": "anthropic/claude-opus-4.0", + "name": "Claude Opus 4 (latest)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 75.0, + "cache_read": 1.5, + "cache_write": 18.75 + }, + "limit": { + "context": 200000, + "output": 32000 } }, { "id": "anthropic/claude-opus-4.1", - "name": "Anthropic: Claude Opus 4.1", - "context_length": 200000, - "max_completion_tokens": 32000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 0.000015, - "completion": 0.000075, - "request": 0.0, - "image": 0.024 + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 75.0, + "cache_read": 1.5, + "cache_write": 18.75 + }, + "limit": { + "context": 200000, + "output": 32000 } }, { "id": "anthropic/claude-opus-4.5", - "name": "Anthropic: Claude Opus 4.5", - "context_length": 200000, - "max_completion_tokens": 64000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 5e-6, - "completion": 0.000025 + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-01", + "last_updated": "2025-11-01", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 5.0, + "output": 25.0, + "cache_read": 0.5, + "cache_write": 6.25 + }, + "limit": { + "context": 200000, + "output": 64000 } }, { "id": "anthropic/claude-sonnet-4", - "name": "Anthropic: Claude Sonnet 4", - "context_length": 1000000, - "max_completion_tokens": 64000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-6, - "completion": 0.000015, - "request": 0.0, - "image": 0.0048 + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "limit": { + "context": 200000, + "output": 64000 + } + }, + { + "id": "anthropic/claude-sonnet-4.0", + "name": "Claude Sonnet 4 (latest)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "limit": { + "context": 200000, + "output": 64000 } }, { "id": "anthropic/claude-sonnet-4.5", - "name": "Anthropic: Claude Sonnet 4.5", - "context_length": 1000000, - "max_completion_tokens": 64000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-6, - "completion": 0.000015 + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "limit": { + "context": 200000, + "output": 64000 } }, { - "id": "cohere/command-a", - "name": "Cohere: Command A", - "context_length": 256000, - "max_completion_tokens": 8192, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 2.5e-6, - "completion": 0.00001, - "request": 0.0, - "image": 0.0 + "id": "azure/claude-haiku-4.5", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.0, + "output": 5.0, + "cache_read": 0.1, + "cache_write": 1.25 + }, + "limit": { + "context": 200000, + "output": 64000 + } + }, + { + "id": "azure/claude-opus-4.1", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 75.0, + "cache_read": 1.5, + "cache_write": 18.75 + }, + "limit": { + "context": 200000, + "output": 32000 + } + }, + { + "id": "azure/claude-opus-4.5", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 5.0, + "output": 25.0, + "cache_read": 0.5, + "cache_write": 6.25 + }, + "limit": { + "context": 200000, + "output": 64000 + } + }, + { + "id": "azure/claude-sonnet-4.5", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "limit": { + "context": 200000, + "output": 64000 + } + }, + { + "id": "azure/codestral", + "name": "Codestral 25.01", + "family": "codestral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 0.9 + }, + "limit": { + "context": 256000, + "output": 256000 + } + }, + { + "id": "azure/codex-mini", + "name": "Codex Mini", + "family": "gpt-codex-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-04", + "release_date": "2025-05-16", + "last_updated": "2025-05-16", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.5, + "output": 6.0, + "cache_read": 0.375 + }, + "limit": { + "context": 200000, + "output": 100000 + } + }, + { + "id": "azure/cohere-command-a", + "name": "Command A", + "family": "command-a", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.5, + "output": 10.0 + }, + "limit": { + "context": 256000, + "output": 8000 + } + }, + { + "id": "azure/cohere-command-r-08", + "name": "Command R", + "family": "command-r", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.15, + "output": 0.6 + }, + "limit": { + "context": 128000, + "output": 4000 + } + }, + { + "id": "azure/cohere-command-r-plus-08", + "name": "Command R+", + "family": "command-r", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.5, + "output": 10.0 + }, + "limit": { + "context": 128000, + "output": 4000 + } + }, + { + "id": "azure/cohere-embed-v-4.0", + "name": "Embed v4", + "family": "cohere-embed", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.12, + "output": 0.0 + }, + "limit": { + "context": 128000, + "output": 1536 + } + }, + { + "id": "azure/cohere-embed-v3-english", + "name": "Embed v3 English", + "family": "cohere-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2023-11-07", + "last_updated": "2023-11-07", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.1, + "output": 0.0 + }, + "limit": { + "context": 512, + "output": 1024 + } + }, + { + "id": "azure/cohere-embed-v3-multilingual", + "name": "Embed v3 Multilingual", + "family": "cohere-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2023-11-07", + "last_updated": "2023-11-07", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.1, + "output": 0.0 + }, + "limit": { + "context": 512, + "output": 1024 + } + }, + { + "id": "azure/deepseek-r1", + "name": "DeepSeek-R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 1.35, + "output": 5.4 + }, + "limit": { + "context": 163840, + "output": 163840 + } + }, + { + "id": "azure/deepseek-v3", + "name": "DeepSeek-V3-0324", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 1.14, + "output": 4.56 + }, + "limit": { + "context": 131072, + "output": 131072 + } + }, + { + "id": "azure/deepseek-v3.1", + "name": "DeepSeek-V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.56, + "output": 1.68 + }, + "limit": { + "context": 131072, + "output": 131072 + } + }, + { + "id": "azure/deepseek-v3.2", + "name": "DeepSeek-V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.58, + "output": 1.68 + }, + "limit": { + "context": 128000, + "output": 128000 + } + }, + { + "id": "azure/deepseek-v3.2-speciale", + "name": "DeepSeek-V3.2-Speciale", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.58, + "output": 1.68 + }, + "limit": { + "context": 128000, + "output": 128000 + } + }, + { + "id": "azure/gpt-3.5-turbo", + "name": "GPT-3.5 Turbo 1106", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-08", + "release_date": "2023-11-06", + "last_updated": "2023-11-06", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.0, + "output": 2.0 + }, + "limit": { + "context": 16384, + "output": 16384 + } + }, + { + "id": "azure/gpt-3.5-turbo-instruct", + "name": "GPT-3.5 Turbo Instruct", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-08", + "release_date": "2023-09-21", + "last_updated": "2023-09-21", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.5, + "output": 2.0 + }, + "limit": { + "context": 4096, + "output": 4096 + } + }, + { + "id": "azure/gpt-4", + "name": "GPT-4", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-11", + "release_date": "2023-03-14", + "last_updated": "2023-03-14", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 60.0, + "output": 120.0 + }, + "limit": { + "context": 8192, + "output": 8192 + } + }, + { + "id": "azure/gpt-4-32k", + "name": "GPT-4 32K", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-11", + "release_date": "2023-03-14", + "last_updated": "2023-03-14", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 60.0, + "output": 120.0 + }, + "limit": { + "context": 32768, + "output": 32768 + } + }, + { + "id": "azure/gpt-4-turbo", + "name": "GPT-4 Turbo", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-11", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 10.0, + "output": 30.0 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "azure/gpt-4-turbo-vision", + "name": "GPT-4 Turbo Vision", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-11", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 10.0, + "output": 30.0 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "azure/gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-05", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.0, + "output": 8.0, + "cache_read": 0.5 + }, + "limit": { + "context": 1047576, + "output": 32768 + } + }, + { + "id": "azure/gpt-4.1-mini", + "name": "GPT-4.1 mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-05", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + }, + "limit": { + "context": 1047576, + "output": 32768 + } + }, + { + "id": "azure/gpt-4.1-nano", + "name": "GPT-4.1 nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-05", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.03 + }, + "limit": { + "context": 1047576, + "output": 32768 + } + }, + { + "id": "azure/gpt-4o", + "name": "GPT-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.5, + "output": 10.0, + "cache_read": 1.25 + }, + "limit": { + "context": 128000, + "output": 16384 + } + }, + { + "id": "azure/gpt-4o-mini", + "name": "GPT-4o mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.08 + }, + "limit": { + "context": 128000, + "output": 16384 + } + }, + { + "id": "azure/gpt-5", + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.13 + }, + "limit": { + "context": 272000, + "output": 128000 + } + }, + { + "id": "azure/gpt-5-chat", + "name": "GPT-5 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": false, + "knowledge": "2024-10-24", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.13 + }, + "limit": { + "context": 128000, + "output": 16384 + } + }, + { + "id": "azure/gpt-5-codex", + "name": "GPT-5-Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.13 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "azure/gpt-5-mini", + "name": "GPT-5 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.25, + "output": 2.0, + "cache_read": 0.03 + }, + "limit": { + "context": 272000, + "output": 128000 + } + }, + { + "id": "azure/gpt-5-nano", + "name": "GPT-5 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.01 + }, + "limit": { + "context": 272000, + "output": 128000 + } + }, + { + "id": "azure/gpt-5-pro", + "name": "GPT-5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 120.0 + }, + "limit": { + "context": 400000, + "output": 272000 + } + }, + { + "id": "azure/gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": [ + "text", + "image", + "audio" + ], + "output": [ + "text", + "image", + "audio" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.125 + }, + "limit": { + "context": 272000, + "output": 128000 + } + }, + { + "id": "azure/gpt-5.1-chat", + "name": "GPT-5.1 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": [ + "text", + "image", + "audio" + ], + "output": [ + "text", + "image", + "audio" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.125 + }, + "limit": { + "context": 128000, + "output": 16384 + } + }, + { + "id": "azure/gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": [ + "text", + "image", + "audio" + ], + "output": [ + "text", + "image", + "audio" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.125 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "azure/gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.125 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "azure/gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex Mini", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.25, + "output": 2.0, + "cache_read": 0.025 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "azure/gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.75, + "output": 14.0, + "cache_read": 0.125 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "azure/gpt-5.2-chat", + "name": "GPT-5.2 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.75, + "output": 14.0, + "cache_read": 0.175 + }, + "limit": { + "context": 128000, + "output": 16384 + } + }, + { + "id": "azure/gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.75, + "output": 14.0, + "cache_read": 0.175 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "azure/grok-3", + "name": "Grok 3", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.75 + }, + "limit": { + "context": 131072, + "output": 8192 + } + }, + { + "id": "azure/grok-3-mini", + "name": "Grok 3 Mini", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 0.5, + "cache_read": 0.075 + }, + "limit": { + "context": 131072, + "output": 8192 + } + }, + { + "id": "azure/grok-4", + "name": "Grok 4", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.75 + }, + "limit": { + "context": 256000, + "output": 64000 + } + }, + { + "id": "azure/grok-4-fast", + "name": "Grok 4 Fast (Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + }, + "limit": { + "context": 2000000, + "output": 30000 + } + }, + { + "id": "azure/grok-4-fast-non", + "name": "Grok 4 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + }, + "limit": { + "context": 2000000, + "output": 30000 + } + }, + { + "id": "azure/grok-code-fast-1", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 + }, + "limit": { + "context": 256000, + "output": 10000 + } + }, + { + "id": "azure/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-12-02", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + }, + "limit": { + "context": 262144, + "output": 262144 + } + }, + { + "id": "azure/llama-3.2-11b-vision-instruct", + "name": "Llama-3.2-11B-Vision-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.37, + "output": 0.37 + }, + "limit": { + "context": 128000, + "output": 8192 + } + }, + { + "id": "azure/llama-3.2-90b-vision-instruct", + "name": "Llama-3.2-90B-Vision-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.04, + "output": 2.04 + }, + "limit": { + "context": 128000, + "output": 8192 + } + }, + { + "id": "azure/llama-3.3-70b-instruct", + "name": "Llama-3.3-70B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.71, + "output": 0.71 + }, + "limit": { + "context": 128000, + "output": 32768 + } + }, + { + "id": "azure/llama-4-maverick-17b-128e-instruct-fp8", + "name": "Llama 4 Maverick 17B 128E Instruct FP8", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.25, + "output": 1.0 + }, + "limit": { + "context": 128000, + "output": 8192 + } + }, + { + "id": "azure/llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout 17B 16E Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.2, + "output": 0.78 + }, + "limit": { + "context": 128000, + "output": 8192 + } + }, + { + "id": "azure/mai-ds-r1", + "name": "MAI-DS-R1", + "family": "mai", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.35, + "output": 5.4 + }, + "limit": { + "context": 128000, + "output": 8192 + } + }, + { + "id": "azure/meta-llama-3-70b-instruct", + "name": "Meta-Llama-3-70B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.68, + "output": 3.54 + }, + "limit": { + "context": 8192, + "output": 2048 + } + }, + { + "id": "azure/meta-llama-3-8b-instruct", + "name": "Meta-Llama-3-8B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.3, + "output": 0.61 + }, + "limit": { + "context": 8192, + "output": 2048 + } + }, + { + "id": "azure/meta-llama-3.1-405b-instruct", + "name": "Meta-Llama-3.1-405B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 5.33, + "output": 16.0 + }, + "limit": { + "context": 128000, + "output": 32768 + } + }, + { + "id": "azure/meta-llama-3.1-70b-instruct", + "name": "Meta-Llama-3.1-70B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.68, + "output": 3.54 + }, + "limit": { + "context": 128000, + "output": 32768 + } + }, + { + "id": "azure/meta-llama-3.1-8b-instruct", + "name": "Meta-Llama-3.1-8B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.3, + "output": 0.61 + }, + "limit": { + "context": 128000, + "output": 32768 + } + }, + { + "id": "azure/ministral-3b", + "name": "Ministral 3B", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.04, + "output": 0.04 + }, + "limit": { + "context": 128000, + "output": 8192 + } + }, + { + "id": "azure/mistral-large", + "name": "Mistral Large 24.11", + "family": "mistral-large", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.0, + "output": 6.0 + }, + "limit": { + "context": 128000, + "output": 32768 + } + }, + { + "id": "azure/mistral-medium", + "name": "Mistral Medium 3", + "family": "mistral-medium", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.4, + "output": 2.0 + }, + "limit": { + "context": 128000, + "output": 128000 + } + }, + { + "id": "azure/mistral-nemo", + "name": "Mistral Nemo", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.15, + "output": 0.15 + }, + "limit": { + "context": 128000, + "output": 128000 + } + }, + { + "id": "azure/mistral-small", + "name": "Mistral Small 3.1", + "family": "mistral-small", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2025-03-01", + "last_updated": "2025-03-01", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.3 + }, + "limit": { + "context": 128000, + "output": 32768 + } + }, + { + "id": "azure/model-router", + "name": "Model Router", + "family": "model-router", + "attachment": true, + "reasoning": false, + "tool_call": true, + "release_date": "2025-05-19", + "last_updated": "2025-11-18", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.14, + "output": 0.0 + }, + "limit": { + "context": 128000, + "output": 16384 + } + }, + { + "id": "azure/o1", + "name": "o1", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 60.0, + "cache_read": 7.5 + }, + "limit": { + "context": 200000, + "output": 100000 + } + }, + { + "id": "azure/o1-mini", + "name": "o1-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-09-12", + "last_updated": "2024-09-12", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + }, + "limit": { + "context": 128000, + "output": 65536 + } + }, + { + "id": "azure/o1-preview", + "name": "o1-preview", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-09-12", + "last_updated": "2024-09-12", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 16.5, + "output": 66.0, + "cache_read": 8.25 + }, + "limit": { + "context": 128000, + "output": 32768 + } + }, + { + "id": "azure/o3", + "name": "o3", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.0, + "output": 8.0, + "cache_read": 0.5 + }, + "limit": { + "context": 200000, + "output": 100000 + } + }, + { + "id": "azure/o3-mini", + "name": "o3-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + }, + "limit": { + "context": 200000, + "output": 100000 + } + }, + { + "id": "azure/o4-mini", + "name": "o4-mini", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.28 + }, + "limit": { + "context": 200000, + "output": 100000 + } + }, + { + "id": "azure/phi-3-medium-128k-instruct", + "name": "Phi-3-medium-instruct (128k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.17, + "output": 0.68 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "azure/phi-3-medium-4k-instruct", + "name": "Phi-3-medium-instruct (4k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.17, + "output": 0.68 + }, + "limit": { + "context": 4096, + "output": 1024 + } + }, + { + "id": "azure/phi-3-mini-128k-instruct", + "name": "Phi-3-mini-instruct (128k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.13, + "output": 0.52 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "azure/phi-3-mini-4k-instruct", + "name": "Phi-3-mini-instruct (4k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.13, + "output": 0.52 + }, + "limit": { + "context": 4096, + "output": 1024 + } + }, + { + "id": "azure/phi-3-small-128k-instruct", + "name": "Phi-3-small-instruct (128k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.15, + "output": 0.6 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "azure/phi-3-small-8k-instruct", + "name": "Phi-3-small-instruct (8k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.15, + "output": 0.6 + }, + "limit": { + "context": 8192, + "output": 2048 + } + }, + { + "id": "azure/phi-3.5-mini-instruct", + "name": "Phi-3.5-mini-instruct", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.13, + "output": 0.52 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "azure/phi-3.5-moe-instruct", + "name": "Phi-3.5-MoE-instruct", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.16, + "output": 0.64 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "azure/phi-4", + "name": "Phi-4-reasoning", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.125, + "output": 0.5 + }, + "limit": { + "context": 32000, + "output": 4096 + } + }, + { + "id": "azure/phi-4-mini", + "name": "Phi-4-mini-reasoning", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.075, + "output": 0.3 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "azure/phi-4-multimodal", + "name": "Phi-4-multimodal", + "family": "phi", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": [ + "text", + "image", + "audio" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.08, + "output": 0.32 + }, + "limit": { + "context": 128000, + "output": 4096 + } + }, + { + "id": "azure/phi-4-reasoning-plus", + "name": "Phi-4-reasoning-plus", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.125, + "output": 0.5 + }, + "limit": { + "context": 32000, + "output": 4096 + } + }, + { + "id": "azure/text-embedding-3-large", + "name": "text-embedding-3-large", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.13, + "output": 0.0 + }, + "limit": { + "context": 8191, + "output": 3072 + } + }, + { + "id": "azure/text-embedding-3-small", + "name": "text-embedding-3-small", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.02, + "output": 0.0 + }, + "limit": { + "context": 8191, + "output": 1536 + } + }, + { + "id": "azure/text-embedding-ada-002", + "name": "text-embedding-ada-002", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2022-12-15", + "last_updated": "2022-12-15", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.0 + }, + "limit": { + "context": 8192, + "output": 1536 + } + }, + { + "id": "cohere/command-a-03", + "name": "Command A", + "family": "command-a", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.5, + "output": 10.0 + }, + "limit": { + "context": 256000, + "output": 8000 + } + }, + { + "id": "cohere/command-a-reasoning-08", + "name": "Command A Reasoning", + "family": "command-a", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.5, + "output": 10.0 + }, + "limit": { + "context": 256000, + "output": 32000 + } + }, + { + "id": "cohere/command-a-translate-08", + "name": "Command A Translate", + "family": "command-a", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.5, + "output": 10.0 + }, + "limit": { + "context": 8000, + "output": 8000 + } + }, + { + "id": "cohere/command-a-vision-07", + "name": "Command A Vision", + "family": "command-a", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2025-07-31", + "last_updated": "2025-07-31", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.5, + "output": 10.0 + }, + "limit": { + "context": 128000, + "output": 8000 } }, { "id": "cohere/command-r-08", - "name": "Cohere: Command R (08-2024)", - "context_length": 128000, - "max_completion_tokens": 4000, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.5e-7, - "completion": 6e-7, - "request": 0.0, - "image": 0.0 + "name": "Command R", + "family": "command-r", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.15, + "output": 0.6 + }, + "limit": { + "context": 128000, + "output": 4000 } }, { "id": "cohere/command-r-plus-08", - "name": "Cohere: Command R+ (08-2024)", - "context_length": 128000, - "max_completion_tokens": 4000, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2.5e-6, - "completion": 0.00001, - "request": 0.0, - "image": 0.0 + "name": "Command R+", + "family": "command-r", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.5, + "output": 10.0 + }, + "limit": { + "context": 128000, + "output": 4000 } }, { "id": "cohere/command-r7b-12", - "name": "Cohere: Command R7B (12-2024)", - "context_length": 128000, - "max_completion_tokens": 4000, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 3.75e-8, - "completion": 1.5e-7, - "request": 0.0, - "image": 0.0 - } - }, - { - "id": "deepseek/deepseek", - "name": "DeepSeek: DeepSeek V3.2", - "context_length": 163840, - "max_completion_tokens": 65536, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2.5e-7, - "completion": 3.8e-7, - "request": 0.0, - "image": 0.0 + "name": "Command R7B", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2024-02-27", + "last_updated": "2024-02-27", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0375, + "output": 0.15 + }, + "limit": { + "context": 128000, + "output": 4000 } }, { "id": "deepseek/deepseek-chat", - "name": "DeepSeek: DeepSeek V3", - "context_length": 163840, - "max_completion_tokens": 163840, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-7, - "completion": 1.2e-6, - "request": 0.0, - "image": 0.0 + "name": "DeepSeek Chat", + "family": "deepseek", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-12-26", + "last_updated": "2025-09-29", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.28, + "output": 0.42, + "cache_read": 0.028 + }, + "limit": { + "context": 128000, + "output": 8192 } }, { - "id": "deepseek/deepseek-r1", - "name": "DeepSeek: R1", - "context_length": 64000, - "max_completion_tokens": 16000, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 7e-7, - "completion": 2.5e-6, - "request": 0.0, - "image": 0.0 + "id": "deepseek/deepseek-reasoner", + "name": "DeepSeek Reasoner", + "family": "deepseek-thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-09-29", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.28, + "output": 0.42, + "cache_read": 0.028 + }, + "limit": { + "context": 128000, + "output": 128000 } }, { - "id": "deepseek/deepseek-r1-distill-llama-70b", - "name": "DeepSeek: R1 Distill Llama 70B", - "context_length": 131072, - "max_completion_tokens": 131072, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-8, - "completion": 1.1e-7, - "request": 0.0, - "image": 0.0 + "id": "google-vertex/gemini-2.0-flash", + "name": "Gemini 2.0 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.025 + }, + "limit": { + "context": 1048576, + "output": 8192 } }, { - "id": "deepseek/deepseek-r1-distill-qwen-32b", - "name": "DeepSeek: R1 Distill Qwen 32B", - "context_length": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 2.9e-7, - "completion": 2.9e-7, - "request": 0.0, - "image": 0.0 + "id": "google-vertex/gemini-2.0-flash-lite", + "name": "Gemini 2.0 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.075, + "output": 0.3 + }, + "limit": { + "context": 1048576, + "output": 8192 } }, { - "id": "deepseek/deepseek-v3.1-terminus", - "name": "DeepSeek: DeepSeek V3.1 Terminus", - "context_length": 163840, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2.1e-7, - "completion": 7.9e-7, - "request": 0.0, - "image": 0.0 + "id": "google-vertex/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "cache_write": 0.383 + }, + "limit": { + "context": 1048576, + "output": 65536 } }, { - "id": "deepseek/deepseek-v3.2-speciale", - "name": "DeepSeek: DeepSeek V3.2 Speciale", - "context_length": 163840, - "max_completion_tokens": 65536, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 2.7e-7, - "completion": 4.1e-7, - "request": 0.0, - "image": 0.0 + "id": "google-vertex/gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google-vertex/gemini-2.5-flash-lite-preview-06-17", + "name": "Gemini 2.5 Flash Lite Preview 06-17", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "limit": { + "context": 65536, + "output": 65536 + } + }, + { + "id": "google-vertex/gemini-2.5-flash-lite-preview-09", + "name": "Gemini 2.5 Flash Lite Preview 09-25", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google-vertex/gemini-2.5-flash-preview-04-17", + "name": "Gemini 2.5 Flash Preview 04-17", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-04-17", + "last_updated": "2025-04-17", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.0375 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google-vertex/gemini-2.5-flash-preview-05-20", + "name": "Gemini 2.5 Flash Preview 05-20", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.0375 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google-vertex/gemini-2.5-flash-preview-09", + "name": "Gemini 2.5 Flash Preview 09-25", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "cache_write": 0.383 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google-vertex/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.31 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google-vertex/gemini-2.5-pro-preview-05-06", + "name": "Gemini 2.5 Pro Preview 05-06", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-05-06", + "last_updated": "2025-05-06", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.31 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google-vertex/gemini-2.5-pro-preview-06-05", + "name": "Gemini 2.5 Pro Preview 06-05", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.31 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google-vertex/gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.5, + "output": 3.0, + "cache_read": 0.05 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google-vertex/gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.0, + "output": 12.0, + "cache_read": 0.2 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google-vertex/gemini-embedding-001", + "name": "Gemini Embedding 001", + "family": "gemini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2025-05", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.15, + "output": 0.0 + }, + "limit": { + "context": 2048, + "output": 3072 + } + }, + { + "id": "google-vertex/gemini-flash", + "name": "Gemini Flash Latest", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "cache_write": 0.383 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google-vertex/gemini-flash-lite", + "name": "Gemini Flash-Lite Latest", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google-vertex/openai/gpt-oss-120b-maas", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.09, + "output": 0.36 + }, + "limit": { + "context": 131072, + "output": 32768 + } + }, + { + "id": "google-vertex/openai/gpt-oss-20b-maas", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.07, + "output": 0.25 + }, + "limit": { + "context": 131072, + "output": 32768 + } + }, + { + "id": "google-vertex/zai-org/glm-4.7-maas", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.6, + "output": 2.2 + }, + "limit": { + "context": 204800, + "output": 131072 + } + }, + { + "id": "google/gemini-1.5-flash", + "name": "Gemini 1.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-05-14", + "last_updated": "2024-05-14", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.075, + "output": 0.3, + "cache_read": 0.01875 + }, + "limit": { + "context": 1000000, + "output": 8192 + } + }, + { + "id": "google/gemini-1.5-flash-8b", + "name": "Gemini 1.5 Flash-8B", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-10-03", + "last_updated": "2024-10-03", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.0375, + "output": 0.15, + "cache_read": 0.01 + }, + "limit": { + "context": 1000000, + "output": 8192 + } + }, + { + "id": "google/gemini-1.5-pro", + "name": "Gemini 1.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-02-15", + "last_updated": "2024-02-15", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 5.0, + "cache_read": 0.3125 + }, + "limit": { + "context": 1000000, + "output": 8192 } }, { "id": "google/gemini-2.0-flash", - "name": "Google: Gemini 2.0 Flash", - "context_length": 1048576, - "max_completion_tokens": 8192, - "input_modalities": [ - "audio", - "file", - "image", - "text", - "video" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1e-7, - "completion": 4e-7, - "request": 0.0, - "image": 0.0000258 + "name": "Gemini 2.0 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "limit": { + "context": 1048576, + "output": 8192 } }, { "id": "google/gemini-2.0-flash-lite", - "name": "Google: Gemini 2.0 Flash Lite", - "context_length": 1048576, - "max_completion_tokens": 8192, - "input_modalities": [ - "audio", - "file", - "image", - "text", - "video" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 7.5e-8, - "completion": 3e-7, - "request": 0.0, - "image": 0.0 + "name": "Gemini 2.0 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.075, + "output": 0.3 + }, + "limit": { + "context": 1048576, + "output": 8192 } }, { "id": "google/gemini-2.5-flash", - "name": "Google: Gemini 2.5 Flash", - "context_length": 1048576, - "max_completion_tokens": 65535, - "input_modalities": [ - "audio", - "file", - "image", - "text", - "video" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-7, - "completion": 2.5e-6, - "request": 0.0, - "image": 0.001238 + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075 + }, + "limit": { + "context": 1048576, + "output": 65536 } }, { "id": "google/gemini-2.5-flash-image", - "name": "Google: Gemini 2.5 Flash Image (Nano Banana)", - "context_length": 32768, - "max_completion_tokens": 32768, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "image", - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 3e-7, - "completion": 2.5e-6, - "request": 0.0, - "image": 0.001238 + "name": "Gemini 2.5 Flash Image", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text", + "image" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 30.0, + "cache_read": 0.075 + }, + "limit": { + "context": 32768, + "output": 32768 + } + }, + { + "id": "google/gemini-2.5-flash-image-preview", + "name": "Gemini 2.5 Flash Image (Preview)", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text", + "image" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 30.0, + "cache_read": 0.075 + }, + "limit": { + "context": 32768, + "output": 32768 } }, { "id": "google/gemini-2.5-flash-lite", - "name": "Google: Gemini 2.5 Flash Lite", - "context_length": 1048576, - "max_completion_tokens": 65535, - "input_modalities": [ - "audio", - "file", - "image", - "text", - "video" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1e-7, - "completion": 4e-7, - "request": 0.0, - "image": 0.0 + "name": "Gemini 2.5 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google/gemini-2.5-flash-lite-preview-06-17", + "name": "Gemini 2.5 Flash Lite Preview 06-17", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google/gemini-2.5-flash-lite-preview-09", + "name": "Gemini 2.5 Flash Lite Preview 09-25", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google/gemini-2.5-flash-preview-04-17", + "name": "Gemini 2.5 Flash Preview 04-17", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-04-17", + "last_updated": "2025-04-17", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.0375 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google/gemini-2.5-flash-preview-05-20", + "name": "Gemini 2.5 Flash Preview 05-20", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.0375 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google/gemini-2.5-flash-preview-09", + "name": "Gemini 2.5 Flash Preview 09-25", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "google/gemini-2.5-flash-preview-tts", + "name": "Gemini 2.5 Flash Preview TTS", + "family": "gemini-flash", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-05-01", + "last_updated": "2025-05-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "audio" + ] + }, + "open_weights": false, + "cost": { + "input": 0.5, + "output": 10.0 + }, + "limit": { + "context": 8000, + "output": 16000 } }, { "id": "google/gemini-2.5-pro", - "name": "Google: Gemini 2.5 Pro", - "context_length": 1048576, - "max_completion_tokens": 65536, - "input_modalities": [ - "audio", - "file", - "image", - "text", - "video" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.25e-6, - "completion": 0.00001, - "request": 0.0, - "image": 0.00516 + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.31 + }, + "limit": { + "context": 1048576, + "output": 65536 } }, { - "id": "google/gemini-3-flash", - "name": "Google: Gemini 3 Flash Preview", - "context_length": 1048576, - "max_completion_tokens": 65535, - "input_modalities": [ - "audio", - "file", - "image", - "text", - "video" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 5e-7, - "completion": 3e-6, - "request": 0.0, - "image": 0.0 + "id": "google/gemini-2.5-pro-preview-05-06", + "name": "Gemini 2.5 Pro Preview 05-06", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-05-06", + "last_updated": "2025-05-06", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.31 + }, + "limit": { + "context": 1048576, + "output": 65536 } }, { - "id": "google/gemini-3-pro", - "name": "Google: Gemini 3 Pro Preview", - "context_length": 1048576, - "max_completion_tokens": 65536, - "input_modalities": [ - "audio", - "file", - "image", - "text", - "video" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-6, - "completion": 0.000012, - "request": 0.0, - "image": 0.008256 + "id": "google/gemini-2.5-pro-preview-06-05", + "name": "Gemini 2.5 Pro Preview 06-05", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.31 + }, + "limit": { + "context": 1048576, + "output": 65536 } }, { - "id": "google/gemini-3-pro-image", - "name": "Google: Nano Banana Pro (Gemini 3 Pro Image Preview)", - "context_length": 65536, - "max_completion_tokens": 32768, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "image", - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 2e-6, - "completion": 0.000012, - "request": 0.0, - "image": 0.067 + "id": "google/gemini-2.5-pro-preview-tts", + "name": "Gemini 2.5 Pro Preview TTS", + "family": "gemini-flash", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-05-01", + "last_updated": "2025-05-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "audio" + ] + }, + "open_weights": false, + "cost": { + "input": 1.0, + "output": 20.0 + }, + "limit": { + "context": 8000, + "output": 16000 } }, { - "id": "google/gemma-2-27b-it", - "name": "Google: Gemma 2 27B", - "context_length": 8192, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 6.5e-7, - "completion": 6.5e-7, - "request": 0.0, - "image": 0.0 + "id": "google/gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.5, + "output": 3.0, + "cache_read": 0.05 + }, + "limit": { + "context": 1048576, + "output": 65536 } }, { - "id": "google/gemma-2-9b-it", - "name": "Google: Gemma 2 9B", - "context_length": 8192, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 3e-8, - "completion": 9e-8, - "request": 0.0, - "image": 0.0 + "id": "google/gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.0, + "output": 12.0, + "cache_read": 0.2 + }, + "limit": { + "context": 1000000, + "output": 64000 } }, { - "id": "google/gemma-3-12b-it", - "name": "Google: Gemma 3 12B", - "context_length": 131072, - "max_completion_tokens": 131072, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 3e-8, - "completion": 1e-7, - "request": 0.0, - "image": 0.0 + "id": "google/gemini-embedding-001", + "name": "Gemini Embedding 001", + "family": "gemini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2025-05", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.15, + "output": 0.0 + }, + "limit": { + "context": 2048, + "output": 3072 } }, { - "id": "google/gemma-3-27b-it", - "name": "Google: Gemma 3 27B", - "context_length": 96000, - "max_completion_tokens": 96000, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 4e-8, - "completion": 1.5e-7, - "request": 0.0, - "image": 0.0 + "id": "google/gemini-flash", + "name": "Gemini Flash Latest", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075 + }, + "limit": { + "context": 1048576, + "output": 65536 } }, { - "id": "google/gemma-3-4b-it", - "name": "Google: Gemma 3 4B", - "context_length": 96000, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 1.703012e-8, - "completion": 6.81536e-8, - "request": 0.0, - "image": 0.0 + "id": "google/gemini-flash-lite", + "name": "Gemini Flash-Lite Latest", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "limit": { + "context": 1048576, + "output": 65536 } }, { - "id": "google/gemma-3n-e4b-it", - "name": "Google: Gemma 3n 4B", - "context_length": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 2e-8, - "completion": 4e-8, - "request": 0.0, - "image": 0.0 + "id": "google/gemini-live-2.5-flash", + "name": "Gemini Live 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-01", + "last_updated": "2025-09-01", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video" + ], + "output": [ + "text", + "audio" + ] + }, + "open_weights": false, + "cost": { + "input": 0.5, + "output": 2.0 + }, + "limit": { + "context": 128000, + "output": 8000 } }, { - "id": "meta-llama/llama-3-70b-instruct", - "name": "Meta: Llama 3 70B Instruct", - "context_length": 8192, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 4e-7, - "completion": 4e-7, - "request": 0.0, - "image": 0.0 + "id": "google/gemini-live-2.5-flash-preview-native-audio", + "name": "Gemini Live 2.5 Flash Preview Native Audio", + "family": "gemini-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-09-18", + "modalities": { + "input": [ + "text", + "audio", + "video" + ], + "output": [ + "text", + "audio" + ] + }, + "open_weights": false, + "cost": { + "input": 0.5, + "output": 2.0 + }, + "limit": { + "context": 131072, + "output": 65536 } }, { - "id": "meta-llama/llama-3-8b-instruct", - "name": "Meta: Llama 3 8B Instruct", - "context_length": 8192, - "max_completion_tokens": 16384, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-8, - "completion": 6e-8, - "request": 0.0, - "image": 0.0 + "id": "meta-llama/cerebras-llama-4-maverick-17b-128e-instruct", + "name": "Cerebras-Llama-4-Maverick-17B-128E-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 128000, + "output": 4096 } }, { - "id": "meta-llama/llama-3.1-405b", - "name": "Meta: Llama 3.1 405B (base)", - "context_length": 32768, - "max_completion_tokens": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 4e-6, - "completion": 4e-6, - "request": 0.0, - "image": 0.0 + "id": "meta-llama/cerebras-llama-4-scout-17b-16e-instruct", + "name": "Cerebras-Llama-4-Scout-17B-16E-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 128000, + "output": 4096 } }, { - "id": "meta-llama/llama-3.1-405b-instruct", - "name": "Meta: Llama 3.1 405B Instruct", - "context_length": 10000, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3.5e-6, - "completion": 3.5e-6, - "request": 0.0, - "image": 0.0 - } - }, - { - "id": "meta-llama/llama-3.1-70b-instruct", - "name": "Meta: Llama 3.1 70B Instruct", - "context_length": 131072, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 4e-7, - "completion": 4e-7, - "request": 0.0, - "image": 0.0 - } - }, - { - "id": "meta-llama/llama-3.1-8b-instruct", - "name": "Meta: Llama 3.1 8B Instruct", - "context_length": 16384, - "max_completion_tokens": 16384, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-8, - "completion": 5e-8, - "request": 0.0, - "image": 0.0 - } - }, - { - "id": "meta-llama/llama-3.2-11b-vision-instruct", - "name": "Meta: Llama 3.2 11B Vision Instruct", - "context_length": 131072, - "max_completion_tokens": 16384, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 4.9e-8, - "completion": 4.9e-8, - "request": 0.0, - "image": 0.00007948 - } - }, - { - "id": "meta-llama/llama-3.2-1b-instruct", - "name": "Meta: Llama 3.2 1B Instruct", - "context_length": 60000, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 2.7e-8, - "completion": 2e-7, - "request": 0.0, - "image": 0.0 - } - }, - { - "id": "meta-llama/llama-3.2-3b-instruct", - "name": "Meta: Llama 3.2 3B Instruct", - "context_length": 131072, - "max_completion_tokens": 16384, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 2e-8, - "completion": 2e-8, - "request": 0.0, - "image": 0.0 + "id": "meta-llama/groq-llama-4-maverick-17b-128e-instruct", + "name": "Groq-Llama-4-Maverick-17B-128E-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 128000, + "output": 4096 } }, { "id": "meta-llama/llama-3.3-70b-instruct", - "name": "Meta: Llama 3.3 70B Instruct", - "context_length": 131072, - "max_completion_tokens": 16384, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1e-7, - "completion": 3.2e-7, - "request": 0.0, - "image": 0.0 + "name": "Llama-3.3-70B-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 128000, + "output": 4096 } }, { - "id": "meta-llama/llama-4-maverick", - "name": "Meta: Llama 4 Maverick", - "context_length": 1048576, - "max_completion_tokens": 16384, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.5e-7, - "completion": 6e-7, - "request": 0.0, - "image": 0.0006684 + "id": "meta-llama/llama-3.3-8b-instruct", + "name": "Llama-3.3-8B-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 128000, + "output": 4096 } }, { - "id": "meta-llama/llama-4-scout", - "name": "Meta: Llama 4 Scout", - "context_length": 327680, - "max_completion_tokens": 16384, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 8e-8, - "completion": 3e-7, - "request": 0.0, - "image": 0.0003342 + "id": "meta-llama/llama-4-maverick-17b-128e-instruct-fp8", + "name": "Llama-4-Maverick-17B-128E-Instruct-FP8", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 128000, + "output": 4096 } }, { - "id": "meta-llama/llama-guard-2-8b", - "name": "Meta: LlamaGuard 2 8B", - "context_length": 8192, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 2e-7, - "completion": 2e-7, - "request": 0.0, - "image": 0.0 - } - }, - { - "id": "meta-llama/llama-guard-3-8b", - "name": "Llama Guard 3 8B", - "context_length": 131072, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 2e-8, - "completion": 6e-8, - "request": 0.0, - "image": 0.0 - } - }, - { - "id": "meta-llama/llama-guard-4-12b", - "name": "Meta: Llama Guard 4 12B", - "context_length": 163840, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 1.8e-7, - "completion": 1.8e-7, - "request": 0.0, - "image": 0.0 + "id": "meta-llama/llama-4-scout-17b-16e-instruct-fp8", + "name": "Llama-4-Scout-17B-16E-Instruct-FP8", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 128000, + "output": 4096 } }, { "id": "mistralai/codestral", - "name": "Mistral: Codestral 2508", - "context_length": 256000, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-7, - "completion": 9e-7 + "name": "Codestral", + "family": "codestral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-05-29", + "last_updated": "2025-01-04", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.3, + "output": 0.9 + }, + "limit": { + "context": 256000, + "output": 4096 } }, { "id": "mistralai/devstral", - "name": "Mistral: Devstral 2 2512", - "context_length": 262144, - "max_completion_tokens": 65536, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 5e-8, - "completion": 2.2e-7, - "request": 0.0, - "image": 0.0 + "name": "Devstral 2", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.4, + "output": 2.0 + }, + "limit": { + "context": 262144, + "output": 262144 } }, { "id": "mistralai/devstral-medium", - "name": "Mistral: Devstral Medium", - "context_length": 131072, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 4e-7, - "completion": 2e-6 + "name": "Devstral 2", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.4, + "output": 2.0 + }, + "limit": { + "context": 262144, + "output": 262144 } }, { "id": "mistralai/devstral-small", - "name": "Mistral: Devstral Small 1.1", - "context_length": 131072, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1e-7, - "completion": 3e-7 + "name": "Devstral Small", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-07-10", + "last_updated": "2025-07-10", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.1, + "output": 0.3 + }, + "limit": { + "context": 128000, + "output": 128000 } }, { - "id": "mistralai/ministral-14b", - "name": "Mistral: Ministral 3 14B 2512", - "context_length": 262144, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-7, - "completion": 2e-7 + "id": "mistralai/labs-devstral-small", + "name": "Devstral Small 2", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 256000, + "output": 256000 + } + }, + { + "id": "mistralai/magistral-medium", + "name": "Magistral Medium", + "family": "magistral-medium", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-03-17", + "last_updated": "2025-03-20", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.0, + "output": 5.0 + }, + "limit": { + "context": 128000, + "output": 16384 + } + }, + { + "id": "mistralai/magistral-small", + "name": "Magistral Small", + "family": "magistral-small", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-03-17", + "last_updated": "2025-03-17", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.5, + "output": 1.5 + }, + "limit": { + "context": 128000, + "output": 128000 } }, { "id": "mistralai/ministral-3b", - "name": "Mistral: Ministral 3B", - "context_length": 131072, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 4e-8, - "completion": 4e-8 + "name": "Ministral 3B", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-04", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.04, + "output": 0.04 + }, + "limit": { + "context": 128000, + "output": 128000 } }, { "id": "mistralai/ministral-8b", - "name": "Mistral: Ministral 8B", - "context_length": 131072, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1e-7, - "completion": 1e-7 + "name": "Ministral 8B", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-04", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.1, + "output": 0.1 + }, + "limit": { + "context": 128000, + "output": 128000 } }, { - "id": "mistralai/mistral-7b-instruct", - "name": "Mistral: Mistral 7B Instruct", - "context_length": 32768, - "max_completion_tokens": 4096, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 2e-7, - "completion": 2e-7, - "request": 0.0, - "image": 0.0 + "id": "mistralai/mistral-embed", + "name": "Mistral Embed", + "family": "mistral-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2023-12-11", + "last_updated": "2023-12-11", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.0 + }, + "limit": { + "context": 8000, + "output": 3072 } }, { "id": "mistralai/mistral-large", - "name": "Mistral Large", - "context_length": 128000, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-6, - "completion": 6e-6 + "name": "Mistral Large 2.1", + "family": "mistral-large", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2024-11-04", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.0, + "output": 6.0 + }, + "limit": { + "context": 131072, + "output": 16384 } }, { - "id": "mistralai/mistral-medium-3", - "name": "Mistral: Mistral Medium 3", - "context_length": 131072, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 4e-7, - "completion": 2e-6 - } - }, - { - "id": "mistralai/mistral-medium-3.1", - "name": "Mistral: Mistral Medium 3.1", - "context_length": 131072, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 4e-7, - "completion": 2e-6 + "id": "mistralai/mistral-medium", + "name": "Mistral Medium", + "family": "mistral-medium", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-10", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.4, + "output": 2.0 + }, + "limit": { + "context": 128000, + "output": 16384 } }, { "id": "mistralai/mistral-nemo", - "name": "Mistral: Mistral Nemo", - "context_length": 131072, - "max_completion_tokens": 16384, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-8, - "completion": 4e-8, - "request": 0.0, - "image": 0.0 + "name": "Mistral Nemo", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.15, + "output": 0.15 + }, + "limit": { + "context": 128000, + "output": 128000 } }, { - "id": "mistralai/mistral-saba", - "name": "Mistral: Saba", - "context_length": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-7, - "completion": 6e-7 + "id": "mistralai/mistral-small", + "name": "Mistral Small", + "family": "mistral-small", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2024-09-01", + "last_updated": "2024-09-04", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.1, + "output": 0.3 + }, + "limit": { + "context": 128000, + "output": 16384 } }, { - "id": "mistralai/mistral-small-24b-instruct", - "name": "Mistral: Mistral Small 3", - "context_length": 32768, - "max_completion_tokens": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-8, - "completion": 1.1e-7, - "request": 0.0, - "image": 0.0 + "id": "mistralai/open-mistral-7b", + "name": "Mistral 7B", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2023-09-27", + "last_updated": "2023-09-27", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.25, + "output": 0.25 + }, + "limit": { + "context": 8000, + "output": 8000 } }, { - "id": "mistralai/mistral-small-3.1-24b-instruct", - "name": "Mistral: Mistral Small 3.1 24B", - "context_length": 131072, - "max_completion_tokens": 131072, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-8, - "completion": 1.1e-7, - "request": 0.0, - "image": 0.0 + "id": "mistralai/open-mixtral-8x22b", + "name": "Mixtral 8x22B", + "family": "mixtral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-04-17", + "last_updated": "2024-04-17", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.0, + "output": 6.0 + }, + "limit": { + "context": 64000, + "output": 64000 } }, { - "id": "mistralai/mistral-small-3.2-24b-instruct", - "name": "Mistral: Mistral Small 3.2 24B", - "context_length": 131072, - "max_completion_tokens": 131072, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 6e-8, - "completion": 1.8e-7, - "request": 0.0, - "image": 0.0 - } - }, - { - "id": "mistralai/mistral-small-creative", - "name": "Mistral: Mistral Small Creative", - "context_length": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1e-7, - "completion": 3e-7 - } - }, - { - "id": "mistralai/mistral-tiny", - "name": "Mistral Tiny", - "context_length": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2.5e-7, - "completion": 2.5e-7 - } - }, - { - "id": "mistralai/mixtral-8x22b-instruct", - "name": "Mistral: Mixtral 8x22B Instruct", - "context_length": 65536, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-6, - "completion": 6e-6 - } - }, - { - "id": "mistralai/mixtral-8x7b-instruct", - "name": "Mistral: Mixtral 8x7B Instruct", - "context_length": 32768, - "max_completion_tokens": 16384, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 5.4e-7, - "completion": 5.4e-7, - "request": 0.0, - "image": 0.0 + "id": "mistralai/open-mixtral-8x7b", + "name": "Mixtral 8x7B", + "family": "mixtral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-01", + "release_date": "2023-12-11", + "last_updated": "2023-12-11", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.7, + "output": 0.7 + }, + "limit": { + "context": 32000, + "output": 32000 } }, { "id": "mistralai/pixtral-12b", - "name": "Mistral: Pixtral 12B", - "context_length": 32768, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1e-7, - "completion": 1e-7, - "request": 0.0, - "image": 0.0001445 + "name": "Pixtral 12B", + "family": "pixtral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2024-09-01", + "last_updated": "2024-09-01", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.15, + "output": 0.15 + }, + "limit": { + "context": 128000, + "output": 128000 } }, { "id": "mistralai/pixtral-large", - "name": "Mistral: Pixtral Large 2411", - "context_length": 131072, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-6, - "completion": 6e-6 + "name": "Pixtral Large", + "family": "pixtral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2024-11-04", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 2.0, + "output": 6.0 + }, + "limit": { + "context": 128000, + "output": 128000 } }, { - "id": "mistralai/voxtral-small-24b", - "name": "Mistral: Voxtral Small 24B 2507", - "context_length": 32000, - "input_modalities": [ - "audio", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1e-7, - "completion": 3e-7 - } - }, - { - "id": "openai/chatgpt-4o", - "name": "OpenAI: ChatGPT-4o", - "context_length": 128000, - "max_completion_tokens": 16384, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 5e-6, - "completion": 0.000015 + "id": "openai/codex-mini", + "name": "Codex Mini", + "family": "gpt-codex-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-04", + "release_date": "2025-05-16", + "last_updated": "2025-05-16", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.5, + "output": 6.0, + "cache_read": 0.375 + }, + "limit": { + "context": 200000, + "output": 100000 } }, { "id": "openai/gpt-3.5-turbo", - "name": "OpenAI: GPT-3.5 Turbo", - "context_length": 16385, - "max_completion_tokens": 4096, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 5e-7, - "completion": 1.5e-6 - } - }, - { - "id": "openai/gpt-3.5-turbo-16k", - "name": "OpenAI: GPT-3.5 Turbo 16k", - "context_length": 16385, - "max_completion_tokens": 4096, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-6, - "completion": 4e-6 - } - }, - { - "id": "openai/gpt-3.5-turbo-instruct", - "name": "OpenAI: GPT-3.5 Turbo Instruct", - "context_length": 4095, - "max_completion_tokens": 4096, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 1.5e-6, - "completion": 2e-6 + "name": "GPT-3.5-turbo", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-09-01", + "release_date": "2023-03-01", + "last_updated": "2023-11-06", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.5, + "output": 1.5, + "cache_read": 1.25 + }, + "limit": { + "context": 16385, + "output": 4096 } }, { "id": "openai/gpt-4", - "name": "OpenAI: GPT-4", - "context_length": 8191, - "max_completion_tokens": 4096, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 0.00003, - "completion": 0.00006 + "name": "GPT-4", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-11", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 30.0, + "output": 60.0 + }, + "limit": { + "context": 8192, + "output": 8192 } }, { "id": "openai/gpt-4-turbo", - "name": "OpenAI: GPT-4 Turbo", - "context_length": 128000, - "max_completion_tokens": 4096, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 0.00001, - "completion": 0.00003 + "name": "GPT-4 Turbo", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 10.0, + "output": 30.0 + }, + "limit": { + "context": 128000, + "output": 4096 } }, { "id": "openai/gpt-4.1", - "name": "OpenAI: GPT-4.1", - "context_length": 1047576, - "max_completion_tokens": 32768, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-6, - "completion": 8e-6 + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.0, + "output": 8.0, + "cache_read": 0.5 + }, + "limit": { + "context": 1047576, + "output": 32768 } }, { "id": "openai/gpt-4.1-mini", - "name": "OpenAI: GPT-4.1 Mini", - "context_length": 1047576, - "max_completion_tokens": 32768, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 4e-7, - "completion": 1.6e-6 + "name": "GPT-4.1 mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + }, + "limit": { + "context": 1047576, + "output": 32768 } }, { "id": "openai/gpt-4.1-nano", - "name": "OpenAI: GPT-4.1 Nano", - "context_length": 1047576, - "max_completion_tokens": 32768, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1e-7, - "completion": 4e-7 + "name": "GPT-4.1 nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.03 + }, + "limit": { + "context": 1047576, + "output": 32768 } }, { "id": "openai/gpt-4o", - "name": "OpenAI: GPT-4o", - "context_length": 128000, - "max_completion_tokens": 16384, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2.5e-6, - "completion": 0.00001 - } - }, - { - "id": "openai/gpt-4o-audio", - "name": "OpenAI: GPT-4o Audio", - "context_length": 128000, - "max_completion_tokens": 16384, - "input_modalities": [ - "audio", - "text" - ], - "output_modalities": [ - "audio", - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2.5e-6, - "completion": 0.00001 + "name": "GPT-4o (2024-11-20)", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-11-20", + "last_updated": "2024-11-20", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.5, + "output": 10.0, + "cache_read": 1.25 + }, + "limit": { + "context": 128000, + "output": 16384 } }, { "id": "openai/gpt-4o-mini", - "name": "OpenAI: GPT-4o-mini", - "context_length": 128000, - "max_completion_tokens": 16384, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.5e-7, - "completion": 6e-7 - } - }, - { - "id": "openai/gpt-4o-mini-search", - "name": "OpenAI: GPT-4o-mini Search Preview", - "context_length": 128000, - "max_completion_tokens": 16384, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 1.5e-7, - "completion": 6e-7 - } - }, - { - "id": "openai/gpt-4o-search", - "name": "OpenAI: GPT-4o Search Preview", - "context_length": 128000, - "max_completion_tokens": 16384, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 2.5e-6, - "completion": 0.00001 - } - }, - { - "id": "openai/gpt-4o:extended", - "name": "OpenAI: GPT-4o (extended)", - "context_length": 128000, - "max_completion_tokens": 64000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 6e-6, - "completion": 0.000018 + "name": "GPT-4o mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.08 + }, + "limit": { + "context": 128000, + "output": 16384 } }, { "id": "openai/gpt-5", - "name": "OpenAI: GPT-5", - "context_length": 400000, - "max_completion_tokens": 128000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.25e-6, - "completion": 0.00001 + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.125 + }, + "limit": { + "context": 400000, + "output": 128000 } }, { "id": "openai/gpt-5-chat", - "name": "OpenAI: GPT-5 Chat", - "context_length": 128000, - "max_completion_tokens": 16384, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 1.25e-6, - "completion": 0.00001 + "name": "GPT-5 Chat (latest)", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0 + }, + "limit": { + "context": 400000, + "output": 128000 } }, { "id": "openai/gpt-5-codex", - "name": "OpenAI: GPT-5 Codex", - "context_length": 400000, - "max_completion_tokens": 128000, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.25e-6, - "completion": 0.00001 - } - }, - { - "id": "openai/gpt-5-image", - "name": "OpenAI: GPT-5 Image", - "context_length": 400000, - "max_completion_tokens": 128000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "image", - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 0.00001, - "completion": 0.00001 - } - }, - { - "id": "openai/gpt-5-image-mini", - "name": "OpenAI: GPT-5 Image Mini", - "context_length": 400000, - "max_completion_tokens": 128000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "image", - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2.5e-6, - "completion": 2e-6 + "name": "GPT-5-Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.125 + }, + "limit": { + "context": 400000, + "output": 128000 } }, { "id": "openai/gpt-5-mini", - "name": "OpenAI: GPT-5 Mini", - "context_length": 400000, - "max_completion_tokens": 128000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2.5e-7, - "completion": 2e-6 + "name": "GPT-5 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.25, + "output": 2.0, + "cache_read": 0.025 + }, + "limit": { + "context": 400000, + "output": 128000 } }, { "id": "openai/gpt-5-nano", - "name": "OpenAI: GPT-5 Nano", - "context_length": 400000, - "max_completion_tokens": 128000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 5e-8, - "completion": 4e-7 + "name": "GPT-5 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 + }, + "limit": { + "context": 400000, + "output": 128000 } }, { "id": "openai/gpt-5-pro", - "name": "OpenAI: GPT-5 Pro", - "context_length": 400000, - "max_completion_tokens": 128000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 0.000015, - "completion": 0.00012 + "name": "GPT-5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 120.0 + }, + "limit": { + "context": 400000, + "output": 272000 } }, { "id": "openai/gpt-5.1", - "name": "OpenAI: GPT-5.1", - "context_length": 400000, - "max_completion_tokens": 128000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.25e-6, - "completion": 0.00001 + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.13 + }, + "limit": { + "context": 400000, + "output": 128000 } }, { "id": "openai/gpt-5.1-chat", - "name": "OpenAI: GPT-5.1 Chat", - "context_length": 128000, - "max_completion_tokens": 16384, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.25e-6, - "completion": 0.00001 + "name": "GPT-5.1 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.125 + }, + "limit": { + "context": 128000, + "output": 16384 } }, { "id": "openai/gpt-5.1-codex", - "name": "OpenAI: GPT-5.1-Codex", - "context_length": 400000, - "max_completion_tokens": 128000, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.25e-6, - "completion": 0.00001 + "name": "GPT-5.1 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.125 + }, + "limit": { + "context": 400000, + "output": 128000 } }, { "id": "openai/gpt-5.1-codex-max", - "name": "OpenAI: GPT-5.1-Codex-Max", - "context_length": 400000, - "max_completion_tokens": 128000, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.25e-6, - "completion": 0.00001 + "name": "GPT-5.1 Codex Max", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.125 + }, + "limit": { + "context": 400000, + "output": 128000 } }, { "id": "openai/gpt-5.1-codex-mini", - "name": "OpenAI: GPT-5.1-Codex-Mini", - "context_length": 400000, - "max_completion_tokens": 100000, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2.5e-7, - "completion": 2e-6 + "name": "GPT-5.1 Codex mini", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.25, + "output": 2.0, + "cache_read": 0.025 + }, + "limit": { + "context": 400000, + "output": 128000 } }, { "id": "openai/gpt-5.2", - "name": "OpenAI: GPT-5.2", - "context_length": 400000, - "max_completion_tokens": 128000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.75e-6, - "completion": 0.000014 + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.75, + "output": 14.0, + "cache_read": 0.175 + }, + "limit": { + "context": 400000, + "output": 128000 } }, { "id": "openai/gpt-5.2-chat", - "name": "OpenAI: GPT-5.2 Chat", - "context_length": 128000, - "max_completion_tokens": 16384, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.75e-6, - "completion": 0.000014 + "name": "GPT-5.2 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.75, + "output": 14.0, + "cache_read": 0.175 + }, + "limit": { + "context": 128000, + "output": 16384 } }, { "id": "openai/gpt-5.2-codex", - "name": "OpenAI: GPT-5.2-Codex", - "context_length": 400000, - "max_completion_tokens": 128000, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.75e-6, - "completion": 0.000014 - } - }, - { - "id": "openai/gpt-5.2-codex", - "name": "OpenAI: GPT-5.2-Codex", - "context_length": 400000, - "max_completion_tokens": 128000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.75e-6, - "completion": 0.000014, - "request": 0.0, - "image": 0.0 + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.75, + "output": 14.0, + "cache_read": 0.175 + }, + "limit": { + "context": 400000, + "output": 128000 } }, { "id": "openai/gpt-5.2-pro", - "name": "OpenAI: GPT-5.2 Pro", - "context_length": 400000, - "max_completion_tokens": 128000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 0.000021, - "completion": 0.000168 - } - }, - { - "id": "openai/gpt-audio", - "name": "OpenAI: GPT Audio", - "context_length": 128000, - "max_completion_tokens": 16384, - "input_modalities": [ - "audio", - "text" - ], - "output_modalities": [ - "audio", - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 2.5e-6, - "completion": 0.00001 - } - }, - { - "id": "openai/gpt-audio-mini", - "name": "OpenAI: GPT Audio Mini", - "context_length": 128000, - "max_completion_tokens": 16384, - "input_modalities": [ - "audio", - "text" - ], - "output_modalities": [ - "audio", - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 6e-7, - "completion": 2.4e-6 - } - }, - { - "id": "openai/gpt-oss-120b", - "name": "OpenAI: gpt-oss-120b", - "context_length": 131072, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3.9e-8, - "completion": 1.9e-7, - "request": 0.0, - "image": 0.0 - } - }, - { - "id": "openai/gpt-oss-20b", - "name": "OpenAI: gpt-oss-20b", - "context_length": 131072, - "max_completion_tokens": 131072, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-8, - "completion": 1e-7, - "request": 0.0, - "image": 0.0 - } - }, - { - "id": "openai/gpt-oss-safeguard-20b", - "name": "OpenAI: gpt-oss-safeguard-20b", - "context_length": 131072, - "max_completion_tokens": 65536, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 7.5e-8, - "completion": 3e-7, - "request": 0.0, - "image": 0.0 + "name": "GPT-5.2 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 21.0, + "output": 168.0 + }, + "limit": { + "context": 400000, + "output": 128000 } }, { "id": "openai/o1", - "name": "OpenAI: o1", - "context_length": 200000, - "max_completion_tokens": 100000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 0.000015, - "completion": 0.00006 + "name": "o1", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 60.0, + "cache_read": 7.5 + }, + "limit": { + "context": 200000, + "output": 100000 + } + }, + { + "id": "openai/o1-mini", + "name": "o1-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-09-12", + "last_updated": "2024-09-12", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + }, + "limit": { + "context": 128000, + "output": 65536 + } + }, + { + "id": "openai/o1-preview", + "name": "o1-preview", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-09-12", + "last_updated": "2024-09-12", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 60.0, + "cache_read": 7.5 + }, + "limit": { + "context": 128000, + "output": 32768 } }, { "id": "openai/o1-pro", - "name": "OpenAI: o1-pro", - "context_length": 200000, - "max_completion_tokens": 100000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 0.00015, - "completion": 0.0006 + "name": "o1-pro", + "family": "o-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2025-03-19", + "last_updated": "2025-03-19", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 150.0, + "output": 600.0 + }, + "limit": { + "context": 200000, + "output": 100000 } }, { "id": "openai/o3", - "name": "OpenAI: o3", - "context_length": 200000, - "max_completion_tokens": 100000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-6, - "completion": 8e-6 + "name": "o3", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.0, + "output": 8.0, + "cache_read": 0.5 + }, + "limit": { + "context": 200000, + "output": 100000 } }, { "id": "openai/o3-deep-research", - "name": "OpenAI: o3 Deep Research", - "context_length": 200000, - "max_completion_tokens": 100000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 0.00001, - "completion": 0.00004 + "name": "o3-deep-research", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2024-06-26", + "last_updated": "2024-06-26", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 10.0, + "output": 40.0, + "cache_read": 2.5 + }, + "limit": { + "context": 200000, + "output": 100000 } }, { "id": "openai/o3-mini", - "name": "OpenAI: o3 Mini", - "context_length": 200000, - "max_completion_tokens": 100000, - "input_modalities": [ - "file", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.1e-6, - "completion": 4.4e-6 - } - }, - { - "id": "openai/o3-mini-high", - "name": "OpenAI: o3 Mini High", - "context_length": 200000, - "max_completion_tokens": 100000, - "input_modalities": [ - "file", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.1e-6, - "completion": 4.4e-6 + "name": "o3-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + }, + "limit": { + "context": 200000, + "output": 100000 } }, { "id": "openai/o3-pro", - "name": "OpenAI: o3 Pro", - "context_length": 200000, - "max_completion_tokens": 100000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 0.00002, - "completion": 0.00008 + "name": "o3-pro", + "family": "o-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-06-10", + "last_updated": "2025-06-10", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 20.0, + "output": 80.0 + }, + "limit": { + "context": 200000, + "output": 100000 } }, { "id": "openai/o4-mini", - "name": "OpenAI: o4 Mini", - "context_length": 200000, - "max_completion_tokens": 100000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.1e-6, - "completion": 4.4e-6 + "name": "o4-mini", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.28 + }, + "limit": { + "context": 200000, + "output": 100000 } }, { "id": "openai/o4-mini-deep-research", - "name": "OpenAI: o4 Mini Deep Research", - "context_length": 200000, - "max_completion_tokens": 100000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-6, - "completion": 8e-6 + "name": "o4-mini-deep-research", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2024-06-26", + "last_updated": "2024-06-26", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.0, + "output": 8.0, + "cache_read": 0.5 + }, + "limit": { + "context": 200000, + "output": 100000 } }, { - "id": "openai/o4-mini-high", - "name": "OpenAI: o4 Mini High", - "context_length": 200000, - "max_completion_tokens": 100000, - "input_modalities": [ - "file", - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.1e-6, - "completion": 4.4e-6 + "id": "openai/text-embedding-3-large", + "name": "text-embedding-3-large", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2024-01", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.13, + "output": 0.0 + }, + "limit": { + "context": 8191, + "output": 3072 } }, { - "id": "qwen/qwen-2.5-72b-instruct", - "name": "Qwen2.5 72B Instruct", - "context_length": 32768, - "max_completion_tokens": 16384, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.2e-7, - "completion": 3.9e-7, - "request": 0.0, - "image": 0.0 + "id": "openai/text-embedding-3-small", + "name": "text-embedding-3-small", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2024-01", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.02, + "output": 0.0 + }, + "limit": { + "context": 8191, + "output": 1536 } }, { - "id": "qwen/qwen-2.5-7b-instruct", - "name": "Qwen: Qwen2.5 7B Instruct", - "context_length": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 4e-8, - "completion": 1e-7, - "request": 0.0, - "image": 0.0 + "id": "openai/text-embedding-ada-002", + "name": "text-embedding-ada-002", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2022-12", + "release_date": "2022-12-15", + "last_updated": "2022-12-15", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.0 + }, + "limit": { + "context": 8192, + "output": 1536 } }, { - "id": "qwen/qwen-2.5-coder-32b-instruct", + "id": "openrouter/anthropic/claude-3.5-haiku", + "name": "Claude Haiku 3.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.8, + "output": 4.0, + "cache_read": 0.08, + "cache_write": 1.0 + }, + "limit": { + "context": 200000, + "output": 8192 + } + }, + { + "id": "openrouter/anthropic/claude-3.7-sonnet", + "name": "Claude Sonnet 3.7", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-01", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 75.0, + "cache_read": 1.5, + "cache_write": 18.75 + }, + "limit": { + "context": 200000, + "output": 128000 + } + }, + { + "id": "openrouter/anthropic/claude-haiku-4.5", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.0, + "output": 5.0, + "cache_read": 0.1, + "cache_write": 1.25 + }, + "limit": { + "context": 200000, + "output": 64000 + } + }, + { + "id": "openrouter/anthropic/claude-opus-4", + "name": "Claude Opus 4", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 75.0, + "cache_read": 1.5, + "cache_write": 18.75 + }, + "limit": { + "context": 200000, + "output": 32000 + } + }, + { + "id": "openrouter/anthropic/claude-opus-4.1", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 75.0, + "cache_read": 1.5, + "cache_write": 18.75 + }, + "limit": { + "context": 200000, + "output": 32000 + } + }, + { + "id": "openrouter/anthropic/claude-opus-4.5", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-30", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 5.0, + "output": 25.0, + "cache_read": 0.5, + "cache_write": 6.25 + }, + "limit": { + "context": 200000, + "output": 32000 + } + }, + { + "id": "openrouter/anthropic/claude-sonnet-4", + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "limit": { + "context": 200000, + "output": 64000 + } + }, + { + "id": "openrouter/anthropic/claude-sonnet-4.5", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "limit": { + "context": 1000000, + "output": 64000 + } + }, + { + "id": "openrouter/arcee-ai/trinity-large-preview:free", + "name": "Trinity Large Preview", + "family": "trinity", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-01-28", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 131072, + "output": 131072 + } + }, + { + "id": "openrouter/arcee-ai/trinity-mini:free", + "name": "Trinity Mini", + "family": "trinity-mini", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-01-28", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 131072, + "output": 131072 + } + }, + { + "id": "openrouter/cognitivecomputations/dolphin3.0-mistral-24b", + "name": "Dolphin3.0 Mistral 24B", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-02-13", + "last_updated": "2025-02-13", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32768, + "output": 8192 + } + }, + { + "id": "openrouter/cognitivecomputations/dolphin3.0-r1-mistral-24b", + "name": "Dolphin3.0 R1 Mistral 24B", + "family": "mistral", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-02-13", + "last_updated": "2025-02-13", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32768, + "output": 8192 + } + }, + { + "id": "openrouter/deepseek/deepseek-chat-v3", + "name": "DeepSeek V3 0324", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 16384, + "output": 8192 + } + }, + { + "id": "openrouter/deepseek/deepseek-chat-v3.1", + "name": "DeepSeek-V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.2, + "output": 0.8 + }, + "limit": { + "context": 163840, + "output": 163840 + } + }, + { + "id": "openrouter/deepseek/deepseek-r1-0528-qwen3-8b:free", + "name": "Deepseek R1 0528 Qwen3 8B (free)", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-29", + "last_updated": "2025-05-29", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 131072, + "output": 131072 + } + }, + { + "id": "openrouter/deepseek/deepseek-r1-0528:free", + "name": "R1 0528 (free)", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 163840, + "output": 163840 + } + }, + { + "id": "openrouter/deepseek/deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill Llama 70B", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-01-23", + "last_updated": "2025-01-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 8192, + "output": 8192 + } + }, + { + "id": "openrouter/deepseek/deepseek-r1-distill-qwen-14b", + "name": "DeepSeek R1 Distill Qwen 14B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-01-29", + "last_updated": "2025-01-29", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 64000, + "output": 8192 + } + }, + { + "id": "openrouter/deepseek/deepseek-r1:free", + "name": "R1 (free)", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 163840, + "output": 163840 + } + }, + { + "id": "openrouter/deepseek/deepseek-v3-base:free", + "name": "DeepSeek V3 Base (free)", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-03-29", + "last_updated": "2025-03-29", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 163840, + "output": 163840 + } + }, + { + "id": "openrouter/deepseek/deepseek-v3.1-terminus", + "name": "DeepSeek V3.1 Terminus", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.27, + "output": 1.0 + }, + "limit": { + "context": 131072, + "output": 65536 + } + }, + { + "id": "openrouter/deepseek/deepseek-v3.1-terminus:exacto", + "name": "DeepSeek V3.1 Terminus (exacto)", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.27, + "output": 1.0 + }, + "limit": { + "context": 131072, + "output": 65536 + } + }, + { + "id": "openrouter/deepseek/deepseek-v3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.28, + "output": 0.4 + }, + "limit": { + "context": 163840, + "output": 65536 + } + }, + { + "id": "openrouter/deepseek/deepseek-v3.2-speciale", + "name": "DeepSeek V3.2 Speciale", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.27, + "output": 0.41 + }, + "limit": { + "context": 163840, + "output": 65536 + } + }, + { + "id": "openrouter/featherless/qwerky-72b", + "name": "Qwerky 72B", + "family": "qwerky", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-20", + "last_updated": "2025-03-20", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32768, + "output": 8192 + } + }, + { + "id": "openrouter/google/gemini-2.0-flash-001", + "name": "Gemini 2.0 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "limit": { + "context": 1048576, + "output": 8192 + } + }, + { + "id": "openrouter/google/gemini-2.0-flash-exp:free", + "name": "Gemini 2.0 Flash Experimental (free)", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 1048576, + "output": 1048576 + } + }, + { + "id": "openrouter/google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-07-17", + "last_updated": "2025-07-17", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.0375 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "openrouter/google/gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "openrouter/google/gemini-2.5-flash-lite-preview-09", + "name": "Gemini 2.5 Flash Lite Preview 09-25", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "openrouter/google/gemini-2.5-flash-preview-09", + "name": "Gemini 2.5 Flash Preview 09-25", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.031 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "openrouter/google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.31 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "openrouter/google/gemini-2.5-pro-preview-05-06", + "name": "Gemini 2.5 Pro Preview 05-06", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-05-06", + "last_updated": "2025-05-06", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.31 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "openrouter/google/gemini-2.5-pro-preview-06-05", + "name": "Gemini 2.5 Pro Preview 06-05", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.31 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "openrouter/google/gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.5, + "output": 3.0, + "cache_read": 0.05 + }, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + { + "id": "openrouter/google/gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.0, + "output": 12.0 + }, + "limit": { + "context": 1050000, + "output": 66000 + } + }, + { + "id": "openrouter/google/gemma-2-9b-it", + "name": "Gemma 2 9B", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-06-28", + "last_updated": "2024-06-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.03, + "output": 0.09 + }, + "limit": { + "context": 8192, + "output": 8192 + } + }, + { + "id": "openrouter/google/gemma-3-12b-it", + "name": "Gemma 3 12B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.03, + "output": 0.1 + }, + "limit": { + "context": 131072, + "output": 131072 + } + }, + { + "id": "openrouter/google/gemma-3-12b-it:free", + "name": "Gemma 3 12B (free)", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32768, + "output": 8192 + } + }, + { + "id": "openrouter/google/gemma-3-27b-it", + "name": "Gemma 3 27B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.04, + "output": 0.15 + }, + "limit": { + "context": 96000, + "output": 96000 + } + }, + { + "id": "openrouter/google/gemma-3-27b-it:free", + "name": "Gemma 3 27B (free)", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 131072, + "output": 8192 + } + }, + { + "id": "openrouter/google/gemma-3-4b-it", + "name": "Gemma 3 4B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.01703, + "output": 0.06815 + }, + "limit": { + "context": 96000, + "output": 96000 + } + }, + { + "id": "openrouter/google/gemma-3-4b-it:free", + "name": "Gemma 3 4B (free)", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32768, + "output": 8192 + } + }, + { + "id": "openrouter/google/gemma-3n-e2b-it:free", + "name": "Gemma 3n 2B (free)", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 8192, + "output": 2000 + } + }, + { + "id": "openrouter/google/gemma-3n-e4b-it", + "name": "Gemma 3n 4B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.02, + "output": 0.04 + }, + "limit": { + "context": 32768, + "output": 32768 + } + }, + { + "id": "openrouter/google/gemma-3n-e4b-it:free", + "name": "Gemma 3n 4B (free)", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 8192, + "output": 2000 + } + }, + { + "id": "openrouter/kwaipilot/kat-coder-pro:free", + "name": "Kat Coder Pro (free)", + "family": "kat-coder", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-11-10", + "last_updated": "2025-11-10", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 256000, + "output": 65536 + } + }, + { + "id": "openrouter/meta-llama/llama-3.2-11b-vision-instruct", + "name": "Llama 3.2 11B Vision Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 131072, + "output": 8192 + } + }, + { + "id": "openrouter/meta-llama/llama-3.3-70b-instruct:free", + "name": "Llama 3.3 70B Instruct (free)", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 65536, + "output": 65536 + } + }, + { + "id": "openrouter/meta-llama/llama-4-scout:free", + "name": "Llama 4 Scout (free)", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 64000, + "output": 64000 + } + }, + { + "id": "openrouter/microsoft/mai-ds-r1:free", + "name": "MAI DS R1 (free)", + "family": "mai", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-21", + "last_updated": "2025-04-21", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 163840, + "output": 163840 + } + }, + { + "id": "openrouter/minimax/minimax-01", + "name": "MiniMax-01", + "family": "minimax", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-15", + "last_updated": "2025-01-15", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.2, + "output": 1.1 + }, + "limit": { + "context": 1000000, + "output": 1000000 + } + }, + { + "id": "openrouter/minimax/minimax-m1", + "name": "MiniMax M1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.4, + "output": 2.2 + }, + "limit": { + "context": 1000000, + "output": 40000 + } + }, + { + "id": "openrouter/minimax/minimax-m2", + "name": "MiniMax M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-23", + "last_updated": "2025-10-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.28, + "output": 1.15, + "cache_read": 0.28, + "cache_write": 1.15 + }, + "limit": { + "context": 196600, + "output": 118000 + } + }, + { + "id": "openrouter/minimax/minimax-m2.1", + "name": "MiniMax M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.3, + "output": 1.2 + }, + "limit": { + "context": 204800, + "output": 131072 + } + }, + { + "id": "openrouter/mistralai/codestral", + "name": "Codestral 2508", + "family": "codestral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-08-01", + "last_updated": "2025-08-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.3, + "output": 0.9 + }, + "limit": { + "context": 256000, + "output": 256000 + } + }, + { + "id": "openrouter/mistralai/devstral", + "name": "Devstral 2 2512", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-09-12", + "last_updated": "2025-09-12", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.15, + "output": 0.6 + }, + "limit": { + "context": 262144, + "output": 262144 + } + }, + { + "id": "openrouter/mistralai/devstral-2512:free", + "name": "Devstral 2 2512 (free)", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-09-12", + "last_updated": "2025-09-12", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 262144, + "output": 262144 + } + }, + { + "id": "openrouter/mistralai/devstral-medium", + "name": "Devstral Medium", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-07-10", + "last_updated": "2025-07-10", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.4, + "output": 2.0 + }, + "limit": { + "context": 131072, + "output": 131072 + } + }, + { + "id": "openrouter/mistralai/devstral-small", + "name": "Devstral Small 1.1", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-07-10", + "last_updated": "2025-07-10", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.1, + "output": 0.3 + }, + "limit": { + "context": 131072, + "output": 131072 + } + }, + { + "id": "openrouter/mistralai/devstral-small-2505:free", + "name": "Devstral Small 2505 (free)", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-21", + "last_updated": "2025-05-21", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32768, + "output": 32768 + } + }, + { + "id": "openrouter/mistralai/mistral-7b-instruct:free", + "name": "Mistral 7B Instruct (free)", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-05", + "release_date": "2024-05-27", + "last_updated": "2024-05-27", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32768, + "output": 32768 + } + }, + { + "id": "openrouter/mistralai/mistral-medium-3", + "name": "Mistral Medium 3", + "family": "mistral-medium", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.4, + "output": 2.0 + }, + "limit": { + "context": 131072, + "output": 131072 + } + }, + { + "id": "openrouter/mistralai/mistral-medium-3.1", + "name": "Mistral Medium 3.1", + "family": "mistral-medium", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-08-12", + "last_updated": "2025-08-12", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.4, + "output": 2.0 + }, + "limit": { + "context": 262144, + "output": 262144 + } + }, + { + "id": "openrouter/mistralai/mistral-nemo:free", + "name": "Mistral Nemo (free)", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-07-19", + "last_updated": "2024-07-19", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 131072, + "output": 131072 + } + }, + { + "id": "openrouter/mistralai/mistral-small-3.1-24b-instruct", + "name": "Mistral Small 3.1 24B Instruct", + "family": "mistral-small", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-17", + "last_updated": "2025-03-17", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 128000, + "output": 8192 + } + }, + { + "id": "openrouter/mistralai/mistral-small-3.2-24b-instruct", + "name": "Mistral Small 3.2 24B Instruct", + "family": "mistral-small", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-06-20", + "last_updated": "2025-06-20", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 96000, + "output": 8192 + } + }, + { + "id": "openrouter/mistralai/mistral-small-3.2-24b-instruct:free", + "name": "Mistral Small 3.2 24B (free)", + "family": "mistral-small", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-06-20", + "last_updated": "2025-06-20", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 96000, + "output": 96000 + } + }, + { + "id": "openrouter/moonshotai/kimi-dev-72b:free", + "name": "Kimi Dev 72b (free)", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-06-16", + "last_updated": "2025-06-16", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 131072, + "output": 131072 + } + }, + { + "id": "openrouter/moonshotai/kimi-k2", + "name": "Kimi K2 Instruct 0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.6, + "output": 2.5 + }, + "limit": { + "context": 262144, + "output": 16384 + } + }, + { + "id": "openrouter/moonshotai/kimi-k2-0905:exacto", + "name": "Kimi K2 Instruct 0905 (exacto)", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.6, + "output": 2.5 + }, + "limit": { + "context": 262144, + "output": 16384 + } + }, + { + "id": "openrouter/moonshotai/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + }, + "limit": { + "context": 262144, + "output": 262144 + } + }, + { + "id": "openrouter/moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.6, + "output": 3.0, + "cache_read": 0.1 + }, + "limit": { + "context": 262144, + "output": 262144 + } + }, + { + "id": "openrouter/moonshotai/kimi-k2:free", + "name": "Kimi K2 (free)", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-11", + "last_updated": "2025-07-11", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32800, + "output": 32800 + } + }, + { + "id": "openrouter/nousresearch/deephermes-3-llama-3-8b-preview", + "name": "DeepHermes 3 Llama 3 8B Preview", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-02-28", + "last_updated": "2025-02-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 131072, + "output": 8192 + } + }, + { + "id": "openrouter/nousresearch/hermes-4-405b", + "name": "Hermes 4 405B", + "family": "hermes", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2025-08-25", + "last_updated": "2025-08-25", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 1.0, + "output": 3.0 + }, + "limit": { + "context": 131072, + "output": 131072 + } + }, + { + "id": "openrouter/nousresearch/hermes-4-70b", + "name": "Hermes 4 70B", + "family": "hermes", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2025-08-25", + "last_updated": "2025-08-25", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.13, + "output": 0.4 + }, + "limit": { + "context": 131072, + "output": 131072 + } + }, + { + "id": "openrouter/nvidia/nemotron-nano-9b-v2", + "name": "nvidia-nemotron-nano-9b-v2", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2025-08-18", + "last_updated": "2025-08-18", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.04, + "output": 0.16 + }, + "limit": { + "context": 131072, + "output": 131072 + } + }, + { + "id": "openrouter/openai/gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.0, + "output": 8.0, + "cache_read": 0.5 + }, + "limit": { + "context": 1047576, + "output": 32768 + } + }, + { + "id": "openrouter/openai/gpt-4.1-mini", + "name": "GPT-4.1 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + }, + "limit": { + "context": 1047576, + "output": 32768 + } + }, + { + "id": "openrouter/openai/gpt-4o-mini", + "name": "GPT-4o-mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.08 + }, + "limit": { + "context": 128000, + "output": 16384 + } + }, + { + "id": "openrouter/openai/gpt-5", + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-01", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "openrouter/openai/gpt-5-chat", + "name": "GPT-5 Chat (latest)", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "openrouter/openai/gpt-5-codex", + "name": "GPT-5 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-01", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.125 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "openrouter/openai/gpt-5-image", + "name": "GPT-5 Image", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-01", + "release_date": "2025-10-14", + "last_updated": "2025-10-14", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text", + "image" + ] + }, + "open_weights": false, + "cost": { + "input": 5.0, + "output": 10.0, + "cache_read": 1.25 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "openrouter/openai/gpt-5-mini", + "name": "GPT-5 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-01", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.25, + "output": 2.0 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "openrouter/openai/gpt-5-nano", + "name": "GPT-5 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-01", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.05, + "output": 0.4 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "openrouter/openai/gpt-5-pro", + "name": "GPT-5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 15.0, + "output": 120.0 + }, + "limit": { + "context": 400000, + "output": 272000 + } + }, + { + "id": "openrouter/openai/gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.125 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "openrouter/openai/gpt-5.1-chat", + "name": "GPT-5.1 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.125 + }, + "limit": { + "context": 128000, + "output": 16384 + } + }, + { + "id": "openrouter/openai/gpt-5.1-codex", + "name": "GPT-5.1-Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.25, + "output": 10.0, + "cache_read": 0.125 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "openrouter/openai/gpt-5.1-codex-max", + "name": "GPT-5.1-Codex-Max", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.1, + "output": 9.0, + "cache_read": 0.11 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "openrouter/openai/gpt-5.1-codex-mini", + "name": "GPT-5.1-Codex-Mini", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.25, + "output": 2.0, + "cache_read": 0.025 + }, + "limit": { + "context": 400000, + "output": 100000 + } + }, + { + "id": "openrouter/openai/gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.75, + "output": 14.0, + "cache_read": 0.175 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "openrouter/openai/gpt-5.2-chat", + "name": "GPT-5.2 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.75, + "output": 14.0, + "cache_read": 0.175 + }, + "limit": { + "context": 128000, + "output": 16384 + } + }, + { + "id": "openrouter/openai/gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.75, + "output": 14.0, + "cache_read": 0.175 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "openrouter/openai/gpt-5.2-pro", + "name": "GPT-5.2 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 21.0, + "output": 168.0 + }, + "limit": { + "context": 400000, + "output": 128000 + } + }, + { + "id": "openrouter/openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.072, + "output": 0.28 + }, + "limit": { + "context": 131072, + "output": 32768 + } + }, + { + "id": "openrouter/openai/gpt-oss-120b:exacto", + "name": "GPT OSS 120B (exacto)", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.05, + "output": 0.24 + }, + "limit": { + "context": 131072, + "output": 32768 + } + }, + { + "id": "openrouter/openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.05, + "output": 0.2 + }, + "limit": { + "context": 131072, + "output": 32768 + } + }, + { + "id": "openrouter/openai/gpt-oss-safeguard-20b", + "name": "GPT OSS Safeguard 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-29", + "last_updated": "2025-10-29", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.075, + "output": 0.3 + }, + "limit": { + "context": 131072, + "output": 65536 + } + }, + { + "id": "openrouter/openai/o4-mini", + "name": "o4 Mini", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.28 + }, + "limit": { + "context": 200000, + "output": 100000 + } + }, + { + "id": "openrouter/openrouter/sherlock-dash-alpha", + "name": "Sherlock Dash Alpha", + "family": "sherlock", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-11-15", + "last_updated": "2025-12-14", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 1840000, + "output": 0 + } + }, + { + "id": "openrouter/openrouter/sherlock-think-alpha", + "name": "Sherlock Think Alpha", + "family": "sherlock", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-11-15", + "last_updated": "2025-12-14", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 1840000, + "output": 0 + } + }, + { + "id": "openrouter/qwen/qwen-2.5-coder-32b-instruct", "name": "Qwen2.5 Coder 32B Instruct", - "context_length": 32768, - "max_completion_tokens": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 3e-8, - "completion": 1.1e-7, - "request": 0.0, - "image": 0.0 + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-11-11", + "last_updated": "2024-11-11", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32768, + "output": 8192 } }, { - "id": "qwen/qwen-2.5-vl-7b-instruct", - "name": "Qwen: Qwen2.5-VL 7B Instruct", - "context_length": 32768, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 2e-7, - "completion": 2e-7, - "request": 0.0, - "image": 0.0001445 + "id": "openrouter/qwen/qwen2.5-vl-32b-instruct:free", + "name": "Qwen2.5 VL 32B Instruct (free)", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 8192, + "output": 8192 } }, { - "id": "qwen/qwen-max", - "name": "Qwen: Qwen-Max ", - "context_length": 32768, - "max_completion_tokens": 8192, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.6e-6, - "completion": 6.4e-6, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen2.5-vl-72b-instruct", + "name": "Qwen2.5 VL 72B Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-02-01", + "last_updated": "2025-02-01", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32768, + "output": 8192 } }, { - "id": "qwen/qwen-plus", - "name": "Qwen: Qwen-Plus", - "context_length": 131072, - "max_completion_tokens": 8192, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 4e-7, - "completion": 1.2e-6, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen2.5-vl-72b-instruct:free", + "name": "Qwen2.5 VL 72B Instruct (free)", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02", + "release_date": "2025-02-01", + "last_updated": "2025-02-01", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32768, + "output": 32768 } }, { - "id": "qwen/qwen-plus-2025-07-28:thinking", - "name": "Qwen: Qwen Plus 0728 (thinking)", - "context_length": 1000000, - "max_completion_tokens": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 4e-7, - "completion": 4e-6, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-14b:free", + "name": "Qwen3 14B (free)", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 40960, + "output": 40960 } }, { - "id": "qwen/qwen-turbo", - "name": "Qwen: Qwen-Turbo", - "context_length": 1000000, - "max_completion_tokens": 8192, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 5e-8, - "completion": 2e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-235b-a22b-07-25", + "name": "Qwen3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2025-07-21", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.15, + "output": 0.85 + }, + "limit": { + "context": 262144, + "output": 131072 } }, { - "id": "qwen/qwen-vl-max", - "name": "Qwen: Qwen VL Max", - "context_length": 131072, - "max_completion_tokens": 8192, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 8e-7, - "completion": 3.2e-6, - "request": 0.0, - "image": 0.001024 + "id": "openrouter/qwen/qwen3-235b-a22b-07-25:free", + "name": "Qwen3 235B A22B Instruct 2507 (free)", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2025-07-21", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 262144, + "output": 131072 } }, { - "id": "qwen/qwen-vl-plus", - "name": "Qwen: Qwen VL Plus", - "context_length": 7500, - "max_completion_tokens": 1500, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 2.1e-7, - "completion": 6.3e-7, - "request": 0.0, - "image": 0.0002688 + "id": "openrouter/qwen/qwen3-235b-a22b-thinking", + "name": "Qwen3 235B A22B Thinking 2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.078, + "output": 0.312 + }, + "limit": { + "context": 262144, + "output": 81920 } }, { - "id": "qwen/qwen2.5-coder-7b-instruct", - "name": "Qwen: Qwen2.5 Coder 7B Instruct", - "context_length": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 3e-8, - "completion": 9e-8, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-235b-a22b:free", + "name": "Qwen3 235B A22B (free)", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 131072, + "output": 131072 } }, { - "id": "qwen/qwen2.5-vl-32b-instruct", - "name": "Qwen: Qwen2.5 VL 32B Instruct", - "context_length": 16384, - "max_completion_tokens": 16384, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 5e-8, - "completion": 2.2e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-30b-a3b-instruct", + "name": "Qwen3 30B A3B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.2, + "output": 0.8 + }, + "limit": { + "context": 262000, + "output": 262000 } }, { - "id": "qwen/qwen2.5-vl-72b-instruct", - "name": "Qwen: Qwen2.5 VL 72B Instruct", - "context_length": 32768, - "max_completion_tokens": 32768, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 1.5e-7, - "completion": 6e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-30b-a3b-thinking", + "name": "Qwen3 30B A3B Thinking 2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.2, + "output": 0.8 + }, + "limit": { + "context": 262000, + "output": 262000 } }, { - "id": "qwen/qwen3-14b", - "name": "Qwen: Qwen3 14B", - "context_length": 40960, - "max_completion_tokens": 40960, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 5e-8, - "completion": 2.2e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-30b-a3b:free", + "name": "Qwen3 30B A3B (free)", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 40960, + "output": 40960 } }, { - "id": "qwen/qwen3-235b-a22b", - "name": "Qwen: Qwen3 235B A22B", - "context_length": 40960, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-7, - "completion": 6e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-32b:free", + "name": "Qwen3 32B (free)", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 40960, + "output": 40960 } }, { - "id": "qwen/qwen3-235b-a22b-thinking", - "name": "Qwen: Qwen3 235B A22B Thinking 2507", - "context_length": 262144, - "max_completion_tokens": 262144, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.1e-7, - "completion": 6e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-8b:free", + "name": "Qwen3 8B (free)", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 40960, + "output": 40960 } }, { - "id": "qwen/qwen3-30b-a3b", - "name": "Qwen: Qwen3 30B A3B", - "context_length": 40960, - "max_completion_tokens": 40960, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 6e-8, - "completion": 2.2e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-coder", + "name": "Qwen3 Coder", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.3, + "output": 1.2 + }, + "limit": { + "context": 262144, + "output": 66536 } }, { - "id": "qwen/qwen3-30b-a3b-instruct", - "name": "Qwen: Qwen3 30B A3B Instruct 2507", - "context_length": 262144, - "max_completion_tokens": 262144, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 8e-8, - "completion": 3.3e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-coder-30b-a3b-instruct", + "name": "Qwen3 Coder 30B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-31", + "last_updated": "2025-07-31", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.07, + "output": 0.27 + }, + "limit": { + "context": 160000, + "output": 65536 } }, { - "id": "qwen/qwen3-30b-a3b-thinking", - "name": "Qwen: Qwen3 30B A3B Thinking 2507", - "context_length": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 5.1e-8, - "completion": 3.4e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-coder-flash", + "name": "Qwen3 Coder Flash", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 1.5 + }, + "limit": { + "context": 128000, + "output": 66536 } }, { - "id": "qwen/qwen3-32b", - "name": "Qwen: Qwen3 32B", - "context_length": 40960, - "max_completion_tokens": 40960, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 8e-8, - "completion": 2.4e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-coder:exacto", + "name": "Qwen3 Coder (exacto)", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.38, + "output": 1.53 + }, + "limit": { + "context": 131072, + "output": 32768 } }, { - "id": "qwen/qwen3-8b", - "name": "Qwen: Qwen3 8B", - "context_length": 32000, - "max_completion_tokens": 8192, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 5e-8, - "completion": 2.5e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-coder:free", + "name": "Qwen3 Coder 480B A35B Instruct (free)", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 262144, + "output": 66536 } }, { - "id": "qwen/qwen3-coder", - "name": "Qwen: Qwen3 Coder 480B A35B", - "context_length": 262144, - "max_completion_tokens": 262144, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2.2e-7, - "completion": 9.5e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-max", + "name": "Qwen3 Max", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 1.2, + "output": 6.0 + }, + "limit": { + "context": 262144, + "output": 32768 } }, { - "id": "qwen/qwen3-coder-30b-a3b-instruct", - "name": "Qwen: Qwen3 Coder 30B A3B Instruct", - "context_length": 160000, - "max_completion_tokens": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 7e-8, - "completion": 2.7e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-11", + "last_updated": "2025-09-11", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.14, + "output": 1.4 + }, + "limit": { + "context": 262144, + "output": 262144 } }, { - "id": "qwen/qwen3-coder-flash", - "name": "Qwen: Qwen3 Coder Flash", - "context_length": 128000, - "max_completion_tokens": 65536, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-7, - "completion": 1.5e-6, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B Thinking", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-11", + "last_updated": "2025-09-11", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.14, + "output": 1.4 + }, + "limit": { + "context": 262144, + "output": 262144 } }, { - "id": "qwen/qwen3-coder-plus", - "name": "Qwen: Qwen3 Coder Plus", - "context_length": 128000, - "max_completion_tokens": 65536, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1e-6, - "completion": 5e-6, - "request": 0.0, - "image": 0.0 + "id": "openrouter/qwen/qwq-32b:free", + "name": "QwQ 32B (free)", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-03-05", + "last_updated": "2025-03-05", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32768, + "output": 32768 } }, { - "id": "qwen/qwen3-max", - "name": "Qwen: Qwen3 Max", - "context_length": 256000, - "max_completion_tokens": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.2e-6, - "completion": 6e-6, - "request": 0.0, - "image": 0.0 + "id": "openrouter/rekaai/reka-flash-3", + "name": "Reka Flash 3", + "family": "reka", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32768, + "output": 8192 } }, { - "id": "qwen/qwen3-next-80b-a3b-instruct", - "name": "Qwen: Qwen3 Next 80B A3B Instruct", - "context_length": 262144, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 9e-8, - "completion": 1.1e-6, - "request": 0.0, - "image": 0.0 + "id": "openrouter/sarvamai/sarvam-m:free", + "name": "Sarvam-M (free)", + "family": "sarvam", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-25", + "last_updated": "2025-05-25", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32768, + "output": 32768 } }, { - "id": "qwen/qwen3-next-80b-a3b-thinking", - "name": "Qwen: Qwen3 Next 80B A3B Thinking", - "context_length": 128000, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.5e-7, - "completion": 1.2e-6, - "request": 0.0, - "image": 0.0 + "id": "openrouter/thudm/glm-z1-32b:free", + "name": "GLM Z1 32B (free)", + "family": "glm-z", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-17", + "last_updated": "2025-04-17", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 32768, + "output": 32768 } }, { - "id": "qwen/qwen3-vl-235b-a22b-instruct", - "name": "Qwen: Qwen3 VL 235B A22B Instruct", - "context_length": 262144, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-7, - "completion": 1.2e-6, - "request": 0.0, - "image": 0.0 + "id": "openrouter/tngtech/deepseek-r1t2-chimera:free", + "name": "DeepSeek R1T2 Chimera (free)", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-08", + "last_updated": "2025-07-08", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 163840, + "output": 163840 } }, { - "id": "qwen/qwen3-vl-235b-a22b-thinking", - "name": "Qwen: Qwen3 VL 235B A22B Thinking", - "context_length": 262144, - "max_completion_tokens": 262144, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 4.5e-7, - "completion": 3.5e-6, - "request": 0.0, - "image": 0.0 + "id": "openrouter/x-ai/grok-3", + "name": "Grok 3", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.75, + "cache_write": 15.0 + }, + "limit": { + "context": 131072, + "output": 8192 } }, { - "id": "qwen/qwen3-vl-30b-a3b-instruct", - "name": "Qwen: Qwen3 VL 30B A3B Instruct", - "context_length": 262144, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.5e-7, - "completion": 6e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/x-ai/grok-3-beta", + "name": "Grok 3 Beta", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.75, + "cache_write": 15.0 + }, + "limit": { + "context": 131072, + "output": 8192 } }, { - "id": "qwen/qwen3-vl-30b-a3b-thinking", - "name": "Qwen: Qwen3 VL 30B A3B Thinking", - "context_length": 131072, - "max_completion_tokens": 32768, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-7, - "completion": 1e-6, - "request": 0.0, - "image": 0.0 + "id": "openrouter/x-ai/grok-3-mini", + "name": "Grok 3 Mini", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 0.5, + "cache_read": 0.075, + "cache_write": 0.5 + }, + "limit": { + "context": 131072, + "output": 8192 } }, { - "id": "qwen/qwen3-vl-32b-instruct", - "name": "Qwen: Qwen3 VL 32B Instruct", - "context_length": 262144, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": false, - "pricing": { - "prompt": 5e-7, - "completion": 1.5e-6, - "request": 0.0, - "image": 0.0 + "id": "openrouter/x-ai/grok-3-mini-beta", + "name": "Grok 3 Mini Beta", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 0.5, + "cache_read": 0.075, + "cache_write": 0.5 + }, + "limit": { + "context": 131072, + "output": 8192 } }, { - "id": "qwen/qwen3-vl-8b-instruct", - "name": "Qwen: Qwen3 VL 8B Instruct", - "context_length": 131072, - "max_completion_tokens": 32768, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 8e-8, - "completion": 5e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/x-ai/grok-4", + "name": "Grok 4", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.75, + "cache_write": 15.0 + }, + "limit": { + "context": 256000, + "output": 64000 } }, { - "id": "qwen/qwen3-vl-8b-thinking", - "name": "Qwen: Qwen3 VL 8B Thinking", - "context_length": 256000, - "max_completion_tokens": 32768, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.8e-7, - "completion": 2.1e-6, - "request": 0.0, - "image": 0.0 + "id": "openrouter/x-ai/grok-4-fast", + "name": "Grok 4 Fast", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-08-19", + "last_updated": "2025-08-19", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05, + "cache_write": 0.05 + }, + "limit": { + "context": 2000000, + "output": 30000 } }, { - "id": "qwen/qwq-32b", - "name": "Qwen: QwQ 32B", - "context_length": 32768, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 1.5e-7, - "completion": 4e-7, - "request": 0.0, - "image": 0.0 + "id": "openrouter/x-ai/grok-4.1-fast", + "name": "Grok 4.1 Fast", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05, + "cache_write": 0.05 + }, + "limit": { + "context": 2000000, + "output": 30000 + } + }, + { + "id": "openrouter/x-ai/grok-code-fast-1", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 + }, + "limit": { + "context": 256000, + "output": 10000 + } + }, + { + "id": "openrouter/z-ai/glm-4.5", + "name": "GLM 4.5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.6, + "output": 2.2 + }, + "limit": { + "context": 128000, + "output": 96000 + } + }, + { + "id": "openrouter/z-ai/glm-4.5-air", + "name": "GLM 4.5 Air", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.2, + "output": 1.1 + }, + "limit": { + "context": 128000, + "output": 96000 + } + }, + { + "id": "openrouter/z-ai/glm-4.5-air:free", + "name": "GLM 4.5 Air (free)", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.0, + "output": 0.0 + }, + "limit": { + "context": 128000, + "output": 96000 + } + }, + { + "id": "openrouter/z-ai/glm-4.5v", + "name": "GLM 4.5V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.6, + "output": 1.8 + }, + "limit": { + "context": 64000, + "output": 16384 + } + }, + { + "id": "openrouter/z-ai/glm-4.6", + "name": "GLM 4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11 + }, + "limit": { + "context": 200000, + "output": 128000 + } + }, + { + "id": "openrouter/z-ai/glm-4.6:exacto", + "name": "GLM 4.6 (exacto)", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.6, + "output": 1.9, + "cache_read": 0.11 + }, + "limit": { + "context": 200000, + "output": 128000 + } + }, + { + "id": "openrouter/z-ai/glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11 + }, + "limit": { + "context": 204800, + "output": 131072 + } + }, + { + "id": "venice/claude-opus-45", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-12-06", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 6.0, + "output": 30.0, + "cache_read": 0.6, + "cache_write": 7.5 + }, + "limit": { + "context": 198000, + "output": 49500 + } + }, + { + "id": "venice/claude-sonnet-45", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-01-15", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.75, + "output": 18.75, + "cache_read": 0.375, + "cache_write": 4.69 + }, + "limit": { + "context": 198000, + "output": 49500 + } + }, + { + "id": "venice/deepseek-v3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-10", + "release_date": "2025-12-04", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.4, + "output": 1.0, + "cache_read": 0.2 + }, + "limit": { + "context": 160000, + "output": 40000 + } + }, + { + "id": "venice/gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-19", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.7, + "output": 3.75, + "cache_read": 0.07 + }, + "limit": { + "context": 256000, + "output": 64000 + } + }, + { + "id": "venice/gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-12-02", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.5, + "output": 15.0, + "cache_read": 0.625 + }, + "limit": { + "context": 198000, + "output": 49500 + } + }, + { + "id": "venice/google-gemma-3-27b-it", + "name": "Google Gemma 3 27B Instruct", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-11-04", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.12, + "output": 0.2 + }, + "limit": { + "context": 198000, + "output": 49500 + } + }, + { + "id": "venice/grok-41-fast", + "name": "Grok 4.1 Fast", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-12-01", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.5, + "output": 1.25, + "cache_read": 0.125 + }, + "limit": { + "context": 256000, + "output": 64000 + } + }, + { + "id": "venice/grok-code-fast-1", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-01", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.25, + "output": 1.87, + "cache_read": 0.03 + }, + "limit": { + "context": 256000, + "output": 64000 + } + }, + { + "id": "venice/hermes-3-llama-3.1-405b", + "name": "Hermes 3 Llama 3.1 405b", + "family": "hermes", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-25", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 1.1, + "output": 3.0 + }, + "limit": { + "context": 128000, + "output": 32000 + } + }, + { + "id": "venice/kimi-k2-5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2026-01-27", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.75, + "output": 3.75, + "cache_read": 0.125 + }, + "limit": { + "context": 256000, + "output": 64000 + } + }, + { + "id": "venice/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-12-10", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.75, + "output": 3.2, + "cache_read": 0.375 + }, + "limit": { + "context": 256000, + "output": 64000 + } + }, + { + "id": "venice/llama-3.2-3b", + "name": "Llama 3.2 3B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-10-03", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.15, + "output": 0.6 + }, + "limit": { + "context": 128000, + "output": 32000 + } + }, + { + "id": "venice/llama-3.3-70b", + "name": "Llama 3.3 70B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2025-04-06", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.7, + "output": 2.8 + }, + "limit": { + "context": 128000, + "output": 32000 + } + }, + { + "id": "venice/minimax-m21", + "name": "MiniMax M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-01", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.04 + }, + "limit": { + "context": 198000, + "output": 49500 + } + }, + { + "id": "venice/mistral-31-24b", + "name": "Venice Medium", + "family": "mistral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2025-03-18", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.5, + "output": 2.0 + }, + "limit": { + "context": 128000, + "output": 32000 + } + }, + { + "id": "venice/openai-gpt-52", + "name": "GPT-5.2", + "family": "gpt", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2025-12-13", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.19, + "output": 17.5, + "cache_read": 0.219 + }, + "limit": { + "context": 256000, + "output": 64000 + } + }, + { + "id": "venice/openai-gpt-52-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-01-15", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.19, + "output": 17.5, + "cache_read": 0.219 + }, + "limit": { + "context": 256000, + "output": 64000 + } + }, + { + "id": "venice/openai-gpt-oss-120b", + "name": "OpenAI GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-11-06", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.07, + "output": 0.3 + }, + "limit": { + "context": 128000, + "output": 32000 + } + }, + { + "id": "venice/qwen3-235b-a22b-instruct", + "name": "Qwen 3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-04-29", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.15, + "output": 0.75 + }, + "limit": { + "context": 128000, + "output": 32000 + } + }, + { + "id": "venice/qwen3-235b-a22b-thinking", + "name": "Qwen 3 235B A22B Thinking 2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-04-29", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.45, + "output": 3.5 + }, + "limit": { + "context": 128000, + "output": 32000 + } + }, + { + "id": "venice/qwen3-4b", + "name": "Venice Small", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-04-29", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.05, + "output": 0.15 + }, + "limit": { + "context": 32000, + "output": 8000 + } + }, + { + "id": "venice/qwen3-coder-480b-a35b-instruct", + "name": "Qwen 3 Coder 480b", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-04-29", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.75, + "output": 3.0 + }, + "limit": { + "context": 256000, + "output": 64000 + } + }, + { + "id": "venice/qwen3-next-80b", + "name": "Qwen 3 Next 80b", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-04-29", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.35, + "output": 1.9 + }, + "limit": { + "context": 256000, + "output": 64000 + } + }, + { + "id": "venice/qwen3-vl-235b-a22b", + "name": "Qwen3 VL 235B", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-01-16", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.25, + "output": 1.5 + }, + "limit": { + "context": 256000, + "output": 64000 + } + }, + { + "id": "venice/venice-uncensored", + "name": "Venice Uncensored 1.1", + "family": "venice", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2025-03-18", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.2, + "output": 0.9 + }, + "limit": { + "context": 32000, + "output": 8000 + } + }, + { + "id": "venice/zai-org-glm-4.7", + "name": "GLM 4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-24", + "last_updated": "2026-01-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": true, + "cost": { + "input": 0.55, + "output": 2.65, + "cache_read": 0.11 + }, + "limit": { + "context": 198000, + "output": 49500 + } + }, + { + "id": "x-ai/grok-2", + "name": "Grok 2 (1212)", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-12-12", + "last_updated": "2024-12-12", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.0, + "output": 10.0, + "cache_read": 2.0 + }, + "limit": { + "context": 131072, + "output": 8192 + } + }, + { + "id": "x-ai/grok-2-vision", + "name": "Grok 2 Vision Latest", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-08-20", + "last_updated": "2024-12-12", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 2.0, + "output": 10.0, + "cache_read": 2.0 + }, + "limit": { + "context": 8192, + "output": 4096 } }, { "id": "x-ai/grok-3", - "name": "xAI: Grok 3", - "context_length": 131072, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-6, - "completion": 0.000015, - "request": 0.0, - "image": 0.0 + "name": "Grok 3 Latest", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.75 + }, + "limit": { + "context": 131072, + "output": 8192 + } + }, + { + "id": "x-ai/grok-3-fast", + "name": "Grok 3 Fast Latest", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 5.0, + "output": 25.0, + "cache_read": 1.25 + }, + "limit": { + "context": 131072, + "output": 8192 } }, { "id": "x-ai/grok-3-mini", - "name": "xAI: Grok 3 Mini", - "context_length": 131072, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-7, - "completion": 5e-7, - "request": 0.0, - "image": 0.0 + "name": "Grok 3 Mini Latest", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.3, + "output": 0.5, + "cache_read": 0.075 + }, + "limit": { + "context": 131072, + "output": 8192 + } + }, + { + "id": "x-ai/grok-3-mini-fast", + "name": "Grok 3 Mini Fast", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.6, + "output": 4.0, + "cache_read": 0.15 + }, + "limit": { + "context": 131072, + "output": 8192 } }, { "id": "x-ai/grok-4", - "name": "xAI: Grok 4", - "context_length": 256000, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 3e-6, - "completion": 0.000015, - "request": 0.0, - "image": 0.0 + "name": "Grok 4", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 3.0, + "output": 15.0, + "cache_read": 0.75 + }, + "limit": { + "context": 256000, + "output": 64000 } }, { "id": "x-ai/grok-4-fast", - "name": "xAI: Grok 4 Fast", - "context_length": 2000000, - "max_completion_tokens": 30000, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-7, - "completion": 5e-7, - "request": 0.0, - "image": 0.0 + "name": "Grok 4 Fast", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + }, + "limit": { + "context": 2000000, + "output": 30000 + } + }, + { + "id": "x-ai/grok-4-fast-non", + "name": "Grok 4 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + }, + "limit": { + "context": 2000000, + "output": 30000 } }, { "id": "x-ai/grok-4.1-fast", - "name": "xAI: Grok 4.1 Fast", - "context_length": 2000000, - "max_completion_tokens": 30000, - "input_modalities": [ - "image", - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-7, - "completion": 5e-7, - "request": 0.0, - "image": 0.0 + "name": "Grok 4.1 Fast", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + }, + "limit": { + "context": 2000000, + "output": 30000 + } + }, + { + "id": "x-ai/grok-4.1-fast-non", + "name": "Grok 4.1 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + }, + "limit": { + "context": 2000000, + "output": 30000 + } + }, + { + "id": "x-ai/grok-beta", + "name": "Grok Beta", + "family": "grok-beta", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 5.0, + "output": 15.0, + "cache_read": 5.0 + }, + "limit": { + "context": 131072, + "output": 4096 } }, { "id": "x-ai/grok-code-fast-1", - "name": "xAI: Grok Code Fast 1", - "context_length": 256000, - "max_completion_tokens": 10000, - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "supports_tools": true, - "pricing": { - "prompt": 2e-7, - "completion": 1.5e-6, - "request": 0.0, - "image": 0.0 + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 + }, + "limit": { + "context": 256000, + "output": 10000 + } + }, + { + "id": "x-ai/grok-vision-beta", + "name": "Grok Vision Beta", + "family": "grok-vision", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "open_weights": false, + "cost": { + "input": 5.0, + "output": 15.0, + "cache_read": 5.0 + }, + "limit": { + "context": 8192, + "output": 4096 } } ] \ No newline at end of file diff --git a/crates/goose/src/providers/canonical/mod.rs b/crates/goose/src/providers/canonical/mod.rs index b7d0e560..847257c7 100644 --- a/crates/goose/src/providers/canonical/mod.rs +++ b/crates/goose/src/providers/canonical/mod.rs @@ -2,7 +2,7 @@ mod model; mod name_builder; mod registry; -pub use model::{CanonicalModel, Pricing}; +pub use model::{CanonicalModel, Limit, Modalities, Modality, Pricing}; pub use name_builder::{canonical_name, map_to_canonical_model, strip_version_suffix}; pub use registry::CanonicalModelRegistry; @@ -23,6 +23,13 @@ impl ModelMapping { pub fn maybe_get_canonical_model(provider: &str, model: &str) -> Option { let registry = CanonicalModelRegistry::bundled().ok()?; + + // map_to_canonical_model returns the canonical ID (provider/model) + // Parse it to get provider and model parts for registry lookup let canonical_id = map_to_canonical_model(provider, model, registry)?; - registry.get(&canonical_id).cloned() + if let Some((canon_provider, canon_model)) = canonical_id.split_once('/') { + registry.get(canon_provider, canon_model).cloned() + } else { + None + } } diff --git a/crates/goose/src/providers/canonical/model.rs b/crates/goose/src/providers/canonical/model.rs index 77108b49..e2336815 100644 --- a/crates/goose/src/providers/canonical/model.rs +++ b/crates/goose/src/providers/canonical/model.rs @@ -1,53 +1,120 @@ use serde::{Deserialize, Serialize}; -/// Pricing information for a model (all costs in USD per token) -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct Pricing { - /// Cost per prompt token - #[serde(skip_serializing_if = "Option::is_none")] - pub prompt: Option, - - /// Cost per completion token - #[serde(skip_serializing_if = "Option::is_none")] - pub completion: Option, - - /// Cost per request - #[serde(skip_serializing_if = "Option::is_none")] - pub request: Option, - - /// Cost per image - #[serde(skip_serializing_if = "Option::is_none")] - pub image: Option, +/// Modality types for model input/output +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)] +#[serde(rename_all = "lowercase")] +pub enum Modality { + Text, + Image, + Audio, + Video, + Pdf, +} + +fn deserialize_modalities<'de, D>(deserializer: D) -> Result, D::Error> +where + D: serde::Deserializer<'de>, +{ + let strings: Vec = Vec::deserialize(deserializer)?; + Ok(strings + .into_iter() + .filter_map(|s| serde_json::from_value(serde_json::Value::String(s)).ok()) + .collect()) +} + +#[derive(Debug, Clone, Serialize, Deserialize, Default)] +pub struct Modalities { + /// Input modalities (e.g., [Text, Image, Pdf]) + #[serde(default, deserialize_with = "deserialize_modalities")] + pub input: Vec, + + /// Output modalities (e.g., [Text]) + #[serde(default, deserialize_with = "deserialize_modalities")] + pub output: Vec, +} + +#[derive(Debug, Clone, Serialize, Deserialize, Default)] +pub struct Pricing { + /// Cost in USD per million input tokens + #[serde(skip_serializing_if = "Option::is_none")] + pub input: Option, + + /// Cost in USD per million output tokens + #[serde(skip_serializing_if = "Option::is_none")] + pub output: Option, + + /// Cost per million cached read tokens + #[serde(skip_serializing_if = "Option::is_none")] + pub cache_read: Option, + + /// Cost per million cached write tokens + #[serde(skip_serializing_if = "Option::is_none")] + pub cache_write: Option, +} + +#[derive(Debug, Clone, Serialize, Deserialize, Default)] +pub struct Limit { + /// Maximum context window size in tokens + pub context: usize, + + /// Maximum output/completion tokens + #[serde(skip_serializing_if = "Option::is_none")] + pub output: Option, } -/// Canonical representation of a model #[derive(Debug, Clone, Serialize, Deserialize)] pub struct CanonicalModel { - /// Model identifier (e.g., "anthropic/claude-3-5-sonnet" or "openai/gpt-4o:extended") + /// Model identifier (e.g., "anthropic/claude-3-5-sonnet") pub id: String, - /// Human-readable name (e.g., "Claude 3.5 Sonnet") + /// Human-readable name (e.g., "Claude Sonnet 3.5 v2") pub name: String, - /// Maximum context window size in tokens - pub context_length: usize, - - /// Maximum completion tokens + /// Model family (e.g., "claude-sonnet", "gpt") #[serde(skip_serializing_if = "Option::is_none")] - pub max_completion_tokens: Option, + pub family: Option, - /// Input modalities supported (e.g., ["text", "image"]) - #[serde(default)] - pub input_modalities: Vec, + /// Whether the model supports attachments + #[serde(skip_serializing_if = "Option::is_none")] + pub attachment: Option, - /// Output modalities supported (e.g., ["text"]) - #[serde(default)] - pub output_modalities: Vec, + /// Whether the model supports reasoning/thinking + #[serde(skip_serializing_if = "Option::is_none")] + pub reasoning: Option, /// Whether the model supports tool calling #[serde(default)] - pub supports_tools: bool, + pub tool_call: bool, - /// Pricing for this model - pub pricing: Pricing, + /// Whether the model supports temperature parameter + #[serde(skip_serializing_if = "Option::is_none")] + pub temperature: Option, + + /// Knowledge cutoff date (e.g., "2024-04-30") + #[serde(skip_serializing_if = "Option::is_none")] + pub knowledge: Option, + + /// Release date (e.g., "2024-10-22") + #[serde(skip_serializing_if = "Option::is_none")] + pub release_date: Option, + + /// Last updated date (e.g., "2024-10-22") + #[serde(skip_serializing_if = "Option::is_none")] + pub last_updated: Option, + + /// Input and output modalities + #[serde(default)] + pub modalities: Modalities, + + /// Whether the model has open weights + #[serde(skip_serializing_if = "Option::is_none")] + pub open_weights: Option, + + /// Pricing information + #[serde(default)] + pub cost: Pricing, + + /// Token limits + #[serde(default)] + pub limit: Limit, } diff --git a/crates/goose/src/providers/canonical/name_builder.rs b/crates/goose/src/providers/canonical/name_builder.rs index 03953fce..93bc7668 100644 --- a/crates/goose/src/providers/canonical/name_builder.rs +++ b/crates/goose/src/providers/canonical/name_builder.rs @@ -1,19 +1,17 @@ use once_cell::sync::Lazy; use regex::Regex; +// Patterns for normalizing version numbers and stripping suffixes static NORMALIZE_VERSION_RE: Lazy = Lazy::new(|| Regex::new(r"-(\d)-(\d)(-|$)").unwrap()); static STRIP_PATTERNS: Lazy> = Lazy::new(|| { vec![ Regex::new(r"-latest$").unwrap(), - Regex::new(r"-preview(-\d+)*$").unwrap(), - Regex::new(r"-exp(-\d+)*$").unwrap(), - Regex::new(r":exacto$").unwrap(), Regex::new(r"-\d{8}$").unwrap(), + Regex::new(r"-\d{4}$").unwrap(), Regex::new(r"-\d{4}-\d{2}-\d{2}$").unwrap(), - Regex::new(r"-v\d+(\.\d+)*$").unwrap(), - Regex::new(r"-\d{3,}$").unwrap(), Regex::new(r"-bedrock$").unwrap(), + Regex::new(r"-reasoning$").unwrap(), ] }); @@ -33,23 +31,22 @@ static CLAUDE_PATTERNS: Lazy> = Lazy::new(|| { /// Build canonical model name from provider and model identifiers pub fn canonical_name(provider: &str, model: &str) -> String { let model_base = strip_version_suffix(model); - - // OpenRouter models are already in canonical format - if provider == "openrouter" { - model_base - } else { - format!("{}/{}", provider, model_base) - } + format!("{}/{}", provider, model_base) } -/// Try to build a canonical name and check if it exists in the registry -fn try_canonical( - provider: &str, - model: &str, - registry: &super::CanonicalModelRegistry, -) -> Option { - let candidate = canonical_name(provider, model); - registry.get(&candidate).map(|_| candidate) +fn is_meta_provider(provider: &str) -> bool { + matches!(provider, "databricks" | "tetrate" | "bedrock" | "azure") +} + +fn map_provider_name(provider: &str) -> &str { + match provider { + // Goose provider names that differ from models.dev names + "xai" => "x-ai", + "azure_openai" => "azure", + "aws_bedrock" => "amazon-bedrock", + "gcp_vertex_ai" => "google-vertex", + _ => provider, + } } /// Try to map a provider/model pair to a canonical model @@ -58,53 +55,51 @@ pub fn map_to_canonical_model( model: &str, registry: &super::CanonicalModelRegistry, ) -> Option { - // Try direct mapping first - if let Some(candidate) = try_canonical(provider, model, registry) { - return Some(candidate); + let registry_provider = map_provider_name(provider); + + // For normal providers (anthropic, openai, google, openrouter, etc.), just do direct lookup + if !is_meta_provider(provider) { + let normalized_model = strip_version_suffix(model); + if let Some(canonical) = registry.get(registry_provider, &normalized_model) { + return Some(canonical.id.clone()); + } + // Also try original model name + if let Some(canonical) = registry.get(registry_provider, model) { + return Some(canonical.id.clone()); + } + return None; } - // Try with common prefixes stripped + // For hosting/meta-providers do string matching magic to figure out the real provider and model let model_stripped = strip_common_prefixes(model); - if model_stripped != model { - if let Some(candidate) = try_canonical(provider, &model_stripped, registry) { - return Some(candidate); - } - } - // Try word-order swapping for Claude models (claude-4-opus ↔ claude-opus-4) if let Some(swapped) = swap_claude_word_order(&model_stripped) { - if let Some(candidate) = try_canonical(provider, &swapped, registry) { - return Some(candidate); - } - - if is_hosting_provider(provider) { - if let Some(inferred) = infer_provider_from_model(&swapped) { - if let Some(candidate) = try_canonical(inferred, &swapped, registry) { - return Some(candidate); - } + if let Some(inferred_provider) = infer_provider_from_model(&swapped) { + let normalized = strip_version_suffix(&swapped); + if let Some(canonical) = registry.get(inferred_provider, &normalized) { + return Some(canonical.id.clone()); } } } - // For hosting providers, try to infer the real provider from model name patterns - if is_hosting_provider(provider) { - if let Some(inferred_provider) = infer_provider_from_model(&model_stripped) { - if let Some(candidate) = try_canonical(inferred_provider, &model_stripped, registry) { - return Some(candidate); - } - } - - if let Some(inferred) = infer_provider_from_model(model) { - if let Some(candidate) = try_canonical(inferred, model, registry) { - return Some(candidate); - } + if let Some(inferred_provider) = infer_provider_from_model(&model_stripped) { + let normalized = strip_version_suffix(&model_stripped); + if let Some(canonical) = registry.get(inferred_provider, &normalized) { + return Some(canonical.id.clone()); + } + } + + if let Some(inferred_provider) = infer_provider_from_model(model) { + let normalized = strip_version_suffix(model); + if let Some(canonical) = registry.get(inferred_provider, &normalized) { + return Some(canonical.id.clone()); } } - // For provider-prefixed models like "databricks-meta-llama-3-1-70b" if let Some((extracted_provider, extracted_model)) = extract_provider_prefix(&model_stripped) { - if let Some(candidate) = try_canonical(extracted_provider, extracted_model, registry) { - return Some(candidate); + let normalized = strip_version_suffix(extracted_model); + if let Some(canonical) = registry.get(extracted_provider, &normalized) { + return Some(canonical.id.clone()); } } @@ -132,13 +127,6 @@ fn swap_claude_word_order(model: &str) -> Option { None } -fn is_hosting_provider(provider: &str) -> bool { - matches!( - provider, - "databricks" | "openrouter" | "azure" | "bedrock" | "chatgpt_codex" - ) -} - /// Infer the real provider from model name patterns fn infer_provider_from_model(model: &str) -> Option<&'static str> { let model_lower = model.to_lowercase(); @@ -316,10 +304,10 @@ mod tests { Some("openai/gpt-4-turbo".to_string()) ); - // === OpenRouter (already canonical format) === + // === OpenRouter === assert_eq!( - map_to_canonical_model("openrouter", "anthropic/claude-3.5-sonnet", r), - Some("anthropic/claude-3.5-sonnet".to_string()) + map_to_canonical_model("openrouter", "anthropic/claude-sonnet-4.5", r), + Some("openrouter/anthropic/claude-sonnet-4.5".to_string()) ); // === Anthropic Claude - basic === @@ -412,8 +400,8 @@ mod tests { // === Meta Llama === assert_eq!( - map_to_canonical_model("databricks", "meta-llama-3-1-70b-instruct", r), - Some("meta-llama/llama-3.1-70b-instruct".to_string()) + map_to_canonical_model("databricks", "meta-llama-3-3-70b-instruct", r), + Some("meta-llama/llama-3.3-70b-instruct".to_string()) ); // === Mistral variants === @@ -422,8 +410,8 @@ mod tests { Some("mistralai/codestral".to_string()) ); assert_eq!( - map_to_canonical_model("databricks", "ministral-8b", r), - Some("mistralai/ministral-8b".to_string()) + map_to_canonical_model("databricks", "ministral-3b", r), + Some("mistralai/ministral-3b".to_string()) ); // === DeepSeek === @@ -432,18 +420,8 @@ mod tests { Some("deepseek/deepseek-chat".to_string()) ); assert_eq!( - map_to_canonical_model("databricks", "deepseek-r1", r), - Some("deepseek/deepseek-r1".to_string()) - ); - - // === Qwen === - assert_eq!( - map_to_canonical_model("databricks", "qwen-2-5-72b-instruct", r), - Some("qwen/qwen-2.5-72b-instruct".to_string()) - ); - assert_eq!( - map_to_canonical_model("databricks", "goose-qwen-2-5-72b-instruct", r), - Some("qwen/qwen-2.5-72b-instruct".to_string()) + map_to_canonical_model("databricks", "deepseek-reasoner", r), + Some("deepseek/deepseek-reasoner".to_string()) ); // === Grok (X.AI) === @@ -460,23 +438,14 @@ mod tests { Some("x-ai/grok-4-fast".to_string()) ); - // === Jamba (AI21) === - assert_eq!( - map_to_canonical_model("databricks", "jamba-large-1-7", r), - Some("ai21/jamba-large-1.7".to_string()) - ); - assert_eq!( - map_to_canonical_model("databricks", "databricks-jamba-large-1-7", r), - Some("ai21/jamba-large-1.7".to_string()) - ); - // === Cohere Command === + // Note: version suffix "-2024" is stripped by canonical_name assert_eq!( - map_to_canonical_model("databricks", "command-r-plus-08", r), + map_to_canonical_model("databricks", "command-r-plus-08-2024", r), Some("cohere/command-r-plus-08".to_string()) ); assert_eq!( - map_to_canonical_model("databricks", "goose-command-r-08", r), + map_to_canonical_model("databricks", "goose-command-r-08-2024", r), Some("cohere/command-r-08".to_string()) ); @@ -494,17 +463,13 @@ mod tests { Some("google/gemini-2.5-flash".to_string()) ); assert_eq!( - map_to_canonical_model("databricks", "mistralai-mistral-large", r), - Some("mistralai/mistral-large".to_string()) + map_to_canonical_model("databricks", "mistralai-codestral", r), + Some("mistralai/codestral".to_string()) ); assert_eq!( map_to_canonical_model("databricks", "deepseek-deepseek-chat", r), Some("deepseek/deepseek-chat".to_string()) ); - assert_eq!( - map_to_canonical_model("databricks", "qwen-qwen-2-5-72b-instruct", r), - Some("qwen/qwen-2.5-72b-instruct".to_string()) - ); assert_eq!( map_to_canonical_model("databricks", "x-ai-grok-3", r), Some("x-ai/grok-3".to_string()) diff --git a/crates/goose/src/providers/canonical/registry.rs b/crates/goose/src/providers/canonical/registry.rs index b601bfca..bbb25c92 100644 --- a/crates/goose/src/providers/canonical/registry.rs +++ b/crates/goose/src/providers/canonical/registry.rs @@ -13,7 +13,12 @@ static BUNDLED_REGISTRY: Lazy> = Lazy::new(|| { let mut registry = CanonicalModelRegistry::new(); for model in models { - registry.register(model); + // Extract provider and model from id (format: "provider/model") + if let Some((provider, model_name)) = model.id.split_once('/') { + let provider = provider.to_string(); + let model_name = model_name.to_string(); + registry.register(&provider, &model_name, model); + } } Ok(registry) @@ -21,7 +26,8 @@ static BUNDLED_REGISTRY: Lazy> = Lazy::new(|| { #[derive(Debug, Clone)] pub struct CanonicalModelRegistry { - models: HashMap, + // Key: (provider, model) tuple + models: HashMap<(String, String), CanonicalModel>, } impl CanonicalModelRegistry { @@ -46,7 +52,11 @@ impl CanonicalModelRegistry { let mut registry = Self::new(); for model in models { - registry.register(model); + if let Some((provider, model_name)) = model.id.split_once('/') { + let provider = provider.to_string(); + let model_name = model_name.to_string(); + registry.register(&provider, &model_name, model); + } } Ok(registry) @@ -64,12 +74,13 @@ impl CanonicalModelRegistry { Ok(()) } - pub fn register(&mut self, model: CanonicalModel) { - self.models.insert(model.id.clone(), model); + pub fn register(&mut self, provider: &str, model: &str, canonical_model: CanonicalModel) { + self.models + .insert((provider.to_string(), model.to_string()), canonical_model); } - pub fn get(&self, name: &str) -> Option<&CanonicalModel> { - self.models.get(name) + pub fn get(&self, provider: &str, model: &str) -> Option<&CanonicalModel> { + self.models.get(&(provider.to_string(), model.to_string())) } pub fn all_models(&self) -> Vec<&CanonicalModel> { @@ -79,10 +90,6 @@ impl CanonicalModelRegistry { pub fn count(&self) -> usize { self.models.len() } - - pub fn contains(&self, name: &str) -> bool { - self.models.contains_key(name) - } } impl Default for CanonicalModelRegistry { diff --git a/crates/goose/src/providers/utils.rs b/crates/goose/src/providers/utils.rs index 403d6026..b3cd68a8 100644 --- a/crates/goose/src/providers/utils.rs +++ b/crates/goose/src/providers/utils.rs @@ -90,6 +90,7 @@ fn check_context_length_exceeded(text: &str) -> bool { "max_tokens", "decrease input length", "context limit", + "maximum prompt length", ]; let text_lower = text.to_lowercase(); check_phrases diff --git a/crates/goose/src/providers/xai.rs b/crates/goose/src/providers/xai.rs index 6b53c8ef..908bc73f 100644 --- a/crates/goose/src/providers/xai.rs +++ b/crates/goose/src/providers/xai.rs @@ -176,4 +176,34 @@ impl Provider for XaiProvider { stream_openai_compat(response, log) } + + async fn fetch_supported_models(&self) -> Result>, ProviderError> { + let response = self.api_client.response_get(None, "models").await?; + let json = handle_response_openai_compat(response).await?; + + if let Some(err_obj) = json.get("error") { + let msg = err_obj + .get("message") + .and_then(|v| v.as_str()) + .unwrap_or("unknown error"); + return Err(ProviderError::Authentication(msg.to_string())); + } + + let data = json.get("data").and_then(|v| v.as_array()); + match data { + Some(arr) => { + let mut models: Vec = arr + .iter() + .filter_map(|m| { + m.get("id") + .and_then(|id| id.as_str()) + .map(|s| s.to_string()) + }) + .collect(); + models.sort(); + Ok(Some(models)) + } + None => Ok(None), + } + } } diff --git a/crates/goose/tests/providers.rs b/crates/goose/tests/providers.rs index 68a41bb8..4c116a31 100644 --- a/crates/goose/tests/providers.rs +++ b/crates/goose/tests/providers.rs @@ -247,10 +247,10 @@ impl ProviderTester { dbg!(&result); println!("==================="); - if self.name.to_lowercase() == "ollama" { + if self.name.to_lowercase() == "ollama" || self.name.to_lowercase() == "openrouter" { assert!( result.is_ok(), - "Expected to succeed because of default truncation" + "Expected to succeed because of default truncation or large context window" ); return Ok(()); } diff --git a/ui/desktop/openapi.json b/ui/desktop/openapi.json index 60325a46..1d73a0e1 100644 --- a/ui/desktop/openapi.json +++ b/ui/desktop/openapi.json @@ -4868,7 +4868,7 @@ "input_token_cost": { "type": "number", "format": "double", - "description": "Cost per token for input (optional)", + "description": "Cost per token for input in USD (optional)", "nullable": true }, "name": { @@ -4878,7 +4878,7 @@ "output_token_cost": { "type": "number", "format": "double", - "description": "Cost per token for output (optional)", + "description": "Cost per token for output in USD (optional)", "nullable": true }, "supports_cache_control": { diff --git a/ui/desktop/src/api/types.gen.ts b/ui/desktop/src/api/types.gen.ts index 03fbf727..c832673b 100644 --- a/ui/desktop/src/api/types.gen.ts +++ b/ui/desktop/src/api/types.gen.ts @@ -573,7 +573,7 @@ export type ModelInfo = { */ currency?: string | null; /** - * Cost per token for input (optional) + * Cost per token for input in USD (optional) */ input_token_cost?: number | null; /** @@ -581,7 +581,7 @@ export type ModelInfo = { */ name: string; /** - * Cost per token for output (optional) + * Cost per token for output in USD (optional) */ output_token_cost?: number | null; /**