refactor!: remove deprecated providers endpoint and data (#193)

Andrey Nering created

It has been 4 months since we deprecated this, the data is outdated,
and I think it's a good thing to remove to avoid confusion for
contributors.

Change summary

internal/deprecated/README.md                |    3 
internal/deprecated/configs/aihubmix.json    |  153 -
internal/deprecated/configs/anthropic.json   |  107 
internal/deprecated/configs/azure.json       |  196 -
internal/deprecated/configs/bedrock.json     |   83 
internal/deprecated/configs/cerebras.json    |   63 
internal/deprecated/configs/chutes.json      |  242 --
internal/deprecated/configs/deepseek.json    |   36 
internal/deprecated/configs/gemini.json      |   35 
internal/deprecated/configs/groq.json        |   29 
internal/deprecated/configs/huggingface.json |  314 --
internal/deprecated/configs/openai.json      |  156 -
internal/deprecated/configs/openrouter.json  | 2615 ----------------------
internal/deprecated/configs/venice.json      |   71 
internal/deprecated/configs/vertexai.json    |   35 
internal/deprecated/configs/xai.json         |   71 
internal/deprecated/configs/zai.json         |   52 
internal/deprecated/old.go                   |   33 
internal/deprecated/providers.go             |  159 -
main.go                                      |   26 
20 files changed, 11 insertions(+), 4,468 deletions(-)

Detailed changes

internal/deprecated/README.md 🔗

@@ -1,3 +0,0 @@
-# Deprecated
-
-This version of the config is deprecated, if you want to add a provider or update a provider do that in /internal/providers.

internal/deprecated/configs/aihubmix.json 🔗

@@ -1,153 +0,0 @@
-{
-  "name": "AIHubMix",
-  "id": "aihubmix",
-  "api_key": "$AIHUBMIX_API_KEY",
-  "api_endpoint": "https://aihubmix.com/v1",
-  "type": "openai",
-  "default_large_model_id": "claude-sonnet-4-5",
-  "default_small_model_id": "claude-3-5-haiku",
-  "default_headers": {
-    "APP-Code": "IUFF7106"
-  },
-  "models": [
-    {
-      "id": "claude-sonnet-4-5",
-      "name": "Claude Sonnet 4.5",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "claude-opus-4-1",
-      "name": "Claude Opus 4.1",
-      "cost_per_1m_in": 15,
-      "cost_per_1m_out": 75,
-      "cost_per_1m_in_cached": 18.75,
-      "cost_per_1m_out_cached": 1.5,
-      "context_window": 200000,
-      "default_max_tokens": 32000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "claude-3-5-haiku",
-      "name": "Claude 3.5 Haiku",
-      "cost_per_1m_in": 0.7999999999999999,
-      "cost_per_1m_out": 4,
-      "cost_per_1m_in_cached": 1,
-      "cost_per_1m_out_cached": 0.08,
-      "context_window": 200000,
-      "default_max_tokens": 5000,
-      "can_reason": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "gemini-2.5-pro",
-      "name": "Gemini 2.5 Pro",
-      "cost_per_1m_in": 1.25,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 1.625,
-      "cost_per_1m_out_cached": 0.31,
-      "context_window": 1048576,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "gemini-2.5-flash",
-      "name": "Gemini 2.5 Flash",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 2.5,
-      "cost_per_1m_in_cached": 0.3833,
-      "cost_per_1m_out_cached": 0.075,
-      "context_window": 1048576,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-5",
-      "name": "GPT-5",
-      "cost_per_1m_in": 1.25,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 0.25,
-      "cost_per_1m_out_cached": 0.25,
-      "context_window": 400000,
-      "default_max_tokens": 128000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "minimal",
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-5-mini",
-      "name": "GPT-5 Mini",
-      "cost_per_1m_in": 0.25,
-      "cost_per_1m_out": 2,
-      "cost_per_1m_in_cached": 0.025,
-      "cost_per_1m_out_cached": 0.025,
-      "context_window": 400000,
-      "default_max_tokens": 128000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "low",
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-5-nano",
-      "name": "GPT-5 Nano",
-      "cost_per_1m_in": 0.05,
-      "cost_per_1m_out": 0.4,
-      "cost_per_1m_in_cached": 0.005,
-      "cost_per_1m_out_cached": 0.005,
-      "context_window": 400000,
-      "default_max_tokens": 128000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "low",
-      "supports_attachments": true
-    },
-    {
-      "id": "Kimi-K2-0905",
-      "name": "Kimi K2 0905",
-      "cost_per_1m_in": 0.55,
-      "cost_per_1m_out": 2.19,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 256000,
-      "default_max_tokens": 10000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "medium"
-    },
-    {
-      "id": "glm-4.6",
-      "name": "GLM-4.6",
-      "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": 204800,
-      "default_max_tokens": 131072,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "medium",
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen3-coder-480b-a35b-instruct",
-      "name": "Qwen 3 480B Coder",
-      "cost_per_1m_in": 0.82,
-      "cost_per_1m_out": 3.29,
-      "context_window": 131072,
-      "default_max_tokens": 65536,
-      "can_reason": false,
-      "supports_attachments": false
-    }
-  ]
-}

internal/deprecated/configs/anthropic.json 🔗

@@ -1,107 +0,0 @@
-{
-  "name": "Anthropic",
-  "id": "anthropic",
-  "type": "anthropic",
-  "api_key": "$ANTHROPIC_API_KEY",
-  "api_endpoint": "$ANTHROPIC_API_ENDPOINT",
-  "default_large_model_id": "claude-sonnet-4-5-20250929",
-  "default_small_model_id": "claude-3-5-haiku-20241022",
-  "models": [
-    {
-      "id": "claude-sonnet-4-5-20250929",
-      "name": "Claude Sonnet 4.5",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "claude-opus-4-1-20250805",
-      "name": "Claude Opus 4.1",
-      "cost_per_1m_in": 15,
-      "cost_per_1m_out": 75,
-      "cost_per_1m_in_cached": 18.75,
-      "cost_per_1m_out_cached": 1.5,
-      "context_window": 200000,
-      "default_max_tokens": 32000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "claude-opus-4-20250514",
-      "name": "Claude Opus 4",
-      "cost_per_1m_in": 15,
-      "cost_per_1m_out": 75,
-      "cost_per_1m_in_cached": 18.75,
-      "cost_per_1m_out_cached": 1.5,
-      "context_window": 200000,
-      "default_max_tokens": 32000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "claude-sonnet-4-20250514",
-      "name": "Claude Sonnet 4",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "claude-3-7-sonnet-20250219",
-      "name": "Claude 3.7 Sonnet",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "claude-3-5-haiku-20241022",
-      "name": "Claude 3.5 Haiku",
-      "cost_per_1m_in": 0.7999999999999999,
-      "cost_per_1m_out": 4,
-      "cost_per_1m_in_cached": 1,
-      "cost_per_1m_out_cached": 0.08,
-      "context_window": 200000,
-      "default_max_tokens": 5000,
-      "can_reason": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "claude-3-5-sonnet-20240620",
-      "name": "Claude 3.5 Sonnet (Old)",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 200000,
-      "default_max_tokens": 5000,
-      "can_reason": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "claude-3-5-sonnet-20241022",
-      "name": "Claude 3.5 Sonnet (New)",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 200000,
-      "default_max_tokens": 5000,
-      "can_reason": false,
-      "supports_attachments": true
-    }
-  ]
-}

internal/deprecated/configs/azure.json 🔗

@@ -1,196 +0,0 @@
-{
-  "name": "Azure OpenAI",
-  "id": "azure",
-  "type": "azure",
-  "api_key": "$AZURE_OPENAI_API_KEY",
-  "api_endpoint": "$AZURE_OPENAI_API_ENDPOINT",
-  "default_large_model_id": "gpt-5",
-  "default_small_model_id": "gpt-5-mini",
-  "models": [
-    {
-      "id": "gpt-5",
-      "name": "GPT-5",
-      "cost_per_1m_in": 1.25,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 0.25,
-      "cost_per_1m_out_cached": 0.25,
-      "context_window": 400000,
-      "default_max_tokens": 128000,
-      "can_reason": true,
-      "has_reasoning_efforts": false,
-      "default_reasoning_effort": "minimal",
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-5-mini",
-      "name": "GPT-5 Mini",
-      "cost_per_1m_in": 0.25,
-      "cost_per_1m_out": 2,
-      "cost_per_1m_in_cached": 0.025,
-      "cost_per_1m_out_cached": 0.025,
-      "context_window": 400000,
-      "default_max_tokens": 128000,
-      "can_reason": true,
-      "has_reasoning_efforts": false,
-      "default_reasoning_effort": "low",
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-5-nano",
-      "name": "GPT-5 Nano",
-      "cost_per_1m_in": 0.05,
-      "cost_per_1m_out": 0.4,
-      "cost_per_1m_in_cached": 0.005,
-      "cost_per_1m_out_cached": 0.005,
-      "context_window": 400000,
-      "default_max_tokens": 128000,
-      "can_reason": true,
-      "has_reasoning_efforts": false,
-      "default_reasoning_effort": "low",
-      "supports_attachments": true
-    },
-    {
-      "id": "codex-mini-latest",
-      "name": "Codex Mini",
-      "cost_per_1m_in": 1.5,
-      "cost_per_1m_out": 6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.375,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "medium",
-      "supports_attachments": true
-    },
-    {
-      "id": "o4-mini",
-      "name": "o4 Mini",
-      "cost_per_1m_in": 1.1,
-      "cost_per_1m_out": 4.4,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.275,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "medium",
-      "supports_attachments": true
-    },
-    {
-      "id": "o3",
-      "name": "o3",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 8,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.5,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "medium",
-      "supports_attachments": true
-    },
-    {
-      "id": "o3-pro",
-      "name": "o3 Pro",
-      "cost_per_1m_in": 20,
-      "cost_per_1m_out": 80,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "medium",
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-4.1",
-      "name": "GPT-4.1",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 8,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.5,
-      "context_window": 1047576,
-      "default_max_tokens": 50000,
-      "can_reason": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-4.1-mini",
-      "name": "GPT-4.1 Mini",
-      "cost_per_1m_in": 0.39999999999999997,
-      "cost_per_1m_out": 1.5999999999999999,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.09999999999999999,
-      "context_window": 1047576,
-      "default_max_tokens": 50000,
-      "can_reason": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-4.1-nano",
-      "name": "GPT-4.1 Nano",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.024999999999999998,
-      "context_window": 1047576,
-      "default_max_tokens": 50000,
-      "can_reason": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-4.5-preview",
-      "name": "GPT-4.5 (Preview)",
-      "cost_per_1m_in": 75,
-      "cost_per_1m_out": 150,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 37.5,
-      "context_window": 128000,
-      "default_max_tokens": 50000,
-      "can_reason": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "o3-mini",
-      "name": "o3 Mini",
-      "cost_per_1m_in": 1.1,
-      "cost_per_1m_out": 4.4,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.55,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "medium",
-      "supports_attachments": false
-    },
-    {
-      "id": "gpt-4o",
-      "name": "GPT-4o",
-      "cost_per_1m_in": 2.5,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 1.25,
-      "context_window": 128000,
-      "default_max_tokens": 20000,
-      "can_reason": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-4o-mini",
-      "name": "GPT-4o-mini",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.075,
-      "context_window": 128000,
-      "default_max_tokens": 20000,
-      "can_reason": false,
-      "reasoning_effort": "",
-      "supports_attachments": true
-    }
-  ]
-}

internal/deprecated/configs/bedrock.json 🔗

@@ -1,83 +0,0 @@
-{
-  "name": "AWS Bedrock",
-  "id": "bedrock",
-  "type": "bedrock",
-  "api_key": "",
-  "api_endpoint": "",
-  "default_large_model_id": "anthropic.claude-sonnet-4-5-20250929-v1:0",
-  "default_small_model_id": "anthropic.claude-3-5-haiku-20241022-v1:0",
-  "models": [
-    {
-      "id": "anthropic.claude-sonnet-4-5-20250929-v1:0",
-      "name": "AWS Claude Sonnet 4.5",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic.claude-opus-4-1-20250805-v1:0",
-      "name": "AWS Claude Opus 4.1",
-      "cost_per_1m_in": 15,
-      "cost_per_1m_out": 75,
-      "cost_per_1m_in_cached": 18.75,
-      "cost_per_1m_out_cached": 1.5,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic.claude-opus-4-20250514-v1:0",
-      "name": "AWS Claude Opus 4",
-      "cost_per_1m_in": 15,
-      "cost_per_1m_out": 75,
-      "cost_per_1m_in_cached": 18.75,
-      "cost_per_1m_out_cached": 1.5,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic.claude-sonnet-4-20250514-v1:0",
-      "name": "AWS Claude Sonnet 4",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic.claude-3-7-sonnet-20250219-v1:0",
-      "name": "AWS Claude 3.7 Sonnet",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic.claude-3-5-haiku-20241022-v1:0",
-      "name": "AWS Claude 3.5 Haiku",
-      "cost_per_1m_in": 0.7999999999999999,
-      "cost_per_1m_out": 4,
-      "cost_per_1m_in_cached": 1,
-      "cost_per_1m_out_cached": 0.08,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": false,
-      "supports_attachments": true
-    }
-  ]
-}

internal/deprecated/configs/cerebras.json 🔗

@@ -1,63 +0,0 @@
-{
-    "name": "Cerebras",
-    "id": "cerebras",
-    "type": "openai",
-    "api_key": "$CEREBRAS_API_KEY",
-    "api_endpoint": "https://api.cerebras.ai/v1",
-    "default_large_model_id": "zai-glm-4.6",
-    "default_small_model_id": "qwen-3-32b",
-    "models": [
-        {
-            "id": "llama-3.3-70b",
-            "name": "Llama 3.3 70B",
-            "cost_per_1m_in": 0.85,
-            "cost_per_1m_out": 1.2,
-            "context_window": 131072,
-            "default_max_tokens": 25000,
-            "can_reason": false,
-            "supports_attachments": false
-        },
-        {
-            "id": "gpt-oss-120b",
-            "name": "OpenAI GPT OSS",
-            "cost_per_1m_in": 0.35,
-            "cost_per_1m_out": 0.75,
-            "context_window": 131072,
-            "default_max_tokens": 25000,
-            "can_reason": true,
-            "has_reasoning_efforts": true,
-            "default_reasoning_efforts": "medium",
-            "supports_attachments": false
-        },
-        {
-            "id": "qwen-3-32b",
-            "name": "Qwen 3 32B",
-            "cost_per_1m_in": 0.4,
-            "cost_per_1m_out": 0.8,
-            "context_window": 131072,
-            "default_max_tokens": 25000,
-            "can_reason": false,
-            "supports_attachments": false
-        },
-        {
-            "id": "qwen-3-235b-a22b-instruct-2507",
-            "name": "Qwen 3 235B Instruct",
-            "cost_per_1m_in": 0.6,
-            "cost_per_1m_out": 1.2,
-            "context_window": 131072,
-            "default_max_tokens": 25000,
-            "can_reason": false,
-            "supports_attachments": false
-        },
-        {
-            "id": "zai-glm-4.6",
-            "name": "Z.ai GLM 4.6",
-            "cost_per_1m_in": 2.25,
-            "cost_per_1m_out": 2.75,
-            "context_window": 131072,
-            "default_max_tokens": 25000,
-            "can_reason": false,
-            "supports_attachments": false
-        }
-    ]
-}

internal/deprecated/configs/chutes.json 🔗

@@ -1,242 +0,0 @@
-{
-  "name": "Chutes",
-  "id": "chutes",
-  "type": "openai",
-  "api_key": "$CHUTES_API_KEY",
-  "api_endpoint": "https://llm.chutes.ai/v1",
-  "default_large_model_id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
-  "default_small_model_id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
-  "models": [
-    {
-      "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
-      "name": "Qwen3 Coder 480B A35B Instruct (FP8)",
-      "cost_per_1m_in": 0.2,
-      "cost_per_1m_out": 0.8,
-      "context_window": 262000,
-      "default_max_tokens": 32768,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_efforts": "medium",
-      "supports_attachments": true
-    },
-    {
-      "id": "zai-org/GLM-4.5-FP8",
-      "name": "GLM 4.5 FP8",
-      "cost_per_1m_in": 0.0,
-      "cost_per_1m_out": 0.0,
-      "context_window": 98000,
-      "default_max_tokens": 32768,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_efforts": "medium",
-      "supports_attachments": true
-    },
-    {
-      "id": "moonshotai/Kimi-K2-Instruct-75k",
-      "name": "Kimi K2 Instruct",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.59,
-      "context_window": 75000,
-      "default_max_tokens": 32768,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_efforts": "medium",
-      "supports_attachments": true
-    },
-    {
-      "id": "deepseek-ai/DeepSeek-R1-0528",
-      "name": "DeepSeek R1 0528",
-      "cost_per_1m_in": 0.18,
-      "cost_per_1m_out": 0.72,
-      "context_window": 75000,
-      "default_max_tokens": 32768,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_efforts": "medium",
-      "supports_attachments": true
-    },
-    {
-      "id": "deepseek-ai/DeepSeek-R1-0528-Qwen3-8B",
-      "name": "DeepSeek R1 0528 Qwen3 8B",
-      "cost_per_1m_in": 0.02,
-      "cost_per_1m_out": 0.07,
-      "context_window": 32768,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
-      "name": "DeepSeek R1 Distill Llama 70B",
-      "cost_per_1m_in": 0.03,
-      "cost_per_1m_out": 0.14,
-      "context_window": 65536,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "tngtech/DeepSeek-R1T-Chimera",
-      "name": "DeepSeek R1T Chimera",
-      "cost_per_1m_in": 0.18,
-      "cost_per_1m_out": 0.72,
-      "context_window": 131072,
-      "default_max_tokens": 32768,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_efforts": "medium",
-      "supports_attachments": true
-    },
-    {
-      "id": "tngtech/DeepSeek-TNG-R1T2-Chimera",
-      "name": "DeepSeek TNG R1T2 Chimera",
-      "cost_per_1m_in": 0.20,
-      "cost_per_1m_out": 0.80,
-      "context_window": 262144,
-      "default_max_tokens": 65536,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_efforts": "high",
-      "supports_attachments": true
-    },
-    {
-      "id": "deepseek-ai/DeepSeek-V3-0324",
-      "name": "DeepSeek V3 0324",
-      "cost_per_1m_in": 0.18,
-      "cost_per_1m_out": 0.72,
-      "context_window": 75000,
-      "default_max_tokens": 32768,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_efforts": "medium",
-      "supports_attachments": true
-    },
-    {
-      "id": "chutesai/Devstral-Small-2505",
-      "name": "Devstral Small 2505",
-      "cost_per_1m_in": 0.02,
-      "cost_per_1m_out": 0.08,
-      "context_window": 32768,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "zai-org/GLM-4.5-Air",
-      "name": "GLM 4.5 Air",
-      "cost_per_1m_in": 0.0,
-      "cost_per_1m_out": 0.0,
-      "context_window": 131072,
-      "default_max_tokens": 32768,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_efforts": "medium",
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-oss-120b",
-      "name": "GPT OSS 120B",
-      "cost_per_1m_in": 0.10,
-      "cost_per_1m_out": 0.41,
-      "context_window": 131072,
-      "default_max_tokens": 32768,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_efforts": "medium",
-      "supports_attachments": true
-    },
-    {
-      "id": "chutesai/Mistral-Small-3.2-24B-Instruct-2506",
-      "name": "Mistral Small 3.2 24B Instruct 2506",
-      "cost_per_1m_in": 0.02,
-      "cost_per_1m_out": 0.08,
-      "context_window": 32768,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "Qwen/Qwen3-235B-A22B-Instruct-2507",
-      "name": "Qwen3 235B A22B Instruct 2507",
-      "cost_per_1m_in": 0.08,
-      "cost_per_1m_out": 0.31,
-      "context_window": 32768,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "Qwen/Qwen3-30B-A3B",
-      "name": "Qwen3 30B A3B",
-      "cost_per_1m_in": 0.02,
-      "cost_per_1m_out": 0.08,
-      "context_window": 32768,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "Qwen/Qwen3-235B-A22B-Thinking-2507",
-      "name": "Qwen3 235B A22B Thinking 2507",
-      "cost_per_1m_in": 0.08,
-      "cost_per_1m_out": 0.31,
-      "context_window": 32768,
-      "default_max_tokens": 8192,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_efforts": "high",
-      "supports_attachments": true
-    },
-    {
-      "id": "deepseek-ai/DeepSeek-V3.1",
-      "name": "DeepSeek V3.1",
-      "cost_per_1m_in": 0.20,
-      "cost_per_1m_out": 0.80,
-      "context_window": 163840,
-      "default_max_tokens": 32768,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "deepseek-ai/DeepSeek-V3.1:THINKING",
-      "name": "DeepSeek V3.1 Reasoning",
-      "cost_per_1m_in": 0.20,
-      "cost_per_1m_out": 0.80,
-      "context_window": 163840,
-      "default_max_tokens": 32768,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_efforts": "medium",
-      "supports_attachments": true
-    },
-    {
-      "id": "Qwen/Qwen3-30B-A3B-Instruct-2507",
-      "name": "Qwen3 30B A3B Instruct 2507",
-      "cost_per_1m_in": 0.05,
-      "cost_per_1m_out": 0.20,
-      "context_window": 262144,
-      "default_max_tokens": 32768,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct",
-      "name": "Qwen3 Coder 30B A3B Instruct",
-      "cost_per_1m_in": 0.00,
-      "cost_per_1m_out": 0.00,
-      "context_window": 262144,
-      "default_max_tokens": 32768,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    }
-  ]
-}

internal/deprecated/configs/deepseek.json 🔗

@@ -1,36 +0,0 @@
-{
-  "name": "DeepSeek",
-  "id": "deepseek",
-  "type": "openai",
-  "api_key": "$DEEPSEEK_API_KEY",
-  "api_endpoint": "https://api.deepseek.com/v1",
-  "default_large_model_id": "deepseek-reasoner",
-  "default_small_model_id": "deepseek-chat",
-  "models": [
-    {
-      "id": "deepseek-chat",
-      "name": "DeepSeek-V3.1 (Non-thinking Mode)",
-      "cost_per_1m_in": 0.56,
-      "cost_per_1m_out": 1.68,
-      "cost_per_1m_in_cached": 0.07,
-      "cost_per_1m_out_cached": 1.68,
-      "context_window": 128000,
-      "default_max_tokens": 4000,
-      "can_reason": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "deepseek-reasoner",
-      "name": "DeepSeek-V3.1 (Thinking Mode)",
-      "cost_per_1m_in": 0.56,
-      "cost_per_1m_out": 1.68,
-      "cost_per_1m_in_cached": 0.07,
-      "cost_per_1m_out_cached": 1.68,
-      "context_window": 128000,
-      "default_max_tokens": 32000,
-      "can_reason": true,
-      "supports_attachments": false
-    }
-  ]
-}
-

internal/deprecated/configs/gemini.json 🔗

@@ -1,35 +0,0 @@
-{
-  "name": "Google Gemini",
-  "id": "gemini",
-  "type": "gemini",
-  "api_key": "$GEMINI_API_KEY",
-  "api_endpoint": "$GEMINI_API_ENDPOINT",
-  "default_large_model_id": "gemini-2.5-pro",
-  "default_small_model_id": "gemini-2.5-flash",
-  "models": [
-    {
-      "id": "gemini-2.5-pro",
-      "name": "Gemini 2.5 Pro",
-      "cost_per_1m_in": 1.25,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 1.625,
-      "cost_per_1m_out_cached": 0.31,
-      "context_window": 1048576,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "gemini-2.5-flash",
-      "name": "Gemini 2.5 Flash",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 2.5,
-      "cost_per_1m_in_cached": 0.3833,
-      "cost_per_1m_out_cached": 0.075,
-      "context_window": 1048576,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    }
-  ]
-}

internal/deprecated/configs/groq.json 🔗

@@ -1,29 +0,0 @@
-{
-  "name": "Groq",
-  "id": "groq",
-  "api_key": "$GROQ_API_KEY",
-  "api_endpoint": "https://api.groq.com/openai/v1",
-  "type": "openai",
-  "default_large_model_id": "moonshotai/kimi-k2-instruct-0905",
-  "default_small_model_id": "qwen/qwen3-32b",
-  "models": [
-    {
-      "id": "moonshotai/kimi-k2-instruct-0905",
-      "name": "Kimi K2 0905",
-      "cost_per_1m_in": 1,
-      "cost_per_1m_out": 3,
-      "cost_per_1m_in_cached": 0.5,
-      "cost_per_1m_out_cached": 0.5,
-      "context_window": 131072,
-      "default_max_tokens": 10000
-    },
-    {
-      "id": "qwen/qwen3-32b",
-      "name": "Qwen3 32B",
-      "cost_per_1m_in": 0.29,
-      "cost_per_1m_out": 0.59,
-      "context_window": 131072,
-      "default_max_tokens": 10000
-    }
-  ]
-}

internal/deprecated/configs/huggingface.json 🔗

@@ -1,314 +0,0 @@
-{
-  "name": "Hugging Face",
-  "id": "huggingface",
-  "api_key": "$HF_TOKEN",
-  "api_endpoint": "https://router.huggingface.co/v1",
-  "type": "openai",
-  "default_large_model_id": "moonshotai/Kimi-K2-Instruct-0905:groq",
-  "default_small_model_id": "openai/gpt-oss-20b",
-  "models": [
-    {
-      "id": "Qwen/Qwen3-235B-A22B:fireworks-ai",
-      "name": "Qwen/Qwen3-235B-A22B (fireworks-ai)",
-      "cost_per_1m_in": 0.22,
-      "cost_per_1m_out": 0.88,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "Qwen/Qwen3-235B-A22B-Instruct-2507:fireworks-ai",
-      "name": "Qwen/Qwen3-235B-A22B-Instruct-2507 (fireworks-ai)",
-      "cost_per_1m_in": 0.22,
-      "cost_per_1m_out": 0.88,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "Qwen/Qwen3-235B-A22B-Thinking-2507:fireworks-ai",
-      "name": "Qwen/Qwen3-235B-A22B-Thinking-2507 (fireworks-ai)",
-      "cost_per_1m_in": 0.22,
-      "cost_per_1m_out": 0.88,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "Qwen/Qwen3-30B-A3B:fireworks-ai",
-      "name": "Qwen/Qwen3-30B-A3B (fireworks-ai)",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct:cerebras",
-      "name": "Qwen/Qwen3-Coder-480B-A35B-Instruct (cerebras)",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct:fireworks-ai",
-      "name": "Qwen/Qwen3-Coder-480B-A35B-Instruct (fireworks-ai)",
-      "cost_per_1m_in": 0.45,
-      "cost_per_1m_out": 1.8,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "deepseek-ai/DeepSeek-V3-0324:fireworks-ai",
-      "name": "deepseek-ai/DeepSeek-V3-0324 (fireworks-ai)",
-      "cost_per_1m_in": 0.9,
-      "cost_per_1m_out": 0.9,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 163840,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "deepseek-ai/DeepSeek-V3.1:fireworks-ai",
-      "name": "deepseek-ai/DeepSeek-V3.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": 163840,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/Llama-3.1-70B-Instruct:fireworks-ai",
-      "name": "meta-llama/Llama-3.1-70B-Instruct (fireworks-ai)",
-      "cost_per_1m_in": 0.9,
-      "cost_per_1m_out": 0.9,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/Llama-3.3-70B-Instruct:cerebras",
-      "name": "meta-llama/Llama-3.3-70B-Instruct (cerebras)",
-      "cost_per_1m_in": 0.85,
-      "cost_per_1m_out": 1.2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/Llama-3.3-70B-Instruct:groq",
-      "name": "meta-llama/Llama-3.3-70B-Instruct (groq)",
-      "cost_per_1m_in": 0.59,
-      "cost_per_1m_out": 0.79,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct:fireworks-ai",
-      "name": "meta-llama/Llama-4-Maverick-17B-128E-Instruct (fireworks-ai)",
-      "cost_per_1m_in": 0.22,
-      "cost_per_1m_out": 0.88,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 1048576,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct:groq",
-      "name": "meta-llama/Llama-4-Maverick-17B-128E-Instruct (groq)",
-      "cost_per_1m_in": 0.2,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/Llama-4-Scout-17B-16E-Instruct:groq",
-      "name": "meta-llama/Llama-4-Scout-17B-16E-Instruct (groq)",
-      "cost_per_1m_in": 0.11,
-      "cost_per_1m_out": 0.34,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "moonshotai/Kimi-K2-Instruct:fireworks-ai",
-      "name": "moonshotai/Kimi-K2-Instruct (fireworks-ai)",
-      "cost_per_1m_in": 0.6,
-      "cost_per_1m_out": 2.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "moonshotai/Kimi-K2-Instruct-0905:groq",
-      "name": "moonshotai/Kimi-K2-Instruct-0905 (groq)",
-      "cost_per_1m_in": 0,
-      "cost_per_1m_out": 0,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-oss-120b:cerebras",
-      "name": "openai/gpt-oss-120b (cerebras)",
-      "cost_per_1m_in": 0.25,
-      "cost_per_1m_out": 0.69,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-oss-120b:fireworks-ai",
-      "name": "openai/gpt-oss-120b (fireworks-ai)",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-oss-120b:groq",
-      "name": "openai/gpt-oss-120b (groq)",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.75,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-oss-20b:fireworks-ai",
-      "name": "openai/gpt-oss-20b (fireworks-ai)",
-      "cost_per_1m_in": 0.05,
-      "cost_per_1m_out": 0.2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-oss-20b:groq",
-      "name": "openai/gpt-oss-20b (groq)",
-      "cost_per_1m_in": 0.1,
-      "cost_per_1m_out": 0.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "zai-org/GLM-4.5:fireworks-ai",
-      "name": "zai-org/GLM-4.5 (fireworks-ai)",
-      "cost_per_1m_in": 0.55,
-      "cost_per_1m_out": 2.19,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "zai-org/GLM-4.5-Air:fireworks-ai",
-      "name": "zai-org/GLM-4.5-Air (fireworks-ai)",
-      "cost_per_1m_in": 0.22,
-      "cost_per_1m_out": 0.88,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    }
-  ],
-  "default_headers": {
-    "HTTP-Referer": "https://charm.land",
-    "X-Title": "Crush"
-  }
-}

internal/deprecated/configs/openai.json 🔗

@@ -1,156 +0,0 @@
-{
-  "name": "OpenAI",
-  "id": "openai",
-  "type": "openai",
-  "api_key": "$OPENAI_API_KEY",
-  "api_endpoint": "$OPENAI_API_ENDPOINT",
-  "default_large_model_id": "gpt-5",
-  "default_small_model_id": "gpt-4o",
-  "models": [
-    {
-      "id": "gpt-5",
-      "name": "GPT-5",
-      "cost_per_1m_in": 1.25,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 0.25,
-      "cost_per_1m_out_cached": 0.25,
-      "context_window": 400000,
-      "default_max_tokens": 128000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "minimal",
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-5-mini",
-      "name": "GPT-5 Mini",
-      "cost_per_1m_in": 0.25,
-      "cost_per_1m_out": 2,
-      "cost_per_1m_in_cached": 0.025,
-      "cost_per_1m_out_cached": 0.025,
-      "context_window": 400000,
-      "default_max_tokens": 128000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "low",
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-5-nano",
-      "name": "GPT-5 Nano",
-      "cost_per_1m_in": 0.05,
-      "cost_per_1m_out": 0.4,
-      "cost_per_1m_in_cached": 0.005,
-      "cost_per_1m_out_cached": 0.005,
-      "context_window": 400000,
-      "default_max_tokens": 128000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "low",
-      "supports_attachments": true
-    },
-    {
-      "id": "o4-mini",
-      "name": "o4 Mini",
-      "cost_per_1m_in": 1.1,
-      "cost_per_1m_out": 4.4,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.275,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "low",
-      "supports_attachments": true
-    },
-    {
-      "id": "o3",
-      "name": "o3",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 8,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.5,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "medium",
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-4.1",
-      "name": "GPT-4.1",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 8,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.5,
-      "context_window": 1047576,
-      "default_max_tokens": 16384,
-      "can_reason": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-4.1-mini",
-      "name": "GPT-4.1 Mini",
-      "cost_per_1m_in": 0.39999999999999997,
-      "cost_per_1m_out": 1.5999999999999999,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.09999999999999999,
-      "context_window": 1047576,
-      "default_max_tokens": 16384,
-      "can_reason": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-4.1-nano",
-      "name": "GPT-4.1 Nano",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.024999999999999998,
-      "context_window": 1047576,
-      "default_max_tokens": 16384,
-      "can_reason": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "o3-mini",
-      "name": "o3 Mini",
-      "cost_per_1m_in": 1.1,
-      "cost_per_1m_out": 4.4,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.55,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "medium",
-      "supports_attachments": false
-    },
-    {
-      "id": "gpt-4o",
-      "name": "GPT-4o",
-      "cost_per_1m_in": 2.5,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 1.25,
-      "context_window": 128000,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "gpt-4o-mini",
-      "name": "GPT-4o-mini",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.075,
-      "context_window": 128000,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "reasoning_effort": "",
-      "supports_attachments": true
-    }
-  ]
-}

internal/deprecated/configs/openrouter.json 🔗

@@ -1,2615 +0,0 @@
-{
-  "name": "OpenRouter",
-  "id": "openrouter",
-  "api_key": "$OPENROUTER_API_KEY",
-  "api_endpoint": "https://openrouter.ai/api/v1",
-  "type": "openai",
-  "default_large_model_id": "anthropic/claude-sonnet-4",
-  "default_small_model_id": "anthropic/claude-3.5-haiku",
-  "models": [
-    {
-      "id": "ai21/jamba-large-1.7",
-      "name": "AI21: Jamba Large 1.7",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 8,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 256000,
-      "default_max_tokens": 2048,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "ai21/jamba-mini-1.7",
-      "name": "AI21: Jamba Mini 1.7",
-      "cost_per_1m_in": 0.19999999999999998,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 256000,
-      "default_max_tokens": 2048,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "amazon/nova-lite-v1",
-      "name": "Amazon: Nova Lite 1.0",
-      "cost_per_1m_in": 0.06,
-      "cost_per_1m_out": 0.24,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 300000,
-      "default_max_tokens": 2560,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "amazon/nova-micro-v1",
-      "name": "Amazon: Nova Micro 1.0",
-      "cost_per_1m_in": 0.035,
-      "cost_per_1m_out": 0.14,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 2560,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "amazon/nova-pro-v1",
-      "name": "Amazon: Nova Pro 1.0",
-      "cost_per_1m_in": 0.7999999999999999,
-      "cost_per_1m_out": 3.1999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 300000,
-      "default_max_tokens": 2560,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "openrouter/andromeda-alpha",
-      "name": "Andromeda Alpha",
-      "cost_per_1m_in": 0,
-      "cost_per_1m_out": 0,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 64000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic/claude-3-haiku",
-      "name": "Anthropic: Claude 3 Haiku",
-      "cost_per_1m_in": 0.25,
-      "cost_per_1m_out": 1.25,
-      "cost_per_1m_in_cached": 0.3,
-      "cost_per_1m_out_cached": 0.03,
-      "context_window": 200000,
-      "default_max_tokens": 2048,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic/claude-3-opus",
-      "name": "Anthropic: Claude 3 Opus",
-      "cost_per_1m_in": 15,
-      "cost_per_1m_out": 75,
-      "cost_per_1m_in_cached": 18.75,
-      "cost_per_1m_out_cached": 1.5,
-      "context_window": 200000,
-      "default_max_tokens": 2048,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic/claude-3.5-haiku",
-      "name": "Anthropic: Claude 3.5 Haiku",
-      "cost_per_1m_in": 0.7999999999999999,
-      "cost_per_1m_out": 4,
-      "cost_per_1m_in_cached": 1,
-      "cost_per_1m_out_cached": 0.08,
-      "context_window": 200000,
-      "default_max_tokens": 4096,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic/claude-3.5-haiku-20241022",
-      "name": "Anthropic: Claude 3.5 Haiku (2024-10-22)",
-      "cost_per_1m_in": 0.7999999999999999,
-      "cost_per_1m_out": 4,
-      "cost_per_1m_in_cached": 1,
-      "cost_per_1m_out_cached": 0.08,
-      "context_window": 200000,
-      "default_max_tokens": 4096,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic/claude-3.5-sonnet",
-      "name": "Anthropic: Claude 3.5 Sonnet",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 200000,
-      "default_max_tokens": 4096,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic/claude-3.5-sonnet-20240620",
-      "name": "Anthropic: Claude 3.5 Sonnet (2024-06-20)",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 200000,
-      "default_max_tokens": 4096,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic/claude-3.7-sonnet",
-      "name": "Anthropic: Claude 3.7 Sonnet",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 200000,
-      "default_max_tokens": 32000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic/claude-3.7-sonnet:thinking",
-      "name": "Anthropic: Claude 3.7 Sonnet (thinking)",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 200000,
-      "default_max_tokens": 32000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic/claude-haiku-4.5",
-      "name": "Anthropic: Claude Haiku 4.5",
-      "cost_per_1m_in": 1,
-      "cost_per_1m_out": 5,
-      "cost_per_1m_in_cached": 1.25,
-      "cost_per_1m_out_cached": 0.09999999999999999,
-      "context_window": 200000,
-      "default_max_tokens": 32000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic/claude-opus-4",
-      "name": "Anthropic: Claude Opus 4",
-      "cost_per_1m_in": 15,
-      "cost_per_1m_out": 75,
-      "cost_per_1m_in_cached": 18.75,
-      "cost_per_1m_out_cached": 1.5,
-      "context_window": 200000,
-      "default_max_tokens": 16000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic/claude-opus-4.1",
-      "name": "Anthropic: Claude Opus 4.1",
-      "cost_per_1m_in": 15,
-      "cost_per_1m_out": 75,
-      "cost_per_1m_in_cached": 18.75,
-      "cost_per_1m_out_cached": 1.5,
-      "context_window": 200000,
-      "default_max_tokens": 16000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic/claude-sonnet-4",
-      "name": "Anthropic: Claude Sonnet 4",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 1000000,
-      "default_max_tokens": 32000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "anthropic/claude-sonnet-4.5",
-      "name": "Anthropic: Claude Sonnet 4.5",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 3.75,
-      "cost_per_1m_out_cached": 0.3,
-      "context_window": 1000000,
-      "default_max_tokens": 32000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "arcee-ai/virtuoso-large",
-      "name": "Arcee AI: Virtuoso Large",
-      "cost_per_1m_in": 0.75,
-      "cost_per_1m_out": 1.2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 32000,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "baidu/ernie-4.5-21b-a3b",
-      "name": "Baidu: ERNIE 4.5 21B A3B",
-      "cost_per_1m_in": 0.07,
-      "cost_per_1m_out": 0.28,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 120000,
-      "default_max_tokens": 4000,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "baidu/ernie-4.5-vl-28b-a3b",
-      "name": "Baidu: ERNIE 4.5 VL 28B A3B",
-      "cost_per_1m_in": 0.14,
-      "cost_per_1m_out": 0.56,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 30000,
-      "default_max_tokens": 4000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "deepcogito/cogito-v2-preview-llama-109b-moe",
-      "name": "Cogito V2 Preview Llama 109B",
-      "cost_per_1m_in": 0.18,
-      "cost_per_1m_out": 0.59,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 32767,
-      "default_max_tokens": 3276,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "cohere/command-r-08-2024",
-      "name": "Cohere: Command R (08-2024)",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 2000,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "cohere/command-r-plus-08-2024",
-      "name": "Cohere: Command R+ (08-2024)",
-      "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,
-      "default_max_tokens": 2000,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "deepcogito/cogito-v2-preview-llama-405b",
-      "name": "Deep Cogito: Cogito V2 Preview Llama 405B",
-      "cost_per_1m_in": 3.5,
-      "cost_per_1m_out": 3.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 32768,
-      "default_max_tokens": 3276,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "deepcogito/cogito-v2-preview-llama-70b",
-      "name": "Deep Cogito: Cogito V2 Preview Llama 70B",
-      "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": 32768,
-      "default_max_tokens": 3276,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "deepseek/deepseek-chat",
-      "name": "DeepSeek: DeepSeek V3",
-      "cost_per_1m_in": 0.39999999999999997,
-      "cost_per_1m_out": 1.3,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 64000,
-      "default_max_tokens": 8000,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "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_cached": 0,
-      "cost_per_1m_out_cached": 0.135,
-      "context_window": 163840,
-      "default_max_tokens": 81920,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "deepseek/deepseek-chat-v3-0324:free",
-      "name": "DeepSeek: DeepSeek V3 0324 (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": 163840,
-      "default_max_tokens": 16384,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "deepseek/deepseek-chat-v3.1",
-      "name": "DeepSeek: DeepSeek V3.1",
-      "cost_per_1m_in": 0.56,
-      "cost_per_1m_out": 1.68,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 163840,
-      "default_max_tokens": 10240,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "deepseek/deepseek-v3.1-terminus",
-      "name": "DeepSeek: DeepSeek V3.1 Terminus",
-      "cost_per_1m_in": 0.27,
-      "cost_per_1m_out": 1,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 163840,
-      "default_max_tokens": 16384,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "deepseek/deepseek-v3.1-terminus:exacto",
-      "name": "DeepSeek: DeepSeek V3.1 Terminus (exacto)",
-      "cost_per_1m_in": 0.27,
-      "cost_per_1m_out": 1,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 163840,
-      "default_max_tokens": 16384,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "deepseek/deepseek-v3.2-exp",
-      "name": "DeepSeek: DeepSeek V3.2 Exp",
-      "cost_per_1m_in": 0.27,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 163840,
-      "default_max_tokens": 16384,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "deepseek/deepseek-r1",
-      "name": "DeepSeek: R1",
-      "cost_per_1m_in": 0.7,
-      "cost_per_1m_out": 2.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 64000,
-      "default_max_tokens": 8000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "deepseek/deepseek-r1-0528",
-      "name": "DeepSeek: R1 0528",
-      "cost_per_1m_in": 0.7999999999999999,
-      "cost_per_1m_out": 2.4,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 163840,
-      "default_max_tokens": 16384,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "google/gemini-2.0-flash-001",
-      "name": "Google: Gemini 2.0 Flash",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0.18330000000000002,
-      "cost_per_1m_out_cached": 0.024999999999999998,
-      "context_window": 1048576,
-      "default_max_tokens": 4096,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "google/gemini-2.0-flash-exp:free",
-      "name": "Google: Gemini 2.0 Flash Experimental (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": 4096,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "google/gemini-2.0-flash-lite-001",
-      "name": "Google: 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_out_cached": 0,
-      "context_window": 1048576,
-      "default_max_tokens": 4096,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "google/gemini-2.5-flash",
-      "name": "Google: Gemini 2.5 Flash",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 2.5,
-      "cost_per_1m_in_cached": 0.3833,
-      "cost_per_1m_out_cached": 0.03,
-      "context_window": 1048576,
-      "default_max_tokens": 32767,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "google/gemini-2.5-flash-lite",
-      "name": "Google: Gemini 2.5 Flash Lite",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0.18330000000000002,
-      "cost_per_1m_out_cached": 0.01,
-      "context_window": 1048576,
-      "default_max_tokens": 32767,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "google/gemini-2.5-flash-lite-preview-06-17",
-      "name": "Google: Gemini 2.5 Flash Lite Preview 06-17",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0.18330000000000002,
-      "cost_per_1m_out_cached": 0.024999999999999998,
-      "context_window": 1048576,
-      "default_max_tokens": 32767,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "google/gemini-2.5-flash-lite-preview-09-2025",
-      "name": "Google: Gemini 2.5 Flash Lite Preview 09-2025",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 1048576,
-      "default_max_tokens": 32767,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "google/gemini-2.5-flash-preview-09-2025",
-      "name": "Google: 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.3833,
-      "cost_per_1m_out_cached": 0.075,
-      "context_window": 1048576,
-      "default_max_tokens": 32767,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "google/gemini-2.5-pro",
-      "name": "Google: Gemini 2.5 Pro",
-      "cost_per_1m_in": 1.25,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 1.625,
-      "cost_per_1m_out_cached": 0.125,
-      "context_window": 1048576,
-      "default_max_tokens": 32768,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "google/gemini-2.5-pro-preview-05-06",
-      "name": "Google: Gemini 2.5 Pro Preview 05-06",
-      "cost_per_1m_in": 1.25,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 1.625,
-      "cost_per_1m_out_cached": 0.125,
-      "context_window": 1048576,
-      "default_max_tokens": 32768,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "google/gemini-2.5-pro-preview",
-      "name": "Google: Gemini 2.5 Pro Preview 06-05",
-      "cost_per_1m_in": 1.25,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 1.625,
-      "cost_per_1m_out_cached": 0.125,
-      "context_window": 1048576,
-      "default_max_tokens": 32768,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "inception/mercury",
-      "name": "Inception: Mercury",
-      "cost_per_1m_in": 0.25,
-      "cost_per_1m_out": 1,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "inception/mercury-coder",
-      "name": "Inception: Mercury Coder",
-      "cost_per_1m_in": 0.25,
-      "cost_per_1m_out": 1,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meituan/longcat-flash-chat:free",
-      "name": "Meituan: LongCat Flash Chat (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": 131072,
-      "default_max_tokens": 65536,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/llama-3-70b-instruct",
-      "name": "Meta: Llama 3 70B Instruct",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 8192,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/llama-3-8b-instruct",
-      "name": "Meta: Llama 3 8B Instruct",
-      "cost_per_1m_in": 0.03,
-      "cost_per_1m_out": 0.06,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 8192,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/llama-3.1-405b-instruct",
-      "name": "Meta: Llama 3.1 405B Instruct",
-      "cost_per_1m_in": 1,
-      "cost_per_1m_out": 3,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/llama-3.1-70b-instruct",
-      "name": "Meta: Llama 3.1 70B Instruct",
-      "cost_per_1m_in": 0.39999999999999997,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/llama-3.1-8b-instruct",
-      "name": "Meta: Llama 3.1 8B Instruct",
-      "cost_per_1m_in": 0.02,
-      "cost_per_1m_out": 0.03,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/llama-3.2-3b-instruct",
-      "name": "Meta: Llama 3.2 3B Instruct",
-      "cost_per_1m_in": 0.03,
-      "cost_per_1m_out": 0.049999999999999996,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 32768,
-      "default_max_tokens": 16000,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/llama-3.3-70b-instruct",
-      "name": "Meta: Llama 3.3 70B Instruct",
-      "cost_per_1m_in": 0.6,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 65536,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/llama-3.3-70b-instruct:free",
-      "name": "Meta: Llama 3.3 70B Instruct (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": 128000,
-      "default_max_tokens": 2014,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/llama-3.3-8b-instruct:free",
-      "name": "Meta: Llama 3.3 8B Instruct (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": 128000,
-      "default_max_tokens": 2014,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "meta-llama/llama-4-maverick",
-      "name": "Meta: Llama 4 Maverick",
-      "cost_per_1m_in": 0.22,
-      "cost_per_1m_out": 0.88,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 1048576,
-      "default_max_tokens": 65536,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "meta-llama/llama-4-maverick:free",
-      "name": "Meta: Llama 4 Maverick (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": 128000,
-      "default_max_tokens": 2014,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "meta-llama/llama-4-scout",
-      "name": "Meta: Llama 4 Scout",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 1048576,
-      "default_max_tokens": 104857,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "meta-llama/llama-4-scout:free",
-      "name": "Meta: Llama 4 Scout (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": 128000,
-      "default_max_tokens": 2014,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "microsoft/phi-3-medium-128k-instruct",
-      "name": "Microsoft: Phi-3 Medium 128K Instruct",
-      "cost_per_1m_in": 1,
-      "cost_per_1m_out": 1,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 12800,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "microsoft/phi-3-mini-128k-instruct",
-      "name": "Microsoft: Phi-3 Mini 128K Instruct",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.09999999999999999,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 12800,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "microsoft/phi-3.5-mini-128k-instruct",
-      "name": "Microsoft: Phi-3.5 Mini 128K Instruct",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.09999999999999999,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 12800,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "minimax/minimax-m2:free",
-      "name": "MiniMax: MiniMax M2 (free)",
-      "cost_per_1m_in": 0,
-      "cost_per_1m_out": 0,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 204800,
-      "default_max_tokens": 65536,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/mistral-large",
-      "name": "Mistral Large",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 12800,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/mistral-large-2407",
-      "name": "Mistral Large 2407",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/mistral-large-2411",
-      "name": "Mistral Large 2411",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/mistral-small",
-      "name": "Mistral Small",
-      "cost_per_1m_in": 0.19999999999999998,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 32768,
-      "default_max_tokens": 3276,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/mistral-tiny",
-      "name": "Mistral Tiny",
-      "cost_per_1m_in": 0.25,
-      "cost_per_1m_out": 0.25,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 32768,
-      "default_max_tokens": 3276,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/codestral-2501",
-      "name": "Mistral: Codestral 2501",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 0.8999999999999999,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 26214,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/codestral-2508",
-      "name": "Mistral: Codestral 2508",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 0.8999999999999999,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 256000,
-      "default_max_tokens": 25600,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/devstral-medium",
-      "name": "Mistral: Devstral Medium",
-      "cost_per_1m_in": 0.39999999999999997,
-      "cost_per_1m_out": 2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/devstral-small-2505",
-      "name": "Mistral: Devstral Small 2505",
-      "cost_per_1m_in": 0.049999999999999996,
-      "cost_per_1m_out": 0.22,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 65536,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/devstral-small-2505:free",
-      "name": "Mistral: Devstral Small 2505 (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": 32768,
-      "default_max_tokens": 3276,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/magistral-medium-2506",
-      "name": "Mistral: Magistral Medium 2506",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 40960,
-      "default_max_tokens": 20000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/magistral-medium-2506:thinking",
-      "name": "Mistral: Magistral Medium 2506 (thinking)",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 40960,
-      "default_max_tokens": 20000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/magistral-small-2506",
-      "name": "Mistral: Magistral Small 2506",
-      "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": 40000,
-      "default_max_tokens": 20000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/ministral-8b",
-      "name": "Mistral: Ministral 8B",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.09999999999999999,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/mistral-7b-instruct",
-      "name": "Mistral: Mistral 7B Instruct",
-      "cost_per_1m_in": 0.028,
-      "cost_per_1m_out": 0.054,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 32768,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/mistral-7b-instruct:free",
-      "name": "Mistral: Mistral 7B Instruct (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": 32768,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/mistral-7b-instruct-v0.3",
-      "name": "Mistral: Mistral 7B Instruct v0.3",
-      "cost_per_1m_in": 0.028,
-      "cost_per_1m_out": 0.054,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 32768,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/mistral-medium-3",
-      "name": "Mistral: Mistral Medium 3",
-      "cost_per_1m_in": 0.39999999999999997,
-      "cost_per_1m_out": 2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "mistralai/mistral-medium-3.1",
-      "name": "Mistral: Mistral Medium 3.1",
-      "cost_per_1m_in": 0.39999999999999997,
-      "cost_per_1m_out": 2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "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,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "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": 3276,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/mistral-small-3.1-24b-instruct",
-      "name": "Mistral: Mistral Small 3.1 24B",
-      "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": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "mistralai/mistral-small-3.1-24b-instruct:free",
-      "name": "Mistral: Mistral Small 3.1 24B (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": 96000,
-      "default_max_tokens": 48000,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "mistralai/mistral-small-3.2-24b-instruct",
-      "name": "Mistral: Mistral Small 3.2 24B",
-      "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": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "mistralai/mistral-small-3.2-24b-instruct:free",
-      "name": "Mistral: Mistral Small 3.2 24B (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": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "mistralai/mixtral-8x22b-instruct",
-      "name": "Mistral: Mixtral 8x22B Instruct",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 65536,
-      "default_max_tokens": 6553,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/mixtral-8x7b-instruct",
-      "name": "Mistral: Mixtral 8x7B Instruct",
-      "cost_per_1m_in": 0.54,
-      "cost_per_1m_out": 0.54,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 32768,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistralai/pixtral-12b",
-      "name": "Mistral: Pixtral 12B",
-      "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,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "mistralai/pixtral-large-2411",
-      "name": "Mistral: Pixtral Large 2411",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "mistralai/mistral-saba",
-      "name": "Mistral: Saba",
-      "cost_per_1m_in": 0.19999999999999998,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 32768,
-      "default_max_tokens": 3276,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "moonshotai/kimi-k2",
-      "name": "MoonshotAI: Kimi K2 0711",
-      "cost_per_1m_in": 0.6,
-      "cost_per_1m_out": 2.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "moonshotai/kimi-k2-0905",
-      "name": "MoonshotAI: Kimi K2 0905",
-      "cost_per_1m_in": 0.5,
-      "cost_per_1m_out": 2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 26214,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "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_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 26214,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "nvidia/llama-3.1-nemotron-70b-instruct",
-      "name": "NVIDIA: Llama 3.1 Nemotron 70B Instruct",
-      "cost_per_1m_in": 0.6,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "nvidia/llama-3.3-nemotron-super-49b-v1.5",
-      "name": "NVIDIA: Llama 3.3 Nemotron Super 49B V1.5",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "nvidia/nemotron-nano-9b-v2",
-      "name": "NVIDIA: Nemotron Nano 9B V2",
-      "cost_per_1m_in": 0.04,
-      "cost_per_1m_out": 0.16,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "nvidia/nemotron-nano-9b-v2:free",
-      "name": "NVIDIA: Nemotron Nano 9B V2 (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": 128000,
-      "default_max_tokens": 12800,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "nousresearch/deephermes-3-llama-3-8b-preview",
-      "name": "Nous: DeepHermes 3 Llama 3 8B Preview",
-      "cost_per_1m_in": 0.03,
-      "cost_per_1m_out": 0.11,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 65536,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "nousresearch/deephermes-3-mistral-24b-preview",
-      "name": "Nous: DeepHermes 3 Mistral 24B Preview",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.59,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 32768,
-      "default_max_tokens": 16384,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "nousresearch/hermes-3-llama-3.1-70b",
-      "name": "Nous: Hermes 3 70B Instruct",
-      "cost_per_1m_in": 0.39999999999999997,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 12288,
-      "default_max_tokens": 1228,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/codex-mini",
-      "name": "OpenAI: Codex Mini",
-      "cost_per_1m_in": 1.5,
-      "cost_per_1m_out": 6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.375,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-3.5-turbo",
-      "name": "OpenAI: GPT-3.5 Turbo",
-      "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": 16385,
-      "default_max_tokens": 2048,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-3.5-turbo-0613",
-      "name": "OpenAI: GPT-3.5 Turbo (older v0613)",
-      "cost_per_1m_in": 1,
-      "cost_per_1m_out": 2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 4095,
-      "default_max_tokens": 2048,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-3.5-turbo-16k",
-      "name": "OpenAI: GPT-3.5 Turbo 16k",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 4,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 16385,
-      "default_max_tokens": 2048,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-4",
-      "name": "OpenAI: GPT-4",
-      "cost_per_1m_in": 30,
-      "cost_per_1m_out": 60,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 8191,
-      "default_max_tokens": 2048,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-4-0314",
-      "name": "OpenAI: GPT-4 (older v0314)",
-      "cost_per_1m_in": 30,
-      "cost_per_1m_out": 60,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 8191,
-      "default_max_tokens": 2048,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-4-turbo",
-      "name": "OpenAI: GPT-4 Turbo",
-      "cost_per_1m_in": 10,
-      "cost_per_1m_out": 30,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 2048,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-4-1106-preview",
-      "name": "OpenAI: GPT-4 Turbo (older v1106)",
-      "cost_per_1m_in": 10,
-      "cost_per_1m_out": 30,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 2048,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-4-turbo-preview",
-      "name": "OpenAI: GPT-4 Turbo Preview",
-      "cost_per_1m_in": 10,
-      "cost_per_1m_out": 30,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 2048,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-4.1",
-      "name": "OpenAI: GPT-4.1",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 8,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.5,
-      "context_window": 1047576,
-      "default_max_tokens": 16384,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-4.1-mini",
-      "name": "OpenAI: GPT-4.1 Mini",
-      "cost_per_1m_in": 0.39999999999999997,
-      "cost_per_1m_out": 1.5999999999999999,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.09999999999999999,
-      "context_window": 1047576,
-      "default_max_tokens": 104757,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-4.1-nano",
-      "name": "OpenAI: GPT-4.1 Nano",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.024999999999999998,
-      "context_window": 1047576,
-      "default_max_tokens": 16384,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-4o",
-      "name": "OpenAI: GPT-4o",
-      "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,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-4o-2024-05-13",
-      "name": "OpenAI: GPT-4o (2024-05-13)",
-      "cost_per_1m_in": 5,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 2048,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-4o-2024-08-06",
-      "name": "OpenAI: GPT-4o (2024-08-06)",
-      "cost_per_1m_in": 2.5,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 1.25,
-      "context_window": 128000,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-4o-2024-11-20",
-      "name": "OpenAI: GPT-4o (2024-11-20)",
-      "cost_per_1m_in": 2.5,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 1.25,
-      "context_window": 128000,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-4o:extended",
-      "name": "OpenAI: GPT-4o (extended)",
-      "cost_per_1m_in": 6,
-      "cost_per_1m_out": 18,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 32000,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-4o-audio-preview",
-      "name": "OpenAI: GPT-4o Audio",
-      "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,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-4o-mini",
-      "name": "OpenAI: GPT-4o-mini",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.075,
-      "context_window": 128000,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-4o-mini-2024-07-18",
-      "name": "OpenAI: GPT-4o-mini (2024-07-18)",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.075,
-      "context_window": 128000,
-      "default_max_tokens": 8192,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-5",
-      "name": "OpenAI: GPT-5",
-      "cost_per_1m_in": 1.25,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.125,
-      "context_window": 400000,
-      "default_max_tokens": 64000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-5-codex",
-      "name": "OpenAI: GPT-5 Codex",
-      "cost_per_1m_in": 1.25,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.125,
-      "context_window": 400000,
-      "default_max_tokens": 64000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-5-image",
-      "name": "OpenAI: GPT-5 Image",
-      "cost_per_1m_in": 10,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 1.25,
-      "context_window": 400000,
-      "default_max_tokens": 64000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-5-image-mini",
-      "name": "OpenAI: GPT-5 Image Mini",
-      "cost_per_1m_in": 2.5,
-      "cost_per_1m_out": 2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.25,
-      "context_window": 400000,
-      "default_max_tokens": 64000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-5-mini",
-      "name": "OpenAI: GPT-5 Mini",
-      "cost_per_1m_in": 0.25,
-      "cost_per_1m_out": 2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.024999999999999998,
-      "context_window": 400000,
-      "default_max_tokens": 64000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-5-nano",
-      "name": "OpenAI: GPT-5 Nano",
-      "cost_per_1m_in": 0.049999999999999996,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.01,
-      "context_window": 400000,
-      "default_max_tokens": 40000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-5-pro",
-      "name": "OpenAI: GPT-5 Pro",
-      "cost_per_1m_in": 15,
-      "cost_per_1m_out": 120,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 400000,
-      "default_max_tokens": 64000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/gpt-oss-120b",
-      "name": "OpenAI: gpt-oss-120b",
-      "cost_per_1m_in": 0.04,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 65536,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-oss-120b:exacto",
-      "name": "OpenAI: gpt-oss-120b (exacto)",
-      "cost_per_1m_in": 0.049999999999999996,
-      "cost_per_1m_out": 0.24,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-oss-20b",
-      "name": "OpenAI: gpt-oss-20b",
-      "cost_per_1m_in": 0.04,
-      "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": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/gpt-oss-20b:free",
-      "name": "OpenAI: gpt-oss-20b (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": 131072,
-      "default_max_tokens": 65536,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/o1",
-      "name": "OpenAI: o1",
-      "cost_per_1m_in": 15,
-      "cost_per_1m_out": 60,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 7.5,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/o3",
-      "name": "OpenAI: o3",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 8,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.5,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/o3-deep-research",
-      "name": "OpenAI: o3 Deep Research",
-      "cost_per_1m_in": 10,
-      "cost_per_1m_out": 40,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 2.5,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/o3-mini",
-      "name": "OpenAI: o3 Mini",
-      "cost_per_1m_in": 1.1,
-      "cost_per_1m_out": 4.4,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.55,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/o3-mini-high",
-      "name": "OpenAI: o3 Mini High",
-      "cost_per_1m_in": 1.1,
-      "cost_per_1m_out": 4.4,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.55,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "openai/o3-pro",
-      "name": "OpenAI: o3 Pro",
-      "cost_per_1m_in": 20,
-      "cost_per_1m_out": 80,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/o4-mini",
-      "name": "OpenAI: o4 Mini",
-      "cost_per_1m_in": 1.1,
-      "cost_per_1m_out": 4.4,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.275,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/o4-mini-deep-research",
-      "name": "OpenAI: o4 Mini Deep Research",
-      "cost_per_1m_in": 2,
-      "cost_per_1m_out": 8,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.5,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "openai/o4-mini-high",
-      "name": "OpenAI: o4 Mini High",
-      "cost_per_1m_in": 1.1,
-      "cost_per_1m_out": 4.4,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.275,
-      "context_window": 200000,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "qwen/qwen-2.5-72b-instruct",
-      "name": "Qwen2.5 72B Instruct",
-      "cost_per_1m_in": 0.13,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "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,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen-plus-2025-07-28",
-      "name": "Qwen: Qwen Plus 0728",
-      "cost_per_1m_in": 0.39999999999999997,
-      "cost_per_1m_out": 1.2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 1000000,
-      "default_max_tokens": 16384,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen-plus-2025-07-28:thinking",
-      "name": "Qwen: Qwen Plus 0728 (thinking)",
-      "cost_per_1m_in": 0.39999999999999997,
-      "cost_per_1m_out": 4,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 1000000,
-      "default_max_tokens": 16384,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen-vl-max",
-      "name": "Qwen: Qwen VL Max",
-      "cost_per_1m_in": 0.7999999999999999,
-      "cost_per_1m_out": 3.1999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 4096,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "qwen/qwen-max",
-      "name": "Qwen: Qwen-Max ",
-      "cost_per_1m_in": 1.5999999999999999,
-      "cost_per_1m_out": 6.3999999999999995,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.64,
-      "context_window": 32768,
-      "default_max_tokens": 4096,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen-plus",
-      "name": "Qwen: Qwen-Plus",
-      "cost_per_1m_in": 0.39999999999999997,
-      "cost_per_1m_out": 1.2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.16,
-      "context_window": 131072,
-      "default_max_tokens": 4096,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen-turbo",
-      "name": "Qwen: Qwen-Turbo",
-      "cost_per_1m_in": 0.049999999999999996,
-      "cost_per_1m_out": 0.19999999999999998,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.02,
-      "context_window": 1000000,
-      "default_max_tokens": 4096,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-14b",
-      "name": "Qwen: Qwen3 14B",
-      "cost_per_1m_in": 0.06,
-      "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,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-235b-a22b",
-      "name": "Qwen: Qwen3 235B A22B",
-      "cost_per_1m_in": 0.22,
-      "cost_per_1m_out": 0.88,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 8192,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-235b-a22b-2507",
-      "name": "Qwen: Qwen3 235B A22B Instruct 2507",
-      "cost_per_1m_in": 0.35,
-      "cost_per_1m_out": 1.2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 131072,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "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_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 131072,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-30b-a3b",
-      "name": "Qwen: Qwen3 30B A3B",
-      "cost_per_1m_in": 0.09,
-      "cost_per_1m_out": 0.44999999999999996,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 65536,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-30b-a3b-instruct-2507",
-      "name": "Qwen: Qwen3 30B A3B Instruct 2507",
-      "cost_per_1m_in": 0.08,
-      "cost_per_1m_out": 0.33,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 131072,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-30b-a3b-thinking-2507",
-      "name": "Qwen: Qwen3 30B A3B Thinking 2507",
-      "cost_per_1m_in": 0.08,
-      "cost_per_1m_out": 0.29,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 131072,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-32b",
-      "name": "Qwen: Qwen3 32B",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 4000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-4b:free",
-      "name": "Qwen: Qwen3 4B (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": 40960,
-      "default_max_tokens": 4096,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-coder-30b-a3b-instruct",
-      "name": "Qwen: Qwen3 Coder 30B A3B Instruct",
-      "cost_per_1m_in": 0.07,
-      "cost_per_1m_out": 0.26,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 26214,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-coder",
-      "name": "Qwen: Qwen3 Coder 480B A35B",
-      "cost_per_1m_in": 0.38,
-      "cost_per_1m_out": 1.53,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 131072,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-coder:exacto",
-      "name": "Qwen: Qwen3 Coder 480B A35B (exacto)",
-      "cost_per_1m_in": 0.38,
-      "cost_per_1m_out": 1.53,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 131072,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-coder:free",
-      "name": "Qwen: Qwen3 Coder 480B A35B (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": 262144,
-      "default_max_tokens": 26214,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-coder-flash",
-      "name": "Qwen: Qwen3 Coder Flash",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 1.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.08,
-      "context_window": 128000,
-      "default_max_tokens": 32768,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-coder-plus",
-      "name": "Qwen: Qwen3 Coder Plus",
-      "cost_per_1m_in": 1,
-      "cost_per_1m_out": 5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.09999999999999999,
-      "context_window": 128000,
-      "default_max_tokens": 32768,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-max",
-      "name": "Qwen: Qwen3 Max",
-      "cost_per_1m_in": 1.2,
-      "cost_per_1m_out": 6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.24,
-      "context_window": 256000,
-      "default_max_tokens": 16384,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "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.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 26214,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "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_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 131072,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen/qwen3-vl-235b-a22b-instruct",
-      "name": "Qwen: Qwen3 VL 235B A22B Instruct",
-      "cost_per_1m_in": 0.5,
-      "cost_per_1m_out": 2.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 65536,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "qwen/qwen3-vl-30b-a3b-thinking",
-      "name": "Qwen: Qwen3 VL 30B A3B Thinking",
-      "cost_per_1m_in": 0.19999999999999998,
-      "cost_per_1m_out": 1,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 16384,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "qwen/qwen3-vl-8b-instruct",
-      "name": "Qwen: Qwen3 VL 8B Instruct",
-      "cost_per_1m_in": 0.08,
-      "cost_per_1m_out": 0.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 16384,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "qwen/qwen3-vl-8b-thinking",
-      "name": "Qwen: Qwen3 VL 8B Thinking",
-      "cost_per_1m_in": 0.18,
-      "cost_per_1m_out": 2.0999999999999996,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 256000,
-      "default_max_tokens": 16384,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "sao10k/l3-euryale-70b",
-      "name": "Sao10k: Llama 3 Euryale 70B v2.1",
-      "cost_per_1m_in": 1.48,
-      "cost_per_1m_out": 1.48,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 8192,
-      "default_max_tokens": 4096,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "stepfun-ai/step3",
-      "name": "StepFun: Step3",
-      "cost_per_1m_in": 0.5700000000000001,
-      "cost_per_1m_out": 1.42,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 65536,
-      "default_max_tokens": 32768,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "tngtech/deepseek-r1t2-chimera",
-      "name": "TNG: DeepSeek R1T2 Chimera",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 1.2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 163840,
-      "default_max_tokens": 81920,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "thedrummer/rocinante-12b",
-      "name": "TheDrummer: Rocinante 12B",
-      "cost_per_1m_in": 0.16999999999999998,
-      "cost_per_1m_out": 0.43,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 32768,
-      "default_max_tokens": 3276,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "thedrummer/unslopnemo-12b",
-      "name": "TheDrummer: UnslopNemo 12B",
-      "cost_per_1m_in": 0.39999999999999997,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 32768,
-      "default_max_tokens": 3276,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "alibaba/tongyi-deepresearch-30b-a3b",
-      "name": "Tongyi DeepResearch 30B A3B",
-      "cost_per_1m_in": 0.09,
-      "cost_per_1m_out": 0.39999999999999997,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 65536,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "alibaba/tongyi-deepresearch-30b-a3b:free",
-      "name": "Tongyi DeepResearch 30B A3B (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": 131072,
-      "default_max_tokens": 65536,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "z-ai/glm-4-32b",
-      "name": "Z.AI: GLM 4 32B ",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.09999999999999999,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 128000,
-      "default_max_tokens": 12800,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "z-ai/glm-4.5",
-      "name": "Z.AI: GLM 4.5",
-      "cost_per_1m_in": 0.35,
-      "cost_per_1m_out": 1.55,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 65536,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "z-ai/glm-4.5-air",
-      "name": "Z.AI: GLM 4.5 Air",
-      "cost_per_1m_in": 0.19999999999999998,
-      "cost_per_1m_out": 1.2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "z-ai/glm-4.5-air:free",
-      "name": "Z.AI: GLM 4.5 Air (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": 131072,
-      "default_max_tokens": 48000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "z-ai/glm-4.5v",
-      "name": "Z.AI: GLM 4.5V",
-      "cost_per_1m_in": 0.6,
-      "cost_per_1m_out": 1.7999999999999998,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.11,
-      "context_window": 65536,
-      "default_max_tokens": 8192,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "z-ai/glm-4.6",
-      "name": "Z.AI: GLM 4.6",
-      "cost_per_1m_in": 0.6,
-      "cost_per_1m_out": 2.2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.11,
-      "context_window": 204800,
-      "default_max_tokens": 65536,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "z-ai/glm-4.6:exacto",
-      "name": "Z.AI: GLM 4.6 (exacto)",
-      "cost_per_1m_in": 0.6,
-      "cost_per_1m_out": 1.9,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 202752,
-      "default_max_tokens": 20275,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "inclusionai/ling-1t",
-      "name": "inclusionAI: Ling-1T",
-      "cost_per_1m_in": 0.5700000000000001,
-      "cost_per_1m_out": 2.2800000000000002,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 65536,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "inclusionai/ring-1t",
-      "name": "inclusionAI: Ring 1T",
-      "cost_per_1m_in": 0.5700000000000001,
-      "cost_per_1m_out": 2.2800000000000002,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 65536,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "x-ai/grok-3",
-      "name": "xAI: Grok 3",
-      "cost_per_1m_in": 5,
-      "cost_per_1m_out": 25,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 1.25,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "x-ai/grok-3-beta",
-      "name": "xAI: Grok 3 Beta",
-      "cost_per_1m_in": 5,
-      "cost_per_1m_out": 25,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 1.25,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": false,
-      "has_reasoning_efforts": false,
-      "supports_attachments": false
-    },
-    {
-      "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_cached": 0,
-      "cost_per_1m_out_cached": 0.075,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "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_cached": 0,
-      "cost_per_1m_out_cached": 0.075,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "x-ai/grok-4",
-      "name": "xAI: Grok 4",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.75,
-      "context_window": 256000,
-      "default_max_tokens": 25600,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "x-ai/grok-4-fast",
-      "name": "xAI: Grok 4 Fast",
-      "cost_per_1m_in": 0.19999999999999998,
-      "cost_per_1m_out": 0.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.049999999999999996,
-      "context_window": 2000000,
-      "default_max_tokens": 15000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "x-ai/grok-code-fast-1",
-      "name": "xAI: Grok Code Fast 1",
-      "cost_per_1m_in": 0.19999999999999998,
-      "cost_per_1m_out": 1.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.02,
-      "context_window": 256000,
-      "default_max_tokens": 5000,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "supports_attachments": false
-    }
-  ],
-  "default_headers": {
-    "HTTP-Referer": "https://charm.land",
-    "X-Title": "Crush"
-  }
-}

internal/deprecated/configs/venice.json 🔗

@@ -1,71 +0,0 @@
-{
-  "name": "Venice AI",
-  "id": "venice",
-  "type": "openai",
-  "api_key": "$VENICE_API_KEY",
-  "api_endpoint": "https://api.venice.ai/api/v1",
-  "default_large_model_id": "qwen3-235b:strip_thinking_response=true",
-  "default_small_model_id": "mistral-31-24b",
-  "models": [
-    {
-      "id": "qwen3-235b:strip_thinking_response=true",
-      "name": "Venice Large (qwen3-235b)",
-      "cost_per_1m_in": 1.5,
-      "cost_per_1m_out": 6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "qwen3-4b:strip_thinking_response=true",
-      "name": "Venice Small (qwen3-4b)",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 32768,
-      "default_max_tokens": 25000,
-      "can_reason": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "mistral-31-24b",
-      "name": "Venice Medium (mistral-31-24b)",
-      "cost_per_1m_in": 0.5,
-      "cost_per_1m_out": 2,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 50000,
-      "can_reason": false,
-      "supports_attachments": true
-    },
-    {
-      "id": "llama-3.2-3b",
-      "name": "Llama 3.2 3B",
-      "cost_per_1m_in": 0.15,
-      "cost_per_1m_out": 0.6,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 25000,
-      "can_reason": false,
-      "supports_attachments": false
-    },
-    {
-      "id": "llama-3.3-70b",
-      "name": "Llama 3.3 70B",
-      "cost_per_1m_in": 0.7,
-      "cost_per_1m_out": 2.8,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 65536,
-      "default_max_tokens": 32000,
-      "can_reason": false,
-      "supports_attachments": false
-    }
-  ]
-}

internal/deprecated/configs/vertexai.json 🔗

@@ -1,35 +0,0 @@
-{
-  "name": "Google Vertex AI",
-  "id": "vertexai",
-  "type": "vertexai",
-  "api_key": "",
-  "api_endpoint": "",
-  "default_large_model_id": "gemini-2.5-pro",
-  "default_small_model_id": "gemini-2.5-flash",
-  "models": [
-    {
-      "id": "gemini-2.5-pro",
-      "name": "Gemini 2.5 Pro",
-      "cost_per_1m_in": 1.25,
-      "cost_per_1m_out": 10,
-      "cost_per_1m_in_cached": 1.625,
-      "cost_per_1m_out_cached": 0.31,
-      "context_window": 1048576,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "gemini-2.5-flash",
-      "name": "Gemini 2.5 Flash",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 2.5,
-      "cost_per_1m_in_cached": 0.3833,
-      "cost_per_1m_out_cached": 0.075,
-      "context_window": 1048576,
-      "default_max_tokens": 50000,
-      "can_reason": true,
-      "supports_attachments": true
-    }
-  ]
-}

internal/deprecated/configs/xai.json 🔗

@@ -1,71 +0,0 @@
-{
-  "name": "xAI",
-  "id": "xai",
-  "api_key": "$XAI_API_KEY",
-  "api_endpoint": "https://api.x.ai/v1",
-  "type": "openai",
-  "default_large_model_id": "grok-code-fast",
-  "default_small_model_id": "grok-3-mini",
-  "models": [
-    {
-      "id": "grok-code-fast",
-      "name": "Grok Code Fast",
-      "cost_per_1m_in": 0.2,
-      "cost_per_1m_out": 1.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.02,
-      "context_window": 256000,
-      "default_max_tokens": 20000,
-      "can_reason": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "grok-4",
-      "name": "Grok 4",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.75,
-      "context_window": 256000,
-      "default_max_tokens": 20000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "grok-4-fast",
-      "name": "Grok 4 Fast",
-      "cost_per_1m_in": 0.2,
-      "cost_per_1m_out": 0.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.05,
-      "context_window": 2000000,
-      "default_max_tokens": 200000,
-      "can_reason": true,
-      "supports_attachments": true
-    },
-    {
-      "id": "grok-3-mini",
-      "name": "Grok 3 Mini",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 0.5,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.075,
-      "context_window": 131072,
-      "default_max_tokens": 20000,
-      "can_reason": true,
-      "supports_attachments": false
-    },
-    {
-      "id": "grok-3",
-      "name": "Grok 3",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 15,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.75,
-      "context_window": 131072,
-      "default_max_tokens": 20000,
-      "can_reason": false,
-      "supports_attachments": false
-    }
-  ]
-}

internal/deprecated/configs/zai.json 🔗

@@ -1,52 +0,0 @@
-{
-  "name": "Z.AI",
-  "id": "zai",
-  "api_key": "$ZAI_API_KEY",
-  "api_endpoint": "https://api.z.ai/api/coding/paas/v4",
-  "type": "openai",
-  "default_large_model_id": "glm-4.6",
-  "default_small_model_id": "glm-4.5-air",
-  "models": [
-    {
-      "id": "glm-4.6",
-      "name": "GLM-4.6",
-      "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": 204800,
-      "default_max_tokens": 131072,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "medium",
-      "supports_attachments": false
-    },
-    {
-      "id": "glm-4.5",
-      "name": "GLM-4.5",
-      "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": 131072,
-      "default_max_tokens": 98304,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "medium",
-      "supports_attachments": false
-    },
-    {
-      "id": "glm-4.5-air",
-      "name": "GLM-4.5-Air",
-      "cost_per_1m_in": 0.2,
-      "cost_per_1m_out": 1.1,
-      "cost_per_1m_in_cached": 0.03,
-      "context_window": 131072,
-      "default_max_tokens": 98304,
-      "can_reason": true,
-      "has_reasoning_efforts": true,
-      "default_reasoning_effort": "medium",
-      "supports_attachments": false
-    }
-  ]
-}

internal/deprecated/old.go 🔗

@@ -1,33 +0,0 @@
-// Package deprecated is used to serve the old verion of the provider config
-package deprecated
-
-import "charm.land/catwalk/pkg/catwalk"
-
-// Provider represents an AI provider configuration.
-type Provider struct {
-	Name                string                    `json:"name"`
-	ID                  catwalk.InferenceProvider `json:"id"`
-	APIKey              string                    `json:"api_key,omitempty"`
-	APIEndpoint         string                    `json:"api_endpoint,omitempty"`
-	Type                catwalk.Type              `json:"type,omitempty"`
-	DefaultLargeModelID string                    `json:"default_large_model_id,omitempty"`
-	DefaultSmallModelID string                    `json:"default_small_model_id,omitempty"`
-	Models              []Model                   `json:"models,omitempty"`
-	DefaultHeaders      map[string]string         `json:"default_headers,omitempty"`
-}
-
-// Model represents an AI model configuration.
-type Model struct {
-	ID                     string  `json:"id"`
-	Name                   string  `json:"name"`
-	CostPer1MIn            float64 `json:"cost_per_1m_in"`
-	CostPer1MOut           float64 `json:"cost_per_1m_out"`
-	CostPer1MInCached      float64 `json:"cost_per_1m_in_cached"`
-	CostPer1MOutCached     float64 `json:"cost_per_1m_out_cached"`
-	ContextWindow          int64   `json:"context_window"`
-	DefaultMaxTokens       int64   `json:"default_max_tokens"`
-	CanReason              bool    `json:"can_reason"`
-	HasReasoningEffort     bool    `json:"has_reasoning_efforts"`
-	DefaultReasoningEffort string  `json:"default_reasoning_effort,omitempty"`
-	SupportsImages         bool    `json:"supports_attachments"`
-}

internal/deprecated/providers.go 🔗

@@ -1,159 +0,0 @@
-package deprecated
-
-import (
-	_ "embed"
-	"encoding/json"
-	"log"
-)
-
-//go:embed configs/openai.json
-var openAIConfig []byte
-
-//go:embed configs/anthropic.json
-var anthropicConfig []byte
-
-//go:embed configs/gemini.json
-var geminiConfig []byte
-
-//go:embed configs/openrouter.json
-var openRouterConfig []byte
-
-//go:embed configs/azure.json
-var azureConfig []byte
-
-//go:embed configs/vertexai.json
-var vertexAIConfig []byte
-
-//go:embed configs/xai.json
-var xAIConfig []byte
-
-//go:embed configs/zai.json
-var zAIConfig []byte
-
-//go:embed configs/bedrock.json
-var bedrockConfig []byte
-
-//go:embed configs/groq.json
-var groqConfig []byte
-
-//go:embed configs/cerebras.json
-var cerebrasConfig []byte
-
-//go:embed configs/venice.json
-var veniceConfig []byte
-
-//go:embed configs/chutes.json
-var chutesConfig []byte
-
-//go:embed configs/deepseek.json
-var deepSeekConfig []byte
-
-//go:embed configs/huggingface.json
-var huggingFaceConfig []byte
-
-//go:embed configs/aihubmix.json
-var aiHubMixConfig []byte
-
-// ProviderFunc is a function that returns a Provider.
-type ProviderFunc func() Provider
-
-var providerRegistry = []ProviderFunc{
-	anthropicProvider,
-	openAIProvider,
-	geminiProvider,
-	azureProvider,
-	bedrockProvider,
-	vertexAIProvider,
-	xAIProvider,
-	zAIProvider,
-	groqProvider,
-	openRouterProvider,
-	cerebrasProvider,
-	veniceProvider,
-	chutesProvider,
-	deepSeekProvider,
-	huggingFaceProvider,
-	aiHubMixProvider,
-}
-
-// GetAll returns all registered providers.
-func GetAll() []Provider {
-	providers := make([]Provider, 0, len(providerRegistry))
-	for _, providerFunc := range providerRegistry {
-		providers = append(providers, providerFunc())
-	}
-	return providers
-}
-
-func loadProviderFromConfig(configData []byte) Provider {
-	var p Provider
-	if err := json.Unmarshal(configData, &p); err != nil {
-		log.Printf("Error loading provider config: %v", err)
-		return Provider{}
-	}
-	return p
-}
-
-func openAIProvider() Provider {
-	return loadProviderFromConfig(openAIConfig)
-}
-
-func anthropicProvider() Provider {
-	return loadProviderFromConfig(anthropicConfig)
-}
-
-func geminiProvider() Provider {
-	return loadProviderFromConfig(geminiConfig)
-}
-
-func azureProvider() Provider {
-	return loadProviderFromConfig(azureConfig)
-}
-
-func bedrockProvider() Provider {
-	return loadProviderFromConfig(bedrockConfig)
-}
-
-func vertexAIProvider() Provider {
-	return loadProviderFromConfig(vertexAIConfig)
-}
-
-func xAIProvider() Provider {
-	return loadProviderFromConfig(xAIConfig)
-}
-
-func zAIProvider() Provider {
-	return loadProviderFromConfig(zAIConfig)
-}
-
-func openRouterProvider() Provider {
-	return loadProviderFromConfig(openRouterConfig)
-}
-
-func groqProvider() Provider {
-	return loadProviderFromConfig(groqConfig)
-}
-
-func cerebrasProvider() Provider {
-	return loadProviderFromConfig(cerebrasConfig)
-}
-
-func veniceProvider() Provider {
-	return loadProviderFromConfig(veniceConfig)
-}
-
-func chutesProvider() Provider {
-	return loadProviderFromConfig(chutesConfig)
-}
-
-func deepSeekProvider() Provider {
-	return loadProviderFromConfig(deepSeekConfig)
-}
-
-func huggingFaceProvider() Provider {
-	return loadProviderFromConfig(huggingFaceConfig)
-}
-
-func aiHubMixProvider() Provider {
-	return loadProviderFromConfig(aiHubMixConfig)
-}

main.go 🔗

@@ -8,7 +8,6 @@ import (
 	"net/http"
 	"time"
 
-	"charm.land/catwalk/internal/deprecated"
 	"charm.land/catwalk/internal/providers"
 	"github.com/charmbracelet/x/etag"
 	"github.com/prometheus/client_golang/prometheus"
@@ -26,6 +25,8 @@ var counter = promauto.NewCounter(prometheus.CounterOpts{
 var (
 	providersJSON []byte
 	providersETag string
+
+	deprecatedJSON []byte
 )
 
 func init() {
@@ -35,6 +36,11 @@ func init() {
 		log.Fatal("Failed to marshal providers:", err)
 	}
 	providersETag = etag.Of(providersJSON)
+
+	deprecatedJSON, err = json.Marshal(map[string]any{"error": "This endpoint was removed. Please use /v2/providers instead."})
+	if err != nil {
+		log.Fatal("Failed to marshal deprecated response:", err)
+	}
 }
 
 func providersHandler(w http.ResponseWriter, r *http.Request) {
@@ -63,22 +69,12 @@ func providersHandler(w http.ResponseWriter, r *http.Request) {
 	}
 }
 
-func providersHandlerDeprecated(w http.ResponseWriter, r *http.Request) {
+func providersHandlerDeprecated(w http.ResponseWriter, _ *http.Request) {
 	w.Header().Set("Content-Type", "application/json")
-	if r.Method == http.MethodHead {
-		return
-	}
-
-	if r.Method != http.MethodGet {
-		http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
-		return
-	}
 
-	counter.Inc()
-	allProviders := deprecated.GetAll()
-	if err := json.NewEncoder(w).Encode(allProviders); err != nil {
-		http.Error(w, "Internal server error", http.StatusInternalServerError)
-		return
+	if _, err := w.Write(deprecatedJSON); err != nil {
+		log.Printf("Error writing response: %v", err)
+		http.Error(w, err.Error(), http.StatusInternalServerError)
 	}
 }