chore: auto-update generated files

Charm created

Change summary

internal/providers/configs/aihubmix.json   |  26 ++
internal/providers/configs/openrouter.json | 281 ++++++++++++++---------
internal/providers/configs/venice.json     |  19 +
internal/providers/configs/vercel.json     |  19 +
4 files changed, 233 insertions(+), 112 deletions(-)

Detailed changes

internal/providers/configs/aihubmix.json 🔗

@@ -1048,6 +1048,19 @@
       "supports_attachments": true,
       "options": {}
     },
+    {
+      "id": "gemini-2.5-flash-lite-nothink",
+      "name": "Gemini 2.5 Flash Lite (no think)",
+      "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 09 2025",
@@ -1061,6 +1074,19 @@
       "supports_attachments": true,
       "options": {}
     },
+    {
+      "id": "gemini-2.5-flash-lite-preview-09-2025-nothink",
+      "name": "Gemini 2.5 Flash Lite Preview 09 2025 (no think)",
+      "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-nothink",
       "name": "Gemini 2.5 Flash (no think)",

internal/providers/configs/openrouter.json 🔗

@@ -135,8 +135,8 @@
       "name": "Anthropic: Claude 3.5 Sonnet",
       "cost_per_1m_in": 6,
       "cost_per_1m_out": 30,
-      "cost_per_1m_in_cached": 7.5,
-      "cost_per_1m_out_cached": 0.6,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0,
       "context_window": 200000,
       "default_max_tokens": 4096,
       "can_reason": false,
@@ -620,9 +620,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",
@@ -655,10 +655,10 @@
     {
       "id": "deepseek/deepseek-r1-0528",
       "name": "DeepSeek: R1 0528",
-      "cost_per_1m_in": 0.7,
-      "cost_per_1m_out": 2.5,
+      "cost_per_1m_in": 3,
+      "cost_per_1m_out": 3,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.35,
+      "cost_per_1m_out_cached": 0,
       "context_window": 163840,
       "default_max_tokens": 16384,
       "can_reason": true,
@@ -920,28 +920,34 @@
       "options": {}
     },
     {
-      "id": "google/gemma-3-27b-it:free",
-      "name": "Google: Gemma 3 27B (free)",
-      "cost_per_1m_in": 0,
-      "cost_per_1m_out": 0,
+      "id": "inception/mercury",
+      "name": "Inception: Mercury",
+      "cost_per_1m_in": 0.25,
+      "cost_per_1m_out": 0.75,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.024999999999999998,
       "context_window": 128000,
-      "default_max_tokens": 64000,
+      "default_max_tokens": 16000,
       "can_reason": false,
-      "supports_attachments": true,
+      "supports_attachments": false,
       "options": {}
     },
     {
-      "id": "inception/mercury",
-      "name": "Inception: Mercury",
+      "id": "inception/mercury-2",
+      "name": "Inception: Mercury 2",
       "cost_per_1m_in": 0.25,
       "cost_per_1m_out": 0.75,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0.024999999999999998,
       "context_window": 128000,
-      "default_max_tokens": 8192,
-      "can_reason": false,
+      "default_max_tokens": 25000,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
       "supports_attachments": false,
       "options": {}
     },
@@ -953,7 +959,7 @@
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0.024999999999999998,
       "context_window": 128000,
-      "default_max_tokens": 8192,
+      "default_max_tokens": 16000,
       "can_reason": false,
       "supports_attachments": false,
       "options": {}
@@ -1013,12 +1019,12 @@
     {
       "id": "meta-llama/llama-3.3-70b-instruct",
       "name": "Meta: Llama 3.3 70B Instruct",
-      "cost_per_1m_in": 0.59,
-      "cost_per_1m_out": 0.7899999999999999,
+      "cost_per_1m_in": 0.88,
+      "cost_per_1m_out": 0.88,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 131072,
-      "default_max_tokens": 16384,
+      "default_max_tokens": 1024,
       "can_reason": false,
       "supports_attachments": false,
       "options": {}
@@ -1085,7 +1091,7 @@
       "id": "minimax/minimax-m2.1",
       "name": "MiniMax: MiniMax M2.1",
       "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 1.2,
+      "cost_per_1m_out": 2.4,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0.03,
       "context_window": 204800,
@@ -1301,6 +1307,19 @@
       "supports_attachments": false,
       "options": {}
     },
+    {
+      "id": "mistralai/mistral-small-24b-instruct-2501",
+      "name": "Mistral: Mistral Small 3",
+      "cost_per_1m_in": 0.09999999999999999,
+      "cost_per_1m_out": 0.3,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 32768,
+      "default_max_tokens": 1024,
+      "can_reason": false,
+      "supports_attachments": false,
+      "options": {}
+    },
     {
       "id": "mistralai/mistral-small-3.1-24b-instruct:free",
       "name": "Mistral: Mistral Small 3.1 24B (free)",
@@ -1421,10 +1440,10 @@
     {
       "id": "moonshotai/kimi-k2-0905",
       "name": "MoonshotAI: Kimi K2 0905",
-      "cost_per_1m_in": 1,
-      "cost_per_1m_out": 3,
+      "cost_per_1m_in": 0.6,
+      "cost_per_1m_out": 2.5,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.15,
       "context_window": 262144,
       "default_max_tokens": 26214,
       "can_reason": false,
@@ -1434,10 +1453,10 @@
     {
       "id": "moonshotai/kimi-k2-0905:exacto",
       "name": "MoonshotAI: Kimi K2 0905 (exacto)",
-      "cost_per_1m_in": 0.6,
-      "cost_per_1m_out": 2.5,
+      "cost_per_1m_in": 1.15,
+      "cost_per_1m_out": 8,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.15,
       "context_window": 262144,
       "default_max_tokens": 26214,
       "can_reason": false,
@@ -1447,12 +1466,12 @@
     {
       "id": "moonshotai/kimi-k2-thinking",
       "name": "MoonshotAI: Kimi K2 Thinking",
-      "cost_per_1m_in": 0.6,
-      "cost_per_1m_out": 2.5,
+      "cost_per_1m_in": 0.47,
+      "cost_per_1m_out": 2,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 131072,
+      "cost_per_1m_out_cached": 0.14100000000000001,
+      "context_window": 131072,
+      "default_max_tokens": 13107,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -1467,11 +1486,11 @@
       "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_out": 3,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.09999999999999999,
       "context_window": 262144,
-      "default_max_tokens": 131072,
+      "default_max_tokens": 26214,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -1669,7 +1688,7 @@
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0.5,
       "context_window": 1047576,
-      "default_max_tokens": 16384,
+      "default_max_tokens": 104757,
       "can_reason": false,
       "supports_attachments": true,
       "options": {}
@@ -1943,7 +1962,7 @@
       "cost_per_1m_in": 1.25,
       "cost_per_1m_out": 10,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.125,
+      "cost_per_1m_out_cached": 0.13,
       "context_window": 400000,
       "default_max_tokens": 64000,
       "can_reason": true,
@@ -2128,6 +2147,44 @@
       "supports_attachments": true,
       "options": {}
     },
+    {
+      "id": "openai/gpt-5.4",
+      "name": "OpenAI: GPT-5.4",
+      "cost_per_1m_in": 2.5,
+      "cost_per_1m_out": 15,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0.25,
+      "context_window": 1050000,
+      "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",
+      "cost_per_1m_in": 30,
+      "cost_per_1m_out": 180,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 1050000,
+      "default_max_tokens": 64000,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
+      "supports_attachments": true,
+      "options": {}
+    },
     {
       "id": "openai/gpt-oss-120b",
       "name": "OpenAI: gpt-oss-120b",
@@ -2150,12 +2207,12 @@
     {
       "id": "openai/gpt-oss-120b:exacto",
       "name": "OpenAI: gpt-oss-120b (exacto)",
-      "cost_per_1m_in": 0.04,
-      "cost_per_1m_out": 0.19999999999999998,
+      "cost_per_1m_in": 0.039,
+      "cost_per_1m_out": 0.19,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.04,
+      "cost_per_1m_out_cached": 0,
       "context_window": 131072,
-      "default_max_tokens": 16384,
+      "default_max_tokens": 13107,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -2188,10 +2245,10 @@
     {
       "id": "openai/gpt-oss-20b",
       "name": "OpenAI: gpt-oss-20b",
-      "cost_per_1m_in": 0.07,
-      "cost_per_1m_out": 0.3,
+      "cost_per_1m_in": 0.049999999999999996,
+      "cost_per_1m_out": 0.19999999999999998,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.035,
+      "cost_per_1m_out_cached": 0,
       "context_window": 131072,
       "default_max_tokens": 13107,
       "can_reason": true,
@@ -2527,12 +2584,12 @@
     {
       "id": "qwen/qwen3-14b",
       "name": "Qwen: Qwen3 14B",
-      "cost_per_1m_in": 0.12,
-      "cost_per_1m_out": 0.24,
+      "cost_per_1m_in": 0.22749999999999998,
+      "cost_per_1m_out": 0.9099999999999999,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
-      "context_window": 40960,
-      "default_max_tokens": 20480,
+      "context_window": 131072,
+      "default_max_tokens": 4096,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -2597,12 +2654,12 @@
     {
       "id": "qwen/qwen3-30b-a3b",
       "name": "Qwen: Qwen3 30B A3B",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.6,
+      "cost_per_1m_in": 0.13,
+      "cost_per_1m_out": 0.52,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.15,
+      "cost_per_1m_out_cached": 0,
       "context_window": 131072,
-      "default_max_tokens": 65536,
+      "default_max_tokens": 4096,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -2621,7 +2678,7 @@
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 262144,
-      "default_max_tokens": 131072,
+      "default_max_tokens": 26214,
       "can_reason": false,
       "supports_attachments": false,
       "options": {}
@@ -2705,12 +2762,12 @@
     {
       "id": "qwen/qwen3-coder-30b-a3b-instruct",
       "name": "Qwen: Qwen3 Coder 30B A3B Instruct",
-      "cost_per_1m_in": 0.09999999999999999,
-      "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": {}
@@ -2718,8 +2775,8 @@
     {
       "id": "qwen/qwen3-coder",
       "name": "Qwen: Qwen3 Coder 480B A35B",
-      "cost_per_1m_in": 0.22,
-      "cost_per_1m_out": 1.7999999999999998,
+      "cost_per_1m_in": 0.3,
+      "cost_per_1m_out": 1.3,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 262144,
@@ -2828,12 +2885,12 @@
     {
       "id": "qwen/qwen3-next-80b-a3b-instruct",
       "name": "Qwen: Qwen3 Next 80B A3B Instruct",
-      "cost_per_1m_in": 0.09,
+      "cost_per_1m_in": 0.09999999999999999,
       "cost_per_1m_out": 1.1,
       "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": {}
@@ -2873,8 +2930,8 @@
     {
       "id": "qwen/qwen3-vl-235b-a22b-instruct",
       "name": "Qwen: Qwen3 VL 235B A22B Instruct",
-      "cost_per_1m_in": 0.26,
-      "cost_per_1m_out": 1.04,
+      "cost_per_1m_in": 0.21,
+      "cost_per_1m_out": 1.9,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 131072,
@@ -2905,12 +2962,12 @@
     {
       "id": "qwen/qwen3-vl-30b-a3b-instruct",
       "name": "Qwen: Qwen3 VL 30B A3B Instruct",
-      "cost_per_1m_in": 0.13,
-      "cost_per_1m_out": 0.52,
+      "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": false,
       "supports_attachments": true,
       "options": {}
@@ -2950,12 +3007,12 @@
     {
       "id": "qwen/qwen3-vl-8b-instruct",
       "name": "Qwen: Qwen3 VL 8B Instruct",
-      "cost_per_1m_in": 0.117,
-      "cost_per_1m_out": 0.45499999999999996,
+      "cost_per_1m_in": 0.25,
+      "cost_per_1m_out": 0.75,
       "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": false,
       "supports_attachments": true,
       "options": {}
@@ -3020,10 +3077,10 @@
     {
       "id": "qwen/qwen3.5-122b-a10b",
       "name": "Qwen: Qwen3.5-122B-A10B",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 2.4,
+      "cost_per_1m_in": 0.39999999999999997,
+      "cost_per_1m_out": 3.1999999999999997,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.3,
+      "cost_per_1m_out_cached": 0,
       "context_window": 262144,
       "default_max_tokens": 32768,
       "can_reason": true,
@@ -3058,12 +3115,12 @@
     {
       "id": "qwen/qwen3.5-35b-a3b",
       "name": "Qwen: Qwen3.5-35B-A3B",
-      "cost_per_1m_in": 0.25,
-      "cost_per_1m_out": 1,
+      "cost_per_1m_in": 0.22499999999999998,
+      "cost_per_1m_out": 1.7999999999999998,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.22499999999999998,
       "context_window": 262144,
-      "default_max_tokens": 131072,
+      "default_max_tokens": 32768,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -3230,12 +3287,12 @@
     {
       "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.09999999999999999,
+      "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.09999999999999999,
       "context_window": 262144,
-      "default_max_tokens": 32768,
+      "default_max_tokens": 131072,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -3267,7 +3324,7 @@
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0.11,
       "context_window": 131072,
-      "default_max_tokens": 48000,
+      "default_max_tokens": 49152,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -3338,12 +3395,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",
@@ -3357,12 +3414,12 @@
     {
       "id": "z-ai/glm-4.6:exacto",
       "name": "Z.ai: GLM 4.6 (exacto)",
-      "cost_per_1m_in": 0.6,
-      "cost_per_1m_out": 2.2,
+      "cost_per_1m_in": 0.44,
+      "cost_per_1m_out": 1.76,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0.11,
-      "context_window": 200000,
-      "default_max_tokens": 64000,
+      "context_window": 204800,
+      "default_max_tokens": 65536,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -3395,12 +3452,12 @@
     {
       "id": "z-ai/glm-4.7",
       "name": "Z.ai: GLM 4.7",
-      "cost_per_1m_in": 0.54,
-      "cost_per_1m_out": 1.9800000000000002,
+      "cost_per_1m_in": 0.44999999999999996,
+      "cost_per_1m_out": 2.2,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.099,
+      "cost_per_1m_out_cached": 0.11,
       "context_window": 204800,
-      "default_max_tokens": 65536,
+      "default_max_tokens": 102400,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -3414,10 +3471,10 @@
     {
       "id": "z-ai/glm-4.7-flash",
       "name": "Z.ai: GLM 4.7 Flash",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.43,
+      "cost_per_1m_in": 0.06,
+      "cost_per_1m_out": 0.39999999999999997,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.0100000002,
       "context_window": 202752,
       "default_max_tokens": 20275,
       "can_reason": true,
@@ -3452,10 +3509,10 @@
     {
       "id": "x-ai/grok-3",
       "name": "xAI: Grok 3",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
+      "cost_per_1m_in": 5,
+      "cost_per_1m_out": 25,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.75,
+      "cost_per_1m_out_cached": 1.25,
       "context_window": 131072,
       "default_max_tokens": 13107,
       "can_reason": false,
@@ -3465,10 +3522,10 @@
     {
       "id": "x-ai/grok-3-beta",
       "name": "xAI: Grok 3 Beta",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
+      "cost_per_1m_in": 5,
+      "cost_per_1m_out": 25,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.75,
+      "cost_per_1m_out_cached": 1.25,
       "context_window": 131072,
       "default_max_tokens": 13107,
       "can_reason": false,
@@ -3478,10 +3535,10 @@
     {
       "id": "x-ai/grok-3-mini",
       "name": "xAI: Grok 3 Mini",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 0.5,
+      "cost_per_1m_in": 0.6,
+      "cost_per_1m_out": 4,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.075,
+      "cost_per_1m_out_cached": 0.15,
       "context_window": 131072,
       "default_max_tokens": 13107,
       "can_reason": true,
@@ -3497,10 +3554,10 @@
     {
       "id": "x-ai/grok-3-mini-beta",
       "name": "xAI: Grok 3 Mini Beta",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 0.5,
+      "cost_per_1m_in": 0.6,
+      "cost_per_1m_out": 4,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.075,
+      "cost_per_1m_out_cached": 0.15,
       "context_window": 131072,
       "default_max_tokens": 13107,
       "can_reason": true,

internal/providers/configs/venice.json 🔗

@@ -255,6 +255,25 @@
       "supports_attachments": true,
       "options": {}
     },
+    {
+      "id": "openai-gpt-54",
+      "name": "GPT-5.4",
+      "cost_per_1m_in": 3.13,
+      "cost_per_1m_out": 18.8,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 1000000,
+      "default_max_tokens": 32768,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
+      "supports_attachments": false,
+      "options": {}
+    },
     {
       "id": "gemini-3-flash-preview",
       "name": "Gemini 3 Flash Preview",

internal/providers/configs/vercel.json 🔗

@@ -753,6 +753,25 @@
       "supports_attachments": true,
       "options": {}
     },
+    {
+      "id": "openai/gpt-5.4",
+      "name": "GPT 5.4",
+      "cost_per_1m_in": 2.5,
+      "cost_per_1m_out": 15,
+      "cost_per_1m_in_cached": 0.25,
+      "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-4-turbo",
       "name": "GPT-4 Turbo",