From faa846649637befc4b2b57773c7a4a3ae26e3e5e Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Fri, 23 Jan 2026 10:16:03 -0300 Subject: [PATCH] fix: names Signed-off-by: Carlos Alexandro Becker --- CRUSH.md | 32 + cmd/aihubmix/main.go | 3 +- internal/names/model.go | 429 ++++ internal/providers/configs/aihubmix.json | 2771 +++++++--------------- 4 files changed, 1304 insertions(+), 1931 deletions(-) create mode 100644 internal/names/model.go diff --git a/CRUSH.md b/CRUSH.md index ef9e3cc87e236689b3949b2eb712b23100394898..b0434dec6f2dcd632ca9b1e1c14115836b33fb8c 100644 --- a/CRUSH.md +++ b/CRUSH.md @@ -20,6 +20,38 @@ - JSON: Use `json.MarshalIndent` for pretty output, validate unmarshaling - File permissions: Use 0o600 for sensitive config files +## Model Names + +The `internal/names` package provides human-readable display names for model IDs. **Only use this package when the provider API does not already provide a good display name.** + +Check the API response first: +- If the API provides a `name` or `display_name` field, use that directly +- Only use `names.GetDisplayName(modelID)` when you only have a `model_id` field + +Examples: +- ✅ **Use API name**: OpenRouter API has a `name` field → use `model.Name` +- ✅ **Use names package**: AIHubMix API only has `model_id` → use `names.GetDisplayName(model.ModelID)` + +```go +import "github.com/charmbracelet/catwalk/internal/names" + +// Only when API doesn't provide a name: +model := catwalk.Model{ + ID: modelID, + Name: names.GetDisplayName(modelID), + // ... other fields +} +``` + +The names package uses: +1. Static mappings for known models (most common models) +2. Case-insensitive matching +3. Provider prefix stripping (e.g., "anthropic/claude-sonnet-4" -> matches "claude-sonnet-4") +4. Levenshtein distance fuzzy matching for unknown models +5. Smart formatting for completely unknown models (converts "3-5" to "3.5", etc.) + +To add new model mappings, edit `internal/names/model.go` and add entries to the `modelNames` map. + ## Adding more provider commands - Create the `./cmd/{provider-name}/main.go` file diff --git a/cmd/aihubmix/main.go b/cmd/aihubmix/main.go index 52b6006054e2c47f52337b978f99665636336714..ff77b7f8366a3e1f1ed4a84a8adcff931868972d 100644 --- a/cmd/aihubmix/main.go +++ b/cmd/aihubmix/main.go @@ -14,6 +14,7 @@ import ( "strings" "time" + "github.com/charmbracelet/catwalk/internal/names" "github.com/charmbracelet/catwalk/pkg/catwalk" ) @@ -140,7 +141,7 @@ func main() { aiHubMixProvider.Models = append(aiHubMixProvider.Models, catwalk.Model{ ID: model.ModelID, - Name: model.ModelID, + Name: names.GetDisplayName(model.ModelID), CostPer1MIn: parseFloat(model.Pricing.Input), CostPer1MOut: parseFloat(model.Pricing.Output), CostPer1MInCached: parseFloat(model.Pricing.CacheWrite), diff --git a/internal/names/model.go b/internal/names/model.go new file mode 100644 index 0000000000000000000000000000000000000000..0e2a3efd09d317004f67cc78489b002ad013d15d --- /dev/null +++ b/internal/names/model.go @@ -0,0 +1,429 @@ +// Package names provides utilities for generating human-readable model names +// from model IDs. It uses a combination of static mappings and Levenshtein +// distance-based fuzzy matching to provide consistent, user-friendly names. +package names + +import ( + "strings" + "unicode" +) + +// modelNames maps model IDs to their human-readable display names. +var modelNames = map[string]string{ + // Anthropic + "claude-sonnet-4-5-20250929": "Claude Sonnet 4.5", + "claude-opus-4-5-20251101": "Claude Opus 4.5", + "claude-3-5-haiku-20241022": "Claude 3.5 Haiku", + "claude-3-5-sonnet-20241022": "Claude 3.5 Sonnet", + "claude-3-opus-20240229": "Claude 3 Opus", + "claude-3-haiku-20240307": "Claude 3 Haiku", + "claude-sonnet-4": "Claude Sonnet 4", + "claude-sonnet-4-5": "Claude Sonnet 4.5", + "claude-opus-4": "Claude Opus 4", + "claude-opus-4-5": "Claude Opus 4.5", + "claude-opus-4-5-think": "Claude Opus 4.5 Think", + "claude-sonnet-4-5-20250214": "Claude Sonnet 4.5", + "claude-haiku-4-5": "Claude Haiku 4.5", + "claude-3-5-haiku": "Claude 3.5 Haiku", + "claude-3-5-sonnet": "Claude 3.5 Sonnet", + "claude-sonnet-4-0": "Claude Sonnet 4", + "claude-opus-4-0": "Claude Opus 4", + "claude-sonnet-4-5-think": "Claude Sonnet 4.5 Think", + "claude-3-7-sonnet": "Claude 3.7 Sonnet", + + // OpenAI + "gpt-5.2": "GPT-5.2", + "gpt-5.2-codex": "GPT-5.2 Codex", + "gpt-5.1-codex": "GPT-5.1 Codex", + "gpt-5.1": "GPT-5.1", + "gpt-4.1": "GPT-4.1", + "gpt-4.1-mini": "GPT-4.1 Mini", + "gpt-4.1-nano": "GPT-4.1 Nano", + "gpt-4-turbo": "GPT-4 Turbo", + "gpt-4-turbo-preview": "GPT-4 Turbo Preview", + "gpt-4-vision-preview": "GPT-4 Vision", + "gpt-3.5-turbo": "GPT-3.5 Turbo", + "gpt-3.5-turbo-16k": "GPT-3.5 Turbo 16K", + "o1-preview": "O1 Preview", + "o1-mini": "O1 Mini", + "o1": "O1", + "o3": "O3", + "o3-mini": "O3 Mini", + "o3-pro": "O3 Pro", + "o4-mini": "O4 Mini", + "gpt-5": "GPT-5", + "gpt-5-pro": "GPT-5 Pro", + "gpt-5-mini": "GPT-5 Mini", + "gpt-5-nano": "GPT-5 Nano", + "gpt-5-codex": "GPT-5 Codex", + + // DeepSeek + "deepseek-r1": "DeepSeek R1", + "deepseek-v3": "DeepSeek V3", + "deepseek-v3-fast": "DeepSeek V3 Fast", + "deepseek-v3.1-fast": "DeepSeek V3.1 Fast", + "deepseek-v3.1-terminus": "DeepSeek V3.1 Terminus", + "deepseek-v3.1-think": "DeepSeek V3.1 Think", + "deepseek-v3.2": "DeepSeek V3.2", + "deepseek-v3.2-fast": "DeepSeek V3.2 Fast", + "deepseek-v3.2-think": "DeepSeek V3.2 Think", + "deepseek-v3.2-speciale": "DeepSeek V3.2 Speciale", + "deepseek-math-v2": "DeepSeek Math V2", + "deepseek-ocr": "DeepSeek OCR", + + // Microsoft Phi + "phi-4-mini-reasoning": "Phi 4 Mini", + "phi-4-reasoning": "Phi 4", + "phi-4-mini": "Phi 4 Mini", + "phi-4": "Phi 4", + "phi-3.5-mini": "Phi 3.5 Mini", + "phi-3.5": "Phi 3.5", + "phi-3-mini": "Phi 3 Mini", + "phi-3": "Phi 3", + + // ByteDance + "bytedance-seed/seed-oss-36b-instruct": "ByteDance Seed OSS 36B", + + // Google/Gemini + "gemini-3-flash-preview": "Gemini 3.0 Flash Preview", + "gemini-3-flash-preview-free": "Gemini 3.0 Flash Preview (Free)", + "gemini-2.5-pro": "Gemini 2.5 Pro", + "gemini-2.5-flash": "Gemini 2.5 Flash", + "gemini-2.5-flash-lite": "Gemini 2.5 Flash Lite", + "gemini-2.5-flash-lite-preview-09-2025": "Gemini 2.5 Flash Lite Preview", + "gemini-2.5-flash-preview-09-2025": "Gemini 2.5 Flash Preview", + "gemini-2.5-flash-preview-05-20-nothink": "Gemini 2.5 Flash Preview (No Think)", + "gemini-2.5-flash-preview-05-20-search": "Gemini 2.5 Flash Search", + "gemini-2.5-flash-nothink": "Gemini 2.5 Flash (No Think)", + "gemini-2.5-flash-search": "Gemini 2.5 Flash Search", + "gemini-2.5-pro-preview-05-06": "Gemini 2.5 Pro Preview", + "gemini-2.5-pro-preview-06-05": "Gemini 2.5 Pro Preview", + "gemini-2.5-pro-search": "Gemini 2.5 Pro Search", + "gemini-2.0-pro-exp-02-05": "Gemini 2.0 Pro", + "gemini-2.0-flash-exp": "Gemini 2.0 Flash", + "gemini-2.0-flash-free": "Gemini 2.0 Flash (Free)", + "gemini-1.5-pro": "Gemini 1.5 Pro", + "gemini-1.5-flash": "Gemini 1.5 Flash", + "gemini-1.5-flash-8b": "Gemini 1.5 Flash 8B", + "gemini-1.0-pro": "Gemini 1.0 Pro", + + // Zhipu AI (GLM) + "glm-4.7": "GLM-4.7", + "glm-4.7-flash": "GLM-4.7 Flash", + "glm-4.6": "GLM-4.6", + "glm-4.6v": "GLM-4.6 Vision", + "glm-4.5": "GLM-4.5", + "glm-4-flash": "GLM-4 Flash", + "glm-4-plus": "GLM-4 Plus", + "glm-4-air": "GLM-4 Air", + + // Meta (Llama) + "llama-4-maverick": "Llama 4 Maverick", + "llama-4-scout": "Llama 4 Scout", + "llama-3.3-70b-instruct": "Llama 3.3 70B", + "llama-3.2-90b-vision-preview": "Llama 3.2 90B Vision", + "llama-3.2-11b-vision-preview": "Llama 3.2 11B Vision", + "llama-3.2-3b-instruct": "Llama 3.2 3B", + "llama-3.2-1b-instruct": "Llama 3.2 1B", + "llama-3.1-405b-instruct": "Llama 3.1 405B", + "llama-3.1-70b-instruct": "Llama 3.1 70B", + "llama-3.1-8b-instruct": "Llama 3.1 8B", + "llama-3-70b-instruct": "Llama 3 70B", + "llama-3-8b-instruct": "Llama 3 8B", + "llama-2-70b-chat": "Llama 2 70B", + "llama-2-13b-chat": "Llama 2 13B", + "llama-2-7b-chat": "Llama 2 7B", + + // Mistral + "mistral-large-2411": "Mistral Large", + "mistral-large-3": "Mistral Large 3", + "mistral-large-2402": "Mistral Large (2024.02)", + "mistral-medium-2312": "Mistral Medium", + "mistral-small-2402": "Mistral Small", + "mistral-7b-instruct-v0.3": "Mistral 7B v0.3", + "mixtral-8x7b-instruct-v0.1": "Mixtral 8x7B", + "mixtral-8x22b-instruct-v0.1": "Mixtral 8x22B", + "mistral-nemo": "Mistral Nemo", + "codestral-latest": "Codestral", + "codestral-2405": "Codestral", + + // Cohere + "command-r-plus": "Command R+", + "command-r-08-2024": "Command R", + "command-r7b-12-2024": "Command R7B", + "command-light": "Command Light", + "command": "Command", + + // AI21 + "jamba-large-1.7": "Jamba Large 1.7", + "jamba-mini-1.7": "Jamba Mini 1.7", + + // X.AI (Grok) + "grok-4-1-fast-non-reasoning": "Grok 4.1 Fast", + "grok-4-1-fast-reasoning": "Grok 4.1 Fast (Reasoning)", + "grok-code-fast-1": "Grok Code Fast", + "grok-2": "Grok 2", + "grok-2-1212": "Grok 2", + "grok-1-5": "Grok 1.5", + "grok-beta": "Grok Beta", + + // Alibaba (Qwen) + "qwen-2.5-coder-32b-instruct": "Qwen 2.5 Coder 32B", + "qwen-2.5-72b-instruct": "Qwen 2.5 72B", + "qwen-2.5-14b-instruct": "Qwen 2.5 14B", + "qwen-2.5-7b-instruct": "Qwen 2.5 7B", + "qwen-2.5-3b-instruct": "Qwen 2.5 3B", + "qwen-2-72b-instruct": "Qwen 2 72B", + "qwen-2-7b-instruct": "Qwen 2 7B", + "qwq-32b-preview": "Qwen QwQ 32B", + "qwq-32b": "Qwen QwQ 32B", + + // Baidu (ERNIE) + "ernie-5.0-thinking-exp": "ERNIE 5.0 Thinking", + "ernie-5.0-thinking-preview": "ERNIE 5.0 Thinking Preview", + "ernie-4.5": "ERNIE 4.5", + "ernie-4.5-turbo-latest": "ERNIE 4.5 Turbo", + "ernie-4.5-turbo-vl": "ERNIE 4.5 Turbo Vision", + "ernie-x1.1-preview": "ERNIE X1.1 Preview", + "ernie-x1-turbo": "ERNIE X1 Turbo", + + // Kimi + "kimi-for-coding-free": "Kimi for Coding (Free)", + "kimi-k2-thinking": "Kimi K2 Thinking", + "kimi-k2-0905": "Kimi K2", + "kimi-k2-0711": "Kimi K2 (0711)", + "kimi-k2-turbo-preview": "Kimi K2 Turbo Preview", + + // Qwen (Alibaba) + "qwen3-vl-235b-a22b-instruct": "Qwen3 VL 235B", + "qwen3-vl-235b-a22b-thinking": "Qwen3 VL 235B Thinking", + "qwen3-vl-30b-a3b-instruct": "Qwen3 VL 30B", + "qwen3-vl-30b-a3b-thinking": "Qwen3 VL 30B Thinking", + "qwen3-vl-plus": "Qwen3 VL Plus", + "qwen3-max": "Qwen3 Max", + "qwen3-next-80b-a3b-instruct": "Qwen3 Next 80B", + "qwen3-next-80b-a3b-thinking": "Qwen3 Next 80B Thinking", + "qwen3-235b-a22b-instruct-2507": "Qwen3 235B", + "qwen3-235b-a22b-thinking-2507": "Qwen3 235B Thinking", + "qwen3-235b-a22b": "Qwen3 235B", + "qwen3-coder-30b-a3b-instruct": "Qwen3 Coder 30B", + "qwen3-coder-480b-a35b-instruct": "Qwen3 Coder 480B", + "qwen3-coder-flash": "Qwen3 Coder Flash", + "qwen3-coder-plus": "Qwen3 Coder Plus", + "qwen3-coder-plus-2025-07-22": "Qwen3 Coder Plus", + + // Other + "kat-dev": "Kat Dev", + "jina-deepsearch-v1": "Jina DeepSearch V1", + "mimo-v2-flash-free": "Mimo V2 Flash (Free)", + "gpt-oss-120b": "GPT OSS 120B", + "gpt-oss-20b": "GPT OSS 20B", + "gpt-4o-audio-preview": "GPT-4o Audio Preview", + "gpt-4o-search-preview": "GPT-4o Search", + "gpt-4o-mini-search-preview": "GPT-4o Mini Search", + "gpt-4o-2024-11-20": "GPT-4o", + "gpt-4o": "GPT-4o", + "gpt-4o-mini": "GPT-4o Mini", + "coding-glm-4.6-free": "Coding GLM 4.6 (Free)", + "coding-minimax-m2.1": "Coding MiniMax M2.1", + "coding-minimax-m2": "Coding MiniMax M2", + "coding-minimax-m2-free": "Coding MiniMax M2 (Free)", + + // OpenRouter-specific mappings (provider/model format) + "anthropic/claude-sonnet-4": "Claude Sonnet 4", + "anthropic/claude-sonnet-4.5": "Claude Sonnet 4.5", + "anthropic/claude-3-opus": "Claude 3 Opus", + "anthropic/claude-3.5-haiku": "Claude 3.5 Haiku", + "anthropic/claude-3-haiku": "Claude 3 Haiku", + "openai/gpt-5.2": "GPT-5.2", + "openai/gpt-5.2-codex": "GPT-5.2 Codex", + "openai/gpt-5": "GPT-5", + "openai/gpt-4-turbo": "GPT-4 Turbo", + "openai/gpt-4-turbo-preview": "GPT-4 Turbo Preview", + "openai/gpt-3.5-turbo": "GPT-3.5 Turbo", + "google/gemini-pro-1.5": "Gemini 1.5 Pro", + "google/gemini-flash-1.5": "Gemini 1.5 Flash", + "meta-llama/llama-3.3-70b-instruct": "Llama 3.3 70B", + "meta-llama/llama-3.2-3b-instruct": "Llama 3.2 3B", + "meta-llama/llama-3.1-405b-instruct": "Llama 3.1 405B", + "mistralai/mistral-large": "Mistral Large", + "mistralai/mistral-medium": "Mistral Medium", + "mistralai/mistral-small": "Mistral Small", + "qwen/qwen-2.5-72b-instruct": "Qwen 2.5 72B", +} + +// GetDisplayName returns a human-readable display name for the given model ID. +// It first checks the static mapping, then attempts to find a close match using +// Levenshtein distance. If no good match is found, it returns a cleaned-up +// version of the model ID. +func GetDisplayName(modelID string) string { + // Normalize to lowercase and try exact match first + normalized := strings.ToLower(modelID) + if name, ok := modelNames[normalized]; ok { + return name + } + + // Try case-sensitive match + if name, ok := modelNames[modelID]; ok { + return name + } + + // Try without provider prefix (e.g., "anthropic/claude-sonnet-4" -> "claude-sonnet-4") + if idx := strings.LastIndex(modelID, "/"); idx != -1 { + baseModel := modelID[idx+1:] + if name, ok := modelNames[strings.ToLower(baseModel)]; ok { + return name + } + if name, ok := modelNames[baseModel]; ok { + return name + } + } + + // Try fuzzy match with known models + if bestMatch := findBestMatch(normalized); bestMatch != "" { + return bestMatch + } + + // Fall back to formatting the model ID nicely + return formatModelName(modelID) +} + +// formatModelName converts a technical model ID to a more readable format. +// It replaces separators with spaces and capitalizes properly. +func formatModelName(modelID string) string { + // Remove provider prefix if present + baseModel := modelID + if idx := strings.LastIndex(modelID, "/"); idx != -1 { + baseModel = modelID[idx+1:] + } + + // Split by common separators + separators := []string{"_", "/"} + + // Replace all separators (except dashes which we'll handle special) with spaces + result := baseModel + for _, sep := range separators { + result = strings.ReplaceAll(result, sep, " ") + } + + // Convert version patterns like "3-5", "4-5" to "3.5", "4.5" + // This handles cases where version numbers use dashes as decimal separators + result = convertVersionDashes(result) + + // Now replace remaining dashes with spaces + result = strings.ReplaceAll(result, "-", " ") + + // Clean up extra spaces + result = strings.Join(strings.Fields(result), " ") + + // Capitalize first letter of each word + result = titleCase(result) + + // Handle special cases like "V3" -> "V3" (already capitalized) + result = preserveVersionNumbers(result) + + return result +} + +// convertVersionDashes converts dash-separated version numbers to dot-separated. +// For example: "3-5" -> "3.5", "4-5-haiku" -> "4.5 Haiku" +func convertVersionDashes(s string) string { + // Pattern: digit dash digit -> digit dot digit + // Use a simple loop to replace these patterns + result := s + for i := 0; i < len(result)-2; i++ { + // Check if we have "X-Y" pattern where X and Y are digits + if result[i] >= '0' && result[i] <= '9' && + result[i+1] == '-' && + result[i+2] >= '0' && result[i+2] <= '9' { + // Convert to "X.Y" + result = result[:i+1] + "." + result[i+2:] + } + } + return result +} + +// titleCase capitalizes the first letter of each word. +func titleCase(s string) string { + words := strings.Fields(s) + for i, word := range words { + if len(word) > 0 { + words[i] = string(unicode.ToUpper(rune(word[0]))) + word[1:] + } + } + return strings.Join(words, " ") +} + +// preserveVersionNumbers keeps version numbers properly formatted. +func preserveVersionNumbers(s string) string { + // Handle patterns like V3, V3.1, etc. + result := strings.ReplaceAll(s, "V ", "V") + + // Fix double spaces that might have been introduced + result = strings.Join(strings.Fields(result), " ") + + return result +} + +// findBestMatch uses Levenshtein distance to find the best matching model name. +func findBestMatch(modelID string) string { + const threshold = 4 // Maximum edit distance to consider + + var bestMatch string + minDistance := threshold + 1 + + for knownID, name := range modelNames { + distance := levenshteinDistance(modelID, knownID) + if distance < minDistance { + minDistance = distance + bestMatch = name + } + } + + if bestMatch != "" && minDistance <= threshold { + return bestMatch + } + + return "" +} + +// levenshteinDistance computes the edit distance between two strings. +func levenshteinDistance(a, b string) int { + // Optimization: if either string is empty, return the length of the other + if len(a) == 0 { + return len(b) + } + if len(b) == 0 { + return len(a) + } + + // Use a single row to save memory + previous := make([]int, len(b)+1) + + // Initialize the first row + for j := 0; j <= len(b); j++ { + previous[j] = j + } + + for i := 1; i <= len(a); i++ { + current := make([]int, len(b)+1) + current[0] = i + + for j := 1; j <= len(b); j++ { + cost := 0 + if a[i-1] != b[j-1] { + cost = 1 + } + + deletion := previous[j] + 1 + insertion := current[j-1] + 1 + substitution := previous[j-1] + cost + + current[j] = min(deletion, min(insertion, substitution)) + } + + previous = current + } + + return previous[len(b)] +} diff --git a/internal/providers/configs/aihubmix.json b/internal/providers/configs/aihubmix.json index fcf43272516001b77b1c23c726617c22d9c1b54f..2bf70d8010e657fb5ed40a1c72cd8b92d71a181c 100644 --- a/internal/providers/configs/aihubmix.json +++ b/internal/providers/configs/aihubmix.json @@ -9,7 +9,7 @@ "models": [ { "id": "AiHubmix-Phi-4-mini-reasoning", - "name": "AiHubmix-Phi-4-mini-reasoning", + "name": "AiHubmix Phi 4 Mini Reasoning", "cost_per_1m_in": 0.12, "cost_per_1m_out": 0.12, "cost_per_1m_in_cached": 0, @@ -22,7 +22,7 @@ }, { "id": "AiHubmix-Phi-4-reasoning", - "name": "AiHubmix-Phi-4-reasoning", + "name": "AiHubmix Phi 4 Reasoning", "cost_per_1m_in": 0.2, "cost_per_1m_out": 0.2, "cost_per_1m_in_cached": 0, @@ -39,235 +39,9 @@ "supports_attachments": false, "options": {} }, - { - "id": "ByteDance-Seed/Seed-OSS-36B-Instruct", - "name": "ByteDance-Seed/Seed-OSS-36B-Instruct", - "cost_per_1m_in": 0.2, - "cost_per_1m_out": 0.534, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 256000, - "default_max_tokens": 32000, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "DeepSeek-OCR", - "name": "DeepSeek-OCR", - "cost_per_1m_in": 0.02, - "cost_per_1m_out": 0.02, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 8000, - "default_max_tokens": 800, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "DeepSeek-R1", - "name": "DeepSeek-R1", - "cost_per_1m_in": 0.4, - "cost_per_1m_out": 2, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 1638000, - "default_max_tokens": 163800, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "DeepSeek-V3", - "name": "DeepSeek-V3", - "cost_per_1m_in": 0.272, - "cost_per_1m_out": 1.088, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 1638000, - "default_max_tokens": 163800, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "DeepSeek-V3-Fast", - "name": "DeepSeek-V3-Fast", - "cost_per_1m_in": 0.56, - "cost_per_1m_out": 2.24, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 32000, - "default_max_tokens": 3200, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "DeepSeek-V3.1-Fast", - "name": "DeepSeek-V3.1-Fast", - "cost_per_1m_in": 1.096, - "cost_per_1m_out": 3.288, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 163000, - "default_max_tokens": 16300, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "DeepSeek-V3.1-Terminus", - "name": "DeepSeek-V3.1-Terminus", - "cost_per_1m_in": 0.56, - "cost_per_1m_out": 1.68, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 160000, - "default_max_tokens": 32000, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "DeepSeek-V3.1-Think", - "name": "DeepSeek-V3.1-Think", - "cost_per_1m_in": 0.56, - "cost_per_1m_out": 1.68, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 128000, - "default_max_tokens": 32000, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "DeepSeek-V3.2-Exp", - "name": "DeepSeek-V3.2-Exp", - "cost_per_1m_in": 0.274, - "cost_per_1m_out": 0.411, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.0274, - "context_window": 163000, - "default_max_tokens": 16300, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "DeepSeek-V3.2-Exp-Think", - "name": "DeepSeek-V3.2-Exp-Think", - "cost_per_1m_in": 0.274, - "cost_per_1m_out": 0.411, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.0274, - "context_window": 131000, - "default_max_tokens": 64000, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "ERNIE-X1.1-Preview", - "name": "ERNIE-X1.1-Preview", - "cost_per_1m_in": 0.136, - "cost_per_1m_out": 0.544, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 119000, - "default_max_tokens": 11900, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "Kimi-K2-0905", - "name": "Kimi-K2-0905", - "cost_per_1m_in": 0.548, - "cost_per_1m_out": 2.192, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 262144, - "default_max_tokens": 26214, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "Qwen/Qwen2.5-VL-32B-Instruct", - "name": "Qwen/Qwen2.5-VL-32B-Instruct", - "cost_per_1m_in": 0.24, - "cost_per_1m_out": 0.24, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "Qwen/Qwen2.5-VL-72B-Instruct", - "name": "Qwen/Qwen2.5-VL-72B-Instruct", - "cost_per_1m_in": 0.5, - "cost_per_1m_out": 0.5, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "ahm-Phi-3-5-vision-instruct", - "name": "ahm-Phi-3-5-vision-instruct", - "cost_per_1m_in": 0.4, - "cost_per_1m_out": 1.6, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "aihub-Phi-4", - "name": "aihub-Phi-4", - "cost_per_1m_in": 0.12, - "cost_per_1m_out": 0.48, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 16400, - "default_max_tokens": 1640, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, { "id": "aihub-Phi-4-mini-instruct", - "name": "aihub-Phi-4-mini-instruct", + "name": "Aihub Phi 4 Mini Instruct", "cost_per_1m_in": 0.12, "cost_per_1m_out": 0.48, "cost_per_1m_in_cached": 0, @@ -280,7 +54,7 @@ }, { "id": "aihub-Phi-4-multimodal-instruct", - "name": "aihub-Phi-4-multimodal-instruct", + "name": "Aihub Phi 4 Multimodal Instruct", "cost_per_1m_in": 0.12, "cost_per_1m_out": 0.48, "cost_per_1m_in_cached": 0, @@ -292,934 +66,117 @@ "options": {} }, { - "id": "aihubmix-Cohere-command-r", - "name": "aihubmix-Cohere-command-r", - "cost_per_1m_in": 0.64, - "cost_per_1m_out": 1.92, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "aihubmix-command-r-08-2024", - "name": "aihubmix-command-r-08-2024", + "id": "ByteDance-Seed/Seed-OSS-36B-Instruct", + "name": "ByteDance Seed OSS 36B", "cost_per_1m_in": 0.2, - "cost_per_1m_out": 0.8, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "aihubmix-command-r-plus", - "name": "aihubmix-command-r-plus", - "cost_per_1m_in": 3.84, - "cost_per_1m_out": 19.2, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "aihubmix-command-r-plus-08-2024", - "name": "aihubmix-command-r-plus-08-2024", - "cost_per_1m_in": 2.8, - "cost_per_1m_out": 11.2, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "aihubmix-router", - "name": "aihubmix-router", - "cost_per_1m_in": 0.4, - "cost_per_1m_out": 1.6, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.1, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "baidu-deepseek-v3.2", - "name": "baidu-deepseek-v3.2", - "cost_per_1m_in": 0.274, - "cost_per_1m_out": 0.411, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "baidu-deepseek-v3.2-exp", - "name": "baidu-deepseek-v3.2-exp", - "cost_per_1m_in": 0.274, - "cost_per_1m_out": 0.411, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.0274, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "baidu/ERNIE-4.5-300B-A47B", - "name": "baidu/ERNIE-4.5-300B-A47B", - "cost_per_1m_in": 0.32, - "cost_per_1m_out": 1.28, + "cost_per_1m_out": 0.534, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "cc-MiniMax-M2", - "name": "cc-MiniMax-M2", - "cost_per_1m_in": 0.1, - "cost_per_1m_out": 0.1, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "cc-deepseek-v3.1", - "name": "cc-deepseek-v3.1", - "cost_per_1m_in": 0.56, - "cost_per_1m_out": 1.68, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "cc-ernie-4.5-300b-a47b", - "name": "cc-ernie-4.5-300b-a47b", - "cost_per_1m_in": 0.32, - "cost_per_1m_out": 1.28, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "cc-kimi-k2-instruct", - "name": "cc-kimi-k2-instruct", - "cost_per_1m_in": 1.1, - "cost_per_1m_out": 3.3, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "cc-kimi-k2-instruct-0905", - "name": "cc-kimi-k2-instruct-0905", - "cost_per_1m_in": 1.1, - "cost_per_1m_out": 3.3, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "cc-minimax-m2", - "name": "cc-minimax-m2", - "cost_per_1m_in": 0.1, - "cost_per_1m_out": 0.1, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "cc-minimax-m2.1", - "name": "cc-minimax-m2.1", - "cost_per_1m_in": 0.1, - "cost_per_1m_out": 0.1, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "chatgpt-4o-latest", - "name": "chatgpt-4o-latest", - "cost_per_1m_in": 5, - "cost_per_1m_out": 15, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-3-5-haiku", - "name": "claude-3-5-haiku", - "cost_per_1m_in": 1.1, - "cost_per_1m_out": 5.5, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 200000, - "default_max_tokens": 8192, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-3-5-sonnet", - "name": "claude-3-5-sonnet", - "cost_per_1m_in": 3.3, - "cost_per_1m_out": 16.5, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 200000, - "default_max_tokens": 8192, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-3-5-sonnet-20240620", - "name": "claude-3-5-sonnet-20240620", - "cost_per_1m_in": 3.3, - "cost_per_1m_out": 16.5, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 200000, - "default_max_tokens": 8192, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-3-7-sonnet", - "name": "claude-3-7-sonnet", - "cost_per_1m_in": 3.3, - "cost_per_1m_out": 16.5, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 200000, - "default_max_tokens": 20000, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-3-haiku-20240229", - "name": "claude-3-haiku-20240229", - "cost_per_1m_in": 0.275, - "cost_per_1m_out": 0.275, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-3-haiku-20240307", - "name": "claude-3-haiku-20240307", - "cost_per_1m_in": 0.275, - "cost_per_1m_out": 1.375, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-3-haiku@20240307", - "name": "claude-3-haiku@20240307", - "cost_per_1m_in": 0.275, - "cost_per_1m_out": 1.375, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-3-sonnet-20240229", - "name": "claude-3-sonnet-20240229", - "cost_per_1m_in": 3.3, - "cost_per_1m_out": 16.5, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-haiku-4-5", - "name": "claude-haiku-4-5", - "cost_per_1m_in": 1.1, - "cost_per_1m_out": 5.5, - "cost_per_1m_in_cached": 1.375, - "cost_per_1m_out_cached": 0.11, - "context_window": 204800, - "default_max_tokens": 20480, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-opus-4-0", - "name": "claude-opus-4-0", - "cost_per_1m_in": 16.5, - "cost_per_1m_out": 82.5, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 200000, - "default_max_tokens": 32000, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-opus-4-1", - "name": "claude-opus-4-1", - "cost_per_1m_in": 16.5, - "cost_per_1m_out": 82.5, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 200000, - "default_max_tokens": 32000, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-opus-4-5", - "name": "claude-opus-4-5", - "cost_per_1m_in": 5, - "cost_per_1m_out": 25, - "cost_per_1m_in_cached": 6.25, - "cost_per_1m_out_cached": 0.5, - "context_window": 200000, - "default_max_tokens": 32000, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-opus-4-5-think", - "name": "claude-opus-4-5-think", - "cost_per_1m_in": 5, - "cost_per_1m_out": 25, - "cost_per_1m_in_cached": 6.25, - "cost_per_1m_out_cached": 0.5, - "context_window": 200000, - "default_max_tokens": 32000, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-sonnet-4-0", - "name": "claude-sonnet-4-0", - "cost_per_1m_in": 3.3, - "cost_per_1m_out": 16.5, - "cost_per_1m_in_cached": 4.125, - "cost_per_1m_out_cached": 0.33, - "context_window": 1000000, - "default_max_tokens": 64000, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-sonnet-4-5", - "name": "claude-sonnet-4-5", - "cost_per_1m_in": 3.3, - "cost_per_1m_out": 16.5, - "cost_per_1m_in_cached": 4.125, - "cost_per_1m_out_cached": 0.33, - "context_window": 1000000, - "default_max_tokens": 64000, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": true, - "options": {} - }, - { - "id": "claude-sonnet-4-5-think", - "name": "claude-sonnet-4-5-think", - "cost_per_1m_in": 3.3, - "cost_per_1m_out": 16.5, - "cost_per_1m_in_cached": 4.125, - "cost_per_1m_out_cached": 0.33, - "context_window": 1000000, - "default_max_tokens": 64000, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": true, - "options": {} - }, - { - "id": "codex-mini-latest", - "name": "codex-mini-latest", - "cost_per_1m_in": 1.5, - "cost_per_1m_out": 6, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.375, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "coding-glm-4.6", - "name": "coding-glm-4.6", - "cost_per_1m_in": 0.06, - "cost_per_1m_out": 0.22, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.010998, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "coding-glm-4.6-free", - "name": "coding-glm-4.6-free", - "cost_per_1m_in": 0, - "cost_per_1m_out": 0, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 200000, - "default_max_tokens": 20000, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "coding-glm-4.7", - "name": "coding-glm-4.7", - "cost_per_1m_in": 0.06, - "cost_per_1m_out": 0.22, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.010998, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "coding-glm-4.7-free", - "name": "coding-glm-4.7-free", - "cost_per_1m_in": 0, - "cost_per_1m_out": 0, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "coding-minimax-m2", - "name": "coding-minimax-m2", - "cost_per_1m_in": 0.2, - "cost_per_1m_out": 0.2, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 204800, - "default_max_tokens": 13100, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "coding-minimax-m2-free", - "name": "coding-minimax-m2-free", - "cost_per_1m_in": 0, - "cost_per_1m_out": 0, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 204800, - "default_max_tokens": 13100, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "coding-minimax-m2.1", - "name": "coding-minimax-m2.1", - "cost_per_1m_in": 0.2, - "cost_per_1m_out": 0.2, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 204800, - "default_max_tokens": 13100, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "command", - "name": "command", - "cost_per_1m_in": 1, - "cost_per_1m_out": 2, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "command-a-03-2025", - "name": "command-a-03-2025", - "cost_per_1m_in": 2.5, - "cost_per_1m_out": 10, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "command-r", - "name": "command-r", - "cost_per_1m_in": 0.64, - "cost_per_1m_out": 1.92, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "command-r-08-2024", - "name": "command-r-08-2024", - "cost_per_1m_in": 0.2, - "cost_per_1m_out": 0.8, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "command-r-plus", - "name": "command-r-plus", - "cost_per_1m_in": 3.84, - "cost_per_1m_out": 19.2, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "command-r-plus-08-2024", - "name": "command-r-plus-08-2024", - "cost_per_1m_in": 2.8, - "cost_per_1m_out": 11.2, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "deepseek-math-v2", - "name": "deepseek-math-v2", - "cost_per_1m_in": 0.492, - "cost_per_1m_out": 1.968, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.0984, - "context_window": 163000, - "default_max_tokens": 16300, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "deepseek-r1-distill-llama-70b", - "name": "deepseek-r1-distill-llama-70b", - "cost_per_1m_in": 0.8, - "cost_per_1m_out": 1.6, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "deepseek-v3.2", - "name": "deepseek-v3.2", - "cost_per_1m_in": 0.302, - "cost_per_1m_out": 0.453, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.0302, - "context_window": 128000, - "default_max_tokens": 64000, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "deepseek-v3.2-fast", - "name": "deepseek-v3.2-fast", - "cost_per_1m_in": 1.096, - "cost_per_1m_out": 3.288, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 1.096, - "context_window": 128000, - "default_max_tokens": 12800, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "deepseek-v3.2-speciale", - "name": "deepseek-v3.2-speciale", - "cost_per_1m_in": 0.58, - "cost_per_1m_out": 1.680028, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 128000, - "default_max_tokens": 12800, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "deepseek-v3.2-think", - "name": "deepseek-v3.2-think", - "cost_per_1m_in": 0.302, - "cost_per_1m_out": 0.453, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.0302, - "context_window": 128000, - "default_max_tokens": 64000, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "doubao-seed-1-6", - "name": "doubao-seed-1-6", - "cost_per_1m_in": 0.18, - "cost_per_1m_out": 1.8, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.036, - "context_window": 256000, - "default_max_tokens": 32000, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "doubao-seed-1-6-flash", - "name": "doubao-seed-1-6-flash", - "cost_per_1m_in": 0.044, - "cost_per_1m_out": 0.44, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.0088, - "context_window": 256000, - "default_max_tokens": 33000, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "doubao-seed-1-6-lite", - "name": "doubao-seed-1-6-lite", - "cost_per_1m_in": 0.082, - "cost_per_1m_out": 0.656, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.0164, - "context_window": 256000, - "default_max_tokens": 32000, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "doubao-seed-1-6-thinking", - "name": "doubao-seed-1-6-thinking", - "cost_per_1m_in": 0.18, - "cost_per_1m_out": 1.8, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.036, - "context_window": 256000, - "default_max_tokens": 32000, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "doubao-seed-1-8", - "name": "doubao-seed-1-8", - "cost_per_1m_in": 0.10959, - "cost_per_1m_out": 0.273975, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.021918, - "context_window": 256000, - "default_max_tokens": 64000, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", + "context_window": 256000, + "default_max_tokens": 32000, + "can_reason": false, "supports_attachments": true, "options": {} }, { - "id": "ernie-4.5", - "name": "ernie-4.5", - "cost_per_1m_in": 0.068, - "cost_per_1m_out": 0.272, + "id": "claude-3-5-haiku", + "name": "Claude 3.5 Haiku", + "cost_per_1m_in": 1.1, + "cost_per_1m_out": 5.5, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, - "context_window": 160000, - "default_max_tokens": 64000, + "context_window": 200000, + "default_max_tokens": 8192, "can_reason": false, "supports_attachments": true, "options": {} }, { - "id": "ernie-4.5-0.3b", - "name": "ernie-4.5-0.3b", - "cost_per_1m_in": 0.0136, - "cost_per_1m_out": 0.0544, + "id": "claude-3-5-sonnet", + "name": "Claude 3.5 Sonnet", + "cost_per_1m_in": 3.3, + "cost_per_1m_out": 16.5, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, + "context_window": 200000, + "default_max_tokens": 8192, "can_reason": false, "supports_attachments": true, "options": {} }, { - "id": "ernie-4.5-turbo-128k-preview", - "name": "ernie-4.5-turbo-128k-preview", - "cost_per_1m_in": 0.108, - "cost_per_1m_out": 0.432, + "id": "claude-3-5-sonnet-20240620", + "name": "Claude 3.5 Sonnet", + "cost_per_1m_in": 3.3, + "cost_per_1m_out": 16.5, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, + "context_window": 200000, + "default_max_tokens": 8192, "can_reason": false, "supports_attachments": true, "options": {} }, { - "id": "ernie-4.5-turbo-latest", - "name": "ernie-4.5-turbo-latest", - "cost_per_1m_in": 0.11, - "cost_per_1m_out": 0.44, + "id": "claude-3-7-sonnet", + "name": "Claude 3.7 Sonnet", + "cost_per_1m_in": 3.3, + "cost_per_1m_out": 16.5, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, - "context_window": 135000, - "default_max_tokens": 12000, - "can_reason": false, + "context_window": 200000, + "default_max_tokens": 20000, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", "supports_attachments": true, "options": {} }, { - "id": "ernie-4.5-turbo-vl", - "name": "ernie-4.5-turbo-vl", - "cost_per_1m_in": 0.4, - "cost_per_1m_out": 1.2, + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "cost_per_1m_in": 1.1, + "cost_per_1m_out": 5.5, + "cost_per_1m_in_cached": 1.375, + "cost_per_1m_out_cached": 0.11, + "context_window": 204800, + "default_max_tokens": 20480, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", + "supports_attachments": true, + "options": {} + }, + { + "id": "claude-opus-4-0", + "name": "Claude Opus 4", + "cost_per_1m_in": 16.5, + "cost_per_1m_out": 82.5, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, - "context_window": 139000, - "default_max_tokens": 16000, + "context_window": 200000, + "default_max_tokens": 32000, "can_reason": false, "supports_attachments": true, "options": {} }, { - "id": "ernie-5.0-thinking-exp", - "name": "ernie-5.0-thinking-exp", - "cost_per_1m_in": 0.82192, - "cost_per_1m_out": 3.28768, + "id": "claude-opus-4-1", + "name": "Claude Opus 4", + "cost_per_1m_in": 16.5, + "cost_per_1m_out": 82.5, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.82192, - "context_window": 119000, - "default_max_tokens": 11900, + "cost_per_1m_out_cached": 0, + "context_window": 200000, + "default_max_tokens": 32000, "can_reason": true, "reasoning_levels": [ "low", @@ -1231,14 +188,14 @@ "options": {} }, { - "id": "ernie-5.0-thinking-preview", - "name": "ernie-5.0-thinking-preview", - "cost_per_1m_in": 0.822, - "cost_per_1m_out": 3.288, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.822, - "context_window": 183000, - "default_max_tokens": 64000, + "id": "claude-opus-4-5", + "name": "Claude Opus 4.5", + "cost_per_1m_in": 5, + "cost_per_1m_out": 25, + "cost_per_1m_in_cached": 6.25, + "cost_per_1m_out_cached": 0.5, + "context_window": 200000, + "default_max_tokens": 32000, "can_reason": true, "reasoning_levels": [ "low", @@ -1246,18 +203,18 @@ "high" ], "default_reasoning_effort": "medium", - "supports_attachments": false, + "supports_attachments": true, "options": {} }, { - "id": "ernie-x1-turbo", - "name": "ernie-x1-turbo", - "cost_per_1m_in": 0.136, - "cost_per_1m_out": 0.544, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 50500, - "default_max_tokens": 5050, + "id": "claude-opus-4-5-think", + "name": "Claude Opus 4.5 Think", + "cost_per_1m_in": 5, + "cost_per_1m_out": 25, + "cost_per_1m_in_cached": 6.25, + "cost_per_1m_out_cached": 0.5, + "context_window": 200000, + "default_max_tokens": 32000, "can_reason": true, "reasoning_levels": [ "low", @@ -1265,109 +222,151 @@ "high" ], "default_reasoning_effort": "medium", - "supports_attachments": false, + "supports_attachments": true, "options": {} }, { - "id": "gemini-2.0-flash", - "name": "gemini-2.0-flash", - "cost_per_1m_in": 0.1, - "cost_per_1m_out": 0.4, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.025, - "context_window": 1048576, - "default_max_tokens": 8192, - "can_reason": false, + "id": "claude-sonnet-4-0", + "name": "Claude Sonnet 4", + "cost_per_1m_in": 3.3, + "cost_per_1m_out": 16.5, + "cost_per_1m_in_cached": 4.125, + "cost_per_1m_out_cached": 0.33, + "context_window": 1000000, + "default_max_tokens": 64000, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", "supports_attachments": true, "options": {} }, { - "id": "gemini-2.0-flash-exp", - "name": "gemini-2.0-flash-exp", - "cost_per_1m_in": 0.02, - "cost_per_1m_out": 0.08, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5", + "cost_per_1m_in": 3.3, + "cost_per_1m_out": 16.5, + "cost_per_1m_in_cached": 4.125, + "cost_per_1m_out_cached": 0.33, + "context_window": 1000000, + "default_max_tokens": 64000, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", "supports_attachments": true, "options": {} }, { - "id": "gemini-2.0-flash-exp-search", - "name": "gemini-2.0-flash-exp-search", - "cost_per_1m_in": 0.1, - "cost_per_1m_out": 0.4, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, + "id": "claude-sonnet-4-5-think", + "name": "Claude Sonnet 4.5 Think", + "cost_per_1m_in": 3.3, + "cost_per_1m_out": 16.5, + "cost_per_1m_in_cached": 4.125, + "cost_per_1m_out_cached": 0.33, + "context_window": 1000000, + "default_max_tokens": 64000, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", "supports_attachments": true, "options": {} }, { - "id": "gemini-2.0-flash-free", - "name": "gemini-2.0-flash-free", + "id": "coding-glm-4.6-free", + "name": "Coding GLM 4.6 (Free)", "cost_per_1m_in": 0, "cost_per_1m_out": 0, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, - "context_window": 1048576, - "default_max_tokens": 8192, - "can_reason": false, - "supports_attachments": true, + "context_window": 200000, + "default_max_tokens": 20000, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.0-flash-lite", - "name": "gemini-2.0-flash-lite", - "cost_per_1m_in": 0.076, - "cost_per_1m_out": 0.304, + "id": "coding-minimax-m2", + "name": "Coding MiniMax M2", + "cost_per_1m_in": 0.2, + "cost_per_1m_out": 0.2, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.076, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, + "cost_per_1m_out_cached": 0, + "context_window": 204800, + "default_max_tokens": 13100, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.0-flash-preview-image-generation", - "name": "gemini-2.0-flash-preview-image-generation", - "cost_per_1m_in": 0.1, - "cost_per_1m_out": 0.4, + "id": "coding-minimax-m2-free", + "name": "Coding MiniMax M2 (Free)", + "cost_per_1m_in": 0, + "cost_per_1m_out": 0, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, + "context_window": 204800, + "default_max_tokens": 13100, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.0-flash-search", - "name": "gemini-2.0-flash-search", - "cost_per_1m_in": 0.1, - "cost_per_1m_out": 0.4, + "id": "coding-minimax-m2.1", + "name": "Coding MiniMax M2.1", + "cost_per_1m_in": 0.2, + "cost_per_1m_out": 0.2, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.025, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, + "cost_per_1m_out_cached": 0, + "context_window": 204800, + "default_max_tokens": 13100, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.0-flash-thinking-exp-01-21", - "name": "gemini-2.0-flash-thinking-exp-01-21", - "cost_per_1m_in": 0.076, - "cost_per_1m_out": 0.304, + "id": "deepseek-math-v2", + "name": "DeepSeek Math V2", + "cost_per_1m_in": 0.492, + "cost_per_1m_out": 1.968, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, + "cost_per_1m_out_cached": 0.0984, + "context_window": 163000, + "default_max_tokens": 16300, "can_reason": true, "reasoning_levels": [ "low", @@ -1375,135 +374,141 @@ "high" ], "default_reasoning_effort": "medium", - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.0-pro-exp-02-05", - "name": "gemini-2.0-pro-exp-02-05", - "cost_per_1m_in": 1.25, - "cost_per_1m_out": 5, + "id": "DeepSeek-R1", + "name": "DeepSeek R1", + "cost_per_1m_in": 0.4, + "cost_per_1m_out": 2, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, + "context_window": 1638000, + "default_max_tokens": 163800, "can_reason": false, - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.5-flash", - "name": "gemini-2.5-flash", - "cost_per_1m_in": 0.3, - "cost_per_1m_out": 2.499, + "id": "DeepSeek-V3", + "name": "DeepSeek V3", + "cost_per_1m_in": 0.272, + "cost_per_1m_out": 1.088, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.03, - "context_window": 1048576, - "default_max_tokens": 65536, + "cost_per_1m_out_cached": 0, + "context_window": 1638000, + "default_max_tokens": 163800, "can_reason": false, - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.5-flash-lite", - "name": "gemini-2.5-flash-lite", - "cost_per_1m_in": 0.1, - "cost_per_1m_out": 0.4, + "id": "DeepSeek-V3-Fast", + "name": "DeepSeek V3 Fast", + "cost_per_1m_in": 0.56, + "cost_per_1m_out": 2.24, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.01, - "context_window": 1048576, - "default_max_tokens": 65536, + "cost_per_1m_out_cached": 0, + "context_window": 32000, + "default_max_tokens": 3200, "can_reason": false, - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.5-flash-lite-preview-09-2025", - "name": "gemini-2.5-flash-lite-preview-09-2025", - "cost_per_1m_in": 0.1, - "cost_per_1m_out": 0.4, + "id": "DeepSeek-V3.1-Fast", + "name": "DeepSeek V3.1 Fast", + "cost_per_1m_in": 1.096, + "cost_per_1m_out": 3.288, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.01, - "context_window": 1048576, - "default_max_tokens": 65536, + "cost_per_1m_out_cached": 0, + "context_window": 163000, + "default_max_tokens": 16300, "can_reason": false, - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.5-flash-nothink", - "name": "gemini-2.5-flash-nothink", - "cost_per_1m_in": 0.3, - "cost_per_1m_out": 2.499, + "id": "DeepSeek-V3.1-Terminus", + "name": "DeepSeek V3.1 Terminus", + "cost_per_1m_in": 0.56, + "cost_per_1m_out": 1.68, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.03, - "context_window": 1047576, - "default_max_tokens": 65536, + "cost_per_1m_out_cached": 0, + "context_window": 160000, + "default_max_tokens": 32000, "can_reason": false, - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.5-flash-preview-05-20-nothink", - "name": "gemini-2.5-flash-preview-05-20-nothink", - "cost_per_1m_in": 0.3, - "cost_per_1m_out": 2.499, + "id": "DeepSeek-V3.1-Think", + "name": "DeepSeek V3.1 Think", + "cost_per_1m_in": 0.56, + "cost_per_1m_out": 1.68, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.03, - "context_window": 1048576, - "default_max_tokens": 65536, - "can_reason": false, - "supports_attachments": true, + "cost_per_1m_out_cached": 0, + "context_window": 128000, + "default_max_tokens": 32000, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.5-flash-preview-05-20-search", - "name": "gemini-2.5-flash-preview-05-20-search", - "cost_per_1m_in": 0.3, - "cost_per_1m_out": 2.499, + "id": "deepseek-v3.2", + "name": "DeepSeek V3.2", + "cost_per_1m_in": 0.302, + "cost_per_1m_out": 0.453, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.03, - "context_window": 1048576, - "default_max_tokens": 65536, + "cost_per_1m_out_cached": 0.0302, + "context_window": 128000, + "default_max_tokens": 64000, "can_reason": false, - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.5-flash-preview-09-2025", - "name": "gemini-2.5-flash-preview-09-2025", - "cost_per_1m_in": 0.3, - "cost_per_1m_out": 2.499, + "id": "deepseek-v3.2-fast", + "name": "DeepSeek V3.2 Fast", + "cost_per_1m_in": 1.096, + "cost_per_1m_out": 3.288, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.03, - "context_window": 1048576, - "default_max_tokens": 65536, + "cost_per_1m_out_cached": 1.096, + "context_window": 128000, + "default_max_tokens": 12800, "can_reason": false, - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.5-flash-search", - "name": "gemini-2.5-flash-search", - "cost_per_1m_in": 0.3, - "cost_per_1m_out": 2.499, + "id": "DeepSeek-V3.2-Exp", + "name": "DeepSeek V3.2 Fast", + "cost_per_1m_in": 0.274, + "cost_per_1m_out": 0.411, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.03, - "context_window": 1048576, - "default_max_tokens": 65536, + "cost_per_1m_out_cached": 0.0274, + "context_window": 163000, + "default_max_tokens": 16300, "can_reason": false, - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.5-pro", - "name": "gemini-2.5-pro", - "cost_per_1m_in": 1.25, - "cost_per_1m_out": 10, + "id": "deepseek-v3.2-speciale", + "name": "DeepSeek V3.2 Speciale", + "cost_per_1m_in": 0.58, + "cost_per_1m_out": 1.680028, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.125, - "context_window": 1048576, - "default_max_tokens": 65536, + "cost_per_1m_out_cached": 0, + "context_window": 128000, + "default_max_tokens": 12800, "can_reason": true, "reasoning_levels": [ "low", @@ -1511,31 +516,31 @@ "high" ], "default_reasoning_effort": "medium", - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.5-pro-exp-03-25", - "name": "gemini-2.5-pro-exp-03-25", - "cost_per_1m_in": 1.25, - "cost_per_1m_out": 5, + "id": "deepseek-v3.2-think", + "name": "DeepSeek V3.2 Think", + "cost_per_1m_in": 0.302, + "cost_per_1m_out": 0.453, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.125, - "context_window": 0, - "default_max_tokens": 0, + "cost_per_1m_out_cached": 0.0302, + "context_window": 128000, + "default_max_tokens": 64000, "can_reason": false, - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.5-pro-preview-03-25", - "name": "gemini-2.5-pro-preview-03-25", - "cost_per_1m_in": 1.25, - "cost_per_1m_out": 10, + "id": "DeepSeek-V3.2-Exp-Think", + "name": "DeepSeek V3.2 Think", + "cost_per_1m_in": 0.274, + "cost_per_1m_out": 0.411, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.125, - "context_window": 0, - "default_max_tokens": 0, + "cost_per_1m_out_cached": 0.0274, + "context_window": 131000, + "default_max_tokens": 64000, "can_reason": true, "reasoning_levels": [ "low", @@ -1543,94 +548,70 @@ "high" ], "default_reasoning_effort": "medium", - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { - "id": "gemini-2.5-pro-preview-03-25-search", - "name": "gemini-2.5-pro-preview-03-25-search", - "cost_per_1m_in": 1.25, - "cost_per_1m_out": 10, + "id": "doubao-seed-1-6", + "name": "Doubao Seed 1.6", + "cost_per_1m_in": 0.18, + "cost_per_1m_out": 1.8, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.125, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", + "cost_per_1m_out_cached": 0.036, + "context_window": 256000, + "default_max_tokens": 32000, + "can_reason": false, "supports_attachments": true, "options": {} }, { - "id": "gemini-2.5-pro-preview-05-06", - "name": "gemini-2.5-pro-preview-05-06", - "cost_per_1m_in": 1.25, - "cost_per_1m_out": 10, + "id": "doubao-seed-1-6-flash", + "name": "Doubao Seed 1.6 Flash", + "cost_per_1m_in": 0.044, + "cost_per_1m_out": 0.44, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.125, - "context_window": 1048576, - "default_max_tokens": 65536, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", + "cost_per_1m_out_cached": 0.0088, + "context_window": 256000, + "default_max_tokens": 33000, + "can_reason": false, "supports_attachments": true, "options": {} }, { - "id": "gemini-2.5-pro-preview-05-06-search", - "name": "gemini-2.5-pro-preview-05-06-search", - "cost_per_1m_in": 1.25, - "cost_per_1m_out": 10, + "id": "doubao-seed-1-6-lite", + "name": "Doubao Seed 1.6 Lite", + "cost_per_1m_in": 0.082, + "cost_per_1m_out": 0.656, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.125, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", + "cost_per_1m_out_cached": 0.0164, + "context_window": 256000, + "default_max_tokens": 32000, + "can_reason": false, "supports_attachments": true, "options": {} }, { - "id": "gemini-2.5-pro-preview-06-05", - "name": "gemini-2.5-pro-preview-06-05", - "cost_per_1m_in": 1.25, - "cost_per_1m_out": 10, + "id": "doubao-seed-1-6-thinking", + "name": "Doubao Seed 1.6 Thinking", + "cost_per_1m_in": 0.18, + "cost_per_1m_out": 1.8, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.125, - "context_window": 1048576, - "default_max_tokens": 65536, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", + "cost_per_1m_out_cached": 0.036, + "context_window": 256000, + "default_max_tokens": 32000, + "can_reason": false, "supports_attachments": true, "options": {} }, { - "id": "gemini-2.5-pro-preview-06-05-search", - "name": "gemini-2.5-pro-preview-06-05-search", - "cost_per_1m_in": 1.25, - "cost_per_1m_out": 10, + "id": "doubao-seed-1-8", + "name": "Doubao Seed 1.8", + "cost_per_1m_in": 0.10959, + "cost_per_1m_out": 0.273975, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.125, - "context_window": 0, - "default_max_tokens": 0, + "cost_per_1m_out_cached": 0.021918, + "context_window": 256000, + "default_max_tokens": 64000, "can_reason": true, "reasoning_levels": [ "low", @@ -1642,52 +623,53 @@ "options": {} }, { - "id": "gemini-2.5-pro-search", - "name": "gemini-2.5-pro-search", - "cost_per_1m_in": 1.25, - "cost_per_1m_out": 10, + "id": "ernie-4.5", + "name": "ERNIE 4.5", + "cost_per_1m_in": 0.068, + "cost_per_1m_out": 0.272, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.125, - "context_window": 1048576, - "default_max_tokens": 65536, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", + "cost_per_1m_out_cached": 0, + "context_window": 160000, + "default_max_tokens": 64000, + "can_reason": false, "supports_attachments": true, "options": {} }, { - "id": "gemini-3-flash-preview", - "name": "gemini-3-flash-preview", - "cost_per_1m_in": 0.5, - "cost_per_1m_out": 3, + "id": "ernie-4.5-turbo-latest", + "name": "ERNIE 4.5 Turbo", + "cost_per_1m_in": 0.11, + "cost_per_1m_out": 0.44, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.05, - "context_window": 1048576, - "default_max_tokens": 65536, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", + "cost_per_1m_out_cached": 0, + "context_window": 135000, + "default_max_tokens": 12000, + "can_reason": false, "supports_attachments": true, "options": {} }, { - "id": "gemini-3-flash-preview-free", - "name": "gemini-3-flash-preview-free", - "cost_per_1m_in": 0, - "cost_per_1m_out": 0, + "id": "ernie-4.5-turbo-vl", + "name": "ERNIE 4.5 Turbo Vision", + "cost_per_1m_in": 0.4, + "cost_per_1m_out": 1.2, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, - "context_window": 1048576, - "default_max_tokens": 65536, + "context_window": 139000, + "default_max_tokens": 16000, + "can_reason": false, + "supports_attachments": true, + "options": {} + }, + { + "id": "ernie-5.0-thinking-exp", + "name": "ERNIE 5.0 Thinking", + "cost_per_1m_in": 0.82192, + "cost_per_1m_out": 3.28768, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0.82192, + "context_window": 119000, + "default_max_tokens": 11900, "can_reason": true, "reasoning_levels": [ "low", @@ -1699,14 +681,14 @@ "options": {} }, { - "id": "gemini-3-flash-preview-search", - "name": "gemini-3-flash-preview-search", - "cost_per_1m_in": 0.5, - "cost_per_1m_out": 3, + "id": "ernie-5.0-thinking-preview", + "name": "ERNIE 5.0 Thinking Preview", + "cost_per_1m_in": 0.822, + "cost_per_1m_out": 3.288, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.05, - "context_window": 0, - "default_max_tokens": 0, + "cost_per_1m_out_cached": 0.822, + "context_window": 183000, + "default_max_tokens": 64000, "can_reason": true, "reasoning_levels": [ "low", @@ -1714,18 +696,18 @@ "high" ], "default_reasoning_effort": "medium", - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { - "id": "gemini-3-pro-preview", - "name": "gemini-3-pro-preview", - "cost_per_1m_in": 2, - "cost_per_1m_out": 12, + "id": "ernie-x1-turbo", + "name": "ERNIE X1 Turbo", + "cost_per_1m_in": 0.136, + "cost_per_1m_out": 0.544, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.2, - "context_window": 0, - "default_max_tokens": 0, + "cost_per_1m_out_cached": 0, + "context_window": 50500, + "default_max_tokens": 5050, "can_reason": true, "reasoning_levels": [ "low", @@ -1733,18 +715,18 @@ "high" ], "default_reasoning_effort": "medium", - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { - "id": "gemini-3-pro-preview-search", - "name": "gemini-3-pro-preview-search", - "cost_per_1m_in": 2, - "cost_per_1m_out": 12, + "id": "ERNIE-X1.1-Preview", + "name": "ERNIE X1.1 Preview", + "cost_per_1m_in": 0.136, + "cost_per_1m_out": 0.544, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.2, - "context_window": 0, - "default_max_tokens": 0, + "cost_per_1m_out_cached": 0, + "context_window": 119000, + "default_max_tokens": 11900, "can_reason": true, "reasoning_levels": [ "low", @@ -1752,25 +734,12 @@ "high" ], "default_reasoning_effort": "medium", - "supports_attachments": true, - "options": {} - }, - { - "id": "glm-4.5v", - "name": "glm-4.5v", - "cost_per_1m_in": 0.274, - "cost_per_1m_out": 0.822, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.274, - "context_window": 64000, - "default_max_tokens": 16384, - "can_reason": false, - "supports_attachments": true, + "supports_attachments": false, "options": {} }, { "id": "glm-4.6", - "name": "glm-4.6", + "name": "GLM-4.6", "cost_per_1m_in": 0, "cost_per_1m_out": 0, "cost_per_1m_in_cached": 0, @@ -1789,7 +758,7 @@ }, { "id": "glm-4.6v", - "name": "glm-4.6v", + "name": "GLM-4.6 Vision", "cost_per_1m_in": 0.137, "cost_per_1m_out": 0.411, "cost_per_1m_in_cached": 0, @@ -1800,9 +769,22 @@ "supports_attachments": true, "options": {} }, + { + "id": "glm-4.5v", + "name": "GLM-4.6 Vision", + "cost_per_1m_in": 0.274, + "cost_per_1m_out": 0.822, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0.274, + "context_window": 64000, + "default_max_tokens": 16384, + "can_reason": false, + "supports_attachments": true, + "options": {} + }, { "id": "glm-4.7", - "name": "glm-4.7", + "name": "GLM-4.7", "cost_per_1m_in": 0.273974, "cost_per_1m_out": 1.095896, "cost_per_1m_in_cached": 0, @@ -1820,14 +802,33 @@ "options": {} }, { - "id": "glm-4.7-flash-free", - "name": "glm-4.7-flash-free", - "cost_per_1m_in": 0, - "cost_per_1m_out": 0, + "id": "gpt-oss-120b", + "name": "GPT OSS 120B", + "cost_per_1m_in": 0.18, + "cost_per_1m_out": 0.9, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0, + "context_window": 131072, + "default_max_tokens": 32768, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", + "supports_attachments": false, + "options": {} + }, + { + "id": "gpt-oss-20b", + "name": "GPT OSS 20B", + "cost_per_1m_in": 0.11, + "cost_per_1m_out": 0.55, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, + "context_window": 128000, + "default_max_tokens": 12800, "can_reason": true, "reasoning_levels": [ "low", @@ -1840,7 +841,7 @@ }, { "id": "gpt-4.1", - "name": "gpt-4.1", + "name": "GPT-4.1", "cost_per_1m_in": 2, "cost_per_1m_out": 8, "cost_per_1m_in_cached": 0, @@ -1853,7 +854,7 @@ }, { "id": "gpt-4.1-mini", - "name": "gpt-4.1-mini", + "name": "GPT-4.1 Mini", "cost_per_1m_in": 0.4, "cost_per_1m_out": 1.6, "cost_per_1m_in_cached": 0, @@ -1866,7 +867,7 @@ }, { "id": "gpt-4.1-nano", - "name": "gpt-4.1-nano", + "name": "GPT-4.1 Nano", "cost_per_1m_in": 0.1, "cost_per_1m_out": 0.4, "cost_per_1m_in_cached": 0, @@ -1879,7 +880,7 @@ }, { "id": "gpt-4o", - "name": "gpt-4o", + "name": "GPT-4o", "cost_per_1m_in": 2.5, "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, @@ -1892,7 +893,7 @@ }, { "id": "gpt-4o-2024-11-20", - "name": "gpt-4o-2024-11-20", + "name": "GPT-4o", "cost_per_1m_in": 2.5, "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, @@ -1905,7 +906,7 @@ }, { "id": "gpt-4o-audio-preview", - "name": "gpt-4o-audio-preview", + "name": "GPT-4o Audio Preview", "cost_per_1m_in": 2.5, "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, @@ -1918,7 +919,7 @@ }, { "id": "gpt-4o-mini", - "name": "gpt-4o-mini", + "name": "GPT-4o Mini", "cost_per_1m_in": 0.15, "cost_per_1m_out": 0.6, "cost_per_1m_in_cached": 0, @@ -1929,35 +930,9 @@ "supports_attachments": true, "options": {} }, - { - "id": "gpt-4o-mini-2024-07-18", - "name": "gpt-4o-mini-2024-07-18", - "cost_per_1m_in": 0.15, - "cost_per_1m_out": 0.6, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.075, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "gpt-4o-mini-audio-preview", - "name": "gpt-4o-mini-audio-preview", - "cost_per_1m_in": 0.15, - "cost_per_1m_out": 0.6, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, { "id": "gpt-4o-mini-search-preview", - "name": "gpt-4o-mini-search-preview", + "name": "GPT-4o Mini Search", "cost_per_1m_in": 0.15, "cost_per_1m_out": 0.6, "cost_per_1m_in_cached": 0, @@ -1970,7 +945,7 @@ }, { "id": "gpt-4o-search-preview", - "name": "gpt-4o-search-preview", + "name": "GPT-4o Search", "cost_per_1m_in": 2.5, "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, @@ -1982,21 +957,27 @@ "options": {} }, { - "id": "gpt-4o-zh", - "name": "gpt-4o-zh", - "cost_per_1m_in": 2.5, + "id": "gpt-5", + "name": "GPT-5", + "cost_per_1m_in": 1.25, "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, + "cost_per_1m_out_cached": 0.125, + "context_window": 400000, + "default_max_tokens": 128000, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", "supports_attachments": true, "options": {} }, { - "id": "gpt-5", - "name": "gpt-5", + "id": "gpt-5-codex", + "name": "GPT-5 Codex", "cost_per_1m_in": 1.25, "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, @@ -2014,21 +995,103 @@ "options": {} }, { - "id": "gpt-5-chat-latest", - "name": "gpt-5-chat-latest", + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "cost_per_1m_in": 0.25, + "cost_per_1m_out": 2, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0.025, + "context_window": 400000, + "default_max_tokens": 128000, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", + "supports_attachments": true, + "options": {} + }, + { + "id": "gpt-5-nano", + "name": "GPT-5 Nano", + "cost_per_1m_in": 0.05, + "cost_per_1m_out": 0.4, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0.005, + "context_window": 400000, + "default_max_tokens": 128000, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", + "supports_attachments": true, + "options": {} + }, + { + "id": "gpt-5.2-pro", + "name": "GPT-5 Pro", + "cost_per_1m_in": 21, + "cost_per_1m_out": 168, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 2.1, + "context_window": 400000, + "default_max_tokens": 128000, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", + "supports_attachments": true, + "options": {} + }, + { + "id": "gpt-5-pro", + "name": "GPT-5 Pro", + "cost_per_1m_in": 15, + "cost_per_1m_out": 120, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0, + "context_window": 400000, + "default_max_tokens": 128000, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", + "supports_attachments": true, + "options": {} + }, + { + "id": "gpt-5.1", + "name": "GPT-5.1", "cost_per_1m_in": 1.25, "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0.125, "context_window": 400000, "default_max_tokens": 128000, - "can_reason": false, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", "supports_attachments": true, "options": {} }, { - "id": "gpt-5-codex", - "name": "gpt-5-codex", + "id": "gpt-5.1-codex-max", + "name": "GPT-5.1 Codex", "cost_per_1m_in": 1.25, "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, @@ -2046,12 +1109,12 @@ "options": {} }, { - "id": "gpt-5-mini", - "name": "gpt-5-mini", - "cost_per_1m_in": 0.25, - "cost_per_1m_out": 2, + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.025, + "cost_per_1m_out_cached": 0.125, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -2063,14 +1126,14 @@ "default_reasoning_effort": "medium", "supports_attachments": true, "options": {} - }, - { - "id": "gpt-5-nano", - "name": "gpt-5-nano", - "cost_per_1m_in": 0.05, - "cost_per_1m_out": 0.4, + }, + { + "id": "gpt-5.2-low", + "name": "GPT-5.2", + "cost_per_1m_in": 1.75, + "cost_per_1m_out": 14, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.005, + "cost_per_1m_out_cached": 0.175, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -2084,12 +1147,12 @@ "options": {} }, { - "id": "gpt-5-pro", - "name": "gpt-5-pro", - "cost_per_1m_in": 15, - "cost_per_1m_out": 120, + "id": "gpt-5.2", + "name": "GPT-5.2", + "cost_per_1m_in": 1.75, + "cost_per_1m_out": 14, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, + "cost_per_1m_out_cached": 0.175, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -2103,12 +1166,12 @@ "options": {} }, { - "id": "gpt-5.1", - "name": "gpt-5.1", - "cost_per_1m_in": 1.25, - "cost_per_1m_out": 10, + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "cost_per_1m_in": 1.75, + "cost_per_1m_out": 14, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.125, + "cost_per_1m_out_cached": 0.175, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -2122,27 +1185,144 @@ "options": {} }, { - "id": "gpt-5.1-chat-latest", - "name": "gpt-5.1-chat-latest", - "cost_per_1m_in": 1.25, - "cost_per_1m_out": 10, + "id": "gemini-2.0-flash-free", + "name": "Gemini 2.0 Flash (Free)", + "cost_per_1m_in": 0, + "cost_per_1m_out": 0, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.125, - "context_window": 128000, - "default_max_tokens": 16384, + "cost_per_1m_out_cached": 0, + "context_window": 1048576, + "default_max_tokens": 8192, "can_reason": false, "supports_attachments": true, "options": {} }, { - "id": "gpt-5.1-codex", - "name": "gpt-5.1-codex", + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "cost_per_1m_in": 0.3, + "cost_per_1m_out": 2.499, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0.03, + "context_window": 1048576, + "default_max_tokens": 65536, + "can_reason": false, + "supports_attachments": true, + "options": {} + }, + { + "id": "gemini-2.0-flash", + "name": "Gemini 2.5 Flash", + "cost_per_1m_in": 0.1, + "cost_per_1m_out": 0.4, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0.025, + "context_window": 1048576, + "default_max_tokens": 8192, + "can_reason": false, + "supports_attachments": true, + "options": {} + }, + { + "id": "gemini-2.5-flash-nothink", + "name": "Gemini 2.5 Flash (No Think)", + "cost_per_1m_in": 0.3, + "cost_per_1m_out": 2.499, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0.03, + "context_window": 1047576, + "default_max_tokens": 65536, + "can_reason": false, + "supports_attachments": true, + "options": {} + }, + { + "id": "gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash Lite", + "cost_per_1m_in": 0.1, + "cost_per_1m_out": 0.4, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0.01, + "context_window": 1048576, + "default_max_tokens": 65536, + "can_reason": false, + "supports_attachments": true, + "options": {} + }, + { + "id": "gemini-2.5-flash-lite-preview-09-2025", + "name": "Gemini 2.5 Flash Lite Preview", + "cost_per_1m_in": 0.1, + "cost_per_1m_out": 0.4, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0.01, + "context_window": 1048576, + "default_max_tokens": 65536, + "can_reason": false, + "supports_attachments": true, + "options": {} + }, + { + "id": "gemini-2.5-flash-preview-09-2025", + "name": "Gemini 2.5 Flash Preview", + "cost_per_1m_in": 0.3, + "cost_per_1m_out": 2.499, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0.03, + "context_window": 1048576, + "default_max_tokens": 65536, + "can_reason": false, + "supports_attachments": true, + "options": {} + }, + { + "id": "gemini-2.5-flash-preview-05-20-nothink", + "name": "Gemini 2.5 Flash Preview (No Think)", + "cost_per_1m_in": 0.3, + "cost_per_1m_out": 2.499, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0.03, + "context_window": 1048576, + "default_max_tokens": 65536, + "can_reason": false, + "supports_attachments": true, + "options": {} + }, + { + "id": "gemini-2.5-flash-preview-05-20-search", + "name": "Gemini 2.5 Flash Search", + "cost_per_1m_in": 0.3, + "cost_per_1m_out": 2.499, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0.03, + "context_window": 1048576, + "default_max_tokens": 65536, + "can_reason": false, + "supports_attachments": true, + "options": {} + }, + { + "id": "gemini-2.5-flash-search", + "name": "Gemini 2.5 Flash Search", + "cost_per_1m_in": 0.3, + "cost_per_1m_out": 2.499, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0.03, + "context_window": 1048576, + "default_max_tokens": 65536, + "can_reason": false, + "supports_attachments": true, + "options": {} + }, + { + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", "cost_per_1m_in": 1.25, "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0.125, - "context_window": 400000, - "default_max_tokens": 128000, + "context_window": 1048576, + "default_max_tokens": 65536, "can_reason": true, "reasoning_levels": [ "low", @@ -2154,14 +1334,14 @@ "options": {} }, { - "id": "gpt-5.1-codex-max", - "name": "gpt-5.1-codex-max", + "id": "gemini-2.5-pro-preview-06-05", + "name": "Gemini 2.5 Pro Preview", "cost_per_1m_in": 1.25, "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0.125, - "context_window": 400000, - "default_max_tokens": 128000, + "context_window": 1048576, + "default_max_tokens": 65536, "can_reason": true, "reasoning_levels": [ "low", @@ -2173,14 +1353,14 @@ "options": {} }, { - "id": "gpt-5.1-codex-mini", - "name": "gpt-5.1-codex-mini", - "cost_per_1m_in": 0.25, - "cost_per_1m_out": 2, + "id": "gemini-2.5-pro-preview-05-06", + "name": "Gemini 2.5 Pro Preview", + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.025, - "context_window": 400000, - "default_max_tokens": 128000, + "cost_per_1m_out_cached": 0.125, + "context_window": 1048576, + "default_max_tokens": 65536, "can_reason": true, "reasoning_levels": [ "low", @@ -2192,14 +1372,14 @@ "options": {} }, { - "id": "gpt-5.2", - "name": "gpt-5.2", - "cost_per_1m_in": 1.75, - "cost_per_1m_out": 14, + "id": "gemini-2.5-pro-search", + "name": "Gemini 2.5 Pro Search", + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.175, - "context_window": 400000, - "default_max_tokens": 128000, + "cost_per_1m_out_cached": 0.125, + "context_window": 1048576, + "default_max_tokens": 65536, "can_reason": true, "reasoning_levels": [ "low", @@ -2211,27 +1391,14 @@ "options": {} }, { - "id": "gpt-5.2-chat-latest", - "name": "gpt-5.2-chat-latest", - "cost_per_1m_in": 1.75, - "cost_per_1m_out": 14, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.175, - "context_window": 128000, - "default_max_tokens": 16384, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "gpt-5.2-codex", - "name": "gpt-5.2-codex", - "cost_per_1m_in": 1.75, - "cost_per_1m_out": 14, + "id": "gemini-3-flash-preview", + "name": "Gemini 3.0 Flash Preview", + "cost_per_1m_in": 0.5, + "cost_per_1m_out": 3, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.175, - "context_window": 400000, - "default_max_tokens": 128000, + "cost_per_1m_out_cached": 0.05, + "context_window": 1048576, + "default_max_tokens": 65536, "can_reason": true, "reasoning_levels": [ "low", @@ -2243,14 +1410,14 @@ "options": {} }, { - "id": "gpt-5.2-high", - "name": "gpt-5.2-high", - "cost_per_1m_in": 1.75, - "cost_per_1m_out": 14, + "id": "gemini-3-flash-preview-free", + "name": "Gemini 3.0 Flash Preview (Free)", + "cost_per_1m_in": 0, + "cost_per_1m_out": 0, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.175, - "context_window": 400000, - "default_max_tokens": 128000, + "cost_per_1m_out_cached": 0, + "context_window": 1048576, + "default_max_tokens": 65536, "can_reason": true, "reasoning_levels": [ "low", @@ -2262,52 +1429,40 @@ "options": {} }, { - "id": "gpt-5.2-low", - "name": "gpt-5.2-low", - "cost_per_1m_in": 1.75, - "cost_per_1m_out": 14, + "id": "gpt-5-chat-latest", + "name": "Gpt 5 Chat Latest", + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.175, + "cost_per_1m_out_cached": 0.125, "context_window": 400000, "default_max_tokens": 128000, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", + "can_reason": false, "supports_attachments": true, "options": {} }, { - "id": "gpt-5.2-pro", - "name": "gpt-5.2-pro", - "cost_per_1m_in": 21, - "cost_per_1m_out": 168, + "id": "gpt-5.1-chat-latest", + "name": "Gpt 5.1 Chat Latest", + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 2.1, - "context_window": 400000, - "default_max_tokens": 128000, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", + "cost_per_1m_out_cached": 0.125, + "context_window": 128000, + "default_max_tokens": 16384, + "can_reason": false, "supports_attachments": true, "options": {} }, { - "id": "gpt-oss-120b", - "name": "gpt-oss-120b", - "cost_per_1m_in": 0.18, - "cost_per_1m_out": 0.9, + "id": "gpt-5.1-codex-mini", + "name": "Gpt 5.1 Codex Mini", + "cost_per_1m_in": 0.25, + "cost_per_1m_out": 2, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 131072, - "default_max_tokens": 32768, + "cost_per_1m_out_cached": 0.025, + "context_window": 400000, + "default_max_tokens": 128000, "can_reason": true, "reasoning_levels": [ "low", @@ -2315,18 +1470,31 @@ "high" ], "default_reasoning_effort": "medium", - "supports_attachments": false, + "supports_attachments": true, "options": {} }, { - "id": "gpt-oss-20b", - "name": "gpt-oss-20b", - "cost_per_1m_in": 0.11, - "cost_per_1m_out": 0.55, + "id": "gpt-5.2-chat-latest", + "name": "Gpt 5.2 Chat Latest", + "cost_per_1m_in": 1.75, + "cost_per_1m_out": 14, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, + "cost_per_1m_out_cached": 0.175, "context_window": 128000, - "default_max_tokens": 12800, + "default_max_tokens": 16384, + "can_reason": false, + "supports_attachments": true, + "options": {} + }, + { + "id": "gpt-5.2-high", + "name": "Gpt 5.2 High", + "cost_per_1m_in": 1.75, + "cost_per_1m_out": 14, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0.175, + "context_window": 400000, + "default_max_tokens": 128000, "can_reason": true, "reasoning_levels": [ "low", @@ -2334,25 +1502,12 @@ "high" ], "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "grok-2-vision-1212", - "name": "grok-2-vision-1212", - "cost_per_1m_in": 1.8, - "cost_per_1m_out": 9, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, "supports_attachments": true, "options": {} }, { "id": "grok-4-1-fast-non-reasoning", - "name": "grok-4-1-fast-non-reasoning", + "name": "Grok 4.1 Fast", "cost_per_1m_in": 0.2, "cost_per_1m_out": 0.5, "cost_per_1m_in_cached": 0, @@ -2371,7 +1526,7 @@ }, { "id": "grok-4-1-fast-reasoning", - "name": "grok-4-1-fast-reasoning", + "name": "Grok 4.1 Fast (Reasoning)", "cost_per_1m_in": 0.2, "cost_per_1m_out": 0.5, "cost_per_1m_in_cached": 0, @@ -2390,7 +1545,7 @@ }, { "id": "grok-code-fast-1", - "name": "grok-code-fast-1", + "name": "Grok Code Fast", "cost_per_1m_in": 0.2, "cost_per_1m_out": 0.5, "cost_per_1m_in_cached": 0, @@ -2407,99 +1562,9 @@ "supports_attachments": true, "options": {} }, - { - "id": "grok-vision-beta", - "name": "grok-vision-beta", - "cost_per_1m_in": 5.6, - "cost_per_1m_out": 16.8, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, - { - "id": "inclusionAI/Ling-1T", - "name": "inclusionAI/Ling-1T", - "cost_per_1m_in": 0.548, - "cost_per_1m_out": 2.192, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "inclusionAI/Ling-flash-2.0", - "name": "inclusionAI/Ling-flash-2.0", - "cost_per_1m_in": 0.136, - "cost_per_1m_out": 0.544, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "inclusionAI/Ling-mini-2.0", - "name": "inclusionAI/Ling-mini-2.0", - "cost_per_1m_in": 0.068, - "cost_per_1m_out": 0.272, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "inclusionAI/Ring-1T", - "name": "inclusionAI/Ring-1T", - "cost_per_1m_in": 0.548, - "cost_per_1m_out": 2.192, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "inclusionAI/Ring-flash-2.0", - "name": "inclusionAI/Ring-flash-2.0", - "cost_per_1m_in": 0.136, - "cost_per_1m_out": 0.544, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, { "id": "jina-deepsearch-v1", - "name": "jina-deepsearch-v1", + "name": "Jina DeepSearch V1", "cost_per_1m_in": 0.05, "cost_per_1m_out": 0.05, "cost_per_1m_in_cached": 0, @@ -2518,7 +1583,7 @@ }, { "id": "kat-dev", - "name": "kat-dev", + "name": "Kat Dev", "cost_per_1m_in": 0.137, "cost_per_1m_out": 0.548, "cost_per_1m_in_cached": 0, @@ -2530,27 +1595,21 @@ "options": {} }, { - "id": "kimi-for-coding-free", - "name": "kimi-for-coding-free", - "cost_per_1m_in": 0, - "cost_per_1m_out": 0, + "id": "Kimi-K2-0905", + "name": "Kimi K2", + "cost_per_1m_in": 0.548, + "cost_per_1m_out": 2.192, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, - "context_window": 256000, - "default_max_tokens": 25600, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", + "context_window": 262144, + "default_max_tokens": 26214, + "can_reason": false, "supports_attachments": false, "options": {} }, { "id": "kimi-k2-0711", - "name": "kimi-k2-0711", + "name": "Kimi K2 (0711)", "cost_per_1m_in": 0.54, "cost_per_1m_out": 2.16, "cost_per_1m_in_cached": 0, @@ -2563,7 +1622,7 @@ }, { "id": "kimi-k2-thinking", - "name": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", "cost_per_1m_in": 0.548, "cost_per_1m_out": 2.192, "cost_per_1m_in_cached": 0, @@ -2582,7 +1641,7 @@ }, { "id": "kimi-k2-turbo-preview", - "name": "kimi-k2-turbo-preview", + "name": "Kimi K2 Turbo Preview", "cost_per_1m_in": 1.2, "cost_per_1m_out": 4.8, "cost_per_1m_in_cached": 0, @@ -2593,9 +1652,28 @@ "supports_attachments": false, "options": {} }, + { + "id": "kimi-for-coding-free", + "name": "Kimi for Coding (Free)", + "cost_per_1m_in": 0, + "cost_per_1m_out": 0, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0, + "context_window": 256000, + "default_max_tokens": 25600, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", + "supports_attachments": false, + "options": {} + }, { "id": "llama-4-maverick", - "name": "llama-4-maverick", + "name": "Llama 4 Maverick", "cost_per_1m_in": 0.2, "cost_per_1m_out": 0.2, "cost_per_1m_in_cached": 0, @@ -2608,7 +1686,7 @@ }, { "id": "llama-4-scout", - "name": "llama-4-scout", + "name": "Llama 4 Scout", "cost_per_1m_in": 0.2, "cost_per_1m_out": 0.2, "cost_per_1m_in_cached": 0, @@ -2619,22 +1697,9 @@ "supports_attachments": true, "options": {} }, - { - "id": "mimo-v2-flash", - "name": "mimo-v2-flash", - "cost_per_1m_in": 0.1918, - "cost_per_1m_out": 0.5754, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.03836, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, { "id": "mimo-v2-flash-free", - "name": "mimo-v2-flash-free", + "name": "Mimo V2 Flash (Free)", "cost_per_1m_in": 0, "cost_per_1m_out": 0, "cost_per_1m_in_cached": 0, @@ -2647,7 +1712,7 @@ }, { "id": "mistral-large-3", - "name": "mistral-large-3", + "name": "Mistral Large 3", "cost_per_1m_in": 0.5, "cost_per_1m_out": 1.5, "cost_per_1m_in_cached": 0, @@ -2658,85 +1723,9 @@ "supports_attachments": true, "options": {} }, - { - "id": "o1", - "name": "o1", - "cost_per_1m_in": 15, - "cost_per_1m_out": 60, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 7.5, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, - { - "id": "o1-2024-12-17", - "name": "o1-2024-12-17", - "cost_per_1m_in": 15, - "cost_per_1m_out": 60, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 7.5, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": true, - "options": {} - }, - { - "id": "o1-preview", - "name": "o1-preview", - "cost_per_1m_in": 15, - "cost_per_1m_out": 60, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 7.5, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": true, - "options": {} - }, - { - "id": "o1-pro", - "name": "o1-pro", - "cost_per_1m_in": 170, - "cost_per_1m_out": 680, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 170, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": true, - "reasoning_levels": [ - "low", - "medium", - "high" - ], - "default_reasoning_effort": "medium", - "supports_attachments": false, - "options": {} - }, { "id": "o3", - "name": "o3", + "name": "O3", "cost_per_1m_in": 2, "cost_per_1m_out": 8, "cost_per_1m_in_cached": 0, @@ -2755,7 +1744,7 @@ }, { "id": "o3-mini", - "name": "o3-mini", + "name": "O3 Mini", "cost_per_1m_in": 1.1, "cost_per_1m_out": 4.4, "cost_per_1m_in_cached": 0, @@ -2774,7 +1763,7 @@ }, { "id": "o3-pro", - "name": "o3-pro", + "name": "O3 Pro", "cost_per_1m_in": 20, "cost_per_1m_out": 80, "cost_per_1m_in_cached": 0, @@ -2793,7 +1782,7 @@ }, { "id": "o4-mini", - "name": "o4-mini", + "name": "O4 Mini", "cost_per_1m_in": 1.1, "cost_per_1m_out": 4.4, "cost_per_1m_in_cached": 0, @@ -2810,74 +1799,9 @@ "supports_attachments": true, "options": {} }, - { - "id": "qwen-mt-plus", - "name": "qwen-mt-plus", - "cost_per_1m_in": 0.492, - "cost_per_1m_out": 1.476, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 16000, - "default_max_tokens": 8000, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "qwen-mt-turbo", - "name": "qwen-mt-turbo", - "cost_per_1m_in": 0.192, - "cost_per_1m_out": 0.534912, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 16000, - "default_max_tokens": 8000, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "qwen-turbo", - "name": "qwen-turbo", - "cost_per_1m_in": 0.36, - "cost_per_1m_out": 1.08, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "qwen-turbo-2024-11-01", - "name": "qwen-turbo-2024-11-01", - "cost_per_1m_in": 0.36, - "cost_per_1m_out": 1.08, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": false, - "options": {} - }, - { - "id": "qwen2.5-vl-72b-instruct", - "name": "qwen2.5-vl-72b-instruct", - "cost_per_1m_in": 2.4, - "cost_per_1m_out": 7.2, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, { "id": "qwen3-235b-a22b", - "name": "qwen3-235b-a22b", + "name": "Qwen3 235B", "cost_per_1m_in": 0.28, "cost_per_1m_out": 1.12, "cost_per_1m_in_cached": 0, @@ -2890,7 +1814,7 @@ }, { "id": "qwen3-235b-a22b-instruct-2507", - "name": "qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235B", "cost_per_1m_in": 0.28, "cost_per_1m_out": 1.12, "cost_per_1m_in_cached": 0, @@ -2903,7 +1827,7 @@ }, { "id": "qwen3-235b-a22b-thinking-2507", - "name": "qwen3-235b-a22b-thinking-2507", + "name": "Qwen3 235B Thinking", "cost_per_1m_in": 0.28, "cost_per_1m_out": 2.8, "cost_per_1m_in_cached": 0, @@ -2922,7 +1846,7 @@ }, { "id": "qwen3-coder-30b-a3b-instruct", - "name": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3 Coder 30B", "cost_per_1m_in": 0.2, "cost_per_1m_out": 0.8, "cost_per_1m_in_cached": 0, @@ -2935,7 +1859,7 @@ }, { "id": "qwen3-coder-480b-a35b-instruct", - "name": "qwen3-coder-480b-a35b-instruct", + "name": "Qwen3 Coder 480B", "cost_per_1m_in": 0.82, "cost_per_1m_out": 3.28, "cost_per_1m_in_cached": 0, @@ -2948,7 +1872,7 @@ }, { "id": "qwen3-coder-flash", - "name": "qwen3-coder-flash", + "name": "Qwen3 Coder Flash", "cost_per_1m_in": 0.136, "cost_per_1m_out": 0.544, "cost_per_1m_in_cached": 0, @@ -2960,34 +1884,34 @@ "options": {} }, { - "id": "qwen3-coder-plus", - "name": "qwen3-coder-plus", + "id": "qwen3-coder-plus-2025-07-22", + "name": "Qwen3 Coder Plus", "cost_per_1m_in": 0.54, "cost_per_1m_out": 2.16, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.108, - "context_window": 1048576, - "default_max_tokens": 65536, + "cost_per_1m_out_cached": 0.54, + "context_window": 128000, + "default_max_tokens": 12800, "can_reason": false, "supports_attachments": false, "options": {} }, { - "id": "qwen3-coder-plus-2025-07-22", - "name": "qwen3-coder-plus-2025-07-22", + "id": "qwen3-coder-plus", + "name": "Qwen3 Coder Plus", "cost_per_1m_in": 0.54, "cost_per_1m_out": 2.16, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.54, - "context_window": 128000, - "default_max_tokens": 12800, + "cost_per_1m_out_cached": 0.108, + "context_window": 1048576, + "default_max_tokens": 65536, "can_reason": false, "supports_attachments": false, "options": {} }, { "id": "qwen3-max", - "name": "qwen3-max", + "name": "Qwen3 Max", "cost_per_1m_in": 0.822, "cost_per_1m_out": 3.288, "cost_per_1m_in_cached": 0, @@ -2998,22 +1922,9 @@ "supports_attachments": true, "options": {} }, - { - "id": "qwen3-max-preview", - "name": "qwen3-max-preview", - "cost_per_1m_in": 0.822, - "cost_per_1m_out": 3.288, - "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 0.822, - "context_window": 0, - "default_max_tokens": 0, - "can_reason": false, - "supports_attachments": true, - "options": {} - }, { "id": "qwen3-next-80b-a3b-instruct", - "name": "qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B", "cost_per_1m_in": 0.138, "cost_per_1m_out": 0.552, "cost_per_1m_in_cached": 0, @@ -3026,7 +1937,7 @@ }, { "id": "qwen3-next-80b-a3b-thinking", - "name": "qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B Thinking", "cost_per_1m_in": 0.138, "cost_per_1m_out": 1.38, "cost_per_1m_in_cached": 0, @@ -3045,7 +1956,7 @@ }, { "id": "qwen3-vl-235b-a22b-instruct", - "name": "qwen3-vl-235b-a22b-instruct", + "name": "Qwen3 VL 235B", "cost_per_1m_in": 0.274, "cost_per_1m_out": 1.096, "cost_per_1m_in_cached": 0, @@ -3058,7 +1969,7 @@ }, { "id": "qwen3-vl-235b-a22b-thinking", - "name": "qwen3-vl-235b-a22b-thinking", + "name": "Qwen3 VL 235B Thinking", "cost_per_1m_in": 0.274, "cost_per_1m_out": 2.74, "cost_per_1m_in_cached": 0, @@ -3077,7 +1988,7 @@ }, { "id": "qwen3-vl-30b-a3b-instruct", - "name": "qwen3-vl-30b-a3b-instruct", + "name": "Qwen3 VL 30B", "cost_per_1m_in": 0.1028, "cost_per_1m_out": 0.4112, "cost_per_1m_in_cached": 0, @@ -3090,7 +2001,7 @@ }, { "id": "qwen3-vl-30b-a3b-thinking", - "name": "qwen3-vl-30b-a3b-thinking", + "name": "Qwen3 VL 30B Thinking", "cost_per_1m_in": 0.1028, "cost_per_1m_out": 1.028, "cost_per_1m_in_cached": 0, @@ -3109,7 +2020,7 @@ }, { "id": "qwen3-vl-plus", - "name": "qwen3-vl-plus", + "name": "Qwen3 VL Plus", "cost_per_1m_in": 0.137, "cost_per_1m_out": 1.37, "cost_per_1m_in_cached": 0,