From 5c0298739531ccd768ab07e8d3096ebce871ee6c Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Wed, 21 Jan 2026 15:03:26 -0300 Subject: [PATCH] fix: pricing Signed-off-by: Carlos Alexandro Becker --- cmd/aihubmix/main.go | 32 +- internal/providers/configs/aihubmix.json | 769 +++++++++++++---------- 2 files changed, 455 insertions(+), 346 deletions(-) diff --git a/cmd/aihubmix/main.go b/cmd/aihubmix/main.go index 92148a8af9c14a9c79dd7519ee288d37d38983ed..417004eda1ca2376a81fb812f97e9100879c5a95 100644 --- a/cmd/aihubmix/main.go +++ b/cmd/aihubmix/main.go @@ -107,14 +107,14 @@ func main() { } aiHubMixProvider := catwalk.Provider{ - Name: "AIHubMix", - ID: catwalk.InferenceAIHubMix, - APIKey: "$AIHUBMIX_API_KEY", - APIEndpoint: "https://aihubmix.com/v1", - Type: catwalk.TypeOpenAICompat, + Name: "AIHubMix", + ID: catwalk.InferenceAIHubMix, + APIKey: "$AIHUBMIX_API_KEY", + APIEndpoint: "https://aihubmix.com/v1", + Type: catwalk.TypeOpenAICompat, DefaultLargeModelID: "gpt-5", DefaultSmallModelID: "gpt-5-nano", - Models: []catwalk.Model{}, + Models: []catwalk.Model{}, DefaultHeaders: map[string]string{ "APP-Code": "IUFF7106", }, @@ -126,18 +126,6 @@ func main() { continue } - // Parse pricing - API returns price per 1K tokens in USD - // Convert to price per 1M tokens - costIn := parseFloat(model.Pricing.Input) * 1000 - costOut := parseFloat(model.Pricing.Output) * 1000 - costInCached := parseFloat(model.Pricing.CacheWrite) * 1000 - costOutCached := parseFloat(model.Pricing.CacheRead) * 1000 - - // Skip models with zero pricing or missing pricing - if costIn == 0 || costOut == 0 { - continue - } - // Check for text I/O support if !hasModality(model.InputModalities, "text") { continue @@ -166,10 +154,10 @@ func main() { catwalkModel := catwalk.Model{ ID: model.ModelID, Name: model.ModelID, - CostPer1MIn: costIn, - CostPer1MOut: costOut, - CostPer1MInCached: costInCached, - CostPer1MOutCached: costOutCached, + CostPer1MIn: parseFloat(model.Pricing.Input), + CostPer1MOut: parseFloat(model.Pricing.Output), + CostPer1MInCached: parseFloat(model.Pricing.CacheWrite), + CostPer1MOutCached: parseFloat(model.Pricing.CacheRead), ContextWindow: model.ContextLength, DefaultMaxTokens: defaultMaxTokens, CanReason: canReason, diff --git a/internal/providers/configs/aihubmix.json b/internal/providers/configs/aihubmix.json index 4725b4412ab89ae9f6fbf798dc49a5639a24bcb7..0e176524b5d9f39e3af6012df1ec82b863c8c1e5 100644 --- a/internal/providers/configs/aihubmix.json +++ b/internal/providers/configs/aihubmix.json @@ -10,8 +10,8 @@ { "id": "AiHubmix-Phi-4-mini-reasoning", "name": "AiHubmix-Phi-4-mini-reasoning", - "cost_per_1m_in": 120, - "cost_per_1m_out": 120, + "cost_per_1m_in": 0.12, + "cost_per_1m_out": 0.12, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 128000, @@ -23,8 +23,8 @@ { "id": "AiHubmix-Phi-4-reasoning", "name": "AiHubmix-Phi-4-reasoning", - "cost_per_1m_in": 200, - "cost_per_1m_out": 200, + "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": 128000, @@ -42,8 +42,8 @@ { "id": "ByteDance-Seed/Seed-OSS-36B-Instruct", "name": "ByteDance-Seed/Seed-OSS-36B-Instruct", - "cost_per_1m_in": 200, - "cost_per_1m_out": 534, + "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, @@ -55,8 +55,8 @@ { "id": "DeepSeek-R1", "name": "DeepSeek-R1", - "cost_per_1m_in": 400, - "cost_per_1m_out": 2000, + "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, @@ -68,8 +68,8 @@ { "id": "DeepSeek-V3", "name": "DeepSeek-V3", - "cost_per_1m_in": 272, - "cost_per_1m_out": 1088, + "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, @@ -81,8 +81,8 @@ { "id": "DeepSeek-V3-Fast", "name": "DeepSeek-V3-Fast", - "cost_per_1m_in": 560, - "cost_per_1m_out": 2240, + "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, @@ -94,8 +94,8 @@ { "id": "DeepSeek-V3.1-Fast", "name": "DeepSeek-V3.1-Fast", - "cost_per_1m_in": 1096, - "cost_per_1m_out": 3288, + "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, @@ -107,8 +107,8 @@ { "id": "DeepSeek-V3.1-Terminus", "name": "DeepSeek-V3.1-Terminus", - "cost_per_1m_in": 560, - "cost_per_1m_out": 1680, + "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, @@ -120,8 +120,8 @@ { "id": "DeepSeek-V3.1-Think", "name": "DeepSeek-V3.1-Think", - "cost_per_1m_in": 560, - "cost_per_1m_out": 1680, + "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, @@ -139,10 +139,10 @@ { "id": "DeepSeek-V3.2-Exp", "name": "DeepSeek-V3.2-Exp", - "cost_per_1m_in": 274, - "cost_per_1m_out": 411, + "cost_per_1m_in": 0.274, + "cost_per_1m_out": 0.411, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 27.400000000000002, + "cost_per_1m_out_cached": 0.0274, "context_window": 163000, "default_max_tokens": 16300, "can_reason": false, @@ -152,10 +152,10 @@ { "id": "DeepSeek-V3.2-Exp-Think", "name": "DeepSeek-V3.2-Exp-Think", - "cost_per_1m_in": 274, - "cost_per_1m_out": 411, + "cost_per_1m_in": 0.274, + "cost_per_1m_out": 0.411, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 27.400000000000002, + "cost_per_1m_out_cached": 0.0274, "context_window": 131000, "default_max_tokens": 64000, "can_reason": true, @@ -171,8 +171,8 @@ { "id": "ERNIE-X1.1-Preview", "name": "ERNIE-X1.1-Preview", - "cost_per_1m_in": 136, - "cost_per_1m_out": 544, + "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, @@ -190,8 +190,8 @@ { "id": "Kimi-K2-0905", "name": "Kimi-K2-0905", - "cost_per_1m_in": 548, - "cost_per_1m_out": 2192, + "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, @@ -203,8 +203,8 @@ { "id": "aihub-Phi-4-mini-instruct", "name": "aihub-Phi-4-mini-instruct", - "cost_per_1m_in": 120, - "cost_per_1m_out": 480, + "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": 128000, @@ -216,8 +216,8 @@ { "id": "aihub-Phi-4-multimodal-instruct", "name": "aihub-Phi-4-multimodal-instruct", - "cost_per_1m_in": 120, - "cost_per_1m_out": 480, + "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": 128000, @@ -229,8 +229,8 @@ { "id": "claude-3-5-haiku", "name": "claude-3-5-haiku", - "cost_per_1m_in": 1100, - "cost_per_1m_out": 5500, + "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, @@ -242,8 +242,8 @@ { "id": "claude-3-5-sonnet", "name": "claude-3-5-sonnet", - "cost_per_1m_in": 3300, - "cost_per_1m_out": 16500, + "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, @@ -255,8 +255,8 @@ { "id": "claude-3-5-sonnet-20240620", "name": "claude-3-5-sonnet-20240620", - "cost_per_1m_in": 3300, - "cost_per_1m_out": 16500, + "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, @@ -268,8 +268,8 @@ { "id": "claude-3-7-sonnet", "name": "claude-3-7-sonnet", - "cost_per_1m_in": 3300, - "cost_per_1m_out": 16500, + "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, @@ -287,10 +287,10 @@ { "id": "claude-haiku-4-5", "name": "claude-haiku-4-5", - "cost_per_1m_in": 1100, - "cost_per_1m_out": 5500, - "cost_per_1m_in_cached": 1375, - "cost_per_1m_out_cached": 110, + "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, @@ -306,8 +306,8 @@ { "id": "claude-opus-4-0", "name": "claude-opus-4-0", - "cost_per_1m_in": 16500, - "cost_per_1m_out": 82500, + "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, @@ -319,8 +319,8 @@ { "id": "claude-opus-4-1", "name": "claude-opus-4-1", - "cost_per_1m_in": 16500, - "cost_per_1m_out": 82500, + "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, @@ -338,10 +338,10 @@ { "id": "claude-opus-4-5", "name": "claude-opus-4-5", - "cost_per_1m_in": 5000, - "cost_per_1m_out": 25000, - "cost_per_1m_in_cached": 6250, - "cost_per_1m_out_cached": 500, + "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, @@ -357,10 +357,10 @@ { "id": "claude-opus-4-5-think", "name": "claude-opus-4-5-think", - "cost_per_1m_in": 5000, - "cost_per_1m_out": 25000, - "cost_per_1m_in_cached": 6250, - "cost_per_1m_out_cached": 500, + "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, @@ -376,10 +376,10 @@ { "id": "claude-sonnet-4-0", "name": "claude-sonnet-4-0", - "cost_per_1m_in": 3300, - "cost_per_1m_out": 16500, - "cost_per_1m_in_cached": 4125, - "cost_per_1m_out_cached": 330, + "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, @@ -395,10 +395,10 @@ { "id": "claude-sonnet-4-5", "name": "claude-sonnet-4-5", - "cost_per_1m_in": 3300, - "cost_per_1m_out": 16500, - "cost_per_1m_in_cached": 4125, - "cost_per_1m_out_cached": 330, + "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, @@ -414,10 +414,10 @@ { "id": "claude-sonnet-4-5-think", "name": "claude-sonnet-4-5-think", - "cost_per_1m_in": 3300, - "cost_per_1m_out": 16500, - "cost_per_1m_in_cached": 4125, - "cost_per_1m_out_cached": 330, + "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, @@ -430,11 +430,49 @@ "supports_attachments": true, "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-minimax-m2", "name": "coding-minimax-m2", - "cost_per_1m_in": 200, - "cost_per_1m_out": 200, + "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, @@ -452,8 +490,8 @@ { "id": "coding-minimax-m2.1", "name": "coding-minimax-m2.1", - "cost_per_1m_in": 200, - "cost_per_1m_out": 200, + "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, @@ -471,10 +509,10 @@ { "id": "deepseek-math-v2", "name": "deepseek-math-v2", - "cost_per_1m_in": 492, - "cost_per_1m_out": 1968, + "cost_per_1m_in": 0.492, + "cost_per_1m_out": 1.968, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 98.4, + "cost_per_1m_out_cached": 0.0984, "context_window": 163000, "default_max_tokens": 16300, "can_reason": true, @@ -490,10 +528,10 @@ { "id": "deepseek-v3.2", "name": "deepseek-v3.2", - "cost_per_1m_in": 302, - "cost_per_1m_out": 453, + "cost_per_1m_in": 0.302, + "cost_per_1m_out": 0.453, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 30.200000000000003, + "cost_per_1m_out_cached": 0.0302, "context_window": 128000, "default_max_tokens": 64000, "can_reason": false, @@ -503,10 +541,10 @@ { "id": "deepseek-v3.2-fast", "name": "deepseek-v3.2-fast", - "cost_per_1m_in": 1096, - "cost_per_1m_out": 3288, + "cost_per_1m_in": 1.096, + "cost_per_1m_out": 3.288, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 1096, + "cost_per_1m_out_cached": 1.096, "context_window": 128000, "default_max_tokens": 12800, "can_reason": false, @@ -516,8 +554,8 @@ { "id": "deepseek-v3.2-speciale", "name": "deepseek-v3.2-speciale", - "cost_per_1m_in": 580, - "cost_per_1m_out": 1680.028, + "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, @@ -535,10 +573,10 @@ { "id": "deepseek-v3.2-think", "name": "deepseek-v3.2-think", - "cost_per_1m_in": 302, - "cost_per_1m_out": 453, + "cost_per_1m_in": 0.302, + "cost_per_1m_out": 0.453, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 30.200000000000003, + "cost_per_1m_out_cached": 0.0302, "context_window": 128000, "default_max_tokens": 64000, "can_reason": false, @@ -548,10 +586,10 @@ { "id": "doubao-seed-1-6", "name": "doubao-seed-1-6", - "cost_per_1m_in": 180, - "cost_per_1m_out": 1800, + "cost_per_1m_in": 0.18, + "cost_per_1m_out": 1.8, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 36, + "cost_per_1m_out_cached": 0.036, "context_window": 256000, "default_max_tokens": 32000, "can_reason": false, @@ -561,10 +599,10 @@ { "id": "doubao-seed-1-6-flash", "name": "doubao-seed-1-6-flash", - "cost_per_1m_in": 44, - "cost_per_1m_out": 440, + "cost_per_1m_in": 0.044, + "cost_per_1m_out": 0.44, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 8.8, + "cost_per_1m_out_cached": 0.0088, "context_window": 256000, "default_max_tokens": 33000, "can_reason": false, @@ -574,10 +612,10 @@ { "id": "doubao-seed-1-6-lite", "name": "doubao-seed-1-6-lite", - "cost_per_1m_in": 82, - "cost_per_1m_out": 656, + "cost_per_1m_in": 0.082, + "cost_per_1m_out": 0.656, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 16.400000000000002, + "cost_per_1m_out_cached": 0.0164, "context_window": 256000, "default_max_tokens": 32000, "can_reason": false, @@ -587,10 +625,10 @@ { "id": "doubao-seed-1-6-thinking", "name": "doubao-seed-1-6-thinking", - "cost_per_1m_in": 180, - "cost_per_1m_out": 1800, + "cost_per_1m_in": 0.18, + "cost_per_1m_out": 1.8, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 36, + "cost_per_1m_out_cached": 0.036, "context_window": 256000, "default_max_tokens": 32000, "can_reason": false, @@ -600,10 +638,10 @@ { "id": "doubao-seed-1-8", "name": "doubao-seed-1-8", - "cost_per_1m_in": 109.59, - "cost_per_1m_out": 273.975, + "cost_per_1m_in": 0.10959, + "cost_per_1m_out": 0.273975, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 21.918, + "cost_per_1m_out_cached": 0.021918, "context_window": 256000, "default_max_tokens": 64000, "can_reason": true, @@ -619,8 +657,8 @@ { "id": "ernie-4.5", "name": "ernie-4.5", - "cost_per_1m_in": 68, - "cost_per_1m_out": 272, + "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": 160000, @@ -632,8 +670,8 @@ { "id": "ernie-4.5-turbo-latest", "name": "ernie-4.5-turbo-latest", - "cost_per_1m_in": 110, - "cost_per_1m_out": 440, + "cost_per_1m_in": 0.11, + "cost_per_1m_out": 0.44, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 135000, @@ -645,8 +683,8 @@ { "id": "ernie-4.5-turbo-vl", "name": "ernie-4.5-turbo-vl", - "cost_per_1m_in": 400, - "cost_per_1m_out": 1200, + "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": 139000, @@ -658,10 +696,10 @@ { "id": "ernie-5.0-thinking-exp", "name": "ernie-5.0-thinking-exp", - "cost_per_1m_in": 821.92, - "cost_per_1m_out": 3287.68, + "cost_per_1m_in": 0.82192, + "cost_per_1m_out": 3.28768, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 821.92, + "cost_per_1m_out_cached": 0.82192, "context_window": 119000, "default_max_tokens": 11900, "can_reason": true, @@ -677,10 +715,10 @@ { "id": "ernie-5.0-thinking-preview", "name": "ernie-5.0-thinking-preview", - "cost_per_1m_in": 822, - "cost_per_1m_out": 3288, + "cost_per_1m_in": 0.822, + "cost_per_1m_out": 3.288, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 822, + "cost_per_1m_out_cached": 0.822, "context_window": 183000, "default_max_tokens": 64000, "can_reason": true, @@ -696,8 +734,8 @@ { "id": "ernie-x1-turbo", "name": "ernie-x1-turbo", - "cost_per_1m_in": 136, - "cost_per_1m_out": 544, + "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, @@ -715,10 +753,23 @@ { "id": "gemini-2.0-flash", "name": "gemini-2.0-flash", - "cost_per_1m_in": 100, - "cost_per_1m_out": 400, + "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.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": 25, + "cost_per_1m_out_cached": 0, "context_window": 1048576, "default_max_tokens": 8192, "can_reason": false, @@ -728,10 +779,10 @@ { "id": "gemini-2.5-flash", "name": "gemini-2.5-flash", - "cost_per_1m_in": 300, - "cost_per_1m_out": 2499, + "cost_per_1m_in": 0.3, + "cost_per_1m_out": 2.499, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 30, + "cost_per_1m_out_cached": 0.03, "context_window": 1048576, "default_max_tokens": 65536, "can_reason": false, @@ -741,10 +792,10 @@ { "id": "gemini-2.5-flash-lite", "name": "gemini-2.5-flash-lite", - "cost_per_1m_in": 100, - "cost_per_1m_out": 400, + "cost_per_1m_in": 0.1, + "cost_per_1m_out": 0.4, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 10, + "cost_per_1m_out_cached": 0.01, "context_window": 1048576, "default_max_tokens": 65536, "can_reason": false, @@ -754,10 +805,10 @@ { "id": "gemini-2.5-flash-lite-preview-09-2025", "name": "gemini-2.5-flash-lite-preview-09-2025", - "cost_per_1m_in": 100, - "cost_per_1m_out": 400, + "cost_per_1m_in": 0.1, + "cost_per_1m_out": 0.4, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 10, + "cost_per_1m_out_cached": 0.01, "context_window": 1048576, "default_max_tokens": 65536, "can_reason": false, @@ -767,10 +818,10 @@ { "id": "gemini-2.5-flash-nothink", "name": "gemini-2.5-flash-nothink", - "cost_per_1m_in": 300, - "cost_per_1m_out": 2499, + "cost_per_1m_in": 0.3, + "cost_per_1m_out": 2.499, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 30, + "cost_per_1m_out_cached": 0.03, "context_window": 1047576, "default_max_tokens": 65536, "can_reason": false, @@ -780,10 +831,10 @@ { "id": "gemini-2.5-flash-preview-05-20-nothink", "name": "gemini-2.5-flash-preview-05-20-nothink", - "cost_per_1m_in": 300, - "cost_per_1m_out": 2499, + "cost_per_1m_in": 0.3, + "cost_per_1m_out": 2.499, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 30, + "cost_per_1m_out_cached": 0.03, "context_window": 1048576, "default_max_tokens": 65536, "can_reason": false, @@ -793,10 +844,10 @@ { "id": "gemini-2.5-flash-preview-05-20-search", "name": "gemini-2.5-flash-preview-05-20-search", - "cost_per_1m_in": 300, - "cost_per_1m_out": 2499, + "cost_per_1m_in": 0.3, + "cost_per_1m_out": 2.499, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 30, + "cost_per_1m_out_cached": 0.03, "context_window": 1048576, "default_max_tokens": 65536, "can_reason": false, @@ -806,10 +857,10 @@ { "id": "gemini-2.5-flash-preview-09-2025", "name": "gemini-2.5-flash-preview-09-2025", - "cost_per_1m_in": 300, - "cost_per_1m_out": 2499, + "cost_per_1m_in": 0.3, + "cost_per_1m_out": 2.499, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 30, + "cost_per_1m_out_cached": 0.03, "context_window": 1048576, "default_max_tokens": 65536, "can_reason": false, @@ -819,10 +870,10 @@ { "id": "gemini-2.5-flash-search", "name": "gemini-2.5-flash-search", - "cost_per_1m_in": 300, - "cost_per_1m_out": 2499, + "cost_per_1m_in": 0.3, + "cost_per_1m_out": 2.499, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 30, + "cost_per_1m_out_cached": 0.03, "context_window": 1048576, "default_max_tokens": 65536, "can_reason": false, @@ -832,10 +883,10 @@ { "id": "gemini-2.5-pro", "name": "gemini-2.5-pro", - "cost_per_1m_in": 1250, - "cost_per_1m_out": 10000, + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 125, + "cost_per_1m_out_cached": 0.125, "context_window": 1048576, "default_max_tokens": 65536, "can_reason": true, @@ -851,10 +902,10 @@ { "id": "gemini-2.5-pro-preview-05-06", "name": "gemini-2.5-pro-preview-05-06", - "cost_per_1m_in": 1250, - "cost_per_1m_out": 10000, + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 125, + "cost_per_1m_out_cached": 0.125, "context_window": 1048576, "default_max_tokens": 65536, "can_reason": true, @@ -870,10 +921,10 @@ { "id": "gemini-2.5-pro-preview-06-05", "name": "gemini-2.5-pro-preview-06-05", - "cost_per_1m_in": 1250, - "cost_per_1m_out": 10000, + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 125, + "cost_per_1m_out_cached": 0.125, "context_window": 1048576, "default_max_tokens": 65536, "can_reason": true, @@ -889,10 +940,10 @@ { "id": "gemini-2.5-pro-search", "name": "gemini-2.5-pro-search", - "cost_per_1m_in": 1250, - "cost_per_1m_out": 10000, + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 125, + "cost_per_1m_out_cached": 0.125, "context_window": 1048576, "default_max_tokens": 65536, "can_reason": true, @@ -908,10 +959,29 @@ { "id": "gemini-3-flash-preview", "name": "gemini-3-flash-preview", - "cost_per_1m_in": 500, - "cost_per_1m_out": 3000, + "cost_per_1m_in": 0.5, + "cost_per_1m_out": 3, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 50, + "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", + "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, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0, "context_window": 1048576, "default_max_tokens": 65536, "can_reason": true, @@ -927,23 +997,42 @@ { "id": "glm-4.5v", "name": "glm-4.5v", - "cost_per_1m_in": 274, - "cost_per_1m_out": 822, + "cost_per_1m_in": 0.274, + "cost_per_1m_out": 0.822, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 274, + "cost_per_1m_out_cached": 0.274, "context_window": 64000, "default_max_tokens": 16384, "can_reason": false, "supports_attachments": true, "options": {} }, + { + "id": "glm-4.6", + "name": "glm-4.6", + "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": 20480, + "can_reason": true, + "reasoning_levels": [ + "low", + "medium", + "high" + ], + "default_reasoning_effort": "medium", + "supports_attachments": false, + "options": {} + }, { "id": "glm-4.6v", "name": "glm-4.6v", - "cost_per_1m_in": 137, - "cost_per_1m_out": 411, + "cost_per_1m_in": 0.137, + "cost_per_1m_out": 0.411, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 27.400000000000002, + "cost_per_1m_out_cached": 0.0274, "context_window": 128000, "default_max_tokens": 12800, "can_reason": false, @@ -953,10 +1042,10 @@ { "id": "glm-4.7", "name": "glm-4.7", - "cost_per_1m_in": 273.974, - "cost_per_1m_out": 1095.896, + "cost_per_1m_in": 0.273974, + "cost_per_1m_out": 1.095896, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 54.795, + "cost_per_1m_out_cached": 0.054795, "context_window": 200000, "default_max_tokens": 20000, "can_reason": true, @@ -972,10 +1061,10 @@ { "id": "gpt-4.1", "name": "gpt-4.1", - "cost_per_1m_in": 2000, - "cost_per_1m_out": 8000, + "cost_per_1m_in": 2, + "cost_per_1m_out": 8, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 500, + "cost_per_1m_out_cached": 0.5, "context_window": 1047576, "default_max_tokens": 32768, "can_reason": false, @@ -985,10 +1074,10 @@ { "id": "gpt-4.1-mini", "name": "gpt-4.1-mini", - "cost_per_1m_in": 400, - "cost_per_1m_out": 1600, + "cost_per_1m_in": 0.4, + "cost_per_1m_out": 1.6, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 100, + "cost_per_1m_out_cached": 0.1, "context_window": 1047576, "default_max_tokens": 32768, "can_reason": false, @@ -998,10 +1087,10 @@ { "id": "gpt-4.1-nano", "name": "gpt-4.1-nano", - "cost_per_1m_in": 100, - "cost_per_1m_out": 400, + "cost_per_1m_in": 0.1, + "cost_per_1m_out": 0.4, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 25, + "cost_per_1m_out_cached": 0.025, "context_window": 1047576, "default_max_tokens": 32768, "can_reason": false, @@ -1011,10 +1100,10 @@ { "id": "gpt-4o", "name": "gpt-4o", - "cost_per_1m_in": 2500, - "cost_per_1m_out": 10000, + "cost_per_1m_in": 2.5, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 1250, + "cost_per_1m_out_cached": 1.25, "context_window": 128000, "default_max_tokens": 16384, "can_reason": false, @@ -1024,10 +1113,10 @@ { "id": "gpt-4o-2024-11-20", "name": "gpt-4o-2024-11-20", - "cost_per_1m_in": 2500, - "cost_per_1m_out": 10000, + "cost_per_1m_in": 2.5, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 1250, + "cost_per_1m_out_cached": 1.25, "context_window": 128000, "default_max_tokens": 16384, "can_reason": false, @@ -1037,8 +1126,8 @@ { "id": "gpt-4o-audio-preview", "name": "gpt-4o-audio-preview", - "cost_per_1m_in": 2500, - "cost_per_1m_out": 10000, + "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": 128000, @@ -1050,10 +1139,10 @@ { "id": "gpt-4o-mini", "name": "gpt-4o-mini", - "cost_per_1m_in": 150, - "cost_per_1m_out": 600, + "cost_per_1m_in": 0.15, + "cost_per_1m_out": 0.6, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 75, + "cost_per_1m_out_cached": 0.075, "context_window": 128000, "default_max_tokens": 16384, "can_reason": false, @@ -1063,10 +1152,10 @@ { "id": "gpt-4o-mini-search-preview", "name": "gpt-4o-mini-search-preview", - "cost_per_1m_in": 150, - "cost_per_1m_out": 600, + "cost_per_1m_in": 0.15, + "cost_per_1m_out": 0.6, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 75, + "cost_per_1m_out_cached": 0.075, "context_window": 128000, "default_max_tokens": 16384, "can_reason": false, @@ -1076,10 +1165,10 @@ { "id": "gpt-4o-search-preview", "name": "gpt-4o-search-preview", - "cost_per_1m_in": 2500, - "cost_per_1m_out": 10000, + "cost_per_1m_in": 2.5, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 1250, + "cost_per_1m_out_cached": 1.25, "context_window": 128000, "default_max_tokens": 16384, "can_reason": false, @@ -1089,10 +1178,10 @@ { "id": "gpt-5", "name": "gpt-5", - "cost_per_1m_in": 1250, - "cost_per_1m_out": 10000, + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 125, + "cost_per_1m_out_cached": 0.125, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -1108,10 +1197,10 @@ { "id": "gpt-5-chat-latest", "name": "gpt-5-chat-latest", - "cost_per_1m_in": 1250, - "cost_per_1m_out": 10000, + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 125, + "cost_per_1m_out_cached": 0.125, "context_window": 400000, "default_max_tokens": 128000, "can_reason": false, @@ -1121,10 +1210,10 @@ { "id": "gpt-5-codex", "name": "gpt-5-codex", - "cost_per_1m_in": 1250, - "cost_per_1m_out": 10000, + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 125, + "cost_per_1m_out_cached": 0.125, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -1140,10 +1229,10 @@ { "id": "gpt-5-mini", "name": "gpt-5-mini", - "cost_per_1m_in": 250, - "cost_per_1m_out": 2000, + "cost_per_1m_in": 0.25, + "cost_per_1m_out": 2, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 25, + "cost_per_1m_out_cached": 0.025, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -1159,10 +1248,10 @@ { "id": "gpt-5-nano", "name": "gpt-5-nano", - "cost_per_1m_in": 50, - "cost_per_1m_out": 400, + "cost_per_1m_in": 0.05, + "cost_per_1m_out": 0.4, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 5, + "cost_per_1m_out_cached": 0.005, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -1178,8 +1267,8 @@ { "id": "gpt-5-pro", "name": "gpt-5-pro", - "cost_per_1m_in": 15000, - "cost_per_1m_out": 120000, + "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, @@ -1197,10 +1286,10 @@ { "id": "gpt-5.1", "name": "gpt-5.1", - "cost_per_1m_in": 1250, - "cost_per_1m_out": 10000, + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 125, + "cost_per_1m_out_cached": 0.125, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -1216,10 +1305,10 @@ { "id": "gpt-5.1-chat-latest", "name": "gpt-5.1-chat-latest", - "cost_per_1m_in": 1250, - "cost_per_1m_out": 10000, + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 125, + "cost_per_1m_out_cached": 0.125, "context_window": 128000, "default_max_tokens": 16384, "can_reason": false, @@ -1229,10 +1318,10 @@ { "id": "gpt-5.1-codex", "name": "gpt-5.1-codex", - "cost_per_1m_in": 1250, - "cost_per_1m_out": 10000, + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 125, + "cost_per_1m_out_cached": 0.125, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -1248,10 +1337,10 @@ { "id": "gpt-5.1-codex-max", "name": "gpt-5.1-codex-max", - "cost_per_1m_in": 1250, - "cost_per_1m_out": 10000, + "cost_per_1m_in": 1.25, + "cost_per_1m_out": 10, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 125, + "cost_per_1m_out_cached": 0.125, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -1267,10 +1356,10 @@ { "id": "gpt-5.1-codex-mini", "name": "gpt-5.1-codex-mini", - "cost_per_1m_in": 250, - "cost_per_1m_out": 2000, + "cost_per_1m_in": 0.25, + "cost_per_1m_out": 2, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 25, + "cost_per_1m_out_cached": 0.025, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -1286,10 +1375,10 @@ { "id": "gpt-5.2", "name": "gpt-5.2", - "cost_per_1m_in": 1750, - "cost_per_1m_out": 14000, + "cost_per_1m_in": 1.75, + "cost_per_1m_out": 14, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 175, + "cost_per_1m_out_cached": 0.175, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -1305,10 +1394,10 @@ { "id": "gpt-5.2-chat-latest", "name": "gpt-5.2-chat-latest", - "cost_per_1m_in": 1750, - "cost_per_1m_out": 14000, + "cost_per_1m_in": 1.75, + "cost_per_1m_out": 14, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 175, + "cost_per_1m_out_cached": 0.175, "context_window": 128000, "default_max_tokens": 16384, "can_reason": false, @@ -1318,10 +1407,10 @@ { "id": "gpt-5.2-codex", "name": "gpt-5.2-codex", - "cost_per_1m_in": 1750, - "cost_per_1m_out": 14000, + "cost_per_1m_in": 1.75, + "cost_per_1m_out": 14, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 175, + "cost_per_1m_out_cached": 0.175, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -1337,10 +1426,10 @@ { "id": "gpt-5.2-high", "name": "gpt-5.2-high", - "cost_per_1m_in": 1750, - "cost_per_1m_out": 14000, + "cost_per_1m_in": 1.75, + "cost_per_1m_out": 14, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 175, + "cost_per_1m_out_cached": 0.175, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -1356,10 +1445,10 @@ { "id": "gpt-5.2-low", "name": "gpt-5.2-low", - "cost_per_1m_in": 1750, - "cost_per_1m_out": 14000, + "cost_per_1m_in": 1.75, + "cost_per_1m_out": 14, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 175, + "cost_per_1m_out_cached": 0.175, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -1375,10 +1464,10 @@ { "id": "gpt-5.2-pro", "name": "gpt-5.2-pro", - "cost_per_1m_in": 21000, - "cost_per_1m_out": 168000, + "cost_per_1m_in": 21, + "cost_per_1m_out": 168, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 2100, + "cost_per_1m_out_cached": 2.1, "context_window": 400000, "default_max_tokens": 128000, "can_reason": true, @@ -1394,8 +1483,8 @@ { "id": "gpt-oss-120b", "name": "gpt-oss-120b", - "cost_per_1m_in": 180, - "cost_per_1m_out": 900, + "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, @@ -1413,8 +1502,8 @@ { "id": "gpt-oss-20b", "name": "gpt-oss-20b", - "cost_per_1m_in": 110, - "cost_per_1m_out": 550, + "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": 128000, @@ -1432,10 +1521,10 @@ { "id": "grok-4-1-fast-non-reasoning", "name": "grok-4-1-fast-non-reasoning", - "cost_per_1m_in": 200, - "cost_per_1m_out": 500, + "cost_per_1m_in": 0.2, + "cost_per_1m_out": 0.5, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 50, + "cost_per_1m_out_cached": 0.05, "context_window": 2000000, "default_max_tokens": 200000, "can_reason": true, @@ -1451,10 +1540,10 @@ { "id": "grok-4-1-fast-reasoning", "name": "grok-4-1-fast-reasoning", - "cost_per_1m_in": 200, - "cost_per_1m_out": 500, + "cost_per_1m_in": 0.2, + "cost_per_1m_out": 0.5, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 50, + "cost_per_1m_out_cached": 0.05, "context_window": 2000000, "default_max_tokens": 200000, "can_reason": true, @@ -1470,10 +1559,10 @@ { "id": "grok-code-fast-1", "name": "grok-code-fast-1", - "cost_per_1m_in": 200, - "cost_per_1m_out": 500, + "cost_per_1m_in": 0.2, + "cost_per_1m_out": 0.5, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 50, + "cost_per_1m_out_cached": 0.05, "context_window": 2000000, "default_max_tokens": 200000, "can_reason": true, @@ -1489,8 +1578,8 @@ { "id": "jina-deepsearch-v1", "name": "jina-deepsearch-v1", - "cost_per_1m_in": 50, - "cost_per_1m_out": 50, + "cost_per_1m_in": 0.05, + "cost_per_1m_out": 0.05, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 1000000, @@ -1508,8 +1597,8 @@ { "id": "kat-dev", "name": "kat-dev", - "cost_per_1m_in": 137, - "cost_per_1m_out": 548, + "cost_per_1m_in": 0.137, + "cost_per_1m_out": 0.548, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 128000, @@ -1518,11 +1607,30 @@ "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": "kimi-k2-0711", "name": "kimi-k2-0711", - "cost_per_1m_in": 540, - "cost_per_1m_out": 2160, + "cost_per_1m_in": 0.54, + "cost_per_1m_out": 2.16, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 131000, @@ -1534,10 +1642,10 @@ { "id": "kimi-k2-thinking", "name": "kimi-k2-thinking", - "cost_per_1m_in": 548, - "cost_per_1m_out": 2192, + "cost_per_1m_in": 0.548, + "cost_per_1m_out": 2.192, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 137, + "cost_per_1m_out_cached": 0.137, "context_window": 262144, "default_max_tokens": 26214, "can_reason": true, @@ -1553,10 +1661,10 @@ { "id": "kimi-k2-turbo-preview", "name": "kimi-k2-turbo-preview", - "cost_per_1m_in": 1200, - "cost_per_1m_out": 4800, + "cost_per_1m_in": 1.2, + "cost_per_1m_out": 4.8, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 300, + "cost_per_1m_out_cached": 0.3, "context_window": 262144, "default_max_tokens": 26214, "can_reason": false, @@ -1566,8 +1674,8 @@ { "id": "llama-4-maverick", "name": "llama-4-maverick", - "cost_per_1m_in": 200, - "cost_per_1m_out": 200, + "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": 1048576, @@ -1579,8 +1687,8 @@ { "id": "llama-4-scout", "name": "llama-4-scout", - "cost_per_1m_in": 200, - "cost_per_1m_out": 200, + "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": 131000, @@ -1589,11 +1697,24 @@ "supports_attachments": true, "options": {} }, + { + "id": "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, + "cost_per_1m_out_cached": 0, + "context_window": 256000, + "default_max_tokens": 25600, + "can_reason": false, + "supports_attachments": false, + "options": {} + }, { "id": "mistral-large-3", "name": "mistral-large-3", - "cost_per_1m_in": 500, - "cost_per_1m_out": 1500, + "cost_per_1m_in": 0.5, + "cost_per_1m_out": 1.5, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 256000, @@ -1605,10 +1726,10 @@ { "id": "o3", "name": "o3", - "cost_per_1m_in": 2000, - "cost_per_1m_out": 8000, + "cost_per_1m_in": 2, + "cost_per_1m_out": 8, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 500, + "cost_per_1m_out_cached": 0.5, "context_window": 200000, "default_max_tokens": 100000, "can_reason": true, @@ -1624,10 +1745,10 @@ { "id": "o3-mini", "name": "o3-mini", - "cost_per_1m_in": 1100, - "cost_per_1m_out": 4400, + "cost_per_1m_in": 1.1, + "cost_per_1m_out": 4.4, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 550, + "cost_per_1m_out_cached": 0.55, "context_window": 200000, "default_max_tokens": 100000, "can_reason": true, @@ -1643,10 +1764,10 @@ { "id": "o3-pro", "name": "o3-pro", - "cost_per_1m_in": 20000, - "cost_per_1m_out": 80000, + "cost_per_1m_in": 20, + "cost_per_1m_out": 80, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 20000, + "cost_per_1m_out_cached": 20, "context_window": 200000, "default_max_tokens": 100000, "can_reason": true, @@ -1662,10 +1783,10 @@ { "id": "o4-mini", "name": "o4-mini", - "cost_per_1m_in": 1100, - "cost_per_1m_out": 4400, + "cost_per_1m_in": 1.1, + "cost_per_1m_out": 4.4, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 275, + "cost_per_1m_out_cached": 0.275, "context_window": 200000, "default_max_tokens": 100000, "can_reason": true, @@ -1681,8 +1802,8 @@ { "id": "qwen3-235b-a22b", "name": "qwen3-235b-a22b", - "cost_per_1m_in": 280, - "cost_per_1m_out": 1120, + "cost_per_1m_in": 0.28, + "cost_per_1m_out": 1.12, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 131100, @@ -1694,8 +1815,8 @@ { "id": "qwen3-235b-a22b-instruct-2507", "name": "qwen3-235b-a22b-instruct-2507", - "cost_per_1m_in": 280, - "cost_per_1m_out": 1120, + "cost_per_1m_in": 0.28, + "cost_per_1m_out": 1.12, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 262144, @@ -1707,8 +1828,8 @@ { "id": "qwen3-235b-a22b-thinking-2507", "name": "qwen3-235b-a22b-thinking-2507", - "cost_per_1m_in": 280, - "cost_per_1m_out": 2800, + "cost_per_1m_in": 0.28, + "cost_per_1m_out": 2.8, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 262144, @@ -1726,10 +1847,10 @@ { "id": "qwen3-coder-30b-a3b-instruct", "name": "qwen3-coder-30b-a3b-instruct", - "cost_per_1m_in": 200, - "cost_per_1m_out": 800, + "cost_per_1m_in": 0.2, + "cost_per_1m_out": 0.8, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 200, + "cost_per_1m_out_cached": 0.2, "context_window": 2000000, "default_max_tokens": 262000, "can_reason": false, @@ -1739,10 +1860,10 @@ { "id": "qwen3-coder-480b-a35b-instruct", "name": "qwen3-coder-480b-a35b-instruct", - "cost_per_1m_in": 820, - "cost_per_1m_out": 3280, + "cost_per_1m_in": 0.82, + "cost_per_1m_out": 3.28, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 820, + "cost_per_1m_out_cached": 0.82, "context_window": 262000, "default_max_tokens": 26200, "can_reason": false, @@ -1752,10 +1873,10 @@ { "id": "qwen3-coder-flash", "name": "qwen3-coder-flash", - "cost_per_1m_in": 136, - "cost_per_1m_out": 544, + "cost_per_1m_in": 0.136, + "cost_per_1m_out": 0.544, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 136, + "cost_per_1m_out_cached": 0.136, "context_window": 256000, "default_max_tokens": 65536, "can_reason": false, @@ -1765,10 +1886,10 @@ { "id": "qwen3-coder-plus", "name": "qwen3-coder-plus", - "cost_per_1m_in": 540, - "cost_per_1m_out": 2160, + "cost_per_1m_in": 0.54, + "cost_per_1m_out": 2.16, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 108, + "cost_per_1m_out_cached": 0.108, "context_window": 1048576, "default_max_tokens": 65536, "can_reason": false, @@ -1778,10 +1899,10 @@ { "id": "qwen3-coder-plus-2025-07-22", "name": "qwen3-coder-plus-2025-07-22", - "cost_per_1m_in": 540, - "cost_per_1m_out": 2160, + "cost_per_1m_in": 0.54, + "cost_per_1m_out": 2.16, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 540, + "cost_per_1m_out_cached": 0.54, "context_window": 128000, "default_max_tokens": 12800, "can_reason": false, @@ -1791,10 +1912,10 @@ { "id": "qwen3-max", "name": "qwen3-max", - "cost_per_1m_in": 822, - "cost_per_1m_out": 3288, + "cost_per_1m_in": 0.822, + "cost_per_1m_out": 3.288, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 822, + "cost_per_1m_out_cached": 0.822, "context_window": 262144, "default_max_tokens": 65536, "can_reason": false, @@ -1804,8 +1925,8 @@ { "id": "qwen3-next-80b-a3b-instruct", "name": "qwen3-next-80b-a3b-instruct", - "cost_per_1m_in": 138, - "cost_per_1m_out": 552, + "cost_per_1m_in": 0.138, + "cost_per_1m_out": 0.552, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 256000, @@ -1817,8 +1938,8 @@ { "id": "qwen3-next-80b-a3b-thinking", "name": "qwen3-next-80b-a3b-thinking", - "cost_per_1m_in": 138, - "cost_per_1m_out": 1380, + "cost_per_1m_in": 0.138, + "cost_per_1m_out": 1.38, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 256000, @@ -1836,8 +1957,8 @@ { "id": "qwen3-vl-235b-a22b-instruct", "name": "qwen3-vl-235b-a22b-instruct", - "cost_per_1m_in": 274, - "cost_per_1m_out": 1096, + "cost_per_1m_in": 0.274, + "cost_per_1m_out": 1.096, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 131000, @@ -1849,8 +1970,8 @@ { "id": "qwen3-vl-235b-a22b-thinking", "name": "qwen3-vl-235b-a22b-thinking", - "cost_per_1m_in": 274, - "cost_per_1m_out": 2740, + "cost_per_1m_in": 0.274, + "cost_per_1m_out": 2.74, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 131000, @@ -1868,8 +1989,8 @@ { "id": "qwen3-vl-30b-a3b-instruct", "name": "qwen3-vl-30b-a3b-instruct", - "cost_per_1m_in": 102.8, - "cost_per_1m_out": 411.2, + "cost_per_1m_in": 0.1028, + "cost_per_1m_out": 0.4112, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 128000, @@ -1881,8 +2002,8 @@ { "id": "qwen3-vl-30b-a3b-thinking", "name": "qwen3-vl-30b-a3b-thinking", - "cost_per_1m_in": 102.8, - "cost_per_1m_out": 1028, + "cost_per_1m_in": 0.1028, + "cost_per_1m_out": 1.028, "cost_per_1m_in_cached": 0, "cost_per_1m_out_cached": 0, "context_window": 128000, @@ -1900,10 +2021,10 @@ { "id": "qwen3-vl-plus", "name": "qwen3-vl-plus", - "cost_per_1m_in": 137, - "cost_per_1m_out": 1370, + "cost_per_1m_in": 0.137, + "cost_per_1m_out": 1.37, "cost_per_1m_in_cached": 0, - "cost_per_1m_out_cached": 27.400000000000002, + "cost_per_1m_out_cached": 0.0274, "context_window": 256000, "default_max_tokens": 32000, "can_reason": false,