chore: auto-update generated files

Charm created

Change summary

internal/providers/configs/aihubmix.json    |  32 ++
internal/providers/configs/huggingface.json |  13 
internal/providers/configs/openrouter.json  | 324 +++++++++++++---------
internal/providers/configs/vercel.json      | 140 ++++-----
4 files changed, 298 insertions(+), 211 deletions(-)

Detailed changes

internal/providers/configs/aihubmix.json 🔗

@@ -2007,6 +2007,38 @@
       "supports_attachments": true,
       "options": {}
     },
+    {
+      "id": "gpt-5.4-mini",
+      "name": "GPT 5.4 Mini",
+      "cost_per_1m_in": 0.75,
+      "cost_per_1m_out": 4.5,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0.075,
+      "context_window": 1047576,
+      "default_max_tokens": 32768,
+      "can_reason": false,
+      "supports_attachments": true,
+      "options": {}
+    },
+    {
+      "id": "gpt-5.4-nano",
+      "name": "GPT 5.4 Nano",
+      "cost_per_1m_in": 0.2,
+      "cost_per_1m_out": 1.25,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0.02,
+      "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.4-pro",
       "name": "GPT 5.4 Pro",

internal/providers/configs/huggingface.json 🔗

@@ -7,6 +7,19 @@
   "default_large_model_id": "moonshotai/Kimi-K2-Instruct-0905:groq",
   "default_small_model_id": "openai/gpt-oss-20b:groq",
   "models": [
+    {
+      "id": "MiniMaxAI/MiniMax-M2.1:fireworks-ai",
+      "name": "MiniMaxAI/MiniMax-M2.1 (fireworks-ai)",
+      "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": 8192,
+      "can_reason": false,
+      "supports_attachments": false,
+      "options": {}
+    },
     {
       "id": "MiniMaxAI/MiniMax-M2.5:fireworks-ai",
       "name": "MiniMaxAI/MiniMax-M2.5 (fireworks-ai)",

internal/providers/configs/openrouter.json 🔗

@@ -547,13 +547,19 @@
     {
       "id": "deepseek/deepseek-chat-v3-0324",
       "name": "DeepSeek: DeepSeek V3 0324",
-      "cost_per_1m_in": 0.27,
-      "cost_per_1m_out": 1.12,
+      "cost_per_1m_in": 0.77,
+      "cost_per_1m_out": 0.77,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.135,
+      "cost_per_1m_out_cached": 0,
       "context_window": 163840,
-      "default_max_tokens": 81920,
-      "can_reason": false,
+      "default_max_tokens": 65536,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
       "supports_attachments": false,
       "options": {}
     },
@@ -579,11 +585,11 @@
     {
       "id": "deepseek/deepseek-v3.1-terminus",
       "name": "DeepSeek: DeepSeek V3.1 Terminus",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 0.95,
+      "cost_per_1m_in": 0.23,
+      "cost_per_1m_out": 0.9,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.13,
-      "context_window": 131072,
+      "cost_per_1m_out_cached": 0.115,
+      "context_window": 163840,
       "default_max_tokens": 32768,
       "can_reason": true,
       "reasoning_levels": [
@@ -603,7 +609,7 @@
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0.13,
       "context_window": 163840,
-      "default_max_tokens": 16384,
+      "default_max_tokens": 81920,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -620,9 +626,9 @@
       "cost_per_1m_in": 0.27,
       "cost_per_1m_out": 0.41,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.27,
+      "cost_per_1m_out_cached": 0,
       "context_window": 163840,
-      "default_max_tokens": 81920,
+      "default_max_tokens": 32768,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -1070,12 +1076,12 @@
     {
       "id": "meta-llama/llama-3.3-70b-instruct",
       "name": "Meta: Llama 3.3 70B Instruct",
-      "cost_per_1m_in": 0.88,
-      "cost_per_1m_out": 0.88,
+      "cost_per_1m_in": 0.13,
+      "cost_per_1m_out": 0.4,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 131072,
-      "default_max_tokens": 1024,
+      "default_max_tokens": 13107,
       "can_reason": false,
       "supports_attachments": false,
       "options": {}
@@ -1201,7 +1207,7 @@
       "cost_per_1m_in": 2,
       "cost_per_1m_out": 6,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.2,
       "context_window": 128000,
       "default_max_tokens": 12800,
       "can_reason": false,
@@ -1214,7 +1220,7 @@
       "cost_per_1m_in": 2,
       "cost_per_1m_out": 6,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.2,
       "context_window": 131072,
       "default_max_tokens": 13107,
       "can_reason": false,
@@ -1227,7 +1233,7 @@
       "cost_per_1m_in": 2,
       "cost_per_1m_out": 6,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.2,
       "context_window": 131072,
       "default_max_tokens": 13107,
       "can_reason": false,
@@ -1240,7 +1246,7 @@
       "cost_per_1m_in": 0.3,
       "cost_per_1m_out": 0.9,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.03,
       "context_window": 256000,
       "default_max_tokens": 25600,
       "can_reason": false,
@@ -1253,7 +1259,7 @@
       "cost_per_1m_in": 0.4,
       "cost_per_1m_out": 2,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.04,
       "context_window": 262144,
       "default_max_tokens": 26214,
       "can_reason": false,
@@ -1266,7 +1272,7 @@
       "cost_per_1m_in": 0.4,
       "cost_per_1m_out": 2,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.04,
       "context_window": 131072,
       "default_max_tokens": 13107,
       "can_reason": false,
@@ -1279,7 +1285,7 @@
       "cost_per_1m_in": 0.1,
       "cost_per_1m_out": 0.3,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.01,
       "context_window": 131072,
       "default_max_tokens": 13107,
       "can_reason": false,
@@ -1292,7 +1298,7 @@
       "cost_per_1m_in": 0.2,
       "cost_per_1m_out": 0.2,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.02,
       "context_window": 262144,
       "default_max_tokens": 26214,
       "can_reason": false,
@@ -1307,7 +1313,7 @@
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 131072,
-      "default_max_tokens": 13107,
+      "default_max_tokens": 65536,
       "can_reason": false,
       "supports_attachments": true,
       "options": {}
@@ -1320,7 +1326,7 @@
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 262144,
-      "default_max_tokens": 26214,
+      "default_max_tokens": 131072,
       "can_reason": false,
       "supports_attachments": true,
       "options": {}
@@ -1331,7 +1337,7 @@
       "cost_per_1m_in": 0.5,
       "cost_per_1m_out": 1.5,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.05,
       "context_window": 262144,
       "default_max_tokens": 26214,
       "can_reason": false,
@@ -1344,7 +1350,7 @@
       "cost_per_1m_in": 0.4,
       "cost_per_1m_out": 2,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.04,
       "context_window": 131072,
       "default_max_tokens": 13107,
       "can_reason": false,
@@ -1357,26 +1363,13 @@
       "cost_per_1m_in": 0.4,
       "cost_per_1m_out": 2,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.04,
       "context_window": 131072,
       "default_max_tokens": 13107,
       "can_reason": false,
       "supports_attachments": true,
       "options": {}
     },
-    {
-      "id": "mistralai/mistral-nemo",
-      "name": "Mistral: Mistral Nemo",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.15,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "supports_attachments": false,
-      "options": {}
-    },
     {
       "id": "mistralai/mistral-small-24b-instruct-2501",
       "name": "Mistral: Mistral Small 3",
@@ -1416,13 +1409,32 @@
       "supports_attachments": true,
       "options": {}
     },
+    {
+      "id": "mistralai/mistral-small-2603",
+      "name": "Mistral: Mistral Small 4",
+      "cost_per_1m_in": 0.15,
+      "cost_per_1m_out": 0.6,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0.015,
+      "context_window": 262144,
+      "default_max_tokens": 26214,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
+      "supports_attachments": true,
+      "options": {}
+    },
     {
       "id": "mistralai/mistral-small-creative",
       "name": "Mistral: Mistral Small Creative",
       "cost_per_1m_in": 0.1,
       "cost_per_1m_out": 0.3,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.01,
       "context_window": 32768,
       "default_max_tokens": 3276,
       "can_reason": false,
@@ -1435,7 +1447,7 @@
       "cost_per_1m_in": 2,
       "cost_per_1m_out": 6,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.2,
       "context_window": 65536,
       "default_max_tokens": 6553,
       "can_reason": false,
@@ -1461,7 +1473,7 @@
       "cost_per_1m_in": 2,
       "cost_per_1m_out": 6,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.2,
       "context_window": 131072,
       "default_max_tokens": 13107,
       "can_reason": false,
@@ -1474,7 +1486,7 @@
       "cost_per_1m_in": 0.2,
       "cost_per_1m_out": 0.6,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.02,
       "context_window": 32768,
       "default_max_tokens": 3276,
       "can_reason": false,
@@ -1487,7 +1499,7 @@
       "cost_per_1m_in": 0.1,
       "cost_per_1m_out": 0.3,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.01,
       "context_window": 32000,
       "default_max_tokens": 3200,
       "can_reason": false,
@@ -1513,9 +1525,9 @@
       "cost_per_1m_in": 0.6,
       "cost_per_1m_out": 2.5,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.3,
+      "cost_per_1m_out_cached": 0.6,
       "context_window": 262144,
-      "default_max_tokens": 26214,
+      "default_max_tokens": 16384,
       "can_reason": false,
       "supports_attachments": false,
       "options": {}
@@ -1542,12 +1554,12 @@
     {
       "id": "moonshotai/kimi-k2.5",
       "name": "MoonshotAI: Kimi K2.5",
-      "cost_per_1m_in": 0.6,
-      "cost_per_1m_out": 2.8,
+      "cost_per_1m_in": 0.45,
+      "cost_per_1m_out": 2.2,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.225,
       "context_window": 262144,
-      "default_max_tokens": 131072,
+      "default_max_tokens": 32767,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -1764,7 +1776,7 @@
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0.5,
       "context_window": 1047576,
-      "default_max_tokens": 104757,
+      "default_max_tokens": 16384,
       "can_reason": false,
       "supports_attachments": true,
       "options": {}
@@ -2038,7 +2050,7 @@
       "cost_per_1m_in": 1.25,
       "cost_per_1m_out": 10,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.13,
+      "cost_per_1m_out_cached": 0.125,
       "context_window": 400000,
       "default_max_tokens": 64000,
       "can_reason": true,
@@ -2148,7 +2160,7 @@
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0.175,
       "context_window": 128000,
-      "default_max_tokens": 8192,
+      "default_max_tokens": 16000,
       "can_reason": false,
       "supports_attachments": true,
       "options": {}
@@ -2242,6 +2254,44 @@
       "supports_attachments": true,
       "options": {}
     },
+    {
+      "id": "openai/gpt-5.4-mini",
+      "name": "OpenAI: GPT-5.4 Mini",
+      "cost_per_1m_in": 0.75,
+      "cost_per_1m_out": 4.5,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0.075,
+      "context_window": 400000,
+      "default_max_tokens": 64000,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
+      "supports_attachments": true,
+      "options": {}
+    },
+    {
+      "id": "openai/gpt-5.4-nano",
+      "name": "OpenAI: GPT-5.4 Nano",
+      "cost_per_1m_in": 0.2,
+      "cost_per_1m_out": 1.25,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0.02,
+      "context_window": 400000,
+      "default_max_tokens": 64000,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
+      "supports_attachments": true,
+      "options": {}
+    },
     {
       "id": "openai/gpt-5.4-pro",
       "name": "OpenAI: GPT-5.4 Pro",
@@ -2264,12 +2314,12 @@
     {
       "id": "openai/gpt-oss-120b",
       "name": "OpenAI: gpt-oss-120b",
-      "cost_per_1m_in": 0.05,
-      "cost_per_1m_out": 0.25,
+      "cost_per_1m_in": 0.1,
+      "cost_per_1m_out": 0.49,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 131072,
-      "default_max_tokens": 16384,
+      "default_max_tokens": 13107,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -2365,7 +2415,13 @@
       "cost_per_1m_out_cached": 7.5,
       "context_window": 200000,
       "default_max_tokens": 50000,
-      "can_reason": false,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
       "supports_attachments": true,
       "options": {}
     },
@@ -2416,7 +2472,13 @@
       "cost_per_1m_out_cached": 0.55,
       "context_window": 200000,
       "default_max_tokens": 50000,
-      "can_reason": false,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
       "supports_attachments": false,
       "options": {}
     },
@@ -2429,7 +2491,13 @@
       "cost_per_1m_out_cached": 0.55,
       "context_window": 200000,
       "default_max_tokens": 50000,
-      "can_reason": false,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
       "supports_attachments": false,
       "options": {}
     },
@@ -2541,6 +2609,25 @@
       "supports_attachments": false,
       "options": {}
     },
+    {
+      "id": "qwen/qwq-32b",
+      "name": "Qwen: QwQ 32B",
+      "cost_per_1m_in": 0.15,
+      "cost_per_1m_out": 0.58,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 131072,
+      "default_max_tokens": 65536,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
+      "supports_attachments": false,
+      "options": {}
+    },
     {
       "id": "qwen/qwen-plus-2025-07-28",
       "name": "Qwen: Qwen Plus 0728",
@@ -2638,25 +2725,6 @@
       "supports_attachments": false,
       "options": {}
     },
-    {
-      "id": "qwen/qwen3-14b",
-      "name": "Qwen: Qwen3 14B",
-      "cost_per_1m_in": 0.12,
-      "cost_per_1m_out": 0.24,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 40960,
-      "default_max_tokens": 20480,
-      "can_reason": true,
-      "reasoning_levels": [
-        "low",
-        "medium",
-        "high"
-      ],
-      "default_reasoning_effort": "medium",
-      "supports_attachments": false,
-      "options": {}
-    },
     {
       "id": "qwen/qwen3-235b-a22b",
       "name": "Qwen: Qwen3 235B A22B",
@@ -2692,12 +2760,12 @@
     {
       "id": "qwen/qwen3-235b-a22b-thinking-2507",
       "name": "Qwen: Qwen3 235B A22B Thinking 2507",
-      "cost_per_1m_in": 0.11,
-      "cost_per_1m_out": 0.6,
+      "cost_per_1m_in": 0.1495,
+      "cost_per_1m_out": 1.495,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.055,
-      "context_window": 262144,
-      "default_max_tokens": 131072,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 131072,
+      "default_max_tokens": 13107,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -2735,7 +2803,7 @@
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 262144,
-      "default_max_tokens": 26214,
+      "default_max_tokens": 131072,
       "can_reason": false,
       "supports_attachments": false,
       "options": {}
@@ -2800,12 +2868,12 @@
     {
       "id": "qwen/qwen3-coder-30b-a3b-instruct",
       "name": "Qwen: Qwen3 Coder 30B A3B Instruct",
-      "cost_per_1m_in": 0.1,
-      "cost_per_1m_out": 0.3,
+      "cost_per_1m_in": 0.07,
+      "cost_per_1m_out": 0.27,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 26214,
+      "context_window": 160000,
+      "default_max_tokens": 16384,
       "can_reason": false,
       "supports_attachments": false,
       "options": {}
@@ -2813,12 +2881,12 @@
     {
       "id": "qwen/qwen3-coder",
       "name": "Qwen: Qwen3 Coder 480B A35B",
-      "cost_per_1m_in": 0.78,
-      "cost_per_1m_out": 3.8,
+      "cost_per_1m_in": 0.22,
+      "cost_per_1m_out": 1.8,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.2,
+      "cost_per_1m_out_cached": 0,
       "context_window": 262144,
-      "default_max_tokens": 131072,
+      "default_max_tokens": 32768,
       "can_reason": false,
       "supports_attachments": false,
       "options": {}
@@ -2852,12 +2920,12 @@
     {
       "id": "qwen/qwen3-coder-next",
       "name": "Qwen: Qwen3 Coder Next",
-      "cost_per_1m_in": 0.12,
-      "cost_per_1m_out": 0.75,
+      "cost_per_1m_in": 0.18,
+      "cost_per_1m_out": 1.35,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.06,
+      "cost_per_1m_out_cached": 0.18,
       "context_window": 262144,
-      "default_max_tokens": 32768,
+      "default_max_tokens": 131072,
       "can_reason": false,
       "supports_attachments": false,
       "options": {}
@@ -2910,8 +2978,8 @@
     {
       "id": "qwen/qwen3-next-80b-a3b-instruct",
       "name": "Qwen: Qwen3 Next 80B A3B Instruct",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 1.2,
+      "cost_per_1m_in": 0.1,
+      "cost_per_1m_out": 1.1,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 262144,
@@ -2936,8 +3004,8 @@
     {
       "id": "qwen/qwen3-next-80b-a3b-thinking",
       "name": "Qwen: Qwen3 Next 80B A3B Thinking",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 0.3,
+      "cost_per_1m_in": 0.15,
+      "cost_per_1m_out": 1.2,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 262144,
@@ -2955,12 +3023,12 @@
     {
       "id": "qwen/qwen3-vl-235b-a22b-instruct",
       "name": "Qwen: Qwen3 VL 235B A22B Instruct",
-      "cost_per_1m_in": 0.25,
-      "cost_per_1m_out": 1.5,
+      "cost_per_1m_in": 0.26,
+      "cost_per_1m_out": 1.04,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
-      "context_window": 256000,
-      "default_max_tokens": 25600,
+      "context_window": 131072,
+      "default_max_tokens": 16384,
       "can_reason": false,
       "supports_attachments": true,
       "options": {}
@@ -2968,12 +3036,12 @@
     {
       "id": "qwen/qwen3-vl-235b-a22b-thinking",
       "name": "Qwen: Qwen3 VL 235B A22B Thinking",
-      "cost_per_1m_in": 0.26,
-      "cost_per_1m_out": 2.6,
+      "cost_per_1m_in": 0.45,
+      "cost_per_1m_out": 3.5,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 16384,
+      "context_window": 262144,
+      "default_max_tokens": 131072,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -3000,12 +3068,12 @@
     {
       "id": "qwen/qwen3-vl-30b-a3b-thinking",
       "name": "Qwen: Qwen3 VL 30B A3B Thinking",
-      "cost_per_1m_in": 0.2,
+      "cost_per_1m_in": 0.29,
       "cost_per_1m_out": 1,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 16384,
+      "context_window": 262144,
+      "default_max_tokens": 131072,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -3102,10 +3170,10 @@
     {
       "id": "qwen/qwen3.5-122b-a10b",
       "name": "Qwen: Qwen3.5-122B-A10B",
-      "cost_per_1m_in": 0.26,
-      "cost_per_1m_out": 2.08,
+      "cost_per_1m_in": 0.3,
+      "cost_per_1m_out": 2.4,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.3,
       "context_window": 262144,
       "default_max_tokens": 32768,
       "can_reason": true,
@@ -3121,10 +3189,10 @@
     {
       "id": "qwen/qwen3.5-27b",
       "name": "Qwen: Qwen3.5-27B",
-      "cost_per_1m_in": 0.27,
-      "cost_per_1m_out": 2.16,
+      "cost_per_1m_in": 0.195,
+      "cost_per_1m_out": 1.56,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.27,
+      "cost_per_1m_out_cached": 0,
       "context_window": 262144,
       "default_max_tokens": 32768,
       "can_reason": true,
@@ -3331,10 +3399,10 @@
     {
       "id": "xiaomi/mimo-v2-flash",
       "name": "Xiaomi: MiMo-V2-Flash",
-      "cost_per_1m_in": 0.09,
-      "cost_per_1m_out": 0.29,
+      "cost_per_1m_in": 0.1,
+      "cost_per_1m_out": 0.3,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.045,
+      "cost_per_1m_out_cached": 0.01,
       "context_window": 262144,
       "default_max_tokens": 32768,
       "can_reason": true,
@@ -3439,12 +3507,12 @@
     {
       "id": "z-ai/glm-4.6",
       "name": "Z.ai: GLM 4.6",
-      "cost_per_1m_in": 0.55,
-      "cost_per_1m_out": 2.2,
+      "cost_per_1m_in": 0.39,
+      "cost_per_1m_out": 1.9,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.11,
+      "cost_per_1m_out_cached": 0,
       "context_window": 204800,
-      "default_max_tokens": 65536,
+      "default_max_tokens": 102400,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -3461,9 +3529,9 @@
       "cost_per_1m_in": 0.3,
       "cost_per_1m_out": 0.9,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.055,
+      "cost_per_1m_out_cached": 0,
       "context_window": 131072,
-      "default_max_tokens": 16384,
+      "default_max_tokens": 65536,
       "can_reason": true,
       "reasoning_levels": [
         "low",

internal/providers/configs/vercel.json 🔗

@@ -288,7 +288,7 @@
       "name": "DeepSeek V3.1 Terminus",
       "cost_per_1m_in": 0.27,
       "cost_per_1m_out": 1,
-      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_in_cached": 0.135,
       "cost_per_1m_out_cached": 0,
       "context_window": 131072,
       "default_max_tokens": 8000,
@@ -446,8 +446,8 @@
     {
       "id": "zai/glm-4.6",
       "name": "GLM 4.6",
-      "cost_per_1m_in": 0.45,
-      "cost_per_1m_out": 1.8,
+      "cost_per_1m_in": 0.6,
+      "cost_per_1m_out": 2.2,
       "cost_per_1m_in_cached": 0.11,
       "cost_per_1m_out_cached": 0,
       "context_window": 200000,
@@ -804,6 +804,44 @@
       "supports_attachments": true,
       "options": {}
     },
+    {
+      "id": "openai/gpt-5.4-mini",
+      "name": "GPT 5.4 Mini",
+      "cost_per_1m_in": 0.75,
+      "cost_per_1m_out": 4.5,
+      "cost_per_1m_in_cached": 0.075,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 400000,
+      "default_max_tokens": 8000,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
+      "supports_attachments": true,
+      "options": {}
+    },
+    {
+      "id": "openai/gpt-5.4-nano",
+      "name": "GPT 5.4 Nano",
+      "cost_per_1m_in": 0.2,
+      "cost_per_1m_out": 1.25,
+      "cost_per_1m_in_cached": 0.02,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 400000,
+      "default_max_tokens": 8000,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
+      "supports_attachments": true,
+      "options": {}
+    },
     {
       "id": "openai/gpt-5.4-pro",
       "name": "GPT 5.4 Pro",
@@ -1058,7 +1096,7 @@
       "name": "Gemini 2.0 Flash",
       "cost_per_1m_in": 0.15,
       "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_in_cached": 0.025,
       "cost_per_1m_out_cached": 0,
       "context_window": 1048576,
       "default_max_tokens": 8000,
@@ -1071,7 +1109,7 @@
       "name": "Gemini 2.0 Flash Lite",
       "cost_per_1m_in": 0.075,
       "cost_per_1m_out": 0.3,
-      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_in_cached": 0.02,
       "cost_per_1m_out_cached": 0,
       "context_window": 1048576,
       "default_max_tokens": 8000,
@@ -1117,44 +1155,6 @@
       "supports_attachments": true,
       "options": {}
     },
-    {
-      "id": "google/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,
-      "cost_per_1m_in_cached": 0.01,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 1048576,
-      "default_max_tokens": 8000,
-      "can_reason": true,
-      "reasoning_levels": [
-        "low",
-        "medium",
-        "high"
-      ],
-      "default_reasoning_effort": "medium",
-      "supports_attachments": true,
-      "options": {}
-    },
-    {
-      "id": "google/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.5,
-      "cost_per_1m_in_cached": 0.03,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 1000000,
-      "default_max_tokens": 8000,
-      "can_reason": true,
-      "reasoning_levels": [
-        "low",
-        "medium",
-        "high"
-      ],
-      "default_reasoning_effort": "medium",
-      "supports_attachments": true,
-      "options": {}
-    },
     {
       "id": "google/gemini-2.5-pro",
       "name": "Gemini 2.5 Pro",
@@ -1268,7 +1268,7 @@
       "name": "Grok 3 Beta",
       "cost_per_1m_in": 3,
       "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_in_cached": 0.75,
       "cost_per_1m_out_cached": 0,
       "context_window": 131072,
       "default_max_tokens": 8000,
@@ -1281,7 +1281,7 @@
       "name": "Grok 3 Fast Beta",
       "cost_per_1m_in": 5,
       "cost_per_1m_out": 25,
-      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_in_cached": 1.25,
       "cost_per_1m_out_cached": 0,
       "context_window": 131072,
       "default_max_tokens": 8000,
@@ -1294,7 +1294,7 @@
       "name": "Grok 3 Mini Beta",
       "cost_per_1m_in": 0.3,
       "cost_per_1m_out": 0.5,
-      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_in_cached": 0.075,
       "cost_per_1m_out_cached": 0,
       "context_window": 131072,
       "default_max_tokens": 8000,
@@ -1505,7 +1505,7 @@
       "name": "Kimi K2 0905",
       "cost_per_1m_in": 0.6,
       "cost_per_1m_out": 2.5,
-      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_in_cached": 0.15,
       "cost_per_1m_out_cached": 0,
       "context_window": 256000,
       "default_max_tokens": 8000,
@@ -1554,9 +1554,9 @@
     {
       "id": "moonshotai/kimi-k2-turbo",
       "name": "Kimi K2 Turbo",
-      "cost_per_1m_in": 2.4,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_in": 1.15,
+      "cost_per_1m_out": 8,
+      "cost_per_1m_in_cached": 0.15,
       "cost_per_1m_out_cached": 0,
       "context_window": 256000,
       "default_max_tokens": 8000,
@@ -1601,7 +1601,7 @@
       "name": "Llama 3.1 8B Instruct",
       "cost_per_1m_in": 0.1,
       "cost_per_1m_out": 0.1,
-      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_in_cached": 0.1,
       "cost_per_1m_out_cached": 0,
       "context_window": 128000,
       "default_max_tokens": 8000,
@@ -1986,7 +1986,7 @@
       "name": "Qwen 3 32B",
       "cost_per_1m_in": 0.29,
       "cost_per_1m_out": 0.59,
-      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_in_cached": 0.145,
       "cost_per_1m_out_cached": 0,
       "context_window": 131072,
       "default_max_tokens": 8000,
@@ -2079,9 +2079,9 @@
     {
       "id": "alibaba/qwen3-235b-a22b-thinking",
       "name": "Qwen3 235B A22B Thinking 2507",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 2.9,
-      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_in": 0.23,
+      "cost_per_1m_out": 2.3,
+      "cost_per_1m_in_cached": 0.2,
       "cost_per_1m_out_cached": 0,
       "context_window": 262114,
       "default_max_tokens": 8000,
@@ -2100,7 +2100,7 @@
       "name": "Qwen3 Coder 480B A35B Instruct",
       "cost_per_1m_in": 0.4,
       "cost_per_1m_out": 1.6,
-      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_in_cached": 0.022,
       "cost_per_1m_out_cached": 0,
       "context_window": 262144,
       "default_max_tokens": 8000,
@@ -2182,7 +2182,7 @@
     {
       "id": "alibaba/qwen-3-14b",
       "name": "Qwen3-14B",
-      "cost_per_1m_in": 0.06,
+      "cost_per_1m_in": 0.12,
       "cost_per_1m_out": 0.24,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
@@ -2439,32 +2439,6 @@
       "default_reasoning_effort": "medium",
       "supports_attachments": true,
       "options": {}
-    },
-    {
-      "id": "vercel/v0-1.0-md",
-      "name": "v0-1.0-md",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 8000,
-      "can_reason": false,
-      "supports_attachments": true,
-      "options": {}
-    },
-    {
-      "id": "vercel/v0-1.5-md",
-      "name": "v0-1.5-md",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 8000,
-      "can_reason": false,
-      "supports_attachments": true,
-      "options": {}
     }
   ],
   "default_headers": {