@clinebot/llms 0.0.11 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
- import{createRequire as Zr}from"node:module";var jr=Object.defineProperty;var Hr=(e)=>e;function Jr(e,t){this[e]=Hr.bind(null,t)}var x=(e,t)=>{for(var a in t)jr(e,a,{get:t[a],enumerable:!0,configurable:!0,set:Jr.bind(t,a)})};var W=(e,t)=>()=>(e&&(t=e(e=0)),t);var ja=Zr(import.meta.url);var za;var Fn=W(()=>{za={version:1774031158558,providers:{aihubmix:{"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"claude-sonnet-4-6-think":{id:"claude-sonnet-4-6-think",name:"Claude Sonnet 4.6 Think",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"qwen3.5-plus":{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.11,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"minimax-m2.5":{id:"minimax-m2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:1.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"coding-glm-5-free":{id:"coding-glm-5-free",name:"Coding-GLM-5-Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"glm-5":{id:"glm-5",name:"GLM-5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.88,output:2.82,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-05"},"claude-opus-4-6-think":{id:"claude-opus-4-6-think",name:"Claude Opus 4.6 Think",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-05"},"qwen3-coder-next":{id:"qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.14,output:0.55,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-04"},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27"},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"coding-minimax-m2.1-free":{id:"coding-minimax-m2.1-free",name:"Coding MiniMax M2.1 Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"minimax-m2.1":{id:"minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:1.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"coding-glm-4.7":{id:"coding-glm-4.7",name:"Coding-GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1.1,cacheRead:0.548,cacheWrite:0},releaseDate:"2025-12-22"},"coding-glm-4.7-free":{id:"coding-glm-4.7-free",name:"Coding GLM 4.7 Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1.1,cacheRead:0.548,cacheWrite:0},releaseDate:"2025-12-22"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.14,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-08"},"deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek-V3.2",contextWindow:131000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"deepseek-v3.2-think":{id:"deepseek-v3.2-think",name:"DeepSeek-V3.2-Think",contextWindow:131000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-25"},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:65000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-11-19"},"gemini-3-pro-preview-search":{id:"gemini-3-pro-preview-search",name:"Gemini 3 Pro Preview Search",contextWindow:1e6,maxTokens:65000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-11-19"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-15"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-11-15"},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-11-15"},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.1,output:5.5,cacheRead:0.11,cacheWrite:1.25},releaseDate:"2025-09-29"},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3.3,output:16.5,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"qwen3-max-2026-01-23":{id:"qwen3-max-2026-01-23",name:"Qwen3 Max",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.34,output:1.37,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1e6,maxTokens:65000,capabilities:["images","tools","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-09-15"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:2000000,maxTokens:65000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.25,output:5,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5":{id:"gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:20,cacheRead:2.5,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5-Mini",contextWindow:200000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.5,output:6,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5-Nano",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.5,output:2,cacheRead:0.25,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5-Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:7,output:28,cacheRead:3.5,cacheWrite:0},releaseDate:"2025-09-15"},"Kimi-K2-0905":{id:"Kimi-K2-0905",name:"Kimi K2 0905",contextWindow:262144,maxTokens:262144,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:16.5,output:82.5,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"qwen3-coder-480b-a35b-instruct":{id:"qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:131000,capabilities:["tools","temperature"],pricing:{input:0.82,output:3.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"qwen3-235b-a22b-instruct-2507":{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:262144,capabilities:["tools","temperature"],pricing:{input:0.28,output:1.12,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30"},"qwen3-235b-a22b-thinking-2507":{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"}},anthropic:{"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-01"},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"claude-opus-4-1-20250805":{id:"claude-opus-4-1-20250805",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"claude-opus-4-0":{id:"claude-opus-4-0",name:"Claude Opus 4 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"claude-opus-4-20250514":{id:"claude-opus-4-20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"claude-sonnet-4-0":{id:"claude-sonnet-4-0",name:"Claude Sonnet 4 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"claude-sonnet-4-20250514":{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"claude-3-7-sonnet-20250219":{id:"claude-3-7-sonnet-20250219",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"claude-3-7-sonnet-latest":{id:"claude-3-7-sonnet-latest",name:"Claude Sonnet 3.7 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"claude-3-5-haiku-20241022":{id:"claude-3-5-haiku-20241022",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"claude-3-5-haiku-latest":{id:"claude-3-5-haiku-latest",name:"Claude Haiku 3.5 (latest)",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"claude-3-5-sonnet-20241022":{id:"claude-3-5-sonnet-20241022",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"claude-3-5-sonnet-20240620":{id:"claude-3-5-sonnet-20240620",name:"Claude Sonnet 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20"},"claude-3-haiku-20240307":{id:"claude-3-haiku-20240307",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13"},"claude-3-sonnet-20240229":{id:"claude-3-sonnet-20240229",name:"Claude Sonnet 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:0.3},releaseDate:"2024-03-04"},"claude-3-opus-20240229":{id:"claude-3-opus-20240229",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29"}},baseten:{"nvidia/Nemotron-3-Super":{id:"nvidia/Nemotron-3-Super",name:"Nemotron 3 Super",contextWindow:262144,maxTokens:32678,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204000,maxTokens:204000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.95,output:3.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-30"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:200000,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-16"},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:164000,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:128000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3 0324",contextWindow:164000,maxTokens:131000,capabilities:["tools","temperature"],pricing:{input:0.77,output:0.77,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-24"}},bedrock:{"anthropic.claude-sonnet-4-6":{id:"anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"eu.anthropic.claude-sonnet-4-6":{id:"eu.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (EU)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"global.anthropic.claude-sonnet-4-6":{id:"global.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Global)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"mistral.devstral-2-123b":{id:"mistral.devstral-2-123b",name:"Devstral 2 123B",contextWindow:256000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-17"},"us.anthropic.claude-sonnet-4-6":{id:"us.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (US)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"deepseek.v3.2":{id:"deepseek.v3.2",name:"DeepSeek-V3.2",contextWindow:163840,maxTokens:81920,capabilities:["tools","reasoning","temperature"],pricing:{input:0.62,output:1.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06"},"moonshotai.kimi-k2.5":{id:"moonshotai.kimi-k2.5",name:"Kimi K2.5",contextWindow:256000,maxTokens:256000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06"},"anthropic.claude-opus-4-6-v1":{id:"anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"eu.anthropic.claude-opus-4-6-v1":{id:"eu.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (EU)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"global.anthropic.claude-opus-4-6-v1":{id:"global.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (Global)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"us.anthropic.claude-opus-4-6-v1":{id:"us.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (US)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"zai.glm-4.7-flash":{id:"zai.glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19"},"minimax.minimax-m2.1":{id:"minimax.minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"nvidia.nemotron-nano-3-30b":{id:"nvidia.nemotron-nano-3-30b",name:"NVIDIA Nemotron Nano 3 30B",contextWindow:128000,maxTokens:4096,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"zai.glm-4.7":{id:"zai.glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"mistral.magistral-small-2509":{id:"mistral.magistral-small-2509",name:"Magistral Small 1.2",contextWindow:128000,maxTokens:40000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"mistral.ministral-3-3b-instruct":{id:"mistral.ministral-3-3b-instruct",name:"Ministral 3 3B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"mistral.mistral-large-3-675b-instruct":{id:"mistral.mistral-large-3-675b-instruct",name:"Mistral Large 3",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"moonshot.kimi-k2-thinking":{id:"moonshot.kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:256000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"anthropic.claude-opus-4-5-20251101-v1:0":{id:"anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"eu.anthropic.claude-opus-4-5-20251101-v1:0":{id:"eu.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"global.anthropic.claude-opus-4-5-20251101-v1:0":{id:"global.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"us.anthropic.claude-opus-4-5-20251101-v1:0":{id:"us.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"minimax.minimax-m2":{id:"minimax.minimax-m2",name:"MiniMax M2",contextWindow:204608,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-27"},"anthropic.claude-haiku-4-5-20251001-v1:0":{id:"anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"eu.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"eu.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"global.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"global.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"us.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"us.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"qwen.qwen3-vl-235b-a22b":{id:"qwen.qwen3-vl-235b-a22b",name:"Qwen/Qwen3-VL-235B-A22B-Instruct",contextWindow:262000,maxTokens:262000,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-04"},"anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"eu.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"eu.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"global.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"global.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"us.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"deepseek.v3-v1:0":{id:"deepseek.v3-v1:0",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:81920,capabilities:["tools","reasoning","temperature"],pricing:{input:0.58,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-235b-a22b-2507-v1:0":{id:"qwen.qwen3-235b-a22b-2507-v1:0",name:"Qwen3 235B A22B 2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-32b-v1:0":{id:"qwen.qwen3-32b-v1:0",name:"Qwen3 32B (dense)",contextWindow:16384,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-coder-30b-a3b-v1:0":{id:"qwen.qwen3-coder-30b-a3b-v1:0",name:"Qwen3 Coder 30B A3B Instruct",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-coder-480b-a35b-v1:0":{id:"qwen.qwen3-coder-480b-a35b-v1:0",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:131072,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-next-80b-a3b":{id:"qwen.qwen3-next-80b-a3b",name:"Qwen/Qwen3-Next-80B-A3B-Instruct",contextWindow:262000,maxTokens:262000,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"anthropic.claude-opus-4-1-20250805-v1:0":{id:"anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"us.anthropic.claude-opus-4-1-20250805-v1:0":{id:"us.anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1 (US)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"google.gemma-3-27b-it":{id:"google.gemma-3-27b-it",name:"Google Gemma 3 27B Instruct",contextWindow:202752,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.12,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-27"},"mistral.voxtral-small-24b-2507":{id:"mistral.voxtral-small-24b-2507",name:"Voxtral Small 24B 2507",contextWindow:32000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.35,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-01"},"anthropic.claude-opus-4-20250514-v1:0":{id:"anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic.claude-sonnet-4-20250514-v1:0":{id:"anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"eu.anthropic.claude-sonnet-4-20250514-v1:0":{id:"eu.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"global.anthropic.claude-sonnet-4-20250514-v1:0":{id:"global.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"us.anthropic.claude-opus-4-20250514-v1:0":{id:"us.anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4 (US)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"us.anthropic.claude-sonnet-4-20250514-v1:0":{id:"us.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"writer.palmyra-x4-v1:0":{id:"writer.palmyra-x4-v1:0",name:"Palmyra X4",contextWindow:122880,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"writer.palmyra-x5-v1:0":{id:"writer.palmyra-x5-v1:0",name:"Palmyra X5",contextWindow:1040000,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"mistral.pixtral-large-2502-v1:0":{id:"mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02)",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-08"},"meta.llama4-maverick-17b-instruct-v1:0":{id:"meta.llama4-maverick-17b-instruct-v1:0",name:"Llama 4 Maverick 17B Instruct",contextWindow:1e6,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.24,output:0.97,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta.llama4-scout-17b-instruct-v1:0":{id:"meta.llama4-scout-17b-instruct-v1:0",name:"Llama 4 Scout 17B Instruct",contextWindow:3500000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"anthropic.claude-3-7-sonnet-20250219-v1:0":{id:"anthropic.claude-3-7-sonnet-20250219-v1:0",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"deepseek.r1-v1:0":{id:"deepseek.r1-v1:0",name:"DeepSeek-R1",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"meta.llama3-3-70b-instruct-v1:0":{id:"meta.llama3-3-70b-instruct-v1:0",name:"Llama 3.3 70B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"amazon.nova-lite-v1:0":{id:"amazon.nova-lite-v1:0",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-micro-v1:0":{id:"amazon.nova-micro-v1:0",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-premier-v1:0":{id:"amazon.nova-premier-v1:0",name:"Nova Premier",contextWindow:1e6,maxTokens:16384,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2.5,output:12.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-pro-v1:0":{id:"amazon.nova-pro-v1:0",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-2-lite-v1:0":{id:"amazon.nova-2-lite-v1:0",name:"Nova 2 Lite",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.33,output:2.75,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"google.gemma-3-4b-it":{id:"google.gemma-3-4b-it",name:"Gemma 3 4B IT",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.04,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"mistral.ministral-3-14b-instruct":{id:"mistral.ministral-3-14b-instruct",name:"Ministral 14B 3.0",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"mistral.ministral-3-8b-instruct":{id:"mistral.ministral-3-8b-instruct",name:"Ministral 3 8B",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"mistral.voxtral-mini-3b-2507":{id:"mistral.voxtral-mini-3b-2507",name:"Voxtral Mini 3B 2507",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"nvidia.nemotron-nano-12b-v2":{id:"nvidia.nemotron-nano-12b-v2",name:"NVIDIA Nemotron Nano 12B v2 VL BF16",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"nvidia.nemotron-nano-9b-v2":{id:"nvidia.nemotron-nano-9b-v2",name:"NVIDIA Nemotron Nano 9B v2",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.06,output:0.23,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-120b-1:0":{id:"openai.gpt-oss-120b-1:0",name:"gpt-oss-120b",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-20b-1:0":{id:"openai.gpt-oss-20b-1:0",name:"gpt-oss-20b",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-safeguard-120b":{id:"openai.gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-safeguard-20b":{id:"openai.gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"anthropic.claude-3-5-haiku-20241022-v1:0":{id:"anthropic.claude-3-5-haiku-20241022-v1:0",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"anthropic.claude-3-5-sonnet-20241022-v2:0":{id:"anthropic.claude-3-5-sonnet-20241022-v2:0",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"meta.llama3-2-11b-instruct-v1:0":{id:"meta.llama3-2-11b-instruct-v1:0",name:"Llama 3.2 11B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.16,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-2-1b-instruct-v1:0":{id:"meta.llama3-2-1b-instruct-v1:0",name:"Llama 3.2 1B Instruct",contextWindow:131000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-2-3b-instruct-v1:0":{id:"meta.llama3-2-3b-instruct-v1:0",name:"Llama 3.2 3B Instruct",contextWindow:131000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-2-90b-instruct-v1:0":{id:"meta.llama3-2-90b-instruct-v1:0",name:"Llama 3.2 90B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-1-405b-instruct-v1:0":{id:"meta.llama3-1-405b-instruct-v1:0",name:"Llama 3.1 405B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:2.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"meta.llama3-1-70b-instruct-v1:0":{id:"meta.llama3-1-70b-instruct-v1:0",name:"Llama 3.1 70B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"meta.llama3-1-8b-instruct-v1:0":{id:"meta.llama3-1-8b-instruct-v1:0",name:"Llama 3.1 8B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"anthropic.claude-3-5-sonnet-20240620-v1:0":{id:"anthropic.claude-3-5-sonnet-20240620-v1:0",name:"Claude Sonnet 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20"},"anthropic.claude-3-haiku-20240307-v1:0":{id:"anthropic.claude-3-haiku-20240307-v1:0",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2024-03-13"}},cerebras:{"zai-glm-4.7":{id:"zai-glm-4.7",name:"Z.AI GLM-4.7",contextWindow:131072,maxTokens:40000,capabilities:["tools","temperature"],pricing:{input:2.25,output:2.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-10"},"gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.69,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"qwen-3-235b-a22b-instruct-2507":{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen 3 235B Instruct",contextWindow:131000,maxTokens:32000,capabilities:["tools","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22"},"llama3.1-8b":{id:"llama3.1-8b",name:"Llama 3.1 8B",contextWindow:32000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"}},deepseek:{"deepseek-chat":{id:"deepseek-chat",name:"DeepSeek Chat",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.28,output:0.42,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01"},"deepseek-reasoner":{id:"deepseek-reasoner",name:"DeepSeek Reasoner",contextWindow:128000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.42,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01"}},fireworks:{"accounts/fireworks/models/minimax-m2p5":{id:"accounts/fireworks/models/minimax-m2p5",name:"MiniMax-M2.5",contextWindow:196608,maxTokens:196608,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12"},"accounts/fireworks/models/glm-5":{id:"accounts/fireworks/models/glm-5",name:"GLM 5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-02-11"},"accounts/fireworks/models/kimi-k2p5":{id:"accounts/fireworks/models/kimi-k2p5",name:"Kimi K2.5",contextWindow:256000,maxTokens:256000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27"},"accounts/fireworks/models/minimax-m2p1":{id:"accounts/fireworks/models/minimax-m2p1",name:"MiniMax-M2.1",contextWindow:200000,maxTokens:200000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-23"},"accounts/fireworks/models/glm-4p7":{id:"accounts/fireworks/models/glm-4p7",name:"GLM 4.7",contextWindow:198000,maxTokens:198000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-12-22"},"accounts/fireworks/models/deepseek-v3p2":{id:"accounts/fireworks/models/deepseek-v3p2",name:"DeepSeek V3.2",contextWindow:160000,maxTokens:160000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.56,output:1.68,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-12-01"},"accounts/fireworks/models/kimi-k2-thinking":{id:"accounts/fireworks/models/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:256000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-11-06"},"accounts/fireworks/models/deepseek-v3p1":{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning","temperature"],pricing:{input:0.56,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"accounts/fireworks/models/gpt-oss-120b":{id:"accounts/fireworks/models/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"accounts/fireworks/models/gpt-oss-20b":{id:"accounts/fireworks/models/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"accounts/fireworks/models/glm-4p5-air":{id:"accounts/fireworks/models/glm-4p5-air",name:"GLM 4.5 Air",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"accounts/fireworks/models/glm-4p5":{id:"accounts/fireworks/models/glm-4p5",name:"GLM 4.5",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.55,output:2.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"accounts/fireworks/models/kimi-k2-instruct":{id:"accounts/fireworks/models/kimi-k2-instruct",name:"Kimi K2 Instruct",contextWindow:128000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"}},gemini:{"gemini-3.1-flash-lite-preview":{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03"},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19"},"gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17"},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18"},"gemini-2.5-flash-lite-preview-09-2025":{id:"gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-2.5-flash-preview-09-2025":{id:"gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-flash-latest":{id:"gemini-flash-latest",name:"Gemini Flash Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-flash-lite-latest":{id:"gemini-flash-lite-latest",name:"Gemini Flash-Lite Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-live-2.5-flash":{id:"gemini-live-2.5-flash",name:"Gemini Live 2.5 Flash",contextWindow:128000,maxTokens:8000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-01"},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"gemini-2.5-flash-lite-preview-06-17":{id:"gemini-2.5-flash-lite-preview-06-17",name:"Gemini 2.5 Flash Lite Preview 06-17",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"gemini-live-2.5-flash-preview-native-audio":{id:"gemini-live-2.5-flash-preview-native-audio",name:"Gemini Live 2.5 Flash Preview Native Audio",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17"},"gemini-2.5-pro-preview-06-05":{id:"gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05"},"gemini-2.5-flash-preview-05-20":{id:"gemini-2.5-flash-preview-05-20",name:"Gemini 2.5 Flash Preview 05-20",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-05-20"},"gemini-2.5-pro-preview-05-06":{id:"gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06"},"gemini-2.5-flash-preview-04-17":{id:"gemini-2.5-flash-preview-04-17",name:"Gemini 2.5 Flash Preview 04-17",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-04-17"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-03-20"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20"},"gemini-2.0-flash":{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11"},"gemini-2.0-flash-lite":{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"gemini-1.5-flash-8b":{id:"gemini-1.5-flash-8b",name:"Gemini 1.5 Flash-8B",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.0375,output:0.15,cacheRead:0.01,cacheWrite:0},releaseDate:"2024-10-03"},"gemini-1.5-flash":{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0.01875,cacheWrite:0},releaseDate:"2024-05-14"},"gemini-1.5-pro":{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:1.25,output:5,cacheRead:0.3125,cacheWrite:0},releaseDate:"2024-02-15"}},groq:{"moonshotai/kimi-k2-instruct-0905":{id:"moonshotai/kimi-k2-instruct-0905",name:"Kimi K2 Instruct 0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"meta-llama/llama-4-maverick-17b-128e-instruct":{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick 17B",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta-llama/llama-4-scout-17b-16e-instruct":{id:"meta-llama/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.11,output:0.34,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen3 32B",contextWindow:131072,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:0.59,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-23"},"llama-3.3-70b-versatile":{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B Versatile",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.59,output:0.79,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"llama-3.1-8b-instant":{id:"llama-3.1-8b-instant",name:"Llama 3.1 8B Instant",contextWindow:131072,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"}},huggingface:{"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11"},"Qwen/Qwen3-Coder-Next":{id:"Qwen/Qwen3-Coder-Next",name:"Qwen3-Coder-Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03"},"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5-397B-A17B",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-01"},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22"},"XiaomiMiMo/MiMo-V2-Flash":{id:"XiaomiMiMo/MiMo-V2-Flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:4096,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-16"},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.3,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi-K2-Instruct-0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04"},"zai-org/GLM-4.7-Flash":{id:"zai-org/GLM-4.7-Flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-08"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-14"},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-28"}},lmstudio:{"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"qwen/qwen3-30b-a3b-2507":{id:"qwen/qwen3-30b-a3b-2507",name:"Qwen3 30B A3B 2507",contextWindow:262144,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30"},"qwen/qwen3-coder-30b":{id:"qwen/qwen3-coder-30b",name:"Qwen3 Coder 30B",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"}},minimax:{"MiniMax-M2.7":{id:"MiniMax-M2.7",name:"MiniMax-M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18"},"MiniMax-M2.7-highspeed":{id:"MiniMax-M2.7-highspeed",name:"MiniMax-M2.7-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18"},"MiniMax-M2.5-highspeed":{id:"MiniMax-M2.5-highspeed",name:"MiniMax-M2.5-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-02-13"},"MiniMax-M2.5":{id:"MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12"},"MiniMax-M2.1":{id:"MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"MiniMax-M2":{id:"MiniMax-M2",name:"MiniMax-M2",contextWindow:196608,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-27"}},moonshot:{"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"kimi-k2-thinking-turbo":{id:"kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","temperature"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"kimi-k2-0905-preview":{id:"kimi-k2-0905-preview",name:"Kimi K2 0905",contextWindow:262144,maxTokens:262144,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-09-05"},"kimi-k2-turbo-preview":{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo",contextWindow:262144,maxTokens:262144,capabilities:["tools","temperature"],pricing:{input:2.4,output:10,cacheRead:0.6,cacheWrite:0},releaseDate:"2025-09-05"},"kimi-k2-0711-preview":{id:"kimi-k2-0711-preview",name:"Kimi K2 0711",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-07-14"}},nebius:{"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron-3-Super-120B-A12B",contextWindow:256000,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:200000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0.1,cacheWrite:1},releaseDate:"2026-03-01"},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-01"},"NousResearch/Hermes-4-405B":{id:"NousResearch/Hermes-4-405B",name:"Hermes-4-405B",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2026-01-30"},"NousResearch/Hermes-4-70B":{id:"NousResearch/Hermes-4-70B",name:"Hermes-4-70B",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0.013,cacheWrite:0.16},releaseDate:"2026-01-30"},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3-30B-A3B-Instruct-2507",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-30B-A3B-Thinking-2507":{id:"Qwen/Qwen3-30B-A3B-Thinking-2507",name:"Qwen3-30B-A3B-Thinking-2507",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-32B":{id:"Qwen/Qwen3-32B",name:"Qwen3-32B",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-32B-fast":{id:"Qwen/Qwen3-32B-fast",name:"Qwen3-32B (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-28"},"Qwen/Qwen3-Coder-30B-A3B-Instruct":{id:"Qwen/Qwen3-Coder-30B-A3B-Instruct",name:"Qwen3-Coder-30B-A3B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:1.2,cacheRead:0.015,cacheWrite:0.18},releaseDate:"2026-01-28"},"PrimeIntellect/INTELLECT-3":{id:"PrimeIntellect/INTELLECT-3",name:"INTELLECT-3",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-25"},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",contextWindow:163000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.45,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-01-20"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma-3-27b-it",contextWindow:110000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-20"},"google/gemma-3-27b-it-fast":{id:"google/gemma-3-27b-it-fast",name:"Gemma-3-27b-it (Fast)",contextWindow:110000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-20"},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.8,output:2.4,cacheRead:0.08,cacheWrite:1},releaseDate:"2026-01-15"},"zai-org/GLM-4.7-FP8":{id:"zai-org/GLM-4.7-FP8",name:"GLM-4.7 (FP8)",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2026-01-15"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"gpt-oss-120b",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0.18},releaseDate:"2026-01-10"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"gpt-oss-20b",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0.005,cacheWrite:0.06},releaseDate:"2026-01-10"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",contextWindow:200000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.5,output:2.4,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2026-01-05"},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2026-01-05"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15"},"moonshotai/Kimi-K2.5-fast":{id:"moonshotai/Kimi-K2.5-fast",name:"Kimi-K2.5-fast",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15"},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0.013,cacheWrite:0.16},releaseDate:"2025-12-05"},"meta-llama/Llama-3.3-70B-Instruct-fast":{id:"meta-llama/Llama-3.3-70B-Instruct-fast",name:"Llama-3.3-70B-Instruct (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0.31},releaseDate:"2025-12-05"},"zai-org/GLM-4.5":{id:"zai-org/GLM-4.5",name:"GLM-4.5",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-11-15"},"zai-org/GLM-4.5-Air":{id:"zai-org/GLM-4.5-Air",name:"GLM-4.5-Air",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2025-11-15"},"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B":{id:"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",name:"Nemotron-3-Nano-30B-A3B",contextWindow:32000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0.006,cacheWrite:0.075},releaseDate:"2025-08-10"},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.4,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek-V3-0324",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0.05,cacheWrite:0.1875},releaseDate:"2025-03-24"},"deepseek-ai/DeepSeek-V3-0324-fast":{id:"deepseek-ai/DeepSeek-V3-0324-fast",name:"DeepSeek-V3-0324 (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.75,output:2.25,cacheRead:0.075,cacheWrite:0.28125},releaseDate:"2025-03-24"},"nvidia/Nemotron-Nano-V2-12b":{id:"nvidia/Nemotron-Nano-V2-12b",name:"Nemotron-Nano-V2-12b",contextWindow:32000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.2,cacheRead:0.007,cacheWrite:0.08},releaseDate:"2025-03-15"},"Qwen/Qwen2.5-VL-72B-Instruct":{id:"Qwen/Qwen2.5-VL-72B-Instruct",name:"Qwen2.5-VL-72B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0.31},releaseDate:"2025-01-20"},"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1":{id:"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1",name:"Llama-3.1-Nemotron-Ultra-253B-v1",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-01-15"},"deepseek-ai/DeepSeek-R1-0528-fast":{id:"deepseek-ai/DeepSeek-R1-0528-fast",name:"DeepSeek R1 0528 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"},"Qwen/Qwen2.5-Coder-7B-fast":{id:"Qwen/Qwen2.5-Coder-7B-fast",name:"Qwen2.5-Coder-7B (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.03,output:0.09,cacheRead:0.003,cacheWrite:0.03},releaseDate:"2024-09-19"},"meta-llama/Meta-Llama-3.1-8B-Instruct":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Meta-Llama-3.1-8B-Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.02,output:0.06,cacheRead:0.002,cacheWrite:0.025},releaseDate:"2024-07-23"},"meta-llama/Meta-Llama-3.1-8B-Instruct-fast":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct-fast",name:"Meta-Llama-3.1-8B-Instruct (Fast)",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.03,output:0.09,cacheRead:0.003,cacheWrite:0.03},releaseDate:"2024-07-23"}},ollama:{"minimax-m2.7":{id:"minimax-m2.7",name:"minimax-m2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18"},"nemotron-3-super":{id:"nemotron-3-super",name:"nemotron-3-super",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"qwen3.5:397b":{id:"qwen3.5:397b",name:"qwen3.5:397b",contextWindow:262144,maxTokens:81920,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15"},"minimax-m2.5":{id:"minimax-m2.5",name:"minimax-m2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"glm-5":{id:"glm-5",name:"glm-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"qwen3-coder-next":{id:"qwen3-coder-next",name:"qwen3-coder-next",contextWindow:262144,maxTokens:65536,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-02"},"kimi-k2.5":{id:"kimi-k2.5",name:"kimi-k2.5",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"minimax-m2.1":{id:"minimax-m2.1",name:"minimax-m2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"glm-4.7":{id:"glm-4.7",name:"glm-4.7",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"gemini-3-flash-preview",contextWindow:1048576,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17"},"nemotron-3-nano:30b":{id:"nemotron-3-nano:30b",name:"nemotron-3-nano:30b",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-15"},"devstral-2:123b":{id:"devstral-2:123b",name:"devstral-2:123b",contextWindow:262144,maxTokens:262144,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"devstral-small-2:24b":{id:"devstral-small-2:24b",name:"devstral-small-2:24b",contextWindow:262144,maxTokens:262144,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"rnj-1:8b":{id:"rnj-1:8b",name:"rnj-1:8b",contextWindow:32768,maxTokens:4096,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-06"},"mistral-large-3:675b":{id:"mistral-large-3:675b",name:"mistral-large-3:675b",contextWindow:262144,maxTokens:262144,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"cogito-2.1:671b":{id:"cogito-2.1:671b",name:"cogito-2.1:671b",contextWindow:163840,maxTokens:32000,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-19"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"kimi-k2-thinking",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-06"},"minimax-m2":{id:"minimax-m2",name:"minimax-m2",contextWindow:204800,maxTokens:128000,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-23"},"glm-4.6":{id:"glm-4.6",name:"glm-4.6",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29"},"qwen3-vl:235b":{id:"qwen3-vl:235b",name:"qwen3-vl:235b",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"qwen3-vl:235b-instruct":{id:"qwen3-vl:235b-instruct",name:"qwen3-vl:235b-instruct",contextWindow:262144,maxTokens:131072,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"qwen3-next:80b":{id:"qwen3-next:80b",name:"qwen3-next:80b",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-15"},"deepseek-v3.1:671b":{id:"deepseek-v3.1:671b",name:"deepseek-v3.1:671b",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"gpt-oss:120b":{id:"gpt-oss:120b",name:"gpt-oss:120b",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"gpt-oss:20b":{id:"gpt-oss:20b",name:"gpt-oss:20b",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"qwen3-coder:480b":{id:"qwen3-coder:480b",name:"qwen3-coder:480b",contextWindow:262144,maxTokens:65536,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22"},"kimi-k2:1t":{id:"kimi-k2:1t",name:"kimi-k2:1t",contextWindow:262144,maxTokens:262144,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"deepseek-v3.2":{id:"deepseek-v3.2",name:"deepseek-v3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-15"},"ministral-3:14b":{id:"ministral-3:14b",name:"ministral-3:14b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"ministral-3:8b":{id:"ministral-3:8b",name:"ministral-3:8b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"ministral-3:3b":{id:"ministral-3:3b",name:"ministral-3:3b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-22"}},openai:{"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17"},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17"},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-05"},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05"},"gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindow:128000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.2-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.2-pro":{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-chat-latest":{id:"gpt-5.1-chat-latest",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5":{id:"gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"o3-pro":{id:"o3-pro",name:"o3-pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-10"},"codex-mini-latest":{id:"codex-mini-latest",name:"Codex Mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning"],pricing:{input:1.5,output:6,cacheRead:0.375,cacheWrite:0},releaseDate:"2025-05-16"},o3:{id:"o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16"},"o4-mini":{id:"o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14"},"o1-pro":{id:"o1-pro",name:"o1-pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:150,output:600,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-19"},"o3-mini":{id:"o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20"},o1:{id:"o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05"},"gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-11-20"},"gpt-4o-2024-08-06":{id:"gpt-4o-2024-08-06",name:"GPT-4o (2024-08-06)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-08-06"},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"},"o3-deep-research":{id:"o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26"},"o4-mini-deep-research":{id:"o4-mini-deep-research",name:"o4-mini-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2024-06-26"},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"},"gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",name:"GPT-4o (2024-05-13)",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","structured_output","temperature"],pricing:{input:5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-13"},"gpt-4":{id:"gpt-4",name:"GPT-4",contextWindow:8192,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"},"gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"}},openrouter:{"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"MiniMax M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18"},"xiaomi/mimo-v2-omni":{id:"xiaomi/mimo-v2-omni",name:"MiMo-V2-Omni",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"MiMo-V2-Pro",contextWindow:1048576,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18"},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT-5.4 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.00000075,output:0.0000045,cacheRead:0.000000075,cacheWrite:0},releaseDate:"2026-03-17"},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT-5.4 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.0000002,output:0.00000125,cacheRead:0.00000002,cacheWrite:0},releaseDate:"2026-03-17"},"x-ai/grok-4.20-beta":{id:"x-ai/grok-4.20-beta",name:"Grok 4.20 Beta",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-12"},"openrouter/healer-alpha":{id:"openrouter/healer-alpha",name:"Healer Alpha",contextWindow:262144,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"openrouter/hunter-alpha":{id:"openrouter/hunter-alpha",name:"Hunter Alpha",contextWindow:1048576,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2026-03-04"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:0.083},releaseDate:"2026-03-03"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19"},"google/gemini-3.1-pro-preview-customtools":{id:"google/gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen3.5 Plus 2026-02-15",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12"},"z-ai/glm-5":{id:"z-ai/glm-5",name:"GLM-5",contextWindow:202752,maxTokens:131000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12"},"openrouter/aurora-alpha":{id:"openrouter/aurora-alpha",name:"Aurora Alpha",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-09"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"Step 3.5 Flash",contextWindow:256000,maxTokens:256000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-01-29"},"stepfun/step-3.5-flash:free":{id:"stepfun/step-3.5-flash:free",name:"Step 3.5 Flash (free)",contextWindow:256000,maxTokens:256000,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-29"},"arcee-ai/trinity-large-preview:free":{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview",contextWindow:131072,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28"},"arcee-ai/trinity-mini:free":{id:"arcee-ai/trinity-mini:free",name:"Trinity Mini",contextWindow:131072,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27"},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:65535,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17"},"nvidia/nemotron-3-nano-30b-a3b:free":{id:"nvidia/nemotron-3-nano-30b-a3b:free",name:"Nemotron 3 Nano 30B A3B (free)",contextWindow:256000,maxTokens:256000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-14"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-12-14"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"deepseek/deepseek-v3.2-speciale":{id:"deepseek/deepseek-v3.2-speciale",name:"DeepSeek V3.2 Speciale",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"tngtech/tng-r1t-chimera:free":{id:"tngtech/tng-r1t-chimera:free",name:"R1T Chimera (free)",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-11-19"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1050000,maxTokens:66000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-18"},"openrouter/sherlock-dash-alpha":{id:"openrouter/sherlock-dash-alpha",name:"Sherlock Dash Alpha",contextWindow:1840000,maxTokens:0,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-15"},"openrouter/sherlock-think-alpha":{id:"openrouter/sherlock-think-alpha",name:"Sherlock Think Alpha",contextWindow:1840000,maxTokens:0,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-15"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"kwaipilot/kat-coder-pro:free":{id:"kwaipilot/kat-coder-pro:free",name:"Kat Coder Pro (free)",contextWindow:256000,maxTokens:65536,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-10"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-29"},"nvidia/nemotron-nano-12b-v2-vl:free":{id:"nvidia/nemotron-nano-12b-v2-vl:free",name:"Nemotron Nano 12B 2 VL (free)",contextWindow:128000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-28"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:196600,maxTokens:118000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.28,output:1.15,cacheRead:0.28,cacheWrite:1.15},releaseDate:"2025-10-23"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30"},"z-ai/glm-4.6:exacto":{id:"z-ai/glm-4.6:exacto",name:"GLM 4.6 (exacto)",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:1.9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25"},"google/gemini-2.5-flash-preview-09-2025":{id:"google/gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.031,cacheWrite:0},releaseDate:"2025-09-25"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"deepseek/deepseek-v3.1-terminus:exacto":{id:"deepseek/deepseek-v3.1-terminus:exacto",name:"DeepSeek V3.1 Terminus (exacto)",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Devstral 2 2512",contextWindow:262144,maxTokens:262144,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12"},"mistralai/devstral-2512:free":{id:"mistralai/devstral-2512:free",name:"Devstral 2 2512 (free)",contextWindow:262144,maxTokens:262144,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12"},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:262144,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen3-next-80b-a3b-instruct:free":{id:"qwen/qwen3-next-80b-a3b-instruct:free",name:"Qwen3 Next 80B A3B Instruct (free)",contextWindow:262144,maxTokens:262144,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"Kimi K2 Instruct 0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"moonshotai/kimi-k2-0905:exacto":{id:"moonshotai/kimi-k2-0905:exacto",name:"Kimi K2 Instruct 0905 (exacto)",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"nvidia/nemotron-nano-9b-v2:free":{id:"nvidia/nemotron-nano-9b-v2:free",name:"Nemotron Nano 9B V2 (free)",contextWindow:128000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-26"},"nousresearch/hermes-4-405b":{id:"nousresearch/hermes-4-405b",name:"Hermes 4 405B",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25"},"nousresearch/hermes-4-70b":{id:"nousresearch/hermes-4-70b",name:"Hermes 4 70B",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25"},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-08-19"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"nvidia-nemotron-nano-9b-v2",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18"},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral Medium 3.1",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-12"},"z-ai/glm-4.5v":{id:"z-ai/glm-4.5v",name:"GLM 4.5V",contextWindow:64000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.072,output:0.28,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-120b:exacto":{id:"openai/gpt-oss-120b:exacto",name:"GPT OSS 120B (exacto)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-120b:free":{id:"openai/gpt-oss-120b:free",name:"gpt-oss-120b (free)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b:free":{id:"openai/gpt-oss-20b:free",name:"gpt-oss-20b (free)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Codestral 2508",contextWindow:256000,maxTokens:256000,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:65536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-31"},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen3 30B A3B Instruct 2507",contextWindow:262000,maxTokens:262000,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen3 30B A3B Thinking 2507",contextWindow:262000,maxTokens:262000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"GLM 4.5",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"GLM 4.5 Air",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:81920,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.078,output:0.312,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen3 Coder",contextWindow:262144,maxTokens:66536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen3 Coder Flash",contextWindow:128000,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder:exacto":{id:"qwen/qwen3-coder:exacto",name:"Qwen3 Coder (exacto)",contextWindow:131072,maxTokens:32768,capabilities:["tools","structured_output","temperature"],pricing:{input:0.38,output:1.53,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder:free":{id:"qwen/qwen3-coder:free",name:"Qwen3 Coder 480B A35B Instruct (free)",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-07-17"},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"Kimi K2",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"moonshotai/kimi-k2:free":{id:"moonshotai/kimi-k2:free",name:"Kimi K2 (free)",contextWindow:32800,maxTokens:32800,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"mistralai/devstral-medium-2507":{id:"mistralai/devstral-medium-2507",name:"Devstral Medium",contextWindow:131072,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10"},"mistralai/devstral-small-2507":{id:"mistralai/devstral-small-2507",name:"Devstral Small 1.1",contextWindow:131072,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10"},"x-ai/grok-4":{id:"x-ai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-07-09"},"inception/mercury":{id:"inception/mercury",name:"Mercury",contextWindow:128000,maxTokens:32000,capabilities:["tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-26"},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral Small 3.2 24B Instruct",contextWindow:96000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-20"},"mistralai/mistral-small-3.2-24b-instruct:free":{id:"mistralai/mistral-small-3.2-24b-instruct:free",name:"Mistral Small 3.2 24B (free)",contextWindow:96000,maxTokens:96000,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-20"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax M1",contextWindow:1e6,maxTokens:40000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.4,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17"},"moonshotai/kimi-dev-72b:free":{id:"moonshotai/kimi-dev-72b:free",name:"Kimi Dev 72b (free)",contextWindow:131072,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-16"},"google/gemini-2.5-pro-preview-06-05":{id:"google/gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05"},"deepseek/deepseek-r1-0528-qwen3-8b:free":{id:"deepseek/deepseek-r1-0528-qwen3-8b:free",name:"Deepseek R1 0528 Qwen3 8B (free)",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-29"},"sarvamai/sarvam-m:free":{id:"sarvamai/sarvam-m:free",name:"Sarvam-M (free)",contextWindow:32768,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-25"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"mistralai/devstral-small-2505:free":{id:"mistralai/devstral-small-2505:free",name:"Devstral Small 2505 (free)",contextWindow:32768,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-21"},"mistralai/devstral-small-2505":{id:"mistralai/devstral-small-2505",name:"Devstral Small",contextWindow:128000,maxTokens:128000,capabilities:["tools","temperature"],pricing:{input:0.06,output:0.12,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral Medium 3",contextWindow:131072,maxTokens:131072,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"google/gemini-2.5-pro-preview-05-06":{id:"google/gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06"},"inception/mercury-coder":{id:"inception/mercury-coder",name:"Mercury Coder",contextWindow:128000,maxTokens:32000,capabilities:["tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04-30"},"qwen/qwen3-4b:free":{id:"qwen/qwen3-4b:free",name:"Qwen3 4B (free)",contextWindow:40960,maxTokens:40960,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-30"},"qwen/qwen3-14b:free":{id:"qwen/qwen3-14b:free",name:"Qwen3 14B (free)",contextWindow:40960,maxTokens:40960,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"qwen/qwen3-235b-a22b-07-25":{id:"qwen/qwen3-235b-a22b-07-25",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"qwen/qwen3-235b-a22b-07-25:free":{id:"qwen/qwen3-235b-a22b-07-25:free",name:"Qwen3 235B A22B Instruct 2507 (free)",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"qwen/qwen3-235b-a22b:free":{id:"qwen/qwen3-235b-a22b:free",name:"Qwen3 235B A22B (free)",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"qwen/qwen3-30b-a3b:free":{id:"qwen/qwen3-30b-a3b:free",name:"Qwen3 30B A3B (free)",contextWindow:40960,maxTokens:40960,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"qwen/qwen3-32b:free":{id:"qwen/qwen3-32b:free",name:"Qwen3 32B (free)",contextWindow:40960,maxTokens:40960,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"qwen/qwen3-8b:free":{id:"qwen/qwen3-8b:free",name:"Qwen3 8B (free)",contextWindow:40960,maxTokens:40960,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"microsoft/mai-ds-r1:free":{id:"microsoft/mai-ds-r1:free",name:"MAI DS R1 (free)",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-21"},"thudm/glm-z1-32b:free":{id:"thudm/glm-z1-32b:free",name:"GLM Z1 32B (free)",contextWindow:32768,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-17"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"meta-llama/llama-4-scout:free":{id:"meta-llama/llama-4-scout:free",name:"Llama 4 Scout (free)",contextWindow:64000,maxTokens:64000,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"qwen/qwen2.5-vl-32b-instruct:free":{id:"qwen/qwen2.5-vl-32b-instruct:free",name:"Qwen2.5 VL 32B Instruct (free)",contextWindow:8192,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-24"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20"},"mistralai/mistral-small-3.1-24b-instruct":{id:"mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma 3 27B",contextWindow:96000,maxTokens:96000,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.04,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12"},"google/gemma-3-27b-it:free":{id:"google/gemma-3-27b-it:free",name:"Gemma 3 27B (free)",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12"},"rekaai/reka-flash-3":{id:"rekaai/reka-flash-3",name:"Reka Flash 3",contextWindow:32768,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12"},"qwen/qwq-32b:free":{id:"qwen/qwq-32b:free",name:"QwQ 32B (free)",contextWindow:32768,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-05"},"nousresearch/deephermes-3-llama-3-8b-preview":{id:"nousresearch/deephermes-3-llama-3-8b-preview",name:"DeepHermes 3 Llama 3 8B Preview",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-28"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-02-19"},"x-ai/grok-3":{id:"x-ai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17"},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"Grok 3 Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17"},"x-ai/grok-3-mini":{id:"x-ai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17"},"x-ai/grok-3-mini-beta":{id:"x-ai/grok-3-mini-beta",name:"Grok 3 Mini Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17"},"cognitivecomputations/dolphin3.0-mistral-24b":{id:"cognitivecomputations/dolphin3.0-mistral-24b",name:"Dolphin3.0 Mistral 24B",contextWindow:32768,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-13"},"cognitivecomputations/dolphin3.0-r1-mistral-24b":{id:"cognitivecomputations/dolphin3.0-r1-mistral-24b",name:"Dolphin3.0 R1 Mistral 24B",contextWindow:32768,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-13"},"qwen/qwen2.5-vl-72b-instruct:free":{id:"qwen/qwen2.5-vl-72b-instruct:free",name:"Qwen2.5 VL 72B Instruct (free)",contextWindow:32768,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-01"},"deepseek/deepseek-r1:free":{id:"deepseek/deepseek-r1:free",name:"R1 (free)",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"minimax/minimax-01":{id:"minimax/minimax-01",name:"MiniMax-01",contextWindow:1e6,maxTokens:1e6,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"Intellect 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15"},"google/gemini-2.0-flash-001":{id:"google/gemini-2.0-flash-001",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11"},"google/gemini-2.0-flash-exp:free":{id:"google/gemini-2.0-flash-exp:free",name:"Gemini 2.0 Flash Experimental (free)",contextWindow:1048576,maxTokens:1048576,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"meta-llama/llama-3.3-70b-instruct:free":{id:"meta-llama/llama-3.3-70b-instruct:free",name:"Llama 3.3 70B Instruct (free)",contextWindow:131072,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"qwen/qwen-2.5-vl-7b-instruct:free":{id:"qwen/qwen-2.5-vl-7b-instruct:free",name:"Qwen2.5-VL 7B Instruct (free)",contextWindow:32768,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-28"},"mistralai/mistral-nemo:free":{id:"mistralai/mistral-nemo:free",name:"Mistral Nemo (free)",contextWindow:131072,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-19"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o-mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"},"mistralai/mistral-7b-instruct:free":{id:"mistralai/mistral-7b-instruct:free",name:"Mistral 7B Instruct (free)",contextWindow:32768,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-27"}},requesty:{"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24"},"anthropic/claude-sonnet-4-6":{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"anthropic/claude-opus-4-6":{id:"anthropic/claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:1},releaseDate:"2025-12-17"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"anthropic/claude-opus-4-5":{id:"anthropic/claude-opus-4-5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:4.5},releaseDate:"2025-11-18"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"anthropic/claude-haiku-4-5":{id:"anthropic/claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:62000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"anthropic/claude-sonnet-4-5":{id:"anthropic/claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"xai/grok-4-fast":{id:"xai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.2},releaseDate:"2025-09-19"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:3},releaseDate:"2025-09-09"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:16000,maxTokens:4000,capabilities:["tools","reasoning"],pricing:{input:0.05,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-08-07"},"anthropic/claude-opus-4-1":{id:"anthropic/claude-opus-4-1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0.55},releaseDate:"2025-06-17"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:2.375},releaseDate:"2025-06-17"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"anthropic/claude-3-7-sonnet":{id:"anthropic/claude-3-7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o Mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"}},sapaicore:{"anthropic--claude-4.6-sonnet":{id:"anthropic--claude-4.6-sonnet",name:"anthropic--claude-4.6-sonnet",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"anthropic--claude-4.6-opus":{id:"anthropic--claude-4.6-opus",name:"anthropic--claude-4.6-opus",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"anthropic--claude-4.5-opus":{id:"anthropic--claude-4.5-opus",name:"anthropic--claude-4.5-opus",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"anthropic--claude-4.5-haiku":{id:"anthropic--claude-4.5-haiku",name:"anthropic--claude-4.5-haiku",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"anthropic--claude-4.5-sonnet":{id:"anthropic--claude-4.5-sonnet",name:"anthropic--claude-4.5-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"gpt-5":{id:"gpt-5",name:"gpt-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-mini":{id:"gpt-5-mini",name:"gpt-5-mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-nano":{id:"gpt-5-nano",name:"gpt-5-nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"gemini-2.5-flash-lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"anthropic--claude-4-opus":{id:"anthropic--claude-4-opus",name:"anthropic--claude-4-opus",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic--claude-4-sonnet":{id:"anthropic--claude-4-sonnet",name:"anthropic--claude-4-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"gpt-4.1":{id:"gpt-4.1",name:"gpt-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"gpt-4.1-mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"gemini-2.5-flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-25"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"gemini-2.5-pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-25"},"anthropic--claude-3.7-sonnet":{id:"anthropic--claude-3.7-sonnet",name:"anthropic--claude-3.7-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-24"},"anthropic--claude-3.5-sonnet":{id:"anthropic--claude-3.5-sonnet",name:"anthropic--claude-3.5-sonnet",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"anthropic--claude-3-haiku":{id:"anthropic--claude-3-haiku",name:"anthropic--claude-3-haiku",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13"},"anthropic--claude-3-sonnet":{id:"anthropic--claude-3-sonnet",name:"anthropic--claude-3-sonnet",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-03-04"},"anthropic--claude-3-opus":{id:"anthropic--claude-3-opus",name:"anthropic--claude-3-opus",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29"}},together:{"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5 397B A17B",contextWindow:262144,maxTokens:130000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-02-12"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"Qwen/Qwen3-Coder-Next-FP8":{id:"Qwen/Qwen3-Coder-Next-FP8",name:"Qwen3 Coder Next FP8",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"essentialai/Rnj-1-Instruct":{id:"essentialai/Rnj-1-Instruct",name:"Rnj-1 Instruct",contextWindow:32768,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-05"},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:200000,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"deepseek-ai/DeepSeek-V3-1":{id:"deepseek-ai/DeepSeek-V3-1",name:"DeepSeek V3.1",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:1.7,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"Qwen/Qwen3-235B-A22B-Instruct-2507-tput":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507-tput",name:"Qwen3 235B A22B Instruct 2507 FP8",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",contextWindow:262144,maxTokens:262144,capabilities:["tools","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:200000,maxTokens:200000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.45,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:262144,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi K2 Instruct",contextWindow:131072,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-14"},"deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"meta-llama/Llama-3.3-70B-Instruct-Turbo":{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B",contextWindow:131072,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.88,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"}},"vercel-ai-gateway":{"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"Minimax M2.7",contextWindow:204800,maxTokens:131000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18"},"minimax/minimax-m2.7-highspeed":{id:"minimax/minimax-m2.7-highspeed",name:"MiniMax M2.7 High Speed",contextWindow:204800,maxTokens:131100,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"MiMo V2 Pro",contextWindow:1e6,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-18"},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT 5.4 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17"},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT 5.4 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.19999999999999998,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17"},"zai/glm-5-turbo":{id:"zai/glm-5-turbo",name:"GLM 5 Turbo",contextWindow:202800,maxTokens:131100,capabilities:["tools","reasoning","temperature"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-15"},"zai/glm-4.7-flash":{id:"zai/glm-4.7-flash",name:"GLM 4.7 Flash",contextWindow:200000,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-13"},"xai/grok-4.20-multi-agent-beta":{id:"xai/grok-4.20-multi-agent-beta",name:"Grok 4.20 Multi Agent Beta",contextWindow:2000000,maxTokens:2000000,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11"},"xai/grok-4.20-non-reasoning-beta":{id:"xai/grok-4.20-non-reasoning-beta",name:"Grok 4.20 Beta Non-Reasoning",contextWindow:2000000,maxTokens:2000000,capabilities:["images","files","tools","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11"},"xai/grok-4.20-reasoning-beta":{id:"xai/grok-4.20-reasoning-beta",name:"Grok 4.20 Beta Reasoning",contextWindow:2000000,maxTokens:2000000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT 5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT 5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-05"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1e6,maxTokens:65000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03"},"openai/gpt-5.3-chat":{id:"openai/gpt-5.3-chat",name:"GPT-5.3 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-03-03"},"alibaba/qwen3.5-flash":{id:"alibaba/qwen3.5-flash",name:"Qwen 3.5 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.001,cacheWrite:0.125},releaseDate:"2026-02-24"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.024999999999999998,cacheWrite:0},releaseDate:"2026-02-24"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT 5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"alibaba/qwen3.5-plus":{id:"alibaba/qwen3.5-plus",name:"Qwen 3.5 Plus",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.4,output:2.4,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2026-02-16"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12"},"minimax/minimax-m2.5-highspeed":{id:"minimax/minimax-m2.5-highspeed",name:"MiniMax M2.5 High Speed",contextWindow:0,maxTokens:0,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.4,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12"},"zai/glm-5":{id:"zai/glm-5",name:"GLM-5",contextWindow:202800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-26"},"zai/glm-4.7":{id:"zai/glm-4.7",name:"GLM 4.7",contextWindow:202752,maxTokens:120000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.43,output:1.75,cacheRead:0.08,cacheWrite:0},releaseDate:"2025-12-22"},"google/gemini-3-flash":{id:"google/gemini-3-flash",name:"Gemini 3 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo V2 Flash",contextWindow:262144,maxTokens:32000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17"},"mistral/devstral-2":{id:"mistral/devstral-2",name:"Devstral 2",contextWindow:256000,maxTokens:256000,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"deepseek/deepseek-v3.2-thinking":{id:"deepseek/deepseek-v3.2-thinking",name:"DeepSeek V3.2 Thinking",contextWindow:128000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.42,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-01"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"INTELLECT 3",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:18.75},releaseDate:"2025-11-24"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:216144,maxTokens:216144,capabilities:["tools","reasoning","temperature"],pricing:{input:0.47,output:2,cacheRead:0.14,cacheWrite:0},releaseDate:"2025-11-06"},"moonshotai/kimi-k2-thinking-turbo":{id:"moonshotai/kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262114,maxTokens:262114,capabilities:["tools","reasoning","temperature"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:262114,maxTokens:262114,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1.15,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27"},"minimax/minimax-m2.1-lightning":{id:"minimax/minimax-m2.1-lightning",name:"MiniMax M2.1 Lightning",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:2.4,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"bytedance/seed-1.8":{id:"bytedance/seed-1.8",name:"Seed 1.8",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-10"},"zai/glm-4.6":{id:"zai/glm-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:96000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.45,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"zai/glm-4.6v":{id:"zai/glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-30"},"zai/glm-4.6v-flash":{id:"zai/glm-4.6v-flash",name:"GLM-4.6V-Flash",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek V3.2 Exp",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-09-25"},"google/gemini-2.5-flash-preview-09-2025":{id:"google/gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.383},releaseDate:"2025-09-25"},"alibaba/qwen3-vl-instruct":{id:"alibaba/qwen3-vl-instruct",name:"Qwen3 VL Instruct",contextWindow:131072,maxTokens:129024,capabilities:["images","tools","temperature"],pricing:{input:0.7,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24"},"alibaba/qwen3-vl-thinking":{id:"alibaba/qwen3-vl-thinking",name:"Qwen3 VL Thinking",contextWindow:131072,maxTokens:129024,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.7,output:8.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24"},"alibaba/qwen3-max":{id:"alibaba/qwen3-max",name:"Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:1.2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23"},"alibaba/qwen3-max-preview":{id:"alibaba/qwen3-max-preview",name:"Qwen3 Max Preview",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-09-23"},"meituan/longcat-flash-thinking":{id:"meituan/longcat-flash-thinking",name:"LongCat Flash Thinking",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"xai/grok-4-fast-non-reasoning":{id:"xai/grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"alibaba/qwen3-next-80b-a3b-instruct":{id:"alibaba/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.09,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12"},"alibaba/qwen3-next-80b-a3b-thinking":{id:"alibaba/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12"},"moonshotai/kimi-k2-turbo":{id:"moonshotai/kimi-k2-turbo",name:"Kimi K2 Turbo",contextWindow:256000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:2.4,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"bytedance/seed-1.6":{id:"bytedance/seed-1.6",name:"Seed 1.6",contextWindow:256000,maxTokens:32000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09"},"meituan/longcat-flash-chat":{id:"meituan/longcat-flash-chat",name:"LongCat Flash Chat",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-30"},"xai/grok-code-fast-1":{id:"xai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28"},"deepseek/deepseek-v3.1":{id:"deepseek/deepseek-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"Nvidia Nemotron Nano 9B V2",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18"},"zai/glm-4.5v":{id:"zai/glm-4.5v",name:"GLM 4.5V",contextWindow:66000,maxTokens:66000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-chat":{id:"openai/gpt-5-chat",name:"GPT-5 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 pro",contextWindow:400000,maxTokens:272000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-instant":{id:"openai/gpt-5.1-instant",name:"GPT-5.1 Instant",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-thinking":{id:"openai/gpt-5.1-thinking",name:"GPT 5.1 Thinking",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT 5.2 ",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"zai/glm-4.5":{id:"zai/glm-4.5",name:"GLM 4.5",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"zai/glm-4.5-air":{id:"zai/glm-4.5-air",name:"GLM 4.5 Air",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"alibaba/qwen3-coder-plus":{id:"alibaba/qwen3-coder-plus",name:"Qwen3 Coder Plus",contextWindow:1e6,maxTokens:1e6,capabilities:["tools","temperature"],pricing:{input:1,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"alibaba/qwen3-coder-next":{id:"alibaba/qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:256000,maxTokens:256000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09"},"xai/grok-4-fast-reasoning":{id:"xai/grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning",contextWindow:2000000,maxTokens:256000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09"},"xai/grok-4.1-fast-non-reasoning":{id:"xai/grok-4.1-fast-non-reasoning",name:"Grok 4.1 Fast Non-Reasoning",contextWindow:2000000,maxTokens:30000,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09"},"xai/grok-4.1-fast-reasoning":{id:"xai/grok-4.1-fast-reasoning",name:"Grok 4.1 Fast Reasoning",contextWindow:2000000,maxTokens:30000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-06-17"},"vercel/v0-1.5-md":{id:"vercel/v0-1.5-md",name:"v0-1.5-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-09"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"vercel/v0-1.0-md":{id:"vercel/v0-1.0-md",name:"v0-1.0-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-22"},"openai/codex-mini":{id:"openai/codex-mini",name:"Codex Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.5,output:6,cacheRead:0.38,cacheWrite:0},releaseDate:"2025-05-16"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-05-16"},"mistral/devstral-small":{id:"mistral/devstral-small",name:"Devstral Small 1.1",contextWindow:128000,maxTokens:64000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistral/devstral-small-2":{id:"mistral/devstral-small-2",name:"Devstral Small 2",contextWindow:256000,maxTokens:256000,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistral/mistral-medium":{id:"mistral/mistral-medium",name:"Mistral Medium 3.1",contextWindow:128000,maxTokens:64000,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"openai/o3":{id:"openai/o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o3-pro":{id:"openai/o3-pro",name:"o3 Pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14"},"meta/llama-4-maverick":{id:"meta/llama-4-maverick",name:"Llama-4-Maverick-17B-128E-Instruct-FP8",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta/llama-4-scout":{id:"meta/llama-4-scout",name:"Llama-4-Scout-17B-16E-Instruct-FP8",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"alibaba/qwen-3-14b":{id:"alibaba/qwen-3-14b",name:"Qwen3-14B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen-3-235b":{id:"alibaba/qwen-3-235b",name:"Qwen3 235B A22B Instruct 2507",contextWindow:40960,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.13,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen-3-30b":{id:"alibaba/qwen-3-30b",name:"Qwen3-30B-A3B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.08,output:0.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen-3-32b":{id:"alibaba/qwen-3-32b",name:"Qwen 3.32B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen3-235b-a22b-thinking":{id:"alibaba/qwen3-235b-a22b-thinking",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262114,maxTokens:262114,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen3-coder":{id:"alibaba/qwen3-coder",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.38,output:1.53,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen3-coder-30b-a3b":{id:"alibaba/qwen3-coder-30b-a3b",name:"Qwen 3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-03-20"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20"},"mistral/magistral-medium":{id:"mistral/magistral-medium",name:"Magistral Medium (latest)",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17"},"mistral/magistral-small":{id:"mistral/magistral-small",name:"Magistral Small",contextWindow:128000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17"},"cohere/command-a":{id:"cohere/command-a",name:"Command A",contextWindow:256000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-13"},"inception/mercury-coder-small":{id:"inception/mercury-coder-small",name:"Mercury Coder Small Beta",contextWindow:32000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-26"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"perplexity/sonar":{id:"perplexity/sonar",name:"Sonar",contextWindow:127000,maxTokens:8000,capabilities:["images","tools","temperature"],pricing:{input:1,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-19"},"perplexity/sonar-pro":{id:"perplexity/sonar-pro",name:"Sonar Pro",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-19"},"xai/grok-3":{id:"xai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"xai/grok-3-fast":{id:"xai/grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17"},"xai/grok-3-mini":{id:"xai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"xai/grok-3-mini-fast":{id:"xai/grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek-R1",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"alibaba/qwen3-max-thinking":{id:"alibaba/qwen3-max-thinking",name:"Qwen 3 Max Thinking",contextWindow:256000,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-01"},"arcee-ai/trinity-large-preview":{id:"arcee-ai/trinity-large-preview",name:"Trinity Large Preview",contextWindow:131000,maxTokens:131000,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01"},"zai/glm-4.7-flashx":{id:"zai/glm-4.7-flashx",name:"GLM 4.7 FlashX",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-01"},"deepseek/deepseek-v3":{id:"deepseek/deepseek-v3",name:"DeepSeek V3 0324",contextWindow:163840,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.77,output:0.77,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-26"},"openai/o3-mini":{id:"openai/o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20"},"google/gemini-2.0-flash":{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11"},"google/gemini-2.0-flash-lite":{id:"google/gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"meta/llama-3.3-70b":{id:"meta/llama-3.3-70b",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"openai/o1":{id:"openai/o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05"},"amazon/nova-lite":{id:"amazon/nova-lite",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03"},"amazon/nova-micro":{id:"amazon/nova-micro",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03"},"amazon/nova-pro":{id:"amazon/nova-pro",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03"},"nvidia/nemotron-nano-12b-v2-vl":{id:"nvidia/nemotron-nano-12b-v2-vl",name:"Nvidia Nemotron Nano 12B V2 VL",contextWindow:131072,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"gpt-oss-safeguard-20b",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.08,output:0.3,cacheRead:0.04,cacheWrite:0},releaseDate:"2024-12-01"},"mistral/pixtral-large":{id:"mistral/pixtral-large",name:"Pixtral Large (latest)",contextWindow:128000,maxTokens:128000,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-01"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"anthropic/claude-3.5-sonnet":{id:"anthropic/claude-3.5-sonnet",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"mistral/ministral-3b":{id:"mistral/ministral-3b",name:"Ministral 3B (latest)",contextWindow:128000,maxTokens:128000,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01"},"mistral/ministral-8b":{id:"mistral/ministral-8b",name:"Ministral 8B (latest)",contextWindow:128000,maxTokens:128000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01"},"meta/llama-3.2-11b":{id:"meta/llama-3.2-11b",name:"Llama 3.2 11B Vision Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.16,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta/llama-3.2-90b":{id:"meta/llama-3.2-90b",name:"Llama 3.2 90B Vision Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"mistral/mistral-small":{id:"mistral/mistral-small",name:"Mistral Small (latest)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-01"},"mistral/pixtral-12b":{id:"mistral/pixtral-12b",name:"Pixtral 12B",contextWindow:128000,maxTokens:128000,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-01"},"xai/grok-2-vision":{id:"xai/grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"meta/llama-3.1-70b":{id:"meta/llama-3.1-70b",name:"Llama 3.1 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"meta/llama-3.1-8b":{id:"meta/llama-3.1-8b",name:"Llama 3.1 8B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.03,output:0.05,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"},"mistral/mistral-nemo":{id:"mistral/mistral-nemo",name:"Mistral Nemo",contextWindow:60288,maxTokens:16000,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.17,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-01"},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26"},"anthropic/claude-3.5-sonnet-20240620":{id:"anthropic/claude-3.5-sonnet-20240620",name:"Claude 3.5 Sonnet (2024-06-20)",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-06-20"},"mistral/codestral":{id:"mistral/codestral",name:"Codestral (latest)",contextWindow:256000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-29"},"openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"},"mistral/mixtral-8x22b-instruct":{id:"mistral/mixtral-8x22b-instruct",name:"Mixtral 8x22B",contextWindow:64000,maxTokens:64000,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-17"},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13"},"anthropic/claude-3-opus":{id:"anthropic/claude-3-opus",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29"},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"}},vertex:{"claude-sonnet-4-6@default":{id:"claude-sonnet-4-6@default",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"claude-opus-4-6@default":{id:"claude-opus-4-6@default",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"claude-opus-4-5@20251101":{id:"claude-opus-4-5@20251101",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"claude-haiku-4-5@20251001":{id:"claude-haiku-4-5@20251001",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"claude-sonnet-4-5@20250929":{id:"claude-sonnet-4-5@20250929",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"claude-opus-4-1@20250805":{id:"claude-opus-4-1@20250805",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"claude-opus-4@20250514":{id:"claude-opus-4@20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"claude-sonnet-4@20250514":{id:"claude-sonnet-4@20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"claude-3-7-sonnet@20250219":{id:"claude-3-7-sonnet@20250219",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"claude-3-5-haiku@20241022":{id:"claude-3-5-haiku@20241022",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"claude-3-5-sonnet@20241022":{id:"claude-3-5-sonnet@20241022",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"}},xai:{"grok-4.20-beta-latest-non-reasoning":{id:"grok-4.20-beta-latest-non-reasoning",name:"Grok 4.20 Beta (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09"},"grok-4.20-beta-latest-reasoning":{id:"grok-4.20-beta-latest-reasoning",name:"Grok 4.20 Beta (Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09"},"grok-4-1-fast":{id:"grok-4-1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19"},"grok-4-1-fast-non-reasoning":{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19"},"grok-4-fast":{id:"grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19"},"grok-4-fast-non-reasoning":{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19"},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28"},"grok-4":{id:"grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09"},"grok-3":{id:"grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-fast":{id:"grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-fast-latest":{id:"grok-3-fast-latest",name:"Grok 3 Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-latest":{id:"grok-3-latest",name:"Grok 3 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini":{id:"grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini-fast":{id:"grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini-fast-latest":{id:"grok-3-mini-fast-latest",name:"Grok 3 Mini Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini-latest":{id:"grok-3-mini-latest",name:"Grok 3 Mini Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"grok-2-1212":{id:"grok-2-1212",name:"Grok 2 (1212)",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-12-12"},"grok-beta":{id:"grok-beta",name:"Grok Beta",contextWindow:131072,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01"},"grok-vision-beta":{id:"grok-vision-beta",name:"Grok Vision Beta",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01"},"grok-2":{id:"grok-2",name:"Grok 2",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-latest":{id:"grok-2-latest",name:"Grok 2 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-vision":{id:"grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-vision-1212":{id:"grok-2-vision-1212",name:"Grok 2 Vision (1212)",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-vision-latest":{id:"grok-2-vision-latest",name:"Grok 2 Vision Latest",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"}},zai:{"glm-5-turbo":{id:"glm-5-turbo",name:"GLM-5-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-16"},"glm-5":{id:"glm-5",name:"GLM-5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11"},"glm-4.7-flash":{id:"glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22"},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-08"},"glm-4.6":{id:"glm-4.6",name:"GLM-4.6",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30"},"glm-4.5v":{id:"glm-4.5v",name:"GLM-4.5V",contextWindow:64000,maxTokens:16384,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11"},"glm-4.5":{id:"glm-4.5",name:"GLM-4.5",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-07-28"},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM-4.5-Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-07-28"},"glm-4.5-flash":{id:"glm-4.5-flash",name:"GLM-4.5-Flash",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"}}}}});function Kn(e){if(!e)return Number.NEGATIVE_INFINITY;let t=Date.parse(e);return Number.isNaN(t)?Number.NEGATIVE_INFINITY:t}function $e(e){return Object.fromEntries(Object.entries(e).sort(([t,a],[i,n])=>{let o=Kn(a.releaseDate),r=Kn(n.releaseDate);if(o!==r)return r-o;return t.localeCompare(i)}))}function ec(e){let t=[];if(e.modalities?.input?.includes("image"))t.push("images");if(e.modalities?.input?.includes("pdf"))t.push("files");if(e.tool_call===!0)t.push("tools");if(e.reasoning===!0)t.push("reasoning");if(e.structured_output===!0)t.push("structured_output");if(e.temperature===!0)t.push("temperature");return t}function tc(e){if(e==="active"||e==="preview"||e==="deprecated"||e==="legacy")return e;return}function ac(e,t){return{id:e,name:t.name||e,contextWindow:t.limit?.context??4096,maxTokens:t.limit?.output??4096,capabilities:ec(t),pricing:{input:t.cost?.input??0,output:t.cost?.output??0,cacheRead:t.cost?.cache_read??0,cacheWrite:t.cost?.cache_write??0},status:tc(t.status),releaseDate:t.release_date}}function ic(e){return e.status==="deprecated"}function nc(e,t){let a={};for(let[i,n]of Object.entries(t)){let o=e[i];if(!o?.models)continue;let r={};for(let[c,s]of Object.entries(o.models)){if(s.tool_call!==!0||ic(s))continue;r[c]=ac(c,s)}if(Object.keys(r).length>0)a[n]=$e(r)}return a}async function Bn(e,t,a=fetch){let i=await a(e);if(!i.ok)throw Error(`Failed to load model catalog from ${e}: HTTP ${i.status}`);let n=await i.json();return nc(n,t)}var Nn={};x(Nn,{getGeneratedProviderModels:()=>Xi,getGeneratedModelsVersion:()=>$i,getGeneratedModelsForProvider:()=>u});function Xi(){return Vn??=Object.fromEntries(Object.entries(za.providers).map(([e,t])=>[e,$e(t)])),Vn}function $i(){return za.version}function u(e){let t=yn.get(e);if(t)return t;let a=$e(za.providers[e]??{});return yn.set(e,a),a}var Vn,yn;var k=W(()=>{Fn();yn=new Map});var Un={};x(Un,{AIHUBMIX_PROVIDER:()=>Pt});var Pt;var ji=W(()=>{k();Pt={provider:{id:"aihubmix",name:"AI Hub Mix",description:"AI model aggregator",protocol:"openai-chat",baseUrl:"https://api.aihubmix.com/v1",defaultModelId:"gpt-4o",env:["AIHUBMIX_API_KEY"]},models:u("aihubmix")}});var Yn={};x(Yn,{getAnthropicReasoningModels:()=>Ot,getActiveAnthropicModels:()=>At,ANTHROPIC_PROVIDER:()=>Gt,ANTHROPIC_MODELS:()=>z,ANTHROPIC_DEFAULT_MODEL:()=>je});function At(){return Object.fromEntries(Object.entries(z).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function Ot(){return Object.fromEntries(Object.entries(z).filter(([,e])=>e.thinkingConfig!==void 0))}var z,je,Gt;var Hi=W(()=>{k();z=u("anthropic"),je=Object.keys(z)[0]??"claude-sonnet-4-6",Gt={provider:{id:"anthropic",name:"Anthropic",description:"Creator of Claude, the AI assistant",protocol:"anthropic",baseUrl:"https://api.anthropic.com",defaultModelId:je,capabilities:["reasoning","prompt-cache"],env:["ANTHROPIC_API_KEY"]},models:z}});var Xn={};x(Xn,{ASKSAGE_PROVIDER:()=>Lt});var Lt;var Ji=W(()=>{Lt={provider:{id:"asksage",name:"AskSage",description:"AskSage platform",protocol:"openai-chat",baseUrl:"https://api.asksage.ai/server",defaultModelId:"gpt-4o",capabilities:["tools"],env:["ASKSAGE_API_KEY"]},models:{}}});var jn={};x(jn,{BASETEN_PROVIDER:()=>St});var $n,St;var Zi=W(()=>{k();$n=u("baseten"),St={provider:{id:"baseten",name:"Baseten",description:"ML inference platform",protocol:"openai-chat",baseUrl:"https://model-api.baseten.co/v1",defaultModelId:Object.keys($n)[0],env:["BASETEN_API_KEY"]},models:$n}});var Hn={};x(Hn,{BEDROCK_PROVIDER:()=>Ct,BEDROCK_MODELS:()=>Ee,BEDROCK_DEFAULT_MODEL:()=>He});var Ee,He,Ct;var Ii=W(()=>{k();Ee=u("bedrock"),He=Object.keys(Ee)[0]??"anthropic.claude-sonnet-4-5-20250929-v1:0",Ct={provider:{id:"bedrock",name:"AWS Bedrock",description:"Amazon Bedrock managed foundation models",protocol:"anthropic",defaultModelId:He,capabilities:["reasoning","prompt-cache"],env:["AWS_REGION","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN"]},models:Ee}});var Jn={};x(Jn,{CEREBRAS_PROVIDER:()=>Qt,CEREBRAS_MODELS:()=>_e,CEREBRAS_DEFAULT_MODEL:()=>Je});var _e,Je,Qt;var zi=W(()=>{k();_e=u("cerebras"),Je=Object.keys(_e)[0]??"llama3.1-70b",Qt={provider:{id:"cerebras",name:"Cerebras",description:"Fast inference on Cerebras wafer-scale chips",protocol:"openai-chat",baseUrl:"https://api.cerebras.ai/v1",defaultModelId:Je,env:["CEREBRAS_API_KEY"]},models:_e}});var Zn={};x(Zn,{CLAUDE_CODE_PROVIDER:()=>qt,CLAUDE_CODE_MODELS:()=>Ze,CLAUDE_CODE_DEFAULT_MODEL:()=>Ie});function e0(e){let t=Object.entries(oc).find(([a])=>e(a));if(t)return t[1];return{id:"sonnet",name:"Claude Sonnet",capabilities:["streaming","reasoning"]}}function t0(e){return{...e==="opus"?e0((a)=>a.includes("opus")):e==="haiku"?e0((a)=>a.includes("haiku")):e0((a)=>a.includes("sonnet")),id:e,name:`Claude ${e.charAt(0).toUpperCase()}${e.slice(1)}`}}var oc,Ze,Ie="sonnet",qt;var a0=W(()=>{k();oc=u("anthropic");Ze={opus:t0("opus"),sonnet:t0("sonnet"),haiku:t0("haiku")},qt={provider:{id:"claude-code",name:"Claude Code",description:"Use Claude Code SDK with Claude Pro/Max subscription",protocol:"openai-chat",baseUrl:"",defaultModelId:Ie,capabilities:["reasoning"]},models:Ze}});var In={};x(In,{CLINE_PROVIDER:()=>Ge,CLINE_MODELS:()=>Pe,CLINE_DEFAULT_MODELINFO:()=>rc,CLINE_DEFAULT_MODEL:()=>ve});var ve="anthropic/claude-sonnet-4.6",Pe,rc,Ge;var i0=W(()=>{k();Pe=u("vercel-ai-gateway"),rc=Pe[ve],Ge={provider:{id:"cline",name:"Cline",description:"Cline API endpoint",protocol:"openai-chat",baseUrl:"https://api.cline.bot/api/v1",defaultModelId:ve,capabilities:["reasoning","prompt-cache","tools","oauth"],env:["CLINE_API_KEY"]},models:Pe}});var zn={};x(zn,{getDeepSeekReasoningModels:()=>Kt,DEEPSEEK_PROVIDER:()=>Ft,DEEPSEEK_MODELS:()=>pe,DEEPSEEK_DEFAULT_MODEL:()=>ze});function Kt(){return Object.fromEntries(Object.entries(pe).filter(([,e])=>e.capabilities?.includes("reasoning")))}var pe,ze,Ft;var n0=W(()=>{k();pe=u("deepseek"),ze=Object.keys(pe)[0],Ft={provider:{id:"deepseek",name:"DeepSeek",description:"Advanced AI models with reasoning capabilities",protocol:"openai-chat",baseUrl:"https://api.deepseek.com/v1",defaultModelId:ze,capabilities:["reasoning","prompt-cache"],env:["DEEPSEEK_API_KEY"]},models:pe}});var eo={};x(eo,{DIFY_PROVIDER:()=>Bt});var Bt;var o0=W(()=>{Bt={provider:{id:"dify",name:"Dify",description:"Dify workflow/application provider via AI SDK",protocol:"openai-chat",defaultModelId:"default",env:["DIFY_API_KEY"]},models:{}}});var to={};x(to,{DOUBAO_PROVIDER:()=>c0,DOUBAO_MODELS:()=>Vt,DOUBAO_DEFAULT_MODEL:()=>ei});var r0="doubao-1-5-pro-256k-250115",Vt,ei,c0;var s0=W(()=>{k();Vt={[r0]:{id:r0,name:"Doubao 1.5 Pro 256k",capabilities:["streaming","tools"]},...u("doubao")},ei=Object.keys(Vt)[0]??r0,c0={provider:{id:"doubao",name:"Doubao",description:"Volcengine Ark platform models",protocol:"openai-chat",baseUrl:"https://ark.cn-beijing.volces.com/api/v3",defaultModelId:ei,env:["DOUBAO_API_KEY"]},models:Vt}});var ao={};x(ao,{getFireworksFunctionModels:()=>Nt,FIREWORKS_PROVIDER:()=>yt,FIREWORKS_MODELS:()=>ue,FIREWORKS_DEFAULT_MODEL:()=>et});function Nt(){return Object.fromEntries(Object.entries(ue).filter(([,e])=>e.capabilities?.includes("tools")))}var ue,et,yt;var p0=W(()=>{k();ue=u("fireworks"),et=Object.keys(ue)[0]??"accounts/fireworks/models/llama-v3p1-8b-instruct",yt={provider:{id:"fireworks",name:"Fireworks AI",description:"High-performance inference platform",protocol:"openai-chat",baseUrl:"https://api.fireworks.ai/inference/v1",defaultModelId:et,env:["FIREWORKS_API_KEY"]},models:ue}});var io={};x(io,{getGeminiThinkingModels:()=>Xt,getActiveGeminiModels:()=>Yt,GEMINI_PROVIDER:()=>Ut,GEMINI_MODELS:()=>ee,GEMINI_DEFAULT_MODEL:()=>tt});function Yt(){return Object.fromEntries(Object.entries(ee).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function Xt(){return Object.fromEntries(Object.entries(ee).filter(([,e])=>e.capabilities?.includes("reasoning")))}var ee,tt,Ut;var u0=W(()=>{k();ee=u("gemini"),tt=Object.keys(ee)[0]??"gemini-3-pro",Ut={provider:{id:"gemini",name:"Google Gemini",description:"Google Gemini API",protocol:"gemini",baseUrl:"https://generativelanguage.googleapis.com",defaultModelId:tt,capabilities:["reasoning","prompt-cache"],env:["GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"]},models:ee}});var no={};x(no,{getGroqVisionModels:()=>jt,GROQ_PROVIDER:()=>$t,GROQ_MODELS:()=>me,GROQ_DEFAULT_MODEL:()=>at});function jt(){return Object.fromEntries(Object.entries(me).filter(([,e])=>e.capabilities?.includes("images")))}var me,at,$t;var m0=W(()=>{k();me=u("groq"),at=Object.keys(me)[0]??"llama-3.3-70b-versatile",$t={provider:{id:"groq",name:"Groq",description:"Ultra-fast LPU inference",protocol:"openai-chat",baseUrl:"https://api.groq.com/openai/v1",defaultModelId:at,env:["GROQ_API_KEY"]},models:me}});var oo={};x(oo,{HICAP_PROVIDER:()=>Ht});var Ht;var l0=W(()=>{Ht={provider:{id:"hicap",name:"HiCap",description:"HiCap AI platform",protocol:"openai-chat",baseUrl:"https://api.hicap.ai/v1",defaultModelId:"hicap-pro",env:["HICAP_API_KEY"]},models:{}}});var ro={};x(ro,{HUAWEI_CLOUD_MAAS_PROVIDER:()=>Jt});var Jt;var d0=W(()=>{Jt={provider:{id:"huawei-cloud-maas",name:"Huawei Cloud MaaS",description:"Huawei's model-as-a-service platform",protocol:"openai-chat",baseUrl:"https://infer-modelarts.cn-southwest-2.myhuaweicloud.com/v1",defaultModelId:"DeepSeek-R1",env:["HUAWEI_CLOUD_MAAS_API_KEY"]},models:{}}});var co={};x(co,{HUGGINGFACE_PROVIDER:()=>It,HUGGINGFACE_MODELS:()=>Zt});var Zt,It;var g0=W(()=>{k();Zt=u("huggingface"),It={provider:{id:"huggingface",name:"Hugging Face",description:"Hugging Face inference API",protocol:"openai-chat",baseUrl:"https://api-inference.huggingface.co/v1",defaultModelId:Object.keys(Zt)[0],env:["HF_TOKEN"]},models:Zt}});var so={};x(so,{LITELLM_PROVIDER:()=>zt});var zt;var x0=W(()=>{zt={provider:{id:"litellm",name:"LiteLLM",description:"Self-hosted LLM proxy",protocol:"openai-chat",baseUrl:"http://localhost:4000/v1",defaultModelId:"gpt-4o",capabilities:["prompt-cache"],env:["LITELLM_API_KEY"]},models:{}}});var uo={};x(uo,{LMSTUDIO_PROVIDER:()=>ea});var po,ea;var h0=W(()=>{k();po=u("lmstudio"),ea={provider:{id:"lmstudio",name:"LM Studio",description:"Local model inference with LM Studio",protocol:"openai-chat",baseUrl:"http://localhost:1234/v1",defaultModelId:Object.keys(po)[0],env:["LMSTUDIO_API_KEY"]},models:po||{}}});var mo={};x(mo,{MINIMAX_PROVIDER:()=>ta,MINIMAX_MODELS:()=>Ae,MINIMAX_DEFAULT_MODEL:()=>it});var W0="MiniMax-M2.5",Ae,it,ta;var w0=W(()=>{k();Ae={[W0]:{id:W0,name:"MiniMax M2.5",capabilities:["streaming","tools","reasoning","prompt-cache"]},...u("minimax")},it=Object.keys(Ae)[0]??W0,ta={provider:{id:"minimax",name:"MiniMax",description:"MiniMax models via Anthropic-compatible API",protocol:"anthropic",baseUrl:"https://api.minimax.io/anthropic",defaultModelId:it,capabilities:["reasoning","prompt-cache"],env:["MINIMAX_API_KEY"]},models:Ae}});var lo={};x(lo,{MISTRAL_PROVIDER:()=>aa});var aa;var b0=W(()=>{aa={provider:{id:"mistral",name:"Mistral",description:"Mistral AI models via AI SDK provider",protocol:"openai-chat",baseUrl:"https://api.mistral.ai/v1",defaultModelId:"mistral-medium-latest",capabilities:["reasoning"],env:["MISTRAL_API_KEY"]},models:{}}});var go={};x(go,{MOONSHOT_PROVIDER:()=>ia,MOONSHOT_MODELS:()=>Oe,MOONSHOT_DEFAULT_MODEL:()=>nt});var D0="kimi-k2-0905-preview",Oe,nt,ia;var R0=W(()=>{k();Oe={[D0]:{id:D0,name:"Kimi K2 Preview",capabilities:["streaming","tools","reasoning"]},...u("moonshot")},nt=Object.keys(Oe)[0]??D0,ia={provider:{id:"moonshot",name:"Moonshot",description:"Moonshot AI Studio models",protocol:"openai-chat",baseUrl:"https://api.moonshot.ai/v1",defaultModelId:nt,capabilities:["reasoning","prompt-cache"],env:["MOONSHOT_API_KEY"]},models:Oe}});var xo={};x(xo,{NEBIUS_PROVIDER:()=>na,NEBIUS_MODELS:()=>Le,NEBIUS_DEFAULT_MODEL:()=>ot});var Le,ot,na;var k0=W(()=>{k();Le=u("nebius"),ot=Object.keys(Le)[0]||"meta-llama/Meta-Llama-3.1-70B-Instruct",na={provider:{id:"nebius",name:"Nebius",description:"European cloud AI infrastructure",protocol:"openai-chat",baseUrl:"https://api.studio.nebius.ai/v1",defaultModelId:ot,env:["NEBIUS_API_KEY"]},models:Le}});var ho={};x(ho,{NOUS_RESEARCH_PROVIDER:()=>ra,NOUS_RESEARCH_MODELS:()=>rt,NOUS_RESEARCH_DEFAULT_MODEL:()=>oa});var rt,oa="DeepHermes-3-Llama-3-3-70B-Preview",ra;var T0=W(()=>{rt={},ra={provider:{id:"nousResearch",name:"Nous Research",description:"Open-source AI research lab",protocol:"openai-chat",baseUrl:"https://inference-api.nousresearch.com/v1",defaultModelId:"DeepHermes-3-Llama-3-3-70B-Preview",env:["NOUS_RESEARCH_API_KEY","NOUSRESEARCH_API_KEY"]},models:rt}});var Wo={};x(Wo,{OCA_PROVIDER:()=>ca,OCA_MODELS:()=>Se,OCA_DEFAULT_MODEL:()=>ct,DEFAULT_INTERNAL_OCA_BASE_URL:()=>te,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>J});var te="https://code-internal.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm",J="https://code.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm",ct="anthropic/claude-3-7-sonnet-20250219",Se,ca;var sa=W(()=>{k();Se=u("oca"),ca={provider:{id:"oca",name:"Oracle Code Assist",description:"Oracle Code Assist (OCA) LiteLLM gateway",protocol:"openai-chat",baseUrl:J,defaultModelId:Object.keys(Se)[0]??ct,capabilities:["reasoning","prompt-cache","tools"],env:["OCA_API_KEY"]},models:Se}});var wo={};x(wo,{OLLAMA_PROVIDER:()=>pa});var pa;var M0=W(()=>{pa={provider:{id:"ollama",name:"Ollama",description:"Ollama Cloud and local LLM hosting",protocol:"openai-chat",baseUrl:"http://localhost:11434/v1",defaultModelId:"llama3.2",env:["OLLAMA_API_KEY"]},models:{}}});var f0={};x(f0,{getOpenAIReasoningModels:()=>la,getActiveOpenAIModels:()=>ma,OPENAI_PROVIDER:()=>ua,OPENAI_MODELS:()=>ae,OPENAI_DEFAULT_MODEL:()=>st});function ma(){return Object.fromEntries(Object.entries(ae).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function la(){return Object.fromEntries(Object.entries(ae).filter(([,e])=>e.capabilities?.includes("reasoning")))}var ae,st,ua;var ti=W(()=>{k();ae=u("openai"),st=Object.keys(ae)[0]??"gpt-5.3-codex",ua={provider:{id:"openai-native",name:"OpenAI",description:"Creator of GPT and ChatGPT",protocol:"openai-responses",baseUrl:"https://api.openai.com/v1",defaultModelId:st,capabilities:["reasoning"],env:["OPENAI_API_KEY"]},models:ae}});var bo={};x(bo,{OPENAI_CODEX_PROVIDER:()=>da,OPENAI_CODEX_MODELS:()=>E0,OPENAI_CODEX_DEFAULT_MODEL:()=>pt});function cc(e){if(!e.capabilities?.includes("tools"))return e;return{...e,capabilities:e.capabilities.filter((t)=>t!=="tools")}}var E0,pt,da;var _0=W(()=>{k();E0=Object.fromEntries(Object.entries(u("openai")).map(([e,t])=>[e,cc(t)])),pt=Object.keys(E0)[0]??"gpt-5.3-codex",da={provider:{id:"openai-codex",name:"OpenAI Codex",description:"OpenAI Codex via the local Codex CLI provider",protocol:"openai-chat",baseUrl:"https://chatgpt.com/backend-api/codex",defaultModelId:pt,capabilities:["reasoning","oauth"]},models:E0}});var Do={};x(Do,{OPENCODE_PROVIDER:()=>v0,OPENCODE_MODELS:()=>ga,OPENCODE_DEFAULT_MODEL:()=>ai});var ga,ai,v0;var P0=W(()=>{k();ga=u("opencode"),ai=Object.keys(ga)[0]??"openai/gpt-5.3-codex",v0={provider:{id:"opencode",name:"OpenCode",description:"OpenCode SDK multi-provider runtime",protocol:"openai-chat",baseUrl:"",defaultModelId:ai,capabilities:["reasoning","oauth"]},models:ga}});var Ro={};x(Ro,{OPENROUTER_PROVIDER:()=>xa,OPENROUTER_MODELS:()=>ut,OPENROUTER_DEFAULT_MODEL:()=>mt});var ut,mt="anthropic/claude-sonnet-4.6",xa;var G0=W(()=>{k();ut=u("openrouter"),xa={provider:{id:"openrouter",name:"OpenRouter",description:"OpenRouter AI platform",protocol:"openai-chat",baseUrl:"https://openrouter.ai/api/v1",defaultModelId:mt,capabilities:["reasoning","prompt-cache"],env:["OPENROUTER_API_KEY"]},models:ut}});var ko={};x(ko,{QWEN_PROVIDER:()=>O0,QWEN_MODELS:()=>ha,QWEN_DEFAULT_MODEL:()=>ii});var A0="qwen-plus-latest",ha,ii,O0;var L0=W(()=>{k();ha={[A0]:{id:A0,name:"Qwen Plus Latest",capabilities:["streaming","tools","reasoning"]},...u("qwen")},ii=Object.keys(ha)[0]??A0,O0={provider:{id:"qwen",name:"Qwen",description:"Alibaba Qwen platform models",protocol:"openai-chat",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",defaultModelId:ii,capabilities:["reasoning"],env:["QWEN_API_KEY"]},models:ha}});var To={};x(To,{QWEN_CODE_PROVIDER:()=>C0,QWEN_CODE_MODELS:()=>Wa,QWEN_CODE_DEFAULT_MODEL:()=>ni});var S0="qwen3-coder-plus",Wa,ni,C0;var Q0=W(()=>{k();Wa={[S0]:{id:S0,name:"Qwen3 Coder Plus",capabilities:["streaming","tools","reasoning"]},...u("qwen-code")},ni=Object.keys(Wa)[0]??S0,C0={provider:{id:"qwen-code",name:"Qwen Code",description:"Qwen OAuth coding models",protocol:"openai-chat",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",defaultModelId:ni,capabilities:["reasoning","oauth"]},models:Wa}});var Mo={};x(Mo,{REQUESTY_PROVIDER:()=>wa,REQUESTY_MODELS:()=>q0});var q0,wa;var F0=W(()=>{k();q0=u("requesty"),wa={provider:{id:"requesty",name:"Requesty",description:"AI router with multiple provider support",protocol:"openai-chat",baseUrl:"https://router.requesty.ai/v1",defaultModelId:Object.keys(q0)[0],capabilities:["reasoning"],env:["REQUESTY_API_KEY"]},models:q0}});var fo={};x(fo,{SAMBANOVA_PROVIDER:()=>ba,SAMBANOVA_MODELS:()=>Ce,SAMBANOVA_DEFAULT_MODEL:()=>lt});var Ce,lt,ba;var K0=W(()=>{k();Ce=u("sambanova"),lt=Object.keys(Ce)[0],ba={provider:{id:"sambanova",name:"SambaNova",description:"High-performance AI inference",protocol:"openai-chat",baseUrl:"https://api.sambanova.ai/v1",defaultModelId:lt,env:["SAMBANOVA_API_KEY"]},models:Ce}});var Eo={};x(Eo,{SAP_AI_CORE_PROVIDER:()=>V0,SAP_AI_CORE_MODELS:()=>Da,SAP_AI_CORE_DEFAULT_MODEL:()=>oi});var B0="anthropic--claude-3.5-sonnet",Da,oi,V0;var y0=W(()=>{k();Da={[B0]:{id:B0,name:"Claude 3.5 Sonnet (SAP AI Core)",capabilities:["streaming","tools","reasoning","prompt-cache"]},...u("sapaicore")},oi=Object.keys(Da)[0]??B0,V0={provider:{id:"sapaicore",name:"SAP AI Core",description:"SAP AI Core inference and orchestration platform",protocol:"openai-chat",baseUrl:"",defaultModelId:oi,capabilities:["reasoning","prompt-cache"],env:["AICORE_SERVICE_KEY","VCAP_SERVICES"]},models:Da}});var _o={};x(_o,{getTogetherLlamaModels:()=>ka,TOGETHER_PROVIDER:()=>Ra,TOGETHER_MODELS:()=>le,TOGETHER_DEFAULT_MODEL:()=>dt});function ka(){return Object.fromEntries(Object.entries(le).filter(([e])=>e.toLowerCase().includes("llama")))}var le,dt,Ra;var N0=W(()=>{k();le=u("together"),dt=Object.keys(le)[0]??"meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo",Ra={provider:{id:"together",name:"Together AI",description:"Fast inference for open-source models",protocol:"openai-chat",baseUrl:"https://api.together.xyz/v1",defaultModelId:dt,capabilities:["reasoning"],env:["TOGETHER_API_KEY"]},models:le}});var vo={};x(vo,{VERCEL_AI_GATEWAY_PROVIDER:()=>Ta});var sc,Ta;var U0=W(()=>{k();sc=u("vercel-ai-gateway"),Ta={provider:{id:"vercel-ai-gateway",name:"Vercel AI Gateway",description:"Vercel's AI gateway service",protocol:"openai-chat",baseUrl:"https://ai-gateway.vercel.sh/v1",defaultModelId:Object.keys(sc)[0],capabilities:["reasoning"],env:["AI_GATEWAY_API_KEY"]},models:u("vercel-ai-gateway")}});var Go={};x(Go,{VERTEX_PROVIDER:()=>Ma,VERTEX_MODELS:()=>Qe,VERTEX_DEFAULT_MODEL:()=>gt});var Qe,Po,pc,gt,Ma;var Y0=W(()=>{k();Qe=u("vertex"),Po=Object.keys(Qe),pc=Po.find((e)=>!e.includes("claude")),gt=pc??Po[0]??"gemini-3-pro",Ma={provider:{id:"vertex",name:"Google Vertex AI",description:"Google Cloud Vertex AI (Gemini and partner models)",protocol:"gemini",defaultModelId:gt,capabilities:["reasoning","prompt-cache"],env:["GCP_PROJECT_ID","GOOGLE_CLOUD_PROJECT","GOOGLE_APPLICATION_CREDENTIALS","GEMINI_API_KEY","GOOGLE_API_KEY"]},models:Qe}});var Ao={};x(Ao,{getActiveXAIModels:()=>Ea,XAI_PROVIDER:()=>fa,XAI_MODELS:()=>de,XAI_DEFAULT_MODEL:()=>xt});function Ea(){return Object.fromEntries(Object.entries(de).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}var de,xt,fa;var X0=W(()=>{k();de=u("xai"),xt=Object.keys(de)[0],fa={provider:{id:"xai",name:"xAI",description:"Creator of Grok AI assistant",protocol:"openai-chat",baseUrl:"https://api.x.ai/v1",defaultModelId:xt,capabilities:["reasoning"],env:["XAI_API_KEY"]},models:de}});var Oo={};x(Oo,{ZAI_PROVIDER:()=>$0,ZAI_MODELS:()=>_a,ZAI_DEFAULT_MODEL:()=>ri});var _a,ri,$0;var j0=W(()=>{k();_a=u("zai"),ri=Object.keys(_a)[0],$0={provider:{id:"zai",name:"Z.AI",description:"Z.AI's family of LLMs",protocol:"openai-chat",baseUrl:"https://api.z.ai/api/paas/v4",defaultModelId:ri,capabilities:["reasoning"],env:["ZHIPU_API_KEY"]},models:_a}});function Ir(e){return e}var nr={};x(nr,{validateQueryConfig:()=>Ui,validateModelInfo:()=>Vi,updateModel:()=>H0,unregisterProvider:()=>Bo,unregisterModel:()=>Ko,sortModels:()=>vt,searchModels:()=>tr,safeValidateQueryConfig:()=>Yi,safeValidateModelInfo:()=>yi,resetRegistry:()=>yo,registerProvider:()=>mi,registerModels:()=>No,registerModel:()=>Wt,queryModels:()=>B,matchesQuery:()=>_t,isDeprecated:()=>Et,isActive:()=>Ki,hasProvider:()=>ci,hasCapability:()=>fe,getVisionModels:()=>Yo,getToolModels:()=>jo,getTogetherLlamaModels:()=>ka,getReasoningModels:()=>Xo,getProviderIds:()=>xe,getProviderCollection:()=>Co,getProvider:()=>So,getPricing:()=>Bi,getOpenAIReasoningModels:()=>la,getModelsWithContextWindow:()=>zo,getModelsInPriceRange:()=>Io,getModelsForProvider:()=>si,getModelsByProvider:()=>er,getModelStatistics:()=>ir,getModelCount:()=>Fo,getModel:()=>pi,getGroqVisionModels:()=>jt,getGeneratedProviderModels:()=>Xi,getGeneratedModelsVersion:()=>$i,getGeneratedModelsForProvider:()=>u,getGeminiThinkingModels:()=>Xt,getFireworksFunctionModels:()=>Nt,getDeprecatedModels:()=>Zo,getDefaultModel:()=>qo,getDeepSeekReasoningModels:()=>Kt,getComputerUseModels:()=>Ho,getCachingModels:()=>$o,getAnthropicReasoningModels:()=>Ot,getAllProviders:()=>Qo,getAllModels:()=>ui,getActiveXAIModels:()=>Ea,getActiveOpenAIModels:()=>ma,getActiveModels:()=>Jo,getActiveGeminiModels:()=>Yt,getActiveAnthropicModels:()=>At,deprecateModel:()=>Uo,createQuery:()=>ar,clearCustomModels:()=>Vo,XAI_PROVIDER:()=>fa,XAI_MODELS:()=>de,XAI_DEFAULT_MODEL:()=>xt,VERTEX_PROVIDER:()=>Ma,VERTEX_MODELS:()=>Qe,VERTEX_DEFAULT_MODEL:()=>gt,VERCEL_AI_GATEWAY_PROVIDER:()=>Ta,ThinkingConfigSchema:()=>Ja,TOGETHER_PROVIDER:()=>Ra,TOGETHER_MODELS:()=>le,TOGETHER_DEFAULT_MODEL:()=>dt,SAMBANOVA_PROVIDER:()=>ba,SAMBANOVA_MODELS:()=>Ce,SAMBANOVA_DEFAULT_MODEL:()=>lt,REQUESTY_PROVIDER:()=>wa,ProviderInfoSchema:()=>Ia,ProviderCapabilitySchema:()=>Za,OPENROUTER_PROVIDER:()=>xa,OPENROUTER_MODELS:()=>ut,OPENROUTER_DEFAULT_MODEL:()=>mt,OPENAI_PROVIDER:()=>ua,OPENAI_MODELS:()=>ae,OPENAI_DEFAULT_MODEL:()=>st,OPENAI_CODEX_PROVIDER:()=>da,OPENAI_CODEX_DEFAULT_MODEL:()=>pt,OLLAMA_PROVIDER:()=>pa,OCA_PROVIDER:()=>ca,OCA_MODELS:()=>Se,OCA_DEFAULT_MODEL:()=>ct,NOUS_RESEARCH_PROVIDER:()=>ra,NOUS_RESEARCH_MODELS:()=>rt,NOUS_RESEARCH_DEFAULT_MODEL:()=>oa,NEBIUS_PROVIDER:()=>na,NEBIUS_MODELS:()=>Le,NEBIUS_DEFAULT_MODEL:()=>ot,ModelStatusSchema:()=>Xe,ModelQueryResultSchema:()=>Ni,ModelQueryConfigSchema:()=>se,ModelQueryBuilder:()=>li,ModelPricingSchema:()=>Ha,ModelInfoSchema:()=>Me,ModelEntrySchema:()=>qi,ModelCollectionSchema:()=>Fi,ModelCapabilitySchema:()=>ce,MOONSHOT_PROVIDER:()=>ia,MOONSHOT_MODELS:()=>Oe,MOONSHOT_DEFAULT_MODEL:()=>nt,MISTRAL_PROVIDER:()=>aa,MINIMAX_PROVIDER:()=>ta,MINIMAX_MODELS:()=>Ae,MINIMAX_DEFAULT_MODEL:()=>it,LMSTUDIO_PROVIDER:()=>ea,LITELLM_PROVIDER:()=>zt,HUGGINGFACE_PROVIDER:()=>It,HUAWEI_CLOUD_MAAS_PROVIDER:()=>Jt,HICAP_PROVIDER:()=>Ht,GROQ_PROVIDER:()=>$t,GROQ_MODELS:()=>me,GROQ_DEFAULT_MODEL:()=>at,GEMINI_PROVIDER:()=>Ut,GEMINI_MODELS:()=>ee,GEMINI_DEFAULT_MODEL:()=>tt,FIREWORKS_PROVIDER:()=>yt,FIREWORKS_MODELS:()=>ue,FIREWORKS_DEFAULT_MODEL:()=>et,DIFY_PROVIDER:()=>Bt,DEFAULT_INTERNAL_OCA_BASE_URL:()=>te,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>J,DEEPSEEK_PROVIDER:()=>Ft,DEEPSEEK_MODELS:()=>pe,DEEPSEEK_DEFAULT_MODEL:()=>ze,CLINE_PROVIDER:()=>Ge,CLINE_MODELS:()=>Pe,CLINE_DEFAULT_MODEL:()=>ve,CLAUDE_CODE_PROVIDER:()=>qt,CLAUDE_CODE_MODELS:()=>Ze,CLAUDE_CODE_DEFAULT_MODEL:()=>Ie,CEREBRAS_PROVIDER:()=>Qt,CEREBRAS_MODELS:()=>_e,CEREBRAS_DEFAULT_MODEL:()=>Je,BEDROCK_PROVIDER:()=>Ct,BEDROCK_MODELS:()=>Ee,BEDROCK_DEFAULT_MODEL:()=>He,BASETEN_PROVIDER:()=>St,ApiFormatSchema:()=>Ye,ApiFormat:()=>I,ASKSAGE_PROVIDER:()=>Lt,ANTHROPIC_PROVIDER:()=>Gt,ANTHROPIC_MODELS:()=>z,ANTHROPIC_DEFAULT_MODEL:()=>je,AIHUBMIX_PROVIDER:()=>Pt});import{z as w}from"zod";var Ye=w.enum(["default","openai-responses","r1"]),I={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},ce=w.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),Xe=w.enum(["active","preview","deprecated","legacy"]),Ha=w.object({input:w.number().optional(),output:w.number().optional(),cacheWrite:w.number().optional(),cacheRead:w.number().optional()}),Ja=w.object({maxBudget:w.number().optional(),outputPrice:w.number().optional(),thinkingLevel:w.enum(["low","high"]).optional()}),Me=w.object({id:w.string(),name:w.string().optional(),description:w.string().optional(),maxTokens:w.number().optional(),contextWindow:w.number().optional(),capabilities:w.array(ce).optional(),apiFormat:Ye.optional(),systemRole:w.enum(["system","developer"]).optional(),temperature:w.number().optional(),pricing:Ha.optional(),thinkingConfig:Ja.optional(),status:Xe.optional(),deprecationNotice:w.string().optional(),replacedBy:w.string().optional(),releaseDate:w.string().optional(),deprecationDate:w.string().optional()}),qi=w.object({id:w.string(),info:Me}),Za=w.enum(["reasoning","prompt-cache","tools","oauth"]),qn=w.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1"]),Ia=w.object({id:w.string(),name:w.string(),description:w.string().optional(),protocol:qn.optional(),baseUrl:w.string().optional(),defaultModelId:w.string(),capabilities:w.array(Za).optional(),env:w.array(w.string()).optional()}),Fi=w.object({provider:Ia,models:w.record(w.string(),Me)});function fe(e,t){return e.capabilities?.includes(t)??!1}function Et(e){return e.status==="deprecated"}function Ki(e){return!e.status||e.status==="active"||e.status==="preview"}function Bi(e){return e.pricing??{}}function Vi(e){return Me.parse(e)}function yi(e){let t=Me.safeParse(e);return t.success?t.data:void 0}import{z as A}from"zod";var se=A.object({providers:A.array(A.string()).optional(),capabilities:A.array(ce).optional(),anyCapabilities:A.array(ce).optional(),excludeCapabilities:A.array(ce).optional(),status:A.array(Xe).optional(),includeDeprecated:A.boolean().optional(),apiFormat:Ye.optional(),minContextWindow:A.number().optional(),maxContextWindow:A.number().optional(),minMaxTokens:A.number().optional(),maxInputPrice:A.number().optional(),maxOutputPrice:A.number().optional(),search:A.string().optional(),hasThinking:A.boolean().optional(),sortBy:A.enum(["name","contextWindow","maxTokens","inputPrice","outputPrice"]).optional(),sortDirection:A.enum(["asc","desc"]).optional(),limit:A.number().optional()}),Ni=A.object({models:A.array(A.object({providerId:A.string(),modelId:A.string(),info:A.any()})),total:A.number(),config:se});function _t(e,t,a){if(!a.includeDeprecated&&Et(t))return!1;if(a.status&&a.status.length>0){let i=t.status??"active";if(!a.status.includes(i))return!1}if(a.capabilities&&a.capabilities.length>0){if(!a.capabilities.every((n)=>fe(t,n)))return!1}if(a.anyCapabilities&&a.anyCapabilities.length>0){if(!a.anyCapabilities.some((n)=>fe(t,n)))return!1}if(a.excludeCapabilities&&a.excludeCapabilities.length>0){if(a.excludeCapabilities.some((n)=>fe(t,n)))return!1}if(a.apiFormat&&t.apiFormat!==a.apiFormat)return!1;if(a.minContextWindow&&(t.contextWindow??0)<a.minContextWindow)return!1;if(a.maxContextWindow&&(t.contextWindow??Number.POSITIVE_INFINITY)>a.maxContextWindow)return!1;if(a.minMaxTokens&&(t.maxTokens??0)<a.minMaxTokens)return!1;if(a.maxInputPrice&&(t.pricing?.input??Number.POSITIVE_INFINITY)>a.maxInputPrice)return!1;if(a.maxOutputPrice&&(t.pricing?.output??Number.POSITIVE_INFINITY)>a.maxOutputPrice)return!1;if(a.search){let i=a.search.toLowerCase(),n=t.name?.toLowerCase().includes(i)??!1,o=e.toLowerCase().includes(i),r=t.description?.toLowerCase().includes(i)??!1;if(!n&&!o&&!r)return!1}if(a.hasThinking===!0&&!t.thinkingConfig)return!1;if(a.hasThinking===!1&&t.thinkingConfig)return!1;return!0}function vt(e,t,a="asc"){if(!t)return e;let i=[...e].sort((n,o)=>{let r,c;switch(t){case"name":r=n.info.name??n.modelId,c=o.info.name??o.modelId;break;case"contextWindow":r=n.info.contextWindow??0,c=o.info.contextWindow??0;break;case"maxTokens":r=n.info.maxTokens??0,c=o.info.maxTokens??0;break;case"inputPrice":r=n.info.pricing?.input??Number.POSITIVE_INFINITY,c=o.info.pricing?.input??Number.POSITIVE_INFINITY;break;case"outputPrice":r=n.info.pricing?.output??Number.POSITIVE_INFINITY,c=o.info.pricing?.output??Number.POSITIVE_INFINITY;break;default:return 0}if(typeof r==="string"&&typeof c==="string")return r.localeCompare(c);return r-c});return a==="desc"?i.reverse():i}function Ui(e){return se.parse(e)}function Yi(e){let t=se.safeParse(e);return t.success?t.data:void 0}var Lo=[["aihubmix",async()=>(await Promise.resolve().then(() => (ji(),Un))).AIHUBMIX_PROVIDER],["anthropic",async()=>(await Promise.resolve().then(() => (Hi(),Yn))).ANTHROPIC_PROVIDER],["asksage",async()=>(await Promise.resolve().then(() => (Ji(),Xn))).ASKSAGE_PROVIDER],["baseten",async()=>(await Promise.resolve().then(() => (Zi(),jn))).BASETEN_PROVIDER],["bedrock",async()=>(await Promise.resolve().then(() => (Ii(),Hn))).BEDROCK_PROVIDER],["cerebras",async()=>(await Promise.resolve().then(() => (zi(),Jn))).CEREBRAS_PROVIDER],["claude-code",async()=>(await Promise.resolve().then(() => (a0(),Zn))).CLAUDE_CODE_PROVIDER],["cline",async()=>(await Promise.resolve().then(() => (i0(),In))).CLINE_PROVIDER],["deepseek",async()=>(await Promise.resolve().then(() => (n0(),zn))).DEEPSEEK_PROVIDER],["dify",async()=>(await Promise.resolve().then(() => (o0(),eo))).DIFY_PROVIDER],["doubao",async()=>(await Promise.resolve().then(() => (s0(),to))).DOUBAO_PROVIDER],["fireworks",async()=>(await Promise.resolve().then(() => (p0(),ao))).FIREWORKS_PROVIDER],["gemini",async()=>(await Promise.resolve().then(() => (u0(),io))).GEMINI_PROVIDER],["groq",async()=>(await Promise.resolve().then(() => (m0(),no))).GROQ_PROVIDER],["hicap",async()=>(await Promise.resolve().then(() => (l0(),oo))).HICAP_PROVIDER],["huawei-cloud-maas",async()=>(await Promise.resolve().then(() => (d0(),ro))).HUAWEI_CLOUD_MAAS_PROVIDER],["huggingface",async()=>(await Promise.resolve().then(() => (g0(),co))).HUGGINGFACE_PROVIDER],["litellm",async()=>(await Promise.resolve().then(() => (x0(),so))).LITELLM_PROVIDER],["lmstudio",async()=>(await Promise.resolve().then(() => (h0(),uo))).LMSTUDIO_PROVIDER],["minimax",async()=>(await Promise.resolve().then(() => (w0(),mo))).MINIMAX_PROVIDER],["mistral",async()=>(await Promise.resolve().then(() => (b0(),lo))).MISTRAL_PROVIDER],["moonshot",async()=>(await Promise.resolve().then(() => (R0(),go))).MOONSHOT_PROVIDER],["nebius",async()=>(await Promise.resolve().then(() => (k0(),xo))).NEBIUS_PROVIDER],["nousResearch",async()=>(await Promise.resolve().then(() => (T0(),ho))).NOUS_RESEARCH_PROVIDER],["oca",async()=>(await Promise.resolve().then(() => (sa(),Wo))).OCA_PROVIDER],["ollama",async()=>(await Promise.resolve().then(() => (M0(),wo))).OLLAMA_PROVIDER],["openai",async()=>(await Promise.resolve().then(() => (ti(),f0))).OPENAI_PROVIDER],["openai-codex",async()=>(await Promise.resolve().then(() => (_0(),bo))).OPENAI_CODEX_PROVIDER],["openai-native",async()=>(await Promise.resolve().then(() => (ti(),f0))).OPENAI_PROVIDER],["opencode",async()=>(await Promise.resolve().then(() => (P0(),Do))).OPENCODE_PROVIDER],["openrouter",async()=>(await Promise.resolve().then(() => (G0(),Ro))).OPENROUTER_PROVIDER],["qwen",async()=>(await Promise.resolve().then(() => (L0(),ko))).QWEN_PROVIDER],["qwen-code",async()=>(await Promise.resolve().then(() => (Q0(),To))).QWEN_CODE_PROVIDER],["requesty",async()=>(await Promise.resolve().then(() => (F0(),Mo))).REQUESTY_PROVIDER],["sambanova",async()=>(await Promise.resolve().then(() => (K0(),fo))).SAMBANOVA_PROVIDER],["sapaicore",async()=>(await Promise.resolve().then(() => (y0(),Eo))).SAP_AI_CORE_PROVIDER],["together",async()=>(await Promise.resolve().then(() => (N0(),_o))).TOGETHER_PROVIDER],["vercel-ai-gateway",async()=>(await Promise.resolve().then(() => (U0(),vo))).VERCEL_AI_GATEWAY_PROVIDER],["vertex",async()=>(await Promise.resolve().then(() => (Y0(),Go))).VERTEX_PROVIDER],["xai",async()=>(await Promise.resolve().then(() => (X0(),Ao))).XAI_PROVIDER],["zai",async()=>(await Promise.resolve().then(() => (j0(),Oo))).ZAI_PROVIDER]];var va=new Map,ht=new Map,$=new Map,qe=new Map,uc=Lo;function mc(){for(let[e,t]of uc)ht.set(e,{load:t})}mc();async function lc(e){return e.load()}async function ge(e){if(qe.has(e))return qe.get(e);if(va.has(e))return va.get(e);let t=ht.get(e);if(!t)return;let a=await lc(t);return va.set(e,a),a}function xe(){let e=Array.from(ht.keys()),t=Array.from(qe.keys()).filter((a)=>!ht.has(a));return[...e,...t]}function ci(e){return ht.has(e)||qe.has(e)}async function So(e){return(await ge(e))?.provider}async function Co(e){return ge(e)}async function Qo(){let e=xe();return(await Promise.all(e.map((a)=>ge(a)))).filter((a)=>a!==void 0).map((a)=>a.provider)}async function si(e){let a=(await ge(e))?.models??{},i=$.get(e);if(i)return{...a,...Object.fromEntries(i)};return a}async function pi(e,t){let a=$.get(e);if(a?.has(t))return a.get(t);return(await ge(e))?.models[t]}async function qo(e){let t=await ge(e);if(!t)return;let a=t.provider.defaultModelId,i=await pi(e,a);if(!i)return;return{id:a,info:i}}async function ui(){let e=[],t=xe();return await Promise.all(t.map(async(a)=>{let i=await ge(a);if(!i)return;for(let[o,r]of Object.entries(i.models))e.push({providerId:a,modelId:o,info:r});let n=$.get(a);if(n){for(let[o,r]of n)if(!i.models[o])e.push({providerId:a,modelId:o,info:r})}})),e}async function Fo(){let e=0,t=xe();return await Promise.all(t.map(async(a)=>{let i=await ge(a);if(!i)return;e+=Object.keys(i.models).length;let n=$.get(a);if(n){for(let o of n.keys())if(!i.models[o])e++}})),e}function mi(e){qe.set(e.provider.id,e)}function Wt(e,t,a){if(!$.has(e))$.set(e,new Map);$.get(e)?.set(t,{...a,id:t})}function Ko(e,t){let a=$.get(e);if(a)return a.delete(t);return!1}function Bo(e){return $.delete(e),va.delete(e),qe.delete(e)||ht.delete(e)}function Vo(){$.clear()}function yo(){va.clear(),$.clear(),qe.clear()}function No(e,t){for(let[a,i]of Object.entries(t))Wt(e,a,i)}async function H0(e,t,a){let i=await pi(e,t);if(!i)return;let n={...i,...a};return Wt(e,t,n),n}async function Uo(e,t,a){return H0(e,t,{status:"deprecated",deprecationNotice:a?.notice,replacedBy:a?.replacedBy,deprecationDate:a?.deprecationDate})}function B(e){let t=se.parse(e),a=t.providers?.length?t.providers.filter((o)=>xe().includes(o)):xe(),i=[];for(let o of a){let r=si(o);for(let[c,s]of Object.entries(r))if(_t(c,s,t))i.push({providerId:o,modelId:c,info:s})}let n=vt(i,t.sortBy,t.sortDirection??"asc");if(t.limit&&t.limit>0)return n.slice(0,t.limit);return n}function Yo(){return B({capabilities:["images"]})}function Xo(){return B({capabilities:["reasoning"]})}function $o(){return B({capabilities:["prompt-cache"]})}function jo(){return B({capabilities:["tools"]})}function Ho(){return B({capabilities:["computer-use"]})}function Jo(){return B({includeDeprecated:!1,status:["active","preview"]})}function Zo(){return B({includeDeprecated:!0,status:["deprecated"]})}function Io(e,t){return B({maxInputPrice:e,maxOutputPrice:t,sortBy:"inputPrice"})}function zo(e){return B({minContextWindow:e,sortBy:"contextWindow",sortDirection:"desc"})}function er(e){return B({providers:[e]})}function tr(e){return B({search:e})}class li{config={};fromProviders(e){return this.config.providers=e,this}withCapabilities(e){return this.config.capabilities=e,this}withAnyCapabilities(e){return this.config.anyCapabilities=e,this}excludeCapabilities(e){return this.config.excludeCapabilities=e,this}withStatus(e){return this.config.status=e,this}includeDeprecated(e=!0){return this.config.includeDeprecated=e,this}withApiFormat(e){return this.config.apiFormat=e,this}contextWindow(e){if(e.min!==void 0)this.config.minContextWindow=e.min;if(e.max!==void 0)this.config.maxContextWindow=e.max;return this}minMaxTokens(e){return this.config.minMaxTokens=e,this}maxPrice(e){if(e.input!==void 0)this.config.maxInputPrice=e.input;if(e.output!==void 0)this.config.maxOutputPrice=e.output;return this}search(e){return this.config.search=e,this}hasThinking(e=!0){return this.config.hasThinking=e,this}sortBy(e,t="asc"){return this.config.sortBy=e,this.config.sortDirection=t,this}limit(e){return this.config.limit=e,this}getConfig(){return{...this.config}}execute(){return B(this.config)}}function ar(){return new li}async function ir(){let e=await ui(),t={},a={},i={},n=[];for(let{providerId:c,info:s}of e){t[c]=(t[c]??0)+1;for(let g of s.capabilities??[])a[g]=(a[g]??0)+1;let p=s.status??"active";if(i[p]=(i[p]??0)+1,s.pricing?.input!==void 0)n.push(s.pricing.input)}let o=n.sort((c,s)=>c-s),r={min:o[0]??0,max:o[o.length-1]??0,avg:n.length>0?n.reduce((c,s)=>c+s,0)/n.length:0};return{totalModels:e.length,modelsByProvider:t,modelsByCapability:a,modelsByStatus:i,priceRange:r}}k();ji();Hi();Ji();Zi();Ii();zi();a0();i0();n0();o0();s0();p0();u0();m0();l0();d0();g0();x0();h0();w0();b0();R0();k0();T0();sa();M0();ti();_0();P0();G0();L0();Q0();F0();K0();y0();N0();U0();Y0();X0();j0();var Pa={};x(Pa,{getTogetherLlamaModels:()=>ka,getOpenAIReasoningModels:()=>la,getGroqVisionModels:()=>jt,getGeminiThinkingModels:()=>Xt,getFireworksFunctionModels:()=>Nt,getDeepSeekReasoningModels:()=>Kt,getAnthropicReasoningModels:()=>Ot,getActiveXAIModels:()=>Ea,getActiveOpenAIModels:()=>ma,getActiveGeminiModels:()=>Yt,getActiveAnthropicModels:()=>At,ZAI_PROVIDER:()=>$0,ZAI_MODELS:()=>_a,ZAI_DEFAULT_MODEL:()=>ri,XAI_PROVIDER:()=>fa,XAI_MODELS:()=>de,XAI_DEFAULT_MODEL:()=>xt,VERTEX_PROVIDER:()=>Ma,VERTEX_MODELS:()=>Qe,VERTEX_DEFAULT_MODEL:()=>gt,VERCEL_AI_GATEWAY_PROVIDER:()=>Ta,TOGETHER_PROVIDER:()=>Ra,TOGETHER_MODELS:()=>le,TOGETHER_DEFAULT_MODEL:()=>dt,SAP_AI_CORE_PROVIDER:()=>V0,SAP_AI_CORE_MODELS:()=>Da,SAP_AI_CORE_DEFAULT_MODEL:()=>oi,SAMBANOVA_PROVIDER:()=>ba,SAMBANOVA_MODELS:()=>Ce,SAMBANOVA_DEFAULT_MODEL:()=>lt,REQUESTY_PROVIDER:()=>wa,QWEN_PROVIDER:()=>O0,QWEN_MODELS:()=>ha,QWEN_DEFAULT_MODEL:()=>ii,QWEN_CODE_PROVIDER:()=>C0,QWEN_CODE_MODELS:()=>Wa,QWEN_CODE_DEFAULT_MODEL:()=>ni,OPENROUTER_PROVIDER:()=>xa,OPENROUTER_MODELS:()=>ut,OPENROUTER_DEFAULT_MODEL:()=>mt,OPENCODE_PROVIDER:()=>v0,OPENCODE_MODELS:()=>ga,OPENCODE_DEFAULT_MODEL:()=>ai,OPENAI_PROVIDER:()=>ua,OPENAI_MODELS:()=>ae,OPENAI_DEFAULT_MODEL:()=>st,OPENAI_CODEX_PROVIDER:()=>da,OPENAI_CODEX_DEFAULT_MODEL:()=>pt,OLLAMA_PROVIDER:()=>pa,OCA_PROVIDER:()=>ca,OCA_MODELS:()=>Se,OCA_DEFAULT_MODEL:()=>ct,NOUS_RESEARCH_PROVIDER:()=>ra,NOUS_RESEARCH_MODELS:()=>rt,NOUS_RESEARCH_DEFAULT_MODEL:()=>oa,NEBIUS_PROVIDER:()=>na,NEBIUS_MODELS:()=>Le,NEBIUS_DEFAULT_MODEL:()=>ot,MOONSHOT_PROVIDER:()=>ia,MOONSHOT_MODELS:()=>Oe,MOONSHOT_DEFAULT_MODEL:()=>nt,MISTRAL_PROVIDER:()=>aa,MINIMAX_PROVIDER:()=>ta,MINIMAX_MODELS:()=>Ae,MINIMAX_DEFAULT_MODEL:()=>it,LMSTUDIO_PROVIDER:()=>ea,LITELLM_PROVIDER:()=>zt,HUGGINGFACE_PROVIDER:()=>It,HUGGINGFACE_MODELS:()=>Zt,HUAWEI_CLOUD_MAAS_PROVIDER:()=>Jt,HICAP_PROVIDER:()=>Ht,GROQ_PROVIDER:()=>$t,GROQ_MODELS:()=>me,GROQ_DEFAULT_MODEL:()=>at,GEMINI_PROVIDER:()=>Ut,GEMINI_MODELS:()=>ee,GEMINI_DEFAULT_MODEL:()=>tt,FIREWORKS_PROVIDER:()=>yt,FIREWORKS_MODELS:()=>ue,FIREWORKS_DEFAULT_MODEL:()=>et,DOUBAO_PROVIDER:()=>c0,DOUBAO_MODELS:()=>Vt,DOUBAO_DEFAULT_MODEL:()=>ei,DIFY_PROVIDER:()=>Bt,DEFAULT_INTERNAL_OCA_BASE_URL:()=>te,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>J,DEEPSEEK_PROVIDER:()=>Ft,DEEPSEEK_MODELS:()=>pe,DEEPSEEK_DEFAULT_MODEL:()=>ze,CLINE_PROVIDER:()=>Ge,CLINE_MODELS:()=>Pe,CLINE_DEFAULT_MODEL:()=>ve,CLAUDE_CODE_PROVIDER:()=>qt,CLAUDE_CODE_MODELS:()=>Ze,CLAUDE_CODE_DEFAULT_MODEL:()=>Ie,CEREBRAS_PROVIDER:()=>Qt,CEREBRAS_MODELS:()=>_e,CEREBRAS_DEFAULT_MODEL:()=>Je,BEDROCK_PROVIDER:()=>Ct,BEDROCK_MODELS:()=>Ee,BEDROCK_DEFAULT_MODEL:()=>He,BASETEN_PROVIDER:()=>St,ASKSAGE_PROVIDER:()=>Lt,ANTHROPIC_PROVIDER:()=>Gt,ANTHROPIC_MODELS:()=>z,ANTHROPIC_DEFAULT_MODEL:()=>je,AIHUBMIX_PROVIDER:()=>Pt});var Kr={};x(Kr,{toProviderConfig:()=>Wi,supportsModelThinking:()=>ie,resolveProviderConfig:()=>bt,parseSettings:()=>hi,normalizeProviderId:()=>K,isProviderSupported:()=>Fr,hasModelCapability:()=>Fe,getModelPricing:()=>xi,createHandlerAsync:()=>Ci,createHandler:()=>Xa,ProviderSettingsSchema:()=>Sa,OPENAI_COMPATIBLE_PROVIDERS:()=>j,BUILT_IN_PROVIDERS:()=>Sn});import{z as he}from"zod";var or=he.enum(["connector.started","connector.stopping","message.received","message.completed","message.failed","session.started","session.reused","thread.reset","schedule.delivery.started","schedule.delivery.sent","schedule.delivery.failed"]),dc=he.object({adapter:he.string(),botUserName:he.string().optional(),event:or,payload:he.record(he.string(),he.unknown()),ts:he.string()});var J0=[{modelsDevKey:"openai",generatedProviderId:"openai",runtimeProviderId:"openai-native"},{modelsDevKey:"openai",generatedProviderId:"openai",runtimeProviderId:"openai-codex"},{modelsDevKey:"anthropic",generatedProviderId:"anthropic"},{modelsDevKey:"anthropic",generatedProviderId:"anthropic",runtimeProviderId:"claude-code"},{modelsDevKey:"google",generatedProviderId:"gemini"},{modelsDevKey:"deepseek",generatedProviderId:"deepseek"},{modelsDevKey:"xai",generatedProviderId:"xai"},{modelsDevKey:"togetherai",runtimeProviderId:"together",generatedProviderId:"together"},{modelsDevKey:"sap-ai-core",runtimeProviderId:"sapaicore",generatedProviderId:"sapaicore"},{modelsDevKey:"fireworks-ai",runtimeProviderId:"fireworks",generatedProviderId:"fireworks"},{modelsDevKey:"groq",runtimeProviderId:"groq",generatedProviderId:"groq"},{modelsDevKey:"cerebras",runtimeProviderId:"cerebras",generatedProviderId:"cerebras"},{modelsDevKey:"sambanova",runtimeProviderId:"sambanova",generatedProviderId:"sambanova"},{modelsDevKey:"nebius",runtimeProviderId:"nebius",generatedProviderId:"nebius"},{modelsDevKey:"huggingface",runtimeProviderId:"huggingface",generatedProviderId:"huggingface"},{modelsDevKey:"openrouter",runtimeProviderId:"cline",generatedProviderId:"openrouter"},{modelsDevKey:"ollama",runtimeProviderId:"ollama-cloud"},{modelsDevKey:"ollama-cloud",generatedProviderId:"ollama"},{modelsDevKey:"vercel",runtimeProviderId:"dify",generatedProviderId:"vercel-ai-gateway"},{modelsDevKey:"vercel",generatedProviderId:"vercel-ai-gateway"},{modelsDevKey:"aihubmix",runtimeProviderId:"aihubmix",generatedProviderId:"aihubmix"},{modelsDevKey:"hicap",runtimeProviderId:"hicap"},{modelsDevKey:"nous-research",runtimeProviderId:"nousResearch"},{modelsDevKey:"huawei-cloud-maas",runtimeProviderId:"huawei-cloud-maas"},{modelsDevKey:"baseten",runtimeProviderId:"baseten",generatedProviderId:"baseten"},{modelsDevKey:"google-vertex-anthropic",generatedProviderId:"vertex"},{modelsDevKey:"lmstudio",generatedProviderId:"lmstudio"},{modelsDevKey:"zai",generatedProviderId:"zai"},{modelsDevKey:"requesty",generatedProviderId:"requesty"},{modelsDevKey:"amazon-bedrock",generatedProviderId:"bedrock"},{modelsDevKey:"moonshotai",generatedProviderId:"moonshot"},{modelsDevKey:"minimax",generatedProviderId:"minimax"}];function gc(e){return Object.fromEntries(J0.flatMap((t)=>{let a=e==="modelsDevKey"?t.modelsDevKey:t.generatedProviderId;return a?[[t.modelsDevKey,a]]:[]}))}var Z0=gc("generatedProviderId");function rr(e){return[...new Set(e)]}function Ga(e){let t=J0.flatMap((a)=>{if(!a.generatedProviderId)return[];if(a.generatedProviderId===e||a.runtimeProviderId===e)return[a.generatedProviderId];return[]});if(e==="nousResearch")return rr([...t,"nousresearch",e]);return rr([...t,e])}import{z as Q}from"zod";var xc=Q.object({agentId:Q.string(),conversationId:Q.string(),iteration:Q.number(),abortSignal:Q.custom().optional(),metadata:Q.record(Q.string(),Q.unknown()).optional()}),hc=Q.object({id:Q.string(),name:Q.string(),input:Q.unknown(),output:Q.unknown(),error:Q.string().optional(),durationMs:Q.number(),startedAt:Q.date(),endedAt:Q.date()});class We extends Error{constructor(e,t){super(`${e} at position ${t}`);this.position=t}}function cr(e){return/^[0-9A-Fa-f]$/.test(e)}function be(e){return e>="0"&&e<="9"}function sr(e){return e>=" "}function Aa(e){return`,:[]/{}()
2
- +`.includes(e)}function I0(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="_"||e==="$"}function z0(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="_"||e==="$"||e>="0"&&e<="9"}var en=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,tn=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function an(e){return`,[]/{}
3
- +`.includes(e)}function nn(e){return Oa(e)||Wc.test(e)}var Wc=/^[[{\w-]$/;function pr(e){return e===`
4
- `||e==="\r"||e==="\t"||e==="\b"||e==="\f"}function we(e,t){let a=e.charCodeAt(t);return a===32||a===10||a===9||a===13}function ur(e,t){let a=e.charCodeAt(t);return a===32||a===9||a===13}function mr(e,t){let a=e.charCodeAt(t);return a===160||a===6158||a>=8192&&a<=8203||a===8239||a===8287||a===12288||a===65279}function Oa(e){return on(e)||di(e)}function on(e){return e==='"'||e==="“"||e==="”"}function rn(e){return e==='"'}function di(e){return e==="'"||e==="‘"||e==="’"||e==="`"||e==="´"}function cn(e){return e==="'"}function wt(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=e.lastIndexOf(t);return i!==-1?e.substring(0,i)+(a?"":e.substring(i+1)):e}function N(e,t){let a=e.length;if(!we(e,a-1))return e+t;while(we(e,a-1))a--;return e.substring(0,a)+t+e.substring(a)}function lr(e,t,a){return e.substring(0,t)+e.substring(t+a)}function dr(e){return/[,\n][ \t\r]*$/.test(e)}var wc={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},bc={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
5
- `,r:"\r",t:"\t"};function sn(e){let t=0,a="";if(p(["```","[```","{```"]),!o())Yr();p(["```","```]","```}"]);let n=D(",");if(n)r();if(nn(e[t])&&dr(a)){if(!n)a=N(a,",");P()}else if(n)a=wt(a,",");while(e[t]==="}"||e[t]==="]")t++,r();if(t>=e.length)return a;Ur();function o(){r();let d=v()||h()||R()||f()||Y()||y(!1)||C();return r(),d}function r(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,M=t,_=c(d);do if(_=s(),_)_=c(d);while(_);return t>M}function c(d){let M=d?we:ur,_="";while(!0)if(M(e,t))_+=e[t],t++;else if(mr(e,t))_+=" ",t++;else break;if(_.length>0)return a+=_,!0;return!1}function s(){if(e[t]==="/"&&e[t+1]==="*"){while(t<e.length&&!Dc(e,t))t++;return t+=2,!0}if(e[t]==="/"&&e[t+1]==="/"){while(t<e.length&&e[t]!==`
6
- `)t++;return!0}return!1}function p(d){if(g(d)){if(I0(e[t]))while(t<e.length&&z0(e[t]))t++;return r(),!0}return!1}function g(d){c(!0);for(let M of d){let _=t+M.length;if(e.slice(t,_)===M)return t=_,!0}return!1}function D(d){if(e[t]===d)return a+=e[t],t++,!0;return!1}function b(d){if(e[t]===d)return t++,!0;return!1}function T(){return b("\\")}function G(){if(r(),e[t]==="."&&e[t+1]==="."&&e[t+2]===".")return t+=3,r(),b(","),!0;return!1}function v(){if(e[t]==="{"){if(a+="{",t++,r(),b(","))r();let d=!0;while(t<e.length&&e[t]!=="}"){let M;if(!d){if(M=D(","),!M)a=N(a,",");r()}else M=!0,d=!1;if(G(),!(R()||y(!0))){if(e[t]==="}"||e[t]==="{"||e[t]==="]"||e[t]==="["||e[t]===void 0)a=wt(a,",");else Xr();break}r();let $a=D(":"),Te=t>=e.length;if(!$a)if(nn(e[t])||Te)a=N(a,":");else Cn();if(!o())if($a||Te)a+="null";else Cn()}if(e[t]==="}")a+="}",t++;else a=N(a,"}");return!0}return!1}function h(){if(e[t]==="["){if(a+="[",t++,r(),b(","))r();let d=!0;while(t<e.length&&e[t]!=="]"){if(!d){if(!D(","))a=N(a,",")}else d=!1;if(G(),!o()){a=wt(a,",");break}}if(e[t]==="]")a+="]",t++;else a=N(a,"]");return!0}return!1}function P(){let d=!0,M=!0;while(M){if(!d){if(!D(","))a=N(a,",")}else d=!1;M=o()}if(!M)a=wt(a,",");a=`[
7
- ${a}
8
- ]`}function R(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,_=e[t]==="\\";if(_)t++,_=!0;if(Oa(e[t])){let $a=rn(e[t])?rn:cn(e[t])?cn:di(e[t])?di:on,Te=t,ft=a.length,O='"';t++;while(!0){if(t>=e.length){let l=F(t-1);if(!d&&Aa(e.charAt(l)))return t=Te,a=a.substring(0,ft),R(!0);return O=N(O,'"'),a+=O,!0}if(t===M)return O=N(O,'"'),a+=O,!0;if($a(e[t])){let l=t,Qi=O.length;if(O+='"',t++,a+=O,r(!1),d||t>=e.length||Aa(e[t])||Oa(e[t])||be(e[t]))return E(),!0;let re=F(l-1),Qn=e.charAt(re);if(Qn===",")return t=Te,a=a.substring(0,ft),R(!1,re);if(Aa(Qn))return t=Te,a=a.substring(0,ft),R(!0);a=a.substring(0,ft),t=l+1,O=`${O.substring(0,Qi)}\\${O.substring(Qi)}`}else if(d&&an(e[t])){if(e[t-1]===":"&&en.test(e.substring(Te+1,t+2)))while(t<e.length&&tn.test(e[t]))O+=e[t],t++;return O=N(O,'"'),a+=O,E(),!0}else if(e[t]==="\\"){let l=e.charAt(t+1);if(bc[l]!==void 0)O+=e.slice(t,t+2),t+=2;else if(l==="u"){let re=2;while(re<6&&cr(e[t+re]))re++;if(re===6)O+=e.slice(t,t+6),t+=6;else if(t+re>=e.length)t=e.length;else $r()}else O+=l,t+=2}else{let l=e.charAt(t);if(l==='"'&&e[t-1]!=="\\")O+=`\\${l}`,t++;else if(pr(l))O+=wc[l],t++;else{if(!sr(l))Nr(l);O+=l,t++}}if(_)T()}}return!1}function E(){let d=!1;r();while(e[t]==="+"){d=!0,t++,r(),a=wt(a,'"',!0);let M=a.length;if(R())a=lr(a,M,1);else a=N(a,'"')}return d}function f(){let d=t;if(e[t]==="-"){if(t++,X())return Ue(d),!0;if(!be(e[t]))return t=d,!1}while(be(e[t]))t++;if(e[t]==="."){if(t++,X())return Ue(d),!0;if(!be(e[t]))return t=d,!1;while(be(e[t]))t++}if(e[t]==="e"||e[t]==="E"){if(t++,e[t]==="-"||e[t]==="+")t++;if(X())return Ue(d),!0;if(!be(e[t]))return t=d,!1;while(be(e[t]))t++}if(!X())return t=d,!1;if(t>d){let M=e.slice(d,t),_=/^0\d/.test(M);return a+=_?`"${M}"`:M,!0}return!1}function Y(){return q("true","true")||q("false","false")||q("null","null")||q("True","true")||q("False","false")||q("None","null")}function q(d,M){if(e.slice(t,t+d.length)===d)return a+=M,t+=d.length,!0;return!1}function y(d){let M=t;if(I0(e[t])){while(t<e.length&&z0(e[t]))t++;let _=t;while(we(e,_))_++;if(e[_]==="("){if(t=_+1,o(),e[t]===")"){if(t++,e[t]===";")t++}return!0}}while(t<e.length&&!an(e[t])&&!Oa(e[t])&&(!d||e[t]!==":"))t++;if(e[t-1]===":"&&en.test(e.substring(M,t+2)))while(t<e.length&&tn.test(e[t]))t++;if(t>M){while(we(e,t-1)&&t>0)t--;let _=e.slice(M,t);if(a+=_==="undefined"?"null":JSON.stringify(_),e[t]==='"')t++;return!0}}function C(){if(e[t]==="/"){let d=t;t++;while(t<e.length&&(e[t]!=="/"||e[t-1]==="\\"))t++;return t++,a+=JSON.stringify(e.substring(d,t)),!0}}function F(d){let M=d;while(M>0&&we(e,M))M--;return M}function X(){return t>=e.length||Aa(e[t])||we(e,t)}function Ue(d){a+=`${e.slice(d,t)}0`}function Nr(d){throw new We(`Invalid character ${JSON.stringify(d)}`,t)}function Ur(){throw new We(`Unexpected character ${JSON.stringify(e[t])}`,t)}function Yr(){throw new We("Unexpected end of json string",e.length)}function Xr(){throw new We("Object key expected",t)}function Cn(){throw new We("Colon expected",t)}function $r(){let d=e.slice(t,t+6);throw new We(`Invalid unicode character "${d}"`,t)}}function Dc(e,t){return e[t]==="*"&&e[t+1]==="/"}function gr(e){return JSON.parse(e)}function gi(e){if(typeof e!=="string")return e;let t=e.trimStart();if(!(t.startsWith("{")||t.startsWith("[")))return e;try{return gr(t)}catch{try{return gr(sn(t))}catch{return e}}}import{z as vu}from"zod";function V(e,t){return`<file_content path="${e}">
1
+ import{createRequire as Ic}from"node:module";var Hc=Object.defineProperty;var Jc=(e)=>e;function Zc(e,t){this[e]=Jc.bind(null,t)}var x=(e,t)=>{for(var i in t)Hc(e,i,{get:t[i],enumerable:!0,configurable:!0,set:Zc.bind(t,i)})};var W=(e,t)=>()=>(e&&(t=e(e=0)),t);var ji=Ic(import.meta.url);var zi;var qn=W(()=>{zi={version:1774365323810,providers:{aihubmix:{"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"claude-sonnet-4-6-think":{id:"claude-sonnet-4-6-think",name:"Claude Sonnet 4.6 Think",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"qwen3.5-plus":{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.11,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"minimax-m2.5":{id:"minimax-m2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:1.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"coding-glm-5-free":{id:"coding-glm-5-free",name:"Coding-GLM-5-Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"glm-5":{id:"glm-5",name:"GLM-5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.88,output:2.82,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-05"},"claude-opus-4-6-think":{id:"claude-opus-4-6-think",name:"Claude Opus 4.6 Think",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-05"},"qwen3-coder-next":{id:"qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.14,output:0.55,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-04"},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27"},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"coding-minimax-m2.1-free":{id:"coding-minimax-m2.1-free",name:"Coding MiniMax M2.1 Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"minimax-m2.1":{id:"minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:1.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"coding-glm-4.7":{id:"coding-glm-4.7",name:"Coding-GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1.1,cacheRead:0.548,cacheWrite:0},releaseDate:"2025-12-22"},"coding-glm-4.7-free":{id:"coding-glm-4.7-free",name:"Coding GLM 4.7 Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1.1,cacheRead:0.548,cacheWrite:0},releaseDate:"2025-12-22"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.14,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-08"},"deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek-V3.2",contextWindow:131000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"deepseek-v3.2-think":{id:"deepseek-v3.2-think",name:"DeepSeek-V3.2-Think",contextWindow:131000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-25"},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:65000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-11-19"},"gemini-3-pro-preview-search":{id:"gemini-3-pro-preview-search",name:"Gemini 3 Pro Preview Search",contextWindow:1e6,maxTokens:65000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-11-19"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-15"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-11-15"},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-11-15"},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.1,output:5.5,cacheRead:0.11,cacheWrite:1.25},releaseDate:"2025-09-29"},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3.3,output:16.5,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"qwen3-max-2026-01-23":{id:"qwen3-max-2026-01-23",name:"Qwen3 Max",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.34,output:1.37,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1e6,maxTokens:65000,capabilities:["images","tools","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-09-15"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:2000000,maxTokens:65000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.25,output:5,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5":{id:"gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:20,cacheRead:2.5,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5-Mini",contextWindow:200000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.5,output:6,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5-Nano",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.5,output:2,cacheRead:0.25,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5-Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:7,output:28,cacheRead:3.5,cacheWrite:0},releaseDate:"2025-09-15"},"Kimi-K2-0905":{id:"Kimi-K2-0905",name:"Kimi K2 0905",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:16.5,output:82.5,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"qwen3-coder-480b-a35b-instruct":{id:"qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:131000,capabilities:["tools","temperature"],pricing:{input:0.82,output:3.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"qwen3-235b-a22b-instruct-2507":{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:0.28,output:1.12,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30"},"qwen3-235b-a22b-thinking-2507":{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"}},anthropic:{"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-01"},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"claude-opus-4-1-20250805":{id:"claude-opus-4-1-20250805",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"claude-opus-4-0":{id:"claude-opus-4-0",name:"Claude Opus 4 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"claude-opus-4-20250514":{id:"claude-opus-4-20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"claude-sonnet-4-0":{id:"claude-sonnet-4-0",name:"Claude Sonnet 4 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"claude-sonnet-4-20250514":{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"claude-3-7-sonnet-20250219":{id:"claude-3-7-sonnet-20250219",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"claude-3-7-sonnet-latest":{id:"claude-3-7-sonnet-latest",name:"Claude Sonnet 3.7 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"claude-3-5-haiku-20241022":{id:"claude-3-5-haiku-20241022",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"claude-3-5-haiku-latest":{id:"claude-3-5-haiku-latest",name:"Claude Haiku 3.5 (latest)",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"claude-3-5-sonnet-20241022":{id:"claude-3-5-sonnet-20241022",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"claude-3-5-sonnet-20240620":{id:"claude-3-5-sonnet-20240620",name:"Claude Sonnet 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20"},"claude-3-haiku-20240307":{id:"claude-3-haiku-20240307",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13"},"claude-3-sonnet-20240229":{id:"claude-3-sonnet-20240229",name:"Claude Sonnet 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:0.3},releaseDate:"2024-03-04"},"claude-3-opus-20240229":{id:"claude-3-opus-20240229",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29"}},baseten:{"nvidia/Nemotron-120B-A12B":{id:"nvidia/Nemotron-120B-A12B",name:"Nemotron 3 Super",contextWindow:262144,maxTokens:32678,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204000,maxTokens:10200,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.95,output:3.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-30"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:1e4,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-16"},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:164000,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3 0324",contextWindow:164000,maxTokens:131000,capabilities:["tools","temperature"],pricing:{input:0.77,output:0.77,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-24"}},bedrock:{"anthropic.claude-sonnet-4-6":{id:"anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"eu.anthropic.claude-sonnet-4-6":{id:"eu.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (EU)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"global.anthropic.claude-sonnet-4-6":{id:"global.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Global)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"mistral.devstral-2-123b":{id:"mistral.devstral-2-123b",name:"Devstral 2 123B",contextWindow:256000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-17"},"us.anthropic.claude-sonnet-4-6":{id:"us.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (US)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"minimax.minimax-m2.5":{id:"minimax.minimax-m2.5",name:"MiniMax M2.5",contextWindow:1e6,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"zai.glm-5":{id:"zai.glm-5",name:"GLM-5",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"deepseek.v3.2":{id:"deepseek.v3.2",name:"DeepSeek-V3.2",contextWindow:163840,maxTokens:81920,capabilities:["tools","reasoning","temperature"],pricing:{input:0.62,output:1.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06"},"moonshotai.kimi-k2.5":{id:"moonshotai.kimi-k2.5",name:"Kimi K2.5",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06"},"anthropic.claude-opus-4-6-v1":{id:"anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"eu.anthropic.claude-opus-4-6-v1":{id:"eu.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (EU)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"global.anthropic.claude-opus-4-6-v1":{id:"global.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (Global)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"us.anthropic.claude-opus-4-6-v1":{id:"us.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (US)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"zai.glm-4.7-flash":{id:"zai.glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19"},"minimax.minimax-m2.1":{id:"minimax.minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"nvidia.nemotron-nano-3-30b":{id:"nvidia.nemotron-nano-3-30b",name:"NVIDIA Nemotron Nano 3 30B",contextWindow:128000,maxTokens:4096,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"zai.glm-4.7":{id:"zai.glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"mistral.magistral-small-2509":{id:"mistral.magistral-small-2509",name:"Magistral Small 1.2",contextWindow:128000,maxTokens:40000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"mistral.ministral-3-3b-instruct":{id:"mistral.ministral-3-3b-instruct",name:"Ministral 3 3B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"mistral.mistral-large-3-675b-instruct":{id:"mistral.mistral-large-3-675b-instruct",name:"Mistral Large 3",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"moonshot.kimi-k2-thinking":{id:"moonshot.kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"anthropic.claude-opus-4-5-20251101-v1:0":{id:"anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"eu.anthropic.claude-opus-4-5-20251101-v1:0":{id:"eu.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"global.anthropic.claude-opus-4-5-20251101-v1:0":{id:"global.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"us.anthropic.claude-opus-4-5-20251101-v1:0":{id:"us.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"minimax.minimax-m2":{id:"minimax.minimax-m2",name:"MiniMax M2",contextWindow:204608,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-27"},"anthropic.claude-haiku-4-5-20251001-v1:0":{id:"anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"eu.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"eu.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"global.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"global.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"us.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"us.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"qwen.qwen3-vl-235b-a22b":{id:"qwen.qwen3-vl-235b-a22b",name:"Qwen/Qwen3-VL-235B-A22B-Instruct",contextWindow:262000,maxTokens:13100,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-04"},"anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"eu.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"eu.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"global.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"global.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"us.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"deepseek.v3-v1:0":{id:"deepseek.v3-v1:0",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:81920,capabilities:["tools","reasoning","temperature"],pricing:{input:0.58,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-235b-a22b-2507-v1:0":{id:"qwen.qwen3-235b-a22b-2507-v1:0",name:"Qwen3 235B A22B 2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-32b-v1:0":{id:"qwen.qwen3-32b-v1:0",name:"Qwen3 32B (dense)",contextWindow:16384,maxTokens:819,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-coder-30b-a3b-v1:0":{id:"qwen.qwen3-coder-30b-a3b-v1:0",name:"Qwen3 Coder 30B A3B Instruct",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-coder-480b-a35b-v1:0":{id:"qwen.qwen3-coder-480b-a35b-v1:0",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:131072,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-next-80b-a3b":{id:"qwen.qwen3-next-80b-a3b",name:"Qwen/Qwen3-Next-80B-A3B-Instruct",contextWindow:262000,maxTokens:13100,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"anthropic.claude-opus-4-1-20250805-v1:0":{id:"anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"us.anthropic.claude-opus-4-1-20250805-v1:0":{id:"us.anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1 (US)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"google.gemma-3-27b-it":{id:"google.gemma-3-27b-it",name:"Google Gemma 3 27B Instruct",contextWindow:202752,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.12,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-27"},"mistral.voxtral-small-24b-2507":{id:"mistral.voxtral-small-24b-2507",name:"Voxtral Small 24B 2507",contextWindow:32000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.35,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-01"},"anthropic.claude-opus-4-20250514-v1:0":{id:"anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic.claude-sonnet-4-20250514-v1:0":{id:"anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"eu.anthropic.claude-sonnet-4-20250514-v1:0":{id:"eu.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"global.anthropic.claude-sonnet-4-20250514-v1:0":{id:"global.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"us.anthropic.claude-opus-4-20250514-v1:0":{id:"us.anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4 (US)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"us.anthropic.claude-sonnet-4-20250514-v1:0":{id:"us.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"writer.palmyra-x4-v1:0":{id:"writer.palmyra-x4-v1:0",name:"Palmyra X4",contextWindow:122880,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"writer.palmyra-x5-v1:0":{id:"writer.palmyra-x5-v1:0",name:"Palmyra X5",contextWindow:1040000,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"mistral.pixtral-large-2502-v1:0":{id:"mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02)",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-08"},"meta.llama4-maverick-17b-instruct-v1:0":{id:"meta.llama4-maverick-17b-instruct-v1:0",name:"Llama 4 Maverick 17B Instruct",contextWindow:1e6,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.24,output:0.97,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta.llama4-scout-17b-instruct-v1:0":{id:"meta.llama4-scout-17b-instruct-v1:0",name:"Llama 4 Scout 17B Instruct",contextWindow:3500000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"anthropic.claude-3-7-sonnet-20250219-v1:0":{id:"anthropic.claude-3-7-sonnet-20250219-v1:0",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"deepseek.r1-v1:0":{id:"deepseek.r1-v1:0",name:"DeepSeek-R1",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"meta.llama3-3-70b-instruct-v1:0":{id:"meta.llama3-3-70b-instruct-v1:0",name:"Llama 3.3 70B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"amazon.nova-lite-v1:0":{id:"amazon.nova-lite-v1:0",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-micro-v1:0":{id:"amazon.nova-micro-v1:0",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-premier-v1:0":{id:"amazon.nova-premier-v1:0",name:"Nova Premier",contextWindow:1e6,maxTokens:16384,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2.5,output:12.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-pro-v1:0":{id:"amazon.nova-pro-v1:0",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-2-lite-v1:0":{id:"amazon.nova-2-lite-v1:0",name:"Nova 2 Lite",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.33,output:2.75,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"google.gemma-3-4b-it":{id:"google.gemma-3-4b-it",name:"Gemma 3 4B IT",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.04,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"mistral.ministral-3-14b-instruct":{id:"mistral.ministral-3-14b-instruct",name:"Ministral 14B 3.0",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"mistral.ministral-3-8b-instruct":{id:"mistral.ministral-3-8b-instruct",name:"Ministral 3 8B",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"mistral.voxtral-mini-3b-2507":{id:"mistral.voxtral-mini-3b-2507",name:"Voxtral Mini 3B 2507",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"nvidia.nemotron-nano-12b-v2":{id:"nvidia.nemotron-nano-12b-v2",name:"NVIDIA Nemotron Nano 12B v2 VL BF16",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"nvidia.nemotron-nano-9b-v2":{id:"nvidia.nemotron-nano-9b-v2",name:"NVIDIA Nemotron Nano 9B v2",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.06,output:0.23,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-120b-1:0":{id:"openai.gpt-oss-120b-1:0",name:"gpt-oss-120b",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-20b-1:0":{id:"openai.gpt-oss-20b-1:0",name:"gpt-oss-20b",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-safeguard-120b":{id:"openai.gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-safeguard-20b":{id:"openai.gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"anthropic.claude-3-5-haiku-20241022-v1:0":{id:"anthropic.claude-3-5-haiku-20241022-v1:0",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"anthropic.claude-3-5-sonnet-20241022-v2:0":{id:"anthropic.claude-3-5-sonnet-20241022-v2:0",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"meta.llama3-2-11b-instruct-v1:0":{id:"meta.llama3-2-11b-instruct-v1:0",name:"Llama 3.2 11B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.16,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-2-1b-instruct-v1:0":{id:"meta.llama3-2-1b-instruct-v1:0",name:"Llama 3.2 1B Instruct",contextWindow:131000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-2-3b-instruct-v1:0":{id:"meta.llama3-2-3b-instruct-v1:0",name:"Llama 3.2 3B Instruct",contextWindow:131000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-2-90b-instruct-v1:0":{id:"meta.llama3-2-90b-instruct-v1:0",name:"Llama 3.2 90B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-1-405b-instruct-v1:0":{id:"meta.llama3-1-405b-instruct-v1:0",name:"Llama 3.1 405B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:2.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"meta.llama3-1-70b-instruct-v1:0":{id:"meta.llama3-1-70b-instruct-v1:0",name:"Llama 3.1 70B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"meta.llama3-1-8b-instruct-v1:0":{id:"meta.llama3-1-8b-instruct-v1:0",name:"Llama 3.1 8B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"anthropic.claude-3-5-sonnet-20240620-v1:0":{id:"anthropic.claude-3-5-sonnet-20240620-v1:0",name:"Claude Sonnet 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20"},"anthropic.claude-3-haiku-20240307-v1:0":{id:"anthropic.claude-3-haiku-20240307-v1:0",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2024-03-13"}},cerebras:{"zai-glm-4.7":{id:"zai-glm-4.7",name:"Z.AI GLM-4.7",contextWindow:131072,maxTokens:40000,capabilities:["tools","temperature"],pricing:{input:2.25,output:2.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-10"},"gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.69,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"qwen-3-235b-a22b-instruct-2507":{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen 3 235B Instruct",contextWindow:131000,maxTokens:32000,capabilities:["tools","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22"},"llama3.1-8b":{id:"llama3.1-8b",name:"Llama 3.1 8B",contextWindow:32000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"}},deepseek:{"deepseek-chat":{id:"deepseek-chat",name:"DeepSeek Chat",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.28,output:0.42,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01"},"deepseek-reasoner":{id:"deepseek-reasoner",name:"DeepSeek Reasoner",contextWindow:128000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.42,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01"}},fireworks:{"accounts/fireworks/models/minimax-m2p5":{id:"accounts/fireworks/models/minimax-m2p5",name:"MiniMax-M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12"},"accounts/fireworks/models/glm-5":{id:"accounts/fireworks/models/glm-5",name:"GLM 5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-02-11"},"accounts/fireworks/models/kimi-k2p5":{id:"accounts/fireworks/models/kimi-k2p5",name:"Kimi K2.5",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27"},"accounts/fireworks/routers/kimi-k2p5-turbo":{id:"accounts/fireworks/routers/kimi-k2p5-turbo",name:"Kimi K2.5 Turbo",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"accounts/fireworks/models/minimax-m2p1":{id:"accounts/fireworks/models/minimax-m2p1",name:"MiniMax-M2.1",contextWindow:200000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-23"},"accounts/fireworks/models/glm-4p7":{id:"accounts/fireworks/models/glm-4p7",name:"GLM 4.7",contextWindow:198000,maxTokens:9900,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-12-22"},"accounts/fireworks/models/deepseek-v3p2":{id:"accounts/fireworks/models/deepseek-v3p2",name:"DeepSeek V3.2",contextWindow:160000,maxTokens:8000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.56,output:1.68,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-12-01"},"accounts/fireworks/models/kimi-k2-thinking":{id:"accounts/fireworks/models/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-11-06"},"accounts/fireworks/models/deepseek-v3p1":{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.56,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"accounts/fireworks/models/gpt-oss-120b":{id:"accounts/fireworks/models/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"accounts/fireworks/models/gpt-oss-20b":{id:"accounts/fireworks/models/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"accounts/fireworks/models/glm-4p5-air":{id:"accounts/fireworks/models/glm-4p5-air",name:"GLM 4.5 Air",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"accounts/fireworks/models/glm-4p5":{id:"accounts/fireworks/models/glm-4p5",name:"GLM 4.5",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.55,output:2.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"accounts/fireworks/models/kimi-k2-instruct":{id:"accounts/fireworks/models/kimi-k2-instruct",name:"Kimi K2 Instruct",contextWindow:128000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"}},gemini:{"gemini-3.1-flash-lite-preview":{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03"},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19"},"gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17"},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18"},"gemini-2.5-flash-lite-preview-09-2025":{id:"gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-2.5-flash-preview-09-2025":{id:"gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-flash-latest":{id:"gemini-flash-latest",name:"Gemini Flash Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-flash-lite-latest":{id:"gemini-flash-lite-latest",name:"Gemini Flash-Lite Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-live-2.5-flash":{id:"gemini-live-2.5-flash",name:"Gemini Live 2.5 Flash",contextWindow:128000,maxTokens:8000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-01"},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"gemini-2.5-flash-lite-preview-06-17":{id:"gemini-2.5-flash-lite-preview-06-17",name:"Gemini 2.5 Flash Lite Preview 06-17",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"gemini-live-2.5-flash-preview-native-audio":{id:"gemini-live-2.5-flash-preview-native-audio",name:"Gemini Live 2.5 Flash Preview Native Audio",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17"},"gemini-2.5-pro-preview-06-05":{id:"gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05"},"gemini-2.5-flash-preview-05-20":{id:"gemini-2.5-flash-preview-05-20",name:"Gemini 2.5 Flash Preview 05-20",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-05-20"},"gemini-2.5-pro-preview-05-06":{id:"gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06"},"gemini-2.5-flash-preview-04-17":{id:"gemini-2.5-flash-preview-04-17",name:"Gemini 2.5 Flash Preview 04-17",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-04-17"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-03-20"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20"},"gemini-2.0-flash":{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11"},"gemini-2.0-flash-lite":{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"gemini-1.5-flash-8b":{id:"gemini-1.5-flash-8b",name:"Gemini 1.5 Flash-8B",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.0375,output:0.15,cacheRead:0.01,cacheWrite:0},releaseDate:"2024-10-03"},"gemini-1.5-flash":{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0.01875,cacheWrite:0},releaseDate:"2024-05-14"},"gemini-1.5-pro":{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:1.25,output:5,cacheRead:0.3125,cacheWrite:0},releaseDate:"2024-02-15"}},groq:{"moonshotai/kimi-k2-instruct-0905":{id:"moonshotai/kimi-k2-instruct-0905",name:"Kimi K2 Instruct 0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"meta-llama/llama-4-maverick-17b-128e-instruct":{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick 17B",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta-llama/llama-4-scout-17b-16e-instruct":{id:"meta-llama/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.11,output:0.34,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen3 32B",contextWindow:131072,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:0.59,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-23"},"llama-3.3-70b-versatile":{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B Versatile",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.59,output:0.79,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"llama-3.1-8b-instant":{id:"llama-3.1-8b-instant",name:"Llama 3.1 8B Instant",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"}},huggingface:{"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11"},"Qwen/Qwen3-Coder-Next":{id:"Qwen/Qwen3-Coder-Next",name:"Qwen3-Coder-Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03"},"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5-397B-A17B",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-01"},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22"},"XiaomiMiMo/MiMo-V2-Flash":{id:"XiaomiMiMo/MiMo-V2-Flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:4096,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-16"},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.3,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi-K2-Instruct-0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04"},"zai-org/GLM-4.7-Flash":{id:"zai-org/GLM-4.7-Flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-08"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-14"},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-28"}},lmstudio:{"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"qwen/qwen3-30b-a3b-2507":{id:"qwen/qwen3-30b-a3b-2507",name:"Qwen3 30B A3B 2507",contextWindow:262144,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30"},"qwen/qwen3-coder-30b":{id:"qwen/qwen3-coder-30b",name:"Qwen3 Coder 30B",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"}},minimax:{"MiniMax-M2.7":{id:"MiniMax-M2.7",name:"MiniMax-M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18"},"MiniMax-M2.7-highspeed":{id:"MiniMax-M2.7-highspeed",name:"MiniMax-M2.7-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18"},"MiniMax-M2.5-highspeed":{id:"MiniMax-M2.5-highspeed",name:"MiniMax-M2.5-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-02-13"},"MiniMax-M2.5":{id:"MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12"},"MiniMax-M2.1":{id:"MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"MiniMax-M2":{id:"MiniMax-M2",name:"MiniMax-M2",contextWindow:196608,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-27"}},moonshot:{"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"kimi-k2-thinking-turbo":{id:"kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"kimi-k2-0905-preview":{id:"kimi-k2-0905-preview",name:"Kimi K2 0905",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-09-05"},"kimi-k2-turbo-preview":{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:2.4,output:10,cacheRead:0.6,cacheWrite:0},releaseDate:"2025-09-05"},"kimi-k2-0711-preview":{id:"kimi-k2-0711-preview",name:"Kimi K2 0711",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-07-14"}},nebius:{"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron-3-Super-120B-A12B",contextWindow:256000,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:200000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0.1,cacheWrite:1},releaseDate:"2026-03-01"},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-01"},"NousResearch/Hermes-4-405B":{id:"NousResearch/Hermes-4-405B",name:"Hermes-4-405B",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2026-01-30"},"NousResearch/Hermes-4-70B":{id:"NousResearch/Hermes-4-70B",name:"Hermes-4-70B",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0.013,cacheWrite:0.16},releaseDate:"2026-01-30"},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3-30B-A3B-Instruct-2507",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-30B-A3B-Thinking-2507":{id:"Qwen/Qwen3-30B-A3B-Thinking-2507",name:"Qwen3-30B-A3B-Thinking-2507",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-32B":{id:"Qwen/Qwen3-32B",name:"Qwen3-32B",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-32B-fast":{id:"Qwen/Qwen3-32B-fast",name:"Qwen3-32B (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-28"},"Qwen/Qwen3-Coder-30B-A3B-Instruct":{id:"Qwen/Qwen3-Coder-30B-A3B-Instruct",name:"Qwen3-Coder-30B-A3B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:1.2,cacheRead:0.015,cacheWrite:0.18},releaseDate:"2026-01-28"},"PrimeIntellect/INTELLECT-3":{id:"PrimeIntellect/INTELLECT-3",name:"INTELLECT-3",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-25"},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",contextWindow:163000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.45,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-01-20"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma-3-27b-it",contextWindow:110000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-20"},"google/gemma-3-27b-it-fast":{id:"google/gemma-3-27b-it-fast",name:"Gemma-3-27b-it (Fast)",contextWindow:110000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-20"},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.8,output:2.4,cacheRead:0.08,cacheWrite:1},releaseDate:"2026-01-15"},"zai-org/GLM-4.7-FP8":{id:"zai-org/GLM-4.7-FP8",name:"GLM-4.7 (FP8)",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2026-01-15"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"gpt-oss-120b",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0.18},releaseDate:"2026-01-10"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"gpt-oss-20b",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0.005,cacheWrite:0.06},releaseDate:"2026-01-10"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",contextWindow:200000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.5,output:2.4,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2026-01-05"},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2026-01-05"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15"},"moonshotai/Kimi-K2.5-fast":{id:"moonshotai/Kimi-K2.5-fast",name:"Kimi-K2.5-fast",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15"},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0.013,cacheWrite:0.16},releaseDate:"2025-12-05"},"meta-llama/Llama-3.3-70B-Instruct-fast":{id:"meta-llama/Llama-3.3-70B-Instruct-fast",name:"Llama-3.3-70B-Instruct (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0.31},releaseDate:"2025-12-05"},"zai-org/GLM-4.5":{id:"zai-org/GLM-4.5",name:"GLM-4.5",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-11-15"},"zai-org/GLM-4.5-Air":{id:"zai-org/GLM-4.5-Air",name:"GLM-4.5-Air",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2025-11-15"},"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B":{id:"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",name:"Nemotron-3-Nano-30B-A3B",contextWindow:32000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0.006,cacheWrite:0.075},releaseDate:"2025-08-10"},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.4,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek-V3-0324",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0.05,cacheWrite:0.1875},releaseDate:"2025-03-24"},"deepseek-ai/DeepSeek-V3-0324-fast":{id:"deepseek-ai/DeepSeek-V3-0324-fast",name:"DeepSeek-V3-0324 (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.75,output:2.25,cacheRead:0.075,cacheWrite:0.28125},releaseDate:"2025-03-24"},"nvidia/Nemotron-Nano-V2-12b":{id:"nvidia/Nemotron-Nano-V2-12b",name:"Nemotron-Nano-V2-12b",contextWindow:32000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.2,cacheRead:0.007,cacheWrite:0.08},releaseDate:"2025-03-15"},"Qwen/Qwen2.5-VL-72B-Instruct":{id:"Qwen/Qwen2.5-VL-72B-Instruct",name:"Qwen2.5-VL-72B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0.31},releaseDate:"2025-01-20"},"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1":{id:"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1",name:"Llama-3.1-Nemotron-Ultra-253B-v1",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-01-15"},"deepseek-ai/DeepSeek-R1-0528-fast":{id:"deepseek-ai/DeepSeek-R1-0528-fast",name:"DeepSeek R1 0528 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"},"Qwen/Qwen2.5-Coder-7B-fast":{id:"Qwen/Qwen2.5-Coder-7B-fast",name:"Qwen2.5-Coder-7B (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.03,output:0.09,cacheRead:0.003,cacheWrite:0.03},releaseDate:"2024-09-19"},"meta-llama/Meta-Llama-3.1-8B-Instruct":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Meta-Llama-3.1-8B-Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.02,output:0.06,cacheRead:0.002,cacheWrite:0.025},releaseDate:"2024-07-23"},"meta-llama/Meta-Llama-3.1-8B-Instruct-fast":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct-fast",name:"Meta-Llama-3.1-8B-Instruct (Fast)",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.03,output:0.09,cacheRead:0.003,cacheWrite:0.03},releaseDate:"2024-07-23"}},ollama:{"minimax-m2.7":{id:"minimax-m2.7",name:"minimax-m2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18"},"nemotron-3-super":{id:"nemotron-3-super",name:"nemotron-3-super",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"qwen3.5:397b":{id:"qwen3.5:397b",name:"qwen3.5:397b",contextWindow:262144,maxTokens:81920,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15"},"minimax-m2.5":{id:"minimax-m2.5",name:"minimax-m2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"glm-5":{id:"glm-5",name:"glm-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"qwen3-coder-next":{id:"qwen3-coder-next",name:"qwen3-coder-next",contextWindow:262144,maxTokens:65536,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-02"},"kimi-k2.5":{id:"kimi-k2.5",name:"kimi-k2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"minimax-m2.1":{id:"minimax-m2.1",name:"minimax-m2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"glm-4.7":{id:"glm-4.7",name:"glm-4.7",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"gemini-3-flash-preview",contextWindow:1048576,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17"},"nemotron-3-nano:30b":{id:"nemotron-3-nano:30b",name:"nemotron-3-nano:30b",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-15"},"devstral-2:123b":{id:"devstral-2:123b",name:"devstral-2:123b",contextWindow:262144,maxTokens:13107,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"devstral-small-2:24b":{id:"devstral-small-2:24b",name:"devstral-small-2:24b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"rnj-1:8b":{id:"rnj-1:8b",name:"rnj-1:8b",contextWindow:32768,maxTokens:4096,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-06"},"mistral-large-3:675b":{id:"mistral-large-3:675b",name:"mistral-large-3:675b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"cogito-2.1:671b":{id:"cogito-2.1:671b",name:"cogito-2.1:671b",contextWindow:163840,maxTokens:32000,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-19"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"kimi-k2-thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-06"},"minimax-m2":{id:"minimax-m2",name:"minimax-m2",contextWindow:204800,maxTokens:128000,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-23"},"glm-4.6":{id:"glm-4.6",name:"glm-4.6",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29"},"qwen3-vl:235b":{id:"qwen3-vl:235b",name:"qwen3-vl:235b",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"qwen3-vl:235b-instruct":{id:"qwen3-vl:235b-instruct",name:"qwen3-vl:235b-instruct",contextWindow:262144,maxTokens:131072,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"qwen3-next:80b":{id:"qwen3-next:80b",name:"qwen3-next:80b",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-15"},"deepseek-v3.1:671b":{id:"deepseek-v3.1:671b",name:"deepseek-v3.1:671b",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"gpt-oss:120b":{id:"gpt-oss:120b",name:"gpt-oss:120b",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"gpt-oss:20b":{id:"gpt-oss:20b",name:"gpt-oss:20b",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"qwen3-coder:480b":{id:"qwen3-coder:480b",name:"qwen3-coder:480b",contextWindow:262144,maxTokens:65536,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22"},"kimi-k2:1t":{id:"kimi-k2:1t",name:"kimi-k2:1t",contextWindow:262144,maxTokens:13107,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"deepseek-v3.2":{id:"deepseek-v3.2",name:"deepseek-v3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-15"},"ministral-3:14b":{id:"ministral-3:14b",name:"ministral-3:14b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"ministral-3:8b":{id:"ministral-3:8b",name:"ministral-3:8b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"ministral-3:3b":{id:"ministral-3:3b",name:"ministral-3:3b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-22"}},openai:{"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17"},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17"},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-05"},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05"},"gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindow:128000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.2-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.2-pro":{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-chat-latest":{id:"gpt-5.1-chat-latest",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5":{id:"gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"o3-pro":{id:"o3-pro",name:"o3-pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-10"},"codex-mini-latest":{id:"codex-mini-latest",name:"Codex Mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning"],pricing:{input:1.5,output:6,cacheRead:0.375,cacheWrite:0},releaseDate:"2025-05-16"},o3:{id:"o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16"},"o4-mini":{id:"o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14"},"o1-pro":{id:"o1-pro",name:"o1-pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:150,output:600,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-19"},"o3-mini":{id:"o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20"},o1:{id:"o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05"},"gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-11-20"},"gpt-4o-2024-08-06":{id:"gpt-4o-2024-08-06",name:"GPT-4o (2024-08-06)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-08-06"},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"},"o3-deep-research":{id:"o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26"},"o4-mini-deep-research":{id:"o4-mini-deep-research",name:"o4-mini-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2024-06-26"},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"},"gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",name:"GPT-4o (2024-05-13)",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","structured_output","temperature"],pricing:{input:5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-13"},"gpt-4":{id:"gpt-4",name:"GPT-4",contextWindow:8192,maxTokens:409,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"},"gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"}},openrouter:{"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"MiniMax M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18"},"xiaomi/mimo-v2-omni":{id:"xiaomi/mimo-v2-omni",name:"MiMo-V2-Omni",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"MiMo-V2-Pro",contextWindow:1048576,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18"},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT-5.4 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.00000075,output:0.0000045,cacheRead:0.000000075,cacheWrite:0},releaseDate:"2026-03-17"},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT-5.4 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.0000002,output:0.00000125,cacheRead:0.00000002,cacheWrite:0},releaseDate:"2026-03-17"},"x-ai/grok-4.20-beta":{id:"x-ai/grok-4.20-beta",name:"Grok 4.20 Beta",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-12"},"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"nvidia/nemotron-3-super-120b-a12b-free":{id:"nvidia/nemotron-3-super-120b-a12b-free",name:"Nemotron 3 Super (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2026-03-04"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:0.083},releaseDate:"2026-03-03"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19"},"google/gemini-3.1-pro-preview-customtools":{id:"google/gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen3.5 Plus 2026-02-15",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12"},"z-ai/glm-5":{id:"z-ai/glm-5",name:"GLM-5",contextWindow:202752,maxTokens:131000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"Step 3.5 Flash",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-01-29"},"stepfun/step-3.5-flash:free":{id:"stepfun/step-3.5-flash:free",name:"Step 3.5 Flash (free)",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-29"},"arcee-ai/trinity-large-preview:free":{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28"},"arcee-ai/trinity-mini:free":{id:"arcee-ai/trinity-mini:free",name:"Trinity Mini",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27"},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:65535,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17"},"nvidia/nemotron-3-nano-30b-a3b:free":{id:"nvidia/nemotron-3-nano-30b-a3b:free",name:"Nemotron 3 Nano 30B A3B (free)",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-14"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-12-14"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"deepseek/deepseek-v3.2-speciale":{id:"deepseek/deepseek-v3.2-speciale",name:"DeepSeek V3.2 Speciale",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-11-19"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1050000,maxTokens:66000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-18"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-29"},"nvidia/nemotron-nano-12b-v2-vl:free":{id:"nvidia/nemotron-nano-12b-v2-vl:free",name:"Nemotron Nano 12B 2 VL (free)",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-28"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:196600,maxTokens:118000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.28,output:1.15,cacheRead:0.28,cacheWrite:1.15},releaseDate:"2025-10-23"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30"},"z-ai/glm-4.6:exacto":{id:"z-ai/glm-4.6:exacto",name:"GLM 4.6 (exacto)",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:1.9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25"},"google/gemini-2.5-flash-preview-09-2025":{id:"google/gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.031,cacheWrite:0},releaseDate:"2025-09-25"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"deepseek/deepseek-v3.1-terminus:exacto":{id:"deepseek/deepseek-v3.1-terminus:exacto",name:"DeepSeek V3.1 Terminus (exacto)",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Devstral 2 2512",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12"},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen3-next-80b-a3b-instruct:free":{id:"qwen/qwen3-next-80b-a3b-instruct:free",name:"Qwen3 Next 80B A3B Instruct (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"Kimi K2 Instruct 0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"moonshotai/kimi-k2-0905:exacto":{id:"moonshotai/kimi-k2-0905:exacto",name:"Kimi K2 Instruct 0905 (exacto)",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"nvidia/nemotron-nano-9b-v2:free":{id:"nvidia/nemotron-nano-9b-v2:free",name:"Nemotron Nano 9B V2 (free)",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-26"},"nousresearch/hermes-4-405b":{id:"nousresearch/hermes-4-405b",name:"Hermes 4 405B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25"},"nousresearch/hermes-4-70b":{id:"nousresearch/hermes-4-70b",name:"Hermes 4 70B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25"},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-08-19"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"nvidia-nemotron-nano-9b-v2",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18"},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral Medium 3.1",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-12"},"z-ai/glm-4.5v":{id:"z-ai/glm-4.5v",name:"GLM 4.5V",contextWindow:64000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.072,output:0.28,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-120b:exacto":{id:"openai/gpt-oss-120b:exacto",name:"GPT OSS 120B (exacto)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-120b:free":{id:"openai/gpt-oss-120b:free",name:"gpt-oss-120b (free)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b:free":{id:"openai/gpt-oss-20b:free",name:"gpt-oss-20b (free)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Codestral 2508",contextWindow:256000,maxTokens:12800,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:65536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-31"},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen3 30B A3B Instruct 2507",contextWindow:262000,maxTokens:13100,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen3 30B A3B Thinking 2507",contextWindow:262000,maxTokens:13100,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"GLM 4.5",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"GLM 4.5 Air",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:81920,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.078,output:0.312,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen3 Coder",contextWindow:262144,maxTokens:66536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen3 Coder Flash",contextWindow:128000,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder:exacto":{id:"qwen/qwen3-coder:exacto",name:"Qwen3 Coder (exacto)",contextWindow:131072,maxTokens:32768,capabilities:["tools","structured_output","temperature"],pricing:{input:0.38,output:1.53,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder:free":{id:"qwen/qwen3-coder:free",name:"Qwen3 Coder 480B A35B Instruct (free)",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-07-17"},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"Kimi K2",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"moonshotai/kimi-k2:free":{id:"moonshotai/kimi-k2:free",name:"Kimi K2 (free)",contextWindow:32800,maxTokens:1640,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"mistralai/devstral-medium-2507":{id:"mistralai/devstral-medium-2507",name:"Devstral Medium",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10"},"mistralai/devstral-small-2507":{id:"mistralai/devstral-small-2507",name:"Devstral Small 1.1",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10"},"x-ai/grok-4":{id:"x-ai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-07-09"},"inception/mercury":{id:"inception/mercury",name:"Mercury",contextWindow:128000,maxTokens:32000,capabilities:["tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-26"},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral Small 3.2 24B Instruct",contextWindow:96000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-20"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax M1",contextWindow:1e6,maxTokens:40000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.4,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17"},"google/gemini-2.5-pro-preview-06-05":{id:"google/gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"mistralai/devstral-small-2505":{id:"mistralai/devstral-small-2505",name:"Devstral Small",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.06,output:0.12,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral Medium 3",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"google/gemini-2.5-pro-preview-05-06":{id:"google/gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06"},"inception/mercury-coder":{id:"inception/mercury-coder",name:"Mercury Coder",contextWindow:128000,maxTokens:32000,capabilities:["tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04-30"},"qwen/qwen3-4b:free":{id:"qwen/qwen3-4b:free",name:"Qwen3 4B (free)",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-30"},"qwen/qwen3-235b-a22b-07-25":{id:"qwen/qwen3-235b-a22b-07-25",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20"},"mistralai/mistral-small-3.1-24b-instruct":{id:"mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma 3 27B",contextWindow:96000,maxTokens:4800,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.04,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12"},"google/gemma-3-27b-it:free":{id:"google/gemma-3-27b-it:free",name:"Gemma 3 27B (free)",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-02-19"},"x-ai/grok-3":{id:"x-ai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17"},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"Grok 3 Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17"},"x-ai/grok-3-mini":{id:"x-ai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17"},"x-ai/grok-3-mini-beta":{id:"x-ai/grok-3-mini-beta",name:"Grok 3 Mini Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17"},"minimax/minimax-01":{id:"minimax/minimax-01",name:"MiniMax-01",contextWindow:1e6,maxTokens:50000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"Intellect 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15"},"google/gemini-2.0-flash-001":{id:"google/gemini-2.0-flash-001",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11"},"meta-llama/llama-3.3-70b-instruct:free":{id:"meta-llama/llama-3.3-70b-instruct:free",name:"Llama 3.3 70B Instruct (free)",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o-mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"}},requesty:{"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24"},"anthropic/claude-sonnet-4-6":{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"anthropic/claude-opus-4-6":{id:"anthropic/claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:1},releaseDate:"2025-12-17"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"anthropic/claude-opus-4-5":{id:"anthropic/claude-opus-4-5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:4.5},releaseDate:"2025-11-18"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"anthropic/claude-haiku-4-5":{id:"anthropic/claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:62000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"anthropic/claude-sonnet-4-5":{id:"anthropic/claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"xai/grok-4-fast":{id:"xai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.2},releaseDate:"2025-09-19"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:3},releaseDate:"2025-09-09"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:16000,maxTokens:4000,capabilities:["tools","reasoning"],pricing:{input:0.05,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-08-07"},"anthropic/claude-opus-4-1":{id:"anthropic/claude-opus-4-1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0.55},releaseDate:"2025-06-17"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:2.375},releaseDate:"2025-06-17"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"anthropic/claude-3-7-sonnet":{id:"anthropic/claude-3-7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o Mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"}},sapaicore:{"anthropic--claude-4.6-sonnet":{id:"anthropic--claude-4.6-sonnet",name:"anthropic--claude-4.6-sonnet",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"anthropic--claude-4.6-opus":{id:"anthropic--claude-4.6-opus",name:"anthropic--claude-4.6-opus",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"anthropic--claude-4.5-opus":{id:"anthropic--claude-4.5-opus",name:"anthropic--claude-4.5-opus",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"anthropic--claude-4.5-haiku":{id:"anthropic--claude-4.5-haiku",name:"anthropic--claude-4.5-haiku",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"anthropic--claude-4.5-sonnet":{id:"anthropic--claude-4.5-sonnet",name:"anthropic--claude-4.5-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"gpt-5":{id:"gpt-5",name:"gpt-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-mini":{id:"gpt-5-mini",name:"gpt-5-mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-nano":{id:"gpt-5-nano",name:"gpt-5-nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"gemini-2.5-flash-lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"anthropic--claude-4-opus":{id:"anthropic--claude-4-opus",name:"anthropic--claude-4-opus",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic--claude-4-sonnet":{id:"anthropic--claude-4-sonnet",name:"anthropic--claude-4-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"gpt-4.1":{id:"gpt-4.1",name:"gpt-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"gpt-4.1-mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"gemini-2.5-flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-25"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"gemini-2.5-pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-25"},"anthropic--claude-3.7-sonnet":{id:"anthropic--claude-3.7-sonnet",name:"anthropic--claude-3.7-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-24"},"anthropic--claude-3.5-sonnet":{id:"anthropic--claude-3.5-sonnet",name:"anthropic--claude-3.5-sonnet",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"anthropic--claude-3-haiku":{id:"anthropic--claude-3-haiku",name:"anthropic--claude-3-haiku",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13"},"anthropic--claude-3-sonnet":{id:"anthropic--claude-3-sonnet",name:"anthropic--claude-3-sonnet",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-03-04"},"anthropic--claude-3-opus":{id:"anthropic--claude-3-opus",name:"anthropic--claude-3-opus",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29"}},together:{"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5 397B A17B",contextWindow:262144,maxTokens:130000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-02-12"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"Qwen/Qwen3-Coder-Next-FP8":{id:"Qwen/Qwen3-Coder-Next-FP8",name:"Qwen3 Coder Next FP8",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"essentialai/Rnj-1-Instruct":{id:"essentialai/Rnj-1-Instruct",name:"Rnj-1 Instruct",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-05"},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:1e4,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"deepseek-ai/DeepSeek-V3-1":{id:"deepseek-ai/DeepSeek-V3-1",name:"DeepSeek V3.1",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:1.7,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"Qwen/Qwen3-235B-A22B-Instruct-2507-tput":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507-tput",name:"Qwen3 235B A22B Instruct 2507 FP8",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:200000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0.45,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi K2 Instruct",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-14"},"deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:1.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"meta-llama/Llama-3.3-70B-Instruct-Turbo":{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:0.88,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"}},"vercel-ai-gateway":{"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"Minimax M2.7",contextWindow:204800,maxTokens:131000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18"},"minimax/minimax-m2.7-highspeed":{id:"minimax/minimax-m2.7-highspeed",name:"MiniMax M2.7 High Speed",contextWindow:204800,maxTokens:131100,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"MiMo V2 Pro",contextWindow:1e6,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-18"},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT 5.4 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17"},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT 5.4 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.19999999999999998,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17"},"zai/glm-5-turbo":{id:"zai/glm-5-turbo",name:"GLM 5 Turbo",contextWindow:202800,maxTokens:131100,capabilities:["tools","reasoning","temperature"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-15"},"zai/glm-4.7-flash":{id:"zai/glm-4.7-flash",name:"GLM 4.7 Flash",contextWindow:200000,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-13"},"xai/grok-4.20-multi-agent-beta":{id:"xai/grok-4.20-multi-agent-beta",name:"Grok 4.20 Multi Agent Beta",contextWindow:2000000,maxTokens:1e5,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11"},"xai/grok-4.20-non-reasoning-beta":{id:"xai/grok-4.20-non-reasoning-beta",name:"Grok 4.20 Beta Non-Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11"},"xai/grok-4.20-reasoning-beta":{id:"xai/grok-4.20-reasoning-beta",name:"Grok 4.20 Beta Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11"},"xai/grok-4.20-multi-agent":{id:"xai/grok-4.20-multi-agent",name:"Grok 4.20 Multi-Agent",contextWindow:2000000,maxTokens:1e5,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09"},"xai/grok-4.20-non-reasoning":{id:"xai/grok-4.20-non-reasoning",name:"Grok 4.20 Non-Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09"},"xai/grok-4.20-reasoning":{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT 5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT 5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-05"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1e6,maxTokens:65000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03"},"openai/gpt-5.3-chat":{id:"openai/gpt-5.3-chat",name:"GPT-5.3 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-03-03"},"alibaba/qwen3.5-flash":{id:"alibaba/qwen3.5-flash",name:"Qwen 3.5 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.001,cacheWrite:0.125},releaseDate:"2026-02-24"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.024999999999999998,cacheWrite:0},releaseDate:"2026-02-24"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT 5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"alibaba/qwen3.5-plus":{id:"alibaba/qwen3.5-plus",name:"Qwen 3.5 Plus",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.4,output:2.4,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2026-02-16"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12"},"minimax/minimax-m2.5-highspeed":{id:"minimax/minimax-m2.5-highspeed",name:"MiniMax M2.5 High Speed",contextWindow:0,maxTokens:0,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.4,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12"},"zai/glm-5":{id:"zai/glm-5",name:"GLM-5",contextWindow:202800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-26"},"zai/glm-4.7":{id:"zai/glm-4.7",name:"GLM 4.7",contextWindow:202752,maxTokens:120000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.43,output:1.75,cacheRead:0.08,cacheWrite:0},releaseDate:"2025-12-22"},"google/gemini-3-flash":{id:"google/gemini-3-flash",name:"Gemini 3 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo V2 Flash",contextWindow:262144,maxTokens:32000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17"},"mistral/devstral-2":{id:"mistral/devstral-2",name:"Devstral 2",contextWindow:256000,maxTokens:12800,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"deepseek/deepseek-v3.2-thinking":{id:"deepseek/deepseek-v3.2-thinking",name:"DeepSeek V3.2 Thinking",contextWindow:128000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.42,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-01"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"INTELLECT 3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:18.75},releaseDate:"2025-11-24"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:216144,maxTokens:10807,capabilities:["tools","reasoning","temperature"],pricing:{input:0.47,output:2,cacheRead:0.14,cacheWrite:0},releaseDate:"2025-11-06"},"moonshotai/kimi-k2-thinking-turbo":{id:"moonshotai/kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262114,maxTokens:13105,capabilities:["tools","reasoning","temperature"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:262114,maxTokens:13105,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1.15,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27"},"minimax/minimax-m2.1-lightning":{id:"minimax/minimax-m2.1-lightning",name:"MiniMax M2.1 Lightning",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:2.4,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"bytedance/seed-1.8":{id:"bytedance/seed-1.8",name:"Seed 1.8",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-10"},"zai/glm-4.6":{id:"zai/glm-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:96000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.45,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"zai/glm-4.6v":{id:"zai/glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-30"},"zai/glm-4.6v-flash":{id:"zai/glm-4.6v-flash",name:"GLM-4.6V-Flash",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek V3.2 Exp",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-09-25"},"google/gemini-2.5-flash-preview-09-2025":{id:"google/gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.383},releaseDate:"2025-09-25"},"alibaba/qwen3-vl-instruct":{id:"alibaba/qwen3-vl-instruct",name:"Qwen3 VL Instruct",contextWindow:131072,maxTokens:129024,capabilities:["images","tools","temperature"],pricing:{input:0.7,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24"},"alibaba/qwen3-vl-thinking":{id:"alibaba/qwen3-vl-thinking",name:"Qwen3 VL Thinking",contextWindow:131072,maxTokens:129024,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.7,output:8.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24"},"alibaba/qwen3-max":{id:"alibaba/qwen3-max",name:"Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:1.2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23"},"alibaba/qwen3-max-preview":{id:"alibaba/qwen3-max-preview",name:"Qwen3 Max Preview",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-09-23"},"meituan/longcat-flash-thinking":{id:"meituan/longcat-flash-thinking",name:"LongCat Flash Thinking",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"xai/grok-4-fast-non-reasoning":{id:"xai/grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"alibaba/qwen3-next-80b-a3b-instruct":{id:"alibaba/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.09,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12"},"alibaba/qwen3-next-80b-a3b-thinking":{id:"alibaba/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12"},"moonshotai/kimi-k2-turbo":{id:"moonshotai/kimi-k2-turbo",name:"Kimi K2 Turbo",contextWindow:256000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:2.4,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"bytedance/seed-1.6":{id:"bytedance/seed-1.6",name:"Seed 1.6",contextWindow:256000,maxTokens:32000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09"},"meituan/longcat-flash-chat":{id:"meituan/longcat-flash-chat",name:"LongCat Flash Chat",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-30"},"xai/grok-code-fast-1":{id:"xai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28"},"deepseek/deepseek-v3.1":{id:"deepseek/deepseek-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"Nvidia Nemotron Nano 9B V2",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18"},"zai/glm-4.5v":{id:"zai/glm-4.5v",name:"GLM 4.5V",contextWindow:66000,maxTokens:3300,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-chat":{id:"openai/gpt-5-chat",name:"GPT-5 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 pro",contextWindow:400000,maxTokens:272000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-instant":{id:"openai/gpt-5.1-instant",name:"GPT-5.1 Instant",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-thinking":{id:"openai/gpt-5.1-thinking",name:"GPT 5.1 Thinking",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT 5.2 ",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"zai/glm-4.5":{id:"zai/glm-4.5",name:"GLM 4.5",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"zai/glm-4.5-air":{id:"zai/glm-4.5-air",name:"GLM 4.5 Air",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"alibaba/qwen3-coder-plus":{id:"alibaba/qwen3-coder-plus",name:"Qwen3 Coder Plus",contextWindow:1e6,maxTokens:50000,capabilities:["tools","temperature"],pricing:{input:1,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"alibaba/qwen3-coder-next":{id:"alibaba/qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09"},"xai/grok-4-fast-reasoning":{id:"xai/grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning",contextWindow:2000000,maxTokens:256000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09"},"xai/grok-4.1-fast-non-reasoning":{id:"xai/grok-4.1-fast-non-reasoning",name:"Grok 4.1 Fast Non-Reasoning",contextWindow:2000000,maxTokens:30000,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09"},"xai/grok-4.1-fast-reasoning":{id:"xai/grok-4.1-fast-reasoning",name:"Grok 4.1 Fast Reasoning",contextWindow:2000000,maxTokens:30000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-06-17"},"vercel/v0-1.5-md":{id:"vercel/v0-1.5-md",name:"v0-1.5-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-09"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"vercel/v0-1.0-md":{id:"vercel/v0-1.0-md",name:"v0-1.0-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-22"},"openai/codex-mini":{id:"openai/codex-mini",name:"Codex Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.5,output:6,cacheRead:0.38,cacheWrite:0},releaseDate:"2025-05-16"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-05-16"},"mistral/devstral-small":{id:"mistral/devstral-small",name:"Devstral Small 1.1",contextWindow:128000,maxTokens:64000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistral/devstral-small-2":{id:"mistral/devstral-small-2",name:"Devstral Small 2",contextWindow:256000,maxTokens:12800,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistral/mistral-medium":{id:"mistral/mistral-medium",name:"Mistral Medium 3.1",contextWindow:128000,maxTokens:64000,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"openai/o3":{id:"openai/o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o3-pro":{id:"openai/o3-pro",name:"o3 Pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14"},"meta/llama-4-maverick":{id:"meta/llama-4-maverick",name:"Llama-4-Maverick-17B-128E-Instruct-FP8",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta/llama-4-scout":{id:"meta/llama-4-scout",name:"Llama-4-Scout-17B-16E-Instruct-FP8",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"alibaba/qwen-3-14b":{id:"alibaba/qwen-3-14b",name:"Qwen3-14B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen-3-235b":{id:"alibaba/qwen-3-235b",name:"Qwen3 235B A22B Instruct 2507",contextWindow:40960,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.13,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen-3-30b":{id:"alibaba/qwen-3-30b",name:"Qwen3-30B-A3B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.08,output:0.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen-3-32b":{id:"alibaba/qwen-3-32b",name:"Qwen 3.32B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen3-235b-a22b-thinking":{id:"alibaba/qwen3-235b-a22b-thinking",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262114,maxTokens:13105,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen3-coder":{id:"alibaba/qwen3-coder",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.38,output:1.53,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen3-coder-30b-a3b":{id:"alibaba/qwen3-coder-30b-a3b",name:"Qwen 3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-03-20"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20"},"mistral/magistral-medium":{id:"mistral/magistral-medium",name:"Magistral Medium (latest)",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17"},"mistral/magistral-small":{id:"mistral/magistral-small",name:"Magistral Small",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17"},"cohere/command-a":{id:"cohere/command-a",name:"Command A",contextWindow:256000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-13"},"inception/mercury-coder-small":{id:"inception/mercury-coder-small",name:"Mercury Coder Small Beta",contextWindow:32000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-26"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"perplexity/sonar":{id:"perplexity/sonar",name:"Sonar",contextWindow:127000,maxTokens:8000,capabilities:["images","tools","temperature"],pricing:{input:1,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-19"},"perplexity/sonar-pro":{id:"perplexity/sonar-pro",name:"Sonar Pro",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-19"},"xai/grok-3":{id:"xai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"xai/grok-3-fast":{id:"xai/grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17"},"xai/grok-3-mini":{id:"xai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"xai/grok-3-mini-fast":{id:"xai/grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek-R1",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"alibaba/qwen3-max-thinking":{id:"alibaba/qwen3-max-thinking",name:"Qwen 3 Max Thinking",contextWindow:256000,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-01"},"arcee-ai/trinity-large-preview":{id:"arcee-ai/trinity-large-preview",name:"Trinity Large Preview",contextWindow:131000,maxTokens:6550,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01"},"zai/glm-4.7-flashx":{id:"zai/glm-4.7-flashx",name:"GLM 4.7 FlashX",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-01"},"deepseek/deepseek-v3":{id:"deepseek/deepseek-v3",name:"DeepSeek V3 0324",contextWindow:163840,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.77,output:0.77,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-26"},"openai/o3-mini":{id:"openai/o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20"},"google/gemini-2.0-flash":{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11"},"google/gemini-2.0-flash-lite":{id:"google/gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"meta/llama-3.3-70b":{id:"meta/llama-3.3-70b",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"openai/o1":{id:"openai/o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05"},"amazon/nova-lite":{id:"amazon/nova-lite",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03"},"amazon/nova-micro":{id:"amazon/nova-micro",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03"},"amazon/nova-pro":{id:"amazon/nova-pro",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03"},"nvidia/nemotron-nano-12b-v2-vl":{id:"nvidia/nemotron-nano-12b-v2-vl",name:"Nvidia Nemotron Nano 12B V2 VL",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"gpt-oss-safeguard-20b",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.08,output:0.3,cacheRead:0.04,cacheWrite:0},releaseDate:"2024-12-01"},"mistral/pixtral-large":{id:"mistral/pixtral-large",name:"Pixtral Large (latest)",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-01"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"anthropic/claude-3.5-sonnet":{id:"anthropic/claude-3.5-sonnet",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"mistral/ministral-3b":{id:"mistral/ministral-3b",name:"Ministral 3B (latest)",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01"},"mistral/ministral-8b":{id:"mistral/ministral-8b",name:"Ministral 8B (latest)",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01"},"meta/llama-3.2-11b":{id:"meta/llama-3.2-11b",name:"Llama 3.2 11B Vision Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.16,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta/llama-3.2-90b":{id:"meta/llama-3.2-90b",name:"Llama 3.2 90B Vision Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"mistral/mistral-small":{id:"mistral/mistral-small",name:"Mistral Small (latest)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-01"},"mistral/pixtral-12b":{id:"mistral/pixtral-12b",name:"Pixtral 12B",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-01"},"xai/grok-2-vision":{id:"xai/grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"meta/llama-3.1-70b":{id:"meta/llama-3.1-70b",name:"Llama 3.1 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"meta/llama-3.1-8b":{id:"meta/llama-3.1-8b",name:"Llama 3.1 8B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.03,output:0.05,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"},"mistral/mistral-nemo":{id:"mistral/mistral-nemo",name:"Mistral Nemo",contextWindow:60288,maxTokens:16000,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.17,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-01"},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26"},"anthropic/claude-3.5-sonnet-20240620":{id:"anthropic/claude-3.5-sonnet-20240620",name:"Claude 3.5 Sonnet (2024-06-20)",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-06-20"},"mistral/codestral":{id:"mistral/codestral",name:"Codestral (latest)",contextWindow:256000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-29"},"openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"},"mistral/mixtral-8x22b-instruct":{id:"mistral/mixtral-8x22b-instruct",name:"Mixtral 8x22B",contextWindow:64000,maxTokens:3200,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-17"},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13"},"anthropic/claude-3-opus":{id:"anthropic/claude-3-opus",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29"},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"}},vertex:{"claude-sonnet-4-6@default":{id:"claude-sonnet-4-6@default",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"claude-opus-4-6@default":{id:"claude-opus-4-6@default",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"claude-opus-4-5@20251101":{id:"claude-opus-4-5@20251101",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"claude-haiku-4-5@20251001":{id:"claude-haiku-4-5@20251001",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"claude-sonnet-4-5@20250929":{id:"claude-sonnet-4-5@20250929",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"claude-opus-4-1@20250805":{id:"claude-opus-4-1@20250805",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"claude-opus-4@20250514":{id:"claude-opus-4@20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"claude-sonnet-4@20250514":{id:"claude-sonnet-4@20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"claude-3-7-sonnet@20250219":{id:"claude-3-7-sonnet@20250219",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"claude-3-5-haiku@20241022":{id:"claude-3-5-haiku@20241022",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"claude-3-5-sonnet@20241022":{id:"claude-3-5-sonnet@20241022",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"}},xai:{"grok-4.20-0309-non-reasoning":{id:"grok-4.20-0309-non-reasoning",name:"Grok 4.20 (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09"},"grok-4.20-0309-reasoning":{id:"grok-4.20-0309-reasoning",name:"Grok 4.20 (Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09"},"grok-4-1-fast":{id:"grok-4-1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19"},"grok-4-1-fast-non-reasoning":{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19"},"grok-4-fast":{id:"grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19"},"grok-4-fast-non-reasoning":{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19"},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28"},"grok-4":{id:"grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09"},"grok-3":{id:"grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-fast":{id:"grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-fast-latest":{id:"grok-3-fast-latest",name:"Grok 3 Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-latest":{id:"grok-3-latest",name:"Grok 3 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini":{id:"grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini-fast":{id:"grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini-fast-latest":{id:"grok-3-mini-fast-latest",name:"Grok 3 Mini Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini-latest":{id:"grok-3-mini-latest",name:"Grok 3 Mini Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"grok-2-1212":{id:"grok-2-1212",name:"Grok 2 (1212)",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-12-12"},"grok-beta":{id:"grok-beta",name:"Grok Beta",contextWindow:131072,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01"},"grok-vision-beta":{id:"grok-vision-beta",name:"Grok Vision Beta",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01"},"grok-2":{id:"grok-2",name:"Grok 2",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-latest":{id:"grok-2-latest",name:"Grok 2 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-vision":{id:"grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-vision-1212":{id:"grok-2-vision-1212",name:"Grok 2 Vision (1212)",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-vision-latest":{id:"grok-2-vision-latest",name:"Grok 2 Vision Latest",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"}},zai:{"glm-5-turbo":{id:"glm-5-turbo",name:"GLM-5-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-16"},"glm-5":{id:"glm-5",name:"GLM-5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11"},"glm-4.7-flash":{id:"glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22"},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-08"},"glm-4.6":{id:"glm-4.6",name:"GLM-4.6",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30"},"glm-4.5v":{id:"glm-4.5v",name:"GLM-4.5V",contextWindow:64000,maxTokens:16384,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11"},"glm-4.5":{id:"glm-4.5",name:"GLM-4.5",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-07-28"},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM-4.5-Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-07-28"},"glm-4.5-flash":{id:"glm-4.5-flash",name:"GLM-4.5-Flash",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"}}}}});function Bn(e){if(!e)return Number.NEGATIVE_INFINITY;let t=Date.parse(e);return Number.isNaN(t)?Number.NEGATIVE_INFINITY:t}function Xe(e){return Object.fromEntries(Object.entries(e).sort(([t,i],[a,n])=>{let o=Bn(i.releaseDate),c=Bn(n.releaseDate);if(o!==c)return c-o;return t.localeCompare(a)}))}function tr(e){let t=[];if(e.modalities?.input?.includes("image"))t.push("images");if(e.modalities?.input?.includes("pdf"))t.push("files");if(e.tool_call===!0)t.push("tools");if(e.reasoning===!0)t.push("reasoning");if(e.structured_output===!0)t.push("structured_output");if(e.temperature===!0)t.push("temperature");return t}function ir(e){if(e==="active"||e==="preview"||e==="deprecated"||e==="legacy")return e;return}function ar(e,t){let i=t.limit?.context??4096,a=t.limit?.output??4096,n=i===a?a*0.05:a;return{id:e,name:t.name||e,contextWindow:i,maxTokens:Math.floor(n),capabilities:tr(t),pricing:{input:t.cost?.input??0,output:t.cost?.output??0,cacheRead:t.cost?.cache_read??0,cacheWrite:t.cost?.cache_write??0},status:ir(t.status),releaseDate:t.release_date}}function nr(e){return e.status==="deprecated"}function or(e,t){let i={};for(let[a,n]of Object.entries(t)){let o=e[a];if(!o?.models)continue;let c={};for(let[r,s]of Object.entries(o.models)){if(s.tool_call!==!0||nr(s))continue;c[r]=ar(r,s)}if(Object.keys(c).length>0)i[n]=Xe(c)}return i}async function Vn(e,t,i=fetch){let a=await i(e);if(!a.ok)throw Error(`Failed to load model catalog from ${e}: HTTP ${a.status}`);let n=await a.json();return or(n,t)}var Un={};x(Un,{getGeneratedProviderModels:()=>Xa,getGeneratedModelsVersion:()=>ja,getGeneratedModelsForProvider:()=>u});function Xa(){return Nn??=Object.fromEntries(Object.entries(zi.providers).map(([e,t])=>[e,Xe(t)])),Nn}function ja(){return zi.version}function u(e){let t=yn.get(e);if(t)return t;let i=Xe(zi.providers[e]??{});return yn.set(e,i),i}var Nn,yn;var k=W(()=>{qn();yn=new Map});var Yn={};x(Yn,{AIHUBMIX_PROVIDER:()=>vt});var vt;var Ha=W(()=>{k();vt={provider:{id:"aihubmix",name:"AI Hub Mix",description:"AI model aggregator",protocol:"openai-chat",baseUrl:"https://api.aihubmix.com/v1",defaultModelId:"gpt-4o",env:["AIHUBMIX_API_KEY"]},models:u("aihubmix")}});var $n={};x($n,{getAnthropicReasoningModels:()=>Ot,getActiveAnthropicModels:()=>At,ANTHROPIC_PROVIDER:()=>Gt,ANTHROPIC_MODELS:()=>z,ANTHROPIC_DEFAULT_MODEL:()=>je});function At(){return Object.fromEntries(Object.entries(z).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function Ot(){return Object.fromEntries(Object.entries(z).filter(([,e])=>e.thinkingConfig!==void 0))}var z,je,Gt;var Ja=W(()=>{k();z=u("anthropic"),je=Object.keys(z)[0]??"claude-sonnet-4-6",Gt={provider:{id:"anthropic",name:"Anthropic",description:"Creator of Claude, the AI assistant",protocol:"anthropic",baseUrl:"https://api.anthropic.com",defaultModelId:je,capabilities:["reasoning","prompt-cache"],env:["ANTHROPIC_API_KEY"]},models:z}});var Xn={};x(Xn,{ASKSAGE_PROVIDER:()=>Lt});var Lt;var Za=W(()=>{Lt={provider:{id:"asksage",name:"AskSage",description:"AskSage platform",protocol:"openai-chat",baseUrl:"https://api.asksage.ai/server",defaultModelId:"gpt-4o",capabilities:["tools"],env:["ASKSAGE_API_KEY"]},models:{}}});var Hn={};x(Hn,{BASETEN_PROVIDER:()=>St});var jn,St;var Ia=W(()=>{k();jn=u("baseten"),St={provider:{id:"baseten",name:"Baseten",description:"ML inference platform",protocol:"openai-chat",baseUrl:"https://model-api.baseten.co/v1",defaultModelId:Object.keys(jn)[0],env:["BASETEN_API_KEY"]},models:jn}});var Jn={};x(Jn,{BEDROCK_PROVIDER:()=>Ct,BEDROCK_MODELS:()=>Ee,BEDROCK_DEFAULT_MODEL:()=>He});var Ee,He,Ct;var za=W(()=>{k();Ee=u("bedrock"),He=Object.keys(Ee)[0]??"anthropic.claude-sonnet-4-5-20250929-v1:0",Ct={provider:{id:"bedrock",name:"AWS Bedrock",description:"Amazon Bedrock managed foundation models",protocol:"anthropic",defaultModelId:He,capabilities:["reasoning","prompt-cache"],env:["AWS_REGION","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN"]},models:Ee}});var Zn={};x(Zn,{CEREBRAS_PROVIDER:()=>Qt,CEREBRAS_MODELS:()=>_e,CEREBRAS_DEFAULT_MODEL:()=>Je});var _e,Je,Qt;var e0=W(()=>{k();_e=u("cerebras"),Je=Object.keys(_e)[0]??"llama3.1-70b",Qt={provider:{id:"cerebras",name:"Cerebras",description:"Fast inference on Cerebras wafer-scale chips",protocol:"openai-chat",baseUrl:"https://api.cerebras.ai/v1",defaultModelId:Je,env:["CEREBRAS_API_KEY"]},models:_e}});var In={};x(In,{CLAUDE_CODE_PROVIDER:()=>Ft,CLAUDE_CODE_MODELS:()=>Ze,CLAUDE_CODE_DEFAULT_MODEL:()=>Ie});function t0(e){let t=Object.entries(cr).find(([i])=>e(i));if(t)return t[1];return{id:"sonnet",name:"Claude Sonnet",capabilities:["streaming","reasoning"]}}function i0(e){return{...e==="opus"?t0((i)=>i.includes("opus")):e==="haiku"?t0((i)=>i.includes("haiku")):t0((i)=>i.includes("sonnet")),id:e,name:`Claude ${e.charAt(0).toUpperCase()}${e.slice(1)}`}}var cr,Ze,Ie="sonnet",Ft;var a0=W(()=>{k();cr=u("anthropic");Ze={opus:i0("opus"),sonnet:i0("sonnet"),haiku:i0("haiku")},Ft={provider:{id:"claude-code",name:"Claude Code",description:"Use Claude Code SDK with Claude Pro/Max subscription",protocol:"openai-chat",baseUrl:"",defaultModelId:Ie,capabilities:["reasoning"]},models:Ze}});var zn={};x(zn,{CLINE_PROVIDER:()=>Ge,CLINE_MODELS:()=>ve,CLINE_DEFAULT_MODELINFO:()=>rr,CLINE_DEFAULT_MODEL:()=>Pe});var Pe="anthropic/claude-sonnet-4.6",ve,rr,Ge;var n0=W(()=>{k();ve=u("vercel-ai-gateway"),rr=ve[Pe],Ge={provider:{id:"cline",name:"Cline",description:"Cline API endpoint",protocol:"openai-chat",baseUrl:"https://api.cline.bot/api/v1",defaultModelId:Pe,capabilities:["reasoning","prompt-cache","tools","oauth"],env:["CLINE_API_KEY"]},models:ve}});var eo={};x(eo,{getDeepSeekReasoningModels:()=>qt,DEEPSEEK_PROVIDER:()=>Kt,DEEPSEEK_MODELS:()=>pe,DEEPSEEK_DEFAULT_MODEL:()=>ze});function qt(){return Object.fromEntries(Object.entries(pe).filter(([,e])=>e.capabilities?.includes("reasoning")))}var pe,ze,Kt;var o0=W(()=>{k();pe=u("deepseek"),ze=Object.keys(pe)[0],Kt={provider:{id:"deepseek",name:"DeepSeek",description:"Advanced AI models with reasoning capabilities",protocol:"openai-chat",baseUrl:"https://api.deepseek.com/v1",defaultModelId:ze,capabilities:["reasoning","prompt-cache"],env:["DEEPSEEK_API_KEY"]},models:pe}});var to={};x(to,{DIFY_PROVIDER:()=>Bt});var Bt;var c0=W(()=>{Bt={provider:{id:"dify",name:"Dify",description:"Dify workflow/application provider via AI SDK",protocol:"openai-chat",defaultModelId:"default",env:["DIFY_API_KEY"]},models:{}}});var io={};x(io,{DOUBAO_PROVIDER:()=>s0,DOUBAO_MODELS:()=>Vt,DOUBAO_DEFAULT_MODEL:()=>ea});var r0="doubao-1-5-pro-256k-250115",Vt,ea,s0;var p0=W(()=>{k();Vt={[r0]:{id:r0,name:"Doubao 1.5 Pro 256k",capabilities:["streaming","tools"]},...u("doubao")},ea=Object.keys(Vt)[0]??r0,s0={provider:{id:"doubao",name:"Doubao",description:"Volcengine Ark platform models",protocol:"openai-chat",baseUrl:"https://ark.cn-beijing.volces.com/api/v3",defaultModelId:ea,env:["DOUBAO_API_KEY"]},models:Vt}});var ao={};x(ao,{getFireworksFunctionModels:()=>yt,FIREWORKS_PROVIDER:()=>Nt,FIREWORKS_MODELS:()=>ue,FIREWORKS_DEFAULT_MODEL:()=>et});function yt(){return Object.fromEntries(Object.entries(ue).filter(([,e])=>e.capabilities?.includes("tools")))}var ue,et,Nt;var u0=W(()=>{k();ue=u("fireworks"),et=Object.keys(ue)[0]??"accounts/fireworks/models/llama-v3p1-8b-instruct",Nt={provider:{id:"fireworks",name:"Fireworks AI",description:"High-performance inference platform",protocol:"openai-chat",baseUrl:"https://api.fireworks.ai/inference/v1",defaultModelId:et,env:["FIREWORKS_API_KEY"]},models:ue}});var no={};x(no,{getGeminiThinkingModels:()=>$t,getActiveGeminiModels:()=>Yt,GEMINI_PROVIDER:()=>Ut,GEMINI_MODELS:()=>ee,GEMINI_DEFAULT_MODEL:()=>tt});function Yt(){return Object.fromEntries(Object.entries(ee).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function $t(){return Object.fromEntries(Object.entries(ee).filter(([,e])=>e.capabilities?.includes("reasoning")))}var ee,tt,Ut;var m0=W(()=>{k();ee=u("gemini"),tt=Object.keys(ee)[0]??"gemini-3-pro",Ut={provider:{id:"gemini",name:"Google Gemini",description:"Google Gemini API",protocol:"gemini",baseUrl:"https://generativelanguage.googleapis.com",defaultModelId:tt,capabilities:["reasoning","prompt-cache"],env:["GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"]},models:ee}});var oo={};x(oo,{getGroqVisionModels:()=>jt,GROQ_PROVIDER:()=>Xt,GROQ_MODELS:()=>me,GROQ_DEFAULT_MODEL:()=>it});function jt(){return Object.fromEntries(Object.entries(me).filter(([,e])=>e.capabilities?.includes("images")))}var me,it,Xt;var l0=W(()=>{k();me=u("groq"),it=Object.keys(me)[0]??"llama-3.3-70b-versatile",Xt={provider:{id:"groq",name:"Groq",description:"Ultra-fast LPU inference",protocol:"openai-chat",baseUrl:"https://api.groq.com/openai/v1",defaultModelId:it,env:["GROQ_API_KEY"]},models:me}});var co={};x(co,{HICAP_PROVIDER:()=>Ht});var Ht;var d0=W(()=>{Ht={provider:{id:"hicap",name:"HiCap",description:"HiCap AI platform",protocol:"openai-chat",baseUrl:"https://api.hicap.ai/v1",defaultModelId:"hicap-pro",env:["HICAP_API_KEY"]},models:{}}});var ro={};x(ro,{HUAWEI_CLOUD_MAAS_PROVIDER:()=>Jt});var Jt;var g0=W(()=>{Jt={provider:{id:"huawei-cloud-maas",name:"Huawei Cloud MaaS",description:"Huawei's model-as-a-service platform",protocol:"openai-chat",baseUrl:"https://infer-modelarts.cn-southwest-2.myhuaweicloud.com/v1",defaultModelId:"DeepSeek-R1",env:["HUAWEI_CLOUD_MAAS_API_KEY"]},models:{}}});var so={};x(so,{HUGGINGFACE_PROVIDER:()=>It,HUGGINGFACE_MODELS:()=>Zt});var Zt,It;var x0=W(()=>{k();Zt=u("huggingface"),It={provider:{id:"huggingface",name:"Hugging Face",description:"Hugging Face inference API",protocol:"openai-chat",baseUrl:"https://api-inference.huggingface.co/v1",defaultModelId:Object.keys(Zt)[0],env:["HF_TOKEN"]},models:Zt}});var po={};x(po,{LITELLM_PROVIDER:()=>zt});var zt;var h0=W(()=>{zt={provider:{id:"litellm",name:"LiteLLM",description:"Self-hosted LLM proxy",protocol:"openai-chat",baseUrl:"http://localhost:4000/v1",defaultModelId:"gpt-4o",capabilities:["prompt-cache"],env:["LITELLM_API_KEY"]},models:{}}});var mo={};x(mo,{LMSTUDIO_PROVIDER:()=>ei});var uo,ei;var W0=W(()=>{k();uo=u("lmstudio"),ei={provider:{id:"lmstudio",name:"LM Studio",description:"Local model inference with LM Studio",protocol:"openai-chat",baseUrl:"http://localhost:1234/v1",defaultModelId:Object.keys(uo)[0],env:["LMSTUDIO_API_KEY"]},models:uo||{}}});var lo={};x(lo,{MINIMAX_PROVIDER:()=>ti,MINIMAX_MODELS:()=>Ae,MINIMAX_DEFAULT_MODEL:()=>at});var w0="MiniMax-M2.5",Ae,at,ti;var b0=W(()=>{k();Ae={[w0]:{id:w0,name:"MiniMax M2.5",capabilities:["streaming","tools","reasoning","prompt-cache"]},...u("minimax")},at=Object.keys(Ae)[0]??w0,ti={provider:{id:"minimax",name:"MiniMax",description:"MiniMax models via Anthropic-compatible API",protocol:"anthropic",baseUrl:"https://api.minimax.io/anthropic",defaultModelId:at,capabilities:["reasoning","prompt-cache"],env:["MINIMAX_API_KEY"]},models:Ae}});var go={};x(go,{MISTRAL_PROVIDER:()=>ii});var ii;var D0=W(()=>{ii={provider:{id:"mistral",name:"Mistral",description:"Mistral AI models via AI SDK provider",protocol:"openai-chat",baseUrl:"https://api.mistral.ai/v1",defaultModelId:"mistral-medium-latest",capabilities:["reasoning"],env:["MISTRAL_API_KEY"]},models:{}}});var xo={};x(xo,{MOONSHOT_PROVIDER:()=>ai,MOONSHOT_MODELS:()=>Oe,MOONSHOT_DEFAULT_MODEL:()=>nt});var R0="kimi-k2-0905-preview",Oe,nt,ai;var k0=W(()=>{k();Oe={[R0]:{id:R0,name:"Kimi K2 Preview",capabilities:["streaming","tools","reasoning"]},...u("moonshot")},nt=Object.keys(Oe)[0]??R0,ai={provider:{id:"moonshot",name:"Moonshot",description:"Moonshot AI Studio models",protocol:"openai-chat",baseUrl:"https://api.moonshot.ai/v1",defaultModelId:nt,capabilities:["reasoning","prompt-cache"],env:["MOONSHOT_API_KEY"]},models:Oe}});var ho={};x(ho,{NEBIUS_PROVIDER:()=>ni,NEBIUS_MODELS:()=>Le,NEBIUS_DEFAULT_MODEL:()=>ot});var Le,ot,ni;var T0=W(()=>{k();Le=u("nebius"),ot=Object.keys(Le)[0]||"meta-llama/Meta-Llama-3.1-70B-Instruct",ni={provider:{id:"nebius",name:"Nebius",description:"European cloud AI infrastructure",protocol:"openai-chat",baseUrl:"https://api.studio.nebius.ai/v1",defaultModelId:ot,env:["NEBIUS_API_KEY"]},models:Le}});var Wo={};x(Wo,{NOUS_RESEARCH_PROVIDER:()=>ci,NOUS_RESEARCH_MODELS:()=>ct,NOUS_RESEARCH_DEFAULT_MODEL:()=>oi});var ct,oi="DeepHermes-3-Llama-3-3-70B-Preview",ci;var M0=W(()=>{ct={},ci={provider:{id:"nousResearch",name:"Nous Research",description:"Open-source AI research lab",protocol:"openai-chat",baseUrl:"https://inference-api.nousresearch.com/v1",defaultModelId:"DeepHermes-3-Llama-3-3-70B-Preview",env:["NOUS_RESEARCH_API_KEY","NOUSRESEARCH_API_KEY"]},models:ct}});var wo={};x(wo,{OCA_PROVIDER:()=>ri,OCA_MODELS:()=>Se,OCA_DEFAULT_MODEL:()=>rt,DEFAULT_INTERNAL_OCA_BASE_URL:()=>te,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>J});var te="https://code-internal.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm",J="https://code.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm",rt="anthropic/claude-3-7-sonnet-20250219",Se,ri;var si=W(()=>{k();Se=u("oca"),ri={provider:{id:"oca",name:"Oracle Code Assist",description:"Oracle Code Assist (OCA) LiteLLM gateway",protocol:"openai-chat",baseUrl:J,defaultModelId:Object.keys(Se)[0]??rt,capabilities:["reasoning","prompt-cache","tools"],env:["OCA_API_KEY"]},models:Se}});var bo={};x(bo,{OLLAMA_PROVIDER:()=>pi});var pi;var f0=W(()=>{pi={provider:{id:"ollama",name:"Ollama",description:"Ollama Cloud and local LLM hosting",protocol:"openai-chat",baseUrl:"http://localhost:11434/v1",defaultModelId:"llama3.2",env:["OLLAMA_API_KEY"]},models:{}}});var E0={};x(E0,{getOpenAIReasoningModels:()=>li,getActiveOpenAIModels:()=>mi,OPENAI_PROVIDER:()=>ui,OPENAI_MODELS:()=>ie,OPENAI_DEFAULT_MODEL:()=>st});function mi(){return Object.fromEntries(Object.entries(ie).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function li(){return Object.fromEntries(Object.entries(ie).filter(([,e])=>e.capabilities?.includes("reasoning")))}var ie,st,ui;var ta=W(()=>{k();ie=u("openai"),st=Object.keys(ie)[0]??"gpt-5.3-codex",ui={provider:{id:"openai-native",name:"OpenAI",description:"Creator of GPT and ChatGPT",protocol:"openai-responses",baseUrl:"https://api.openai.com/v1",defaultModelId:st,capabilities:["reasoning"],env:["OPENAI_API_KEY"]},models:ie}});var Do={};x(Do,{OPENAI_CODEX_PROVIDER:()=>di,OPENAI_CODEX_MODELS:()=>_0,OPENAI_CODEX_DEFAULT_MODEL:()=>pt});function sr(e){if(!e.capabilities?.includes("tools"))return e;return{...e,capabilities:e.capabilities.filter((t)=>t!=="tools")}}var _0,pt,di;var P0=W(()=>{k();_0=Object.fromEntries(Object.entries(u("openai")).map(([e,t])=>[e,sr(t)])),pt=Object.keys(_0)[0]??"gpt-5.3-codex",di={provider:{id:"openai-codex",name:"OpenAI Codex",description:"OpenAI Codex via the local Codex CLI provider",protocol:"openai-chat",baseUrl:"https://chatgpt.com/backend-api/codex",defaultModelId:pt,capabilities:["reasoning","oauth"]},models:_0}});var Ro={};x(Ro,{OPENCODE_PROVIDER:()=>v0,OPENCODE_MODELS:()=>gi,OPENCODE_DEFAULT_MODEL:()=>ia});var gi,ia,v0;var G0=W(()=>{k();gi=u("opencode"),ia=Object.keys(gi)[0]??"openai/gpt-5.3-codex",v0={provider:{id:"opencode",name:"OpenCode",description:"OpenCode SDK multi-provider runtime",protocol:"openai-chat",baseUrl:"",defaultModelId:ia,capabilities:["reasoning","oauth"]},models:gi}});var ko={};x(ko,{OPENROUTER_PROVIDER:()=>xi,OPENROUTER_MODELS:()=>ut,OPENROUTER_DEFAULT_MODEL:()=>mt});var ut,mt="anthropic/claude-sonnet-4.6",xi;var A0=W(()=>{k();ut=u("openrouter"),xi={provider:{id:"openrouter",name:"OpenRouter",description:"OpenRouter AI platform",protocol:"openai-chat",baseUrl:"https://openrouter.ai/api/v1",defaultModelId:mt,capabilities:["reasoning","prompt-cache"],env:["OPENROUTER_API_KEY"]},models:ut}});var To={};x(To,{QWEN_PROVIDER:()=>L0,QWEN_MODELS:()=>hi,QWEN_DEFAULT_MODEL:()=>aa});var O0="qwen-plus-latest",hi,aa,L0;var S0=W(()=>{k();hi={[O0]:{id:O0,name:"Qwen Plus Latest",capabilities:["streaming","tools","reasoning"]},...u("qwen")},aa=Object.keys(hi)[0]??O0,L0={provider:{id:"qwen",name:"Qwen",description:"Alibaba Qwen platform models",protocol:"openai-chat",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",defaultModelId:aa,capabilities:["reasoning"],env:["QWEN_API_KEY"]},models:hi}});var Mo={};x(Mo,{QWEN_CODE_PROVIDER:()=>Q0,QWEN_CODE_MODELS:()=>Wi,QWEN_CODE_DEFAULT_MODEL:()=>na});var C0="qwen3-coder-plus",Wi,na,Q0;var F0=W(()=>{k();Wi={[C0]:{id:C0,name:"Qwen3 Coder Plus",capabilities:["streaming","tools","reasoning"]},...u("qwen-code")},na=Object.keys(Wi)[0]??C0,Q0={provider:{id:"qwen-code",name:"Qwen Code",description:"Qwen OAuth coding models",protocol:"openai-chat",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",defaultModelId:na,capabilities:["reasoning","oauth"]},models:Wi}});var fo={};x(fo,{REQUESTY_PROVIDER:()=>wi,REQUESTY_MODELS:()=>K0});var K0,wi;var q0=W(()=>{k();K0=u("requesty"),wi={provider:{id:"requesty",name:"Requesty",description:"AI router with multiple provider support",protocol:"openai-chat",baseUrl:"https://router.requesty.ai/v1",defaultModelId:Object.keys(K0)[0],capabilities:["reasoning"],env:["REQUESTY_API_KEY"]},models:K0}});var Eo={};x(Eo,{SAMBANOVA_PROVIDER:()=>bi,SAMBANOVA_MODELS:()=>Ce,SAMBANOVA_DEFAULT_MODEL:()=>lt});var Ce,lt,bi;var B0=W(()=>{k();Ce=u("sambanova"),lt=Object.keys(Ce)[0],bi={provider:{id:"sambanova",name:"SambaNova",description:"High-performance AI inference",protocol:"openai-chat",baseUrl:"https://api.sambanova.ai/v1",defaultModelId:lt,env:["SAMBANOVA_API_KEY"]},models:Ce}});var _o={};x(_o,{SAP_AI_CORE_PROVIDER:()=>N0,SAP_AI_CORE_MODELS:()=>Di,SAP_AI_CORE_DEFAULT_MODEL:()=>oa});var V0="anthropic--claude-3.5-sonnet",Di,oa,N0;var y0=W(()=>{k();Di={[V0]:{id:V0,name:"Claude 3.5 Sonnet (SAP AI Core)",capabilities:["streaming","tools","reasoning","prompt-cache"]},...u("sapaicore")},oa=Object.keys(Di)[0]??V0,N0={provider:{id:"sapaicore",name:"SAP AI Core",description:"SAP AI Core inference and orchestration platform",protocol:"openai-chat",baseUrl:"",defaultModelId:oa,capabilities:["reasoning","prompt-cache"],env:["AICORE_SERVICE_KEY","VCAP_SERVICES"]},models:Di}});var Po={};x(Po,{getTogetherLlamaModels:()=>ki,TOGETHER_PROVIDER:()=>Ri,TOGETHER_MODELS:()=>le,TOGETHER_DEFAULT_MODEL:()=>dt});function ki(){return Object.fromEntries(Object.entries(le).filter(([e])=>e.toLowerCase().includes("llama")))}var le,dt,Ri;var U0=W(()=>{k();le=u("together"),dt=Object.keys(le)[0]??"meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo",Ri={provider:{id:"together",name:"Together AI",description:"Fast inference for open-source models",protocol:"openai-chat",baseUrl:"https://api.together.xyz/v1",defaultModelId:dt,capabilities:["reasoning"],env:["TOGETHER_API_KEY"]},models:le}});var vo={};x(vo,{VERCEL_AI_GATEWAY_PROVIDER:()=>Ti});var pr,Ti;var Y0=W(()=>{k();pr=u("vercel-ai-gateway"),Ti={provider:{id:"vercel-ai-gateway",name:"Vercel AI Gateway",description:"Vercel's AI gateway service",protocol:"openai-chat",baseUrl:"https://ai-gateway.vercel.sh/v1",defaultModelId:Object.keys(pr)[0],capabilities:["reasoning"],env:["AI_GATEWAY_API_KEY"]},models:u("vercel-ai-gateway")}});var Ao={};x(Ao,{VERTEX_PROVIDER:()=>Mi,VERTEX_MODELS:()=>Qe,VERTEX_DEFAULT_MODEL:()=>gt});var Qe,Go,ur,gt,Mi;var $0=W(()=>{k();Qe=u("vertex"),Go=Object.keys(Qe),ur=Go.find((e)=>!e.includes("claude")),gt=ur??Go[0]??"gemini-3-pro",Mi={provider:{id:"vertex",name:"Google Vertex AI",description:"Google Cloud Vertex AI (Gemini and partner models)",protocol:"gemini",defaultModelId:gt,capabilities:["reasoning","prompt-cache"],env:["GCP_PROJECT_ID","GOOGLE_CLOUD_PROJECT","GOOGLE_APPLICATION_CREDENTIALS","GEMINI_API_KEY","GOOGLE_API_KEY"]},models:Qe}});var Oo={};x(Oo,{getActiveXAIModels:()=>Ei,XAI_PROVIDER:()=>fi,XAI_MODELS:()=>de,XAI_DEFAULT_MODEL:()=>xt});function Ei(){return Object.fromEntries(Object.entries(de).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}var de,xt,fi;var X0=W(()=>{k();de=u("xai"),xt=Object.keys(de)[0],fi={provider:{id:"xai",name:"xAI",description:"Creator of Grok AI assistant",protocol:"openai-chat",baseUrl:"https://api.x.ai/v1",defaultModelId:xt,capabilities:["reasoning"],env:["XAI_API_KEY"]},models:de}});var Lo={};x(Lo,{ZAI_PROVIDER:()=>j0,ZAI_MODELS:()=>_i,ZAI_DEFAULT_MODEL:()=>ca});var _i,ca,j0;var H0=W(()=>{k();_i=u("zai"),ca=Object.keys(_i)[0],j0={provider:{id:"zai",name:"Z.AI",description:"Z.AI's family of LLMs",protocol:"openai-chat",baseUrl:"https://api.z.ai/api/paas/v4",defaultModelId:ca,capabilities:["reasoning"],env:["ZHIPU_API_KEY"]},models:_i}});function zc(e){return e}var oc={};x(oc,{validateQueryConfig:()=>Ya,validateModelInfo:()=>Na,updateModel:()=>J0,unregisterProvider:()=>Vo,unregisterModel:()=>Bo,sortModels:()=>Pt,searchModels:()=>ic,safeValidateQueryConfig:()=>$a,safeValidateModelInfo:()=>ya,resetRegistry:()=>yo,registerProvider:()=>ma,registerModels:()=>Uo,registerModel:()=>Wt,queryModels:()=>N,matchesQuery:()=>_t,isDeprecated:()=>Et,isActive:()=>Ba,hasProvider:()=>ra,hasCapability:()=>fe,getVisionModels:()=>$o,getToolModels:()=>Ho,getTogetherLlamaModels:()=>ki,getReasoningModels:()=>Xo,getProviderIds:()=>xe,getProviderCollection:()=>Qo,getProvider:()=>Co,getPricing:()=>Va,getOpenAIReasoningModels:()=>li,getModelsWithContextWindow:()=>ec,getModelsInPriceRange:()=>zo,getModelsForProvider:()=>sa,getModelsByProvider:()=>tc,getModelStatistics:()=>nc,getModelCount:()=>qo,getModel:()=>pa,getGroqVisionModels:()=>jt,getGeneratedProviderModels:()=>Xa,getGeneratedModelsVersion:()=>ja,getGeneratedModelsForProvider:()=>u,getGeminiThinkingModels:()=>$t,getFireworksFunctionModels:()=>yt,getDeprecatedModels:()=>Io,getDefaultModel:()=>Ko,getDeepSeekReasoningModels:()=>qt,getComputerUseModels:()=>Jo,getCachingModels:()=>jo,getAnthropicReasoningModels:()=>Ot,getAllProviders:()=>Fo,getAllModels:()=>ua,getActiveXAIModels:()=>Ei,getActiveOpenAIModels:()=>mi,getActiveModels:()=>Zo,getActiveGeminiModels:()=>Yt,getActiveAnthropicModels:()=>At,deprecateModel:()=>Yo,createQuery:()=>ac,clearCustomModels:()=>No,XAI_PROVIDER:()=>fi,XAI_MODELS:()=>de,XAI_DEFAULT_MODEL:()=>xt,VERTEX_PROVIDER:()=>Mi,VERTEX_MODELS:()=>Qe,VERTEX_DEFAULT_MODEL:()=>gt,VERCEL_AI_GATEWAY_PROVIDER:()=>Ti,ThinkingConfigSchema:()=>Ji,TOGETHER_PROVIDER:()=>Ri,TOGETHER_MODELS:()=>le,TOGETHER_DEFAULT_MODEL:()=>dt,SAMBANOVA_PROVIDER:()=>bi,SAMBANOVA_MODELS:()=>Ce,SAMBANOVA_DEFAULT_MODEL:()=>lt,REQUESTY_PROVIDER:()=>wi,ProviderInfoSchema:()=>Ii,ProviderCapabilitySchema:()=>Zi,OPENROUTER_PROVIDER:()=>xi,OPENROUTER_MODELS:()=>ut,OPENROUTER_DEFAULT_MODEL:()=>mt,OPENAI_PROVIDER:()=>ui,OPENAI_MODELS:()=>ie,OPENAI_DEFAULT_MODEL:()=>st,OPENAI_CODEX_PROVIDER:()=>di,OPENAI_CODEX_DEFAULT_MODEL:()=>pt,OLLAMA_PROVIDER:()=>pi,OCA_PROVIDER:()=>ri,OCA_MODELS:()=>Se,OCA_DEFAULT_MODEL:()=>rt,NOUS_RESEARCH_PROVIDER:()=>ci,NOUS_RESEARCH_MODELS:()=>ct,NOUS_RESEARCH_DEFAULT_MODEL:()=>oi,NEBIUS_PROVIDER:()=>ni,NEBIUS_MODELS:()=>Le,NEBIUS_DEFAULT_MODEL:()=>ot,ModelStatusSchema:()=>$e,ModelQueryResultSchema:()=>Ua,ModelQueryConfigSchema:()=>se,ModelQueryBuilder:()=>la,ModelPricingSchema:()=>Hi,ModelInfoSchema:()=>Me,ModelEntrySchema:()=>Ka,ModelCollectionSchema:()=>qa,ModelCapabilitySchema:()=>re,MOONSHOT_PROVIDER:()=>ai,MOONSHOT_MODELS:()=>Oe,MOONSHOT_DEFAULT_MODEL:()=>nt,MISTRAL_PROVIDER:()=>ii,MINIMAX_PROVIDER:()=>ti,MINIMAX_MODELS:()=>Ae,MINIMAX_DEFAULT_MODEL:()=>at,LMSTUDIO_PROVIDER:()=>ei,LITELLM_PROVIDER:()=>zt,HUGGINGFACE_PROVIDER:()=>It,HUAWEI_CLOUD_MAAS_PROVIDER:()=>Jt,HICAP_PROVIDER:()=>Ht,GROQ_PROVIDER:()=>Xt,GROQ_MODELS:()=>me,GROQ_DEFAULT_MODEL:()=>it,GEMINI_PROVIDER:()=>Ut,GEMINI_MODELS:()=>ee,GEMINI_DEFAULT_MODEL:()=>tt,FIREWORKS_PROVIDER:()=>Nt,FIREWORKS_MODELS:()=>ue,FIREWORKS_DEFAULT_MODEL:()=>et,DIFY_PROVIDER:()=>Bt,DEFAULT_INTERNAL_OCA_BASE_URL:()=>te,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>J,DEEPSEEK_PROVIDER:()=>Kt,DEEPSEEK_MODELS:()=>pe,DEEPSEEK_DEFAULT_MODEL:()=>ze,CLINE_PROVIDER:()=>Ge,CLINE_MODELS:()=>ve,CLINE_DEFAULT_MODEL:()=>Pe,CLAUDE_CODE_PROVIDER:()=>Ft,CLAUDE_CODE_MODELS:()=>Ze,CLAUDE_CODE_DEFAULT_MODEL:()=>Ie,CEREBRAS_PROVIDER:()=>Qt,CEREBRAS_MODELS:()=>_e,CEREBRAS_DEFAULT_MODEL:()=>Je,BEDROCK_PROVIDER:()=>Ct,BEDROCK_MODELS:()=>Ee,BEDROCK_DEFAULT_MODEL:()=>He,BASETEN_PROVIDER:()=>St,ApiFormatSchema:()=>Ye,ApiFormat:()=>I,ASKSAGE_PROVIDER:()=>Lt,ANTHROPIC_PROVIDER:()=>Gt,ANTHROPIC_MODELS:()=>z,ANTHROPIC_DEFAULT_MODEL:()=>je,AIHUBMIX_PROVIDER:()=>vt});import{z as w}from"zod";var Ye=w.enum(["default","openai-responses","r1"]),I={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},re=w.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),$e=w.enum(["active","preview","deprecated","legacy"]),Hi=w.object({input:w.number().optional(),output:w.number().optional(),cacheWrite:w.number().optional(),cacheRead:w.number().optional()}),Ji=w.object({maxBudget:w.number().optional(),outputPrice:w.number().optional(),thinkingLevel:w.enum(["low","high"]).optional()}),Me=w.object({id:w.string(),name:w.string().optional(),description:w.string().optional(),maxTokens:w.number().optional(),contextWindow:w.number().optional(),capabilities:w.array(re).optional(),apiFormat:Ye.optional(),systemRole:w.enum(["system","developer"]).optional(),temperature:w.number().optional(),pricing:Hi.optional(),thinkingConfig:Ji.optional(),status:$e.optional(),deprecationNotice:w.string().optional(),replacedBy:w.string().optional(),releaseDate:w.string().optional(),deprecationDate:w.string().optional()}),Ka=w.object({id:w.string(),info:Me}),Zi=w.enum(["reasoning","prompt-cache","tools","oauth"]),Kn=w.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1"]),Ii=w.object({id:w.string(),name:w.string(),description:w.string().optional(),protocol:Kn.optional(),baseUrl:w.string().optional(),defaultModelId:w.string(),capabilities:w.array(Zi).optional(),env:w.array(w.string()).optional()}),qa=w.object({provider:Ii,models:w.record(w.string(),Me)});function fe(e,t){return e.capabilities?.includes(t)??!1}function Et(e){return e.status==="deprecated"}function Ba(e){return!e.status||e.status==="active"||e.status==="preview"}function Va(e){return e.pricing??{}}function Na(e){return Me.parse(e)}function ya(e){let t=Me.safeParse(e);return t.success?t.data:void 0}import{z as A}from"zod";var se=A.object({providers:A.array(A.string()).optional(),capabilities:A.array(re).optional(),anyCapabilities:A.array(re).optional(),excludeCapabilities:A.array(re).optional(),status:A.array($e).optional(),includeDeprecated:A.boolean().optional(),apiFormat:Ye.optional(),minContextWindow:A.number().optional(),maxContextWindow:A.number().optional(),minMaxTokens:A.number().optional(),maxInputPrice:A.number().optional(),maxOutputPrice:A.number().optional(),search:A.string().optional(),hasThinking:A.boolean().optional(),sortBy:A.enum(["name","contextWindow","maxTokens","inputPrice","outputPrice"]).optional(),sortDirection:A.enum(["asc","desc"]).optional(),limit:A.number().optional()}),Ua=A.object({models:A.array(A.object({providerId:A.string(),modelId:A.string(),info:A.any()})),total:A.number(),config:se});function _t(e,t,i){if(!i.includeDeprecated&&Et(t))return!1;if(i.status&&i.status.length>0){let a=t.status??"active";if(!i.status.includes(a))return!1}if(i.capabilities&&i.capabilities.length>0){if(!i.capabilities.every((n)=>fe(t,n)))return!1}if(i.anyCapabilities&&i.anyCapabilities.length>0){if(!i.anyCapabilities.some((n)=>fe(t,n)))return!1}if(i.excludeCapabilities&&i.excludeCapabilities.length>0){if(i.excludeCapabilities.some((n)=>fe(t,n)))return!1}if(i.apiFormat&&t.apiFormat!==i.apiFormat)return!1;if(i.minContextWindow&&(t.contextWindow??0)<i.minContextWindow)return!1;if(i.maxContextWindow&&(t.contextWindow??Number.POSITIVE_INFINITY)>i.maxContextWindow)return!1;if(i.minMaxTokens&&(t.maxTokens??0)<i.minMaxTokens)return!1;if(i.maxInputPrice&&(t.pricing?.input??Number.POSITIVE_INFINITY)>i.maxInputPrice)return!1;if(i.maxOutputPrice&&(t.pricing?.output??Number.POSITIVE_INFINITY)>i.maxOutputPrice)return!1;if(i.search){let a=i.search.toLowerCase(),n=t.name?.toLowerCase().includes(a)??!1,o=e.toLowerCase().includes(a),c=t.description?.toLowerCase().includes(a)??!1;if(!n&&!o&&!c)return!1}if(i.hasThinking===!0&&!t.thinkingConfig)return!1;if(i.hasThinking===!1&&t.thinkingConfig)return!1;return!0}function Pt(e,t,i="asc"){if(!t)return e;let a=[...e].sort((n,o)=>{let c,r;switch(t){case"name":c=n.info.name??n.modelId,r=o.info.name??o.modelId;break;case"contextWindow":c=n.info.contextWindow??0,r=o.info.contextWindow??0;break;case"maxTokens":c=n.info.maxTokens??0,r=o.info.maxTokens??0;break;case"inputPrice":c=n.info.pricing?.input??Number.POSITIVE_INFINITY,r=o.info.pricing?.input??Number.POSITIVE_INFINITY;break;case"outputPrice":c=n.info.pricing?.output??Number.POSITIVE_INFINITY,r=o.info.pricing?.output??Number.POSITIVE_INFINITY;break;default:return 0}if(typeof c==="string"&&typeof r==="string")return c.localeCompare(r);return c-r});return i==="desc"?a.reverse():a}function Ya(e){return se.parse(e)}function $a(e){let t=se.safeParse(e);return t.success?t.data:void 0}var So=[["aihubmix",async()=>(await Promise.resolve().then(() => (Ha(),Yn))).AIHUBMIX_PROVIDER],["anthropic",async()=>(await Promise.resolve().then(() => (Ja(),$n))).ANTHROPIC_PROVIDER],["asksage",async()=>(await Promise.resolve().then(() => (Za(),Xn))).ASKSAGE_PROVIDER],["baseten",async()=>(await Promise.resolve().then(() => (Ia(),Hn))).BASETEN_PROVIDER],["bedrock",async()=>(await Promise.resolve().then(() => (za(),Jn))).BEDROCK_PROVIDER],["cerebras",async()=>(await Promise.resolve().then(() => (e0(),Zn))).CEREBRAS_PROVIDER],["claude-code",async()=>(await Promise.resolve().then(() => (a0(),In))).CLAUDE_CODE_PROVIDER],["cline",async()=>(await Promise.resolve().then(() => (n0(),zn))).CLINE_PROVIDER],["deepseek",async()=>(await Promise.resolve().then(() => (o0(),eo))).DEEPSEEK_PROVIDER],["dify",async()=>(await Promise.resolve().then(() => (c0(),to))).DIFY_PROVIDER],["doubao",async()=>(await Promise.resolve().then(() => (p0(),io))).DOUBAO_PROVIDER],["fireworks",async()=>(await Promise.resolve().then(() => (u0(),ao))).FIREWORKS_PROVIDER],["gemini",async()=>(await Promise.resolve().then(() => (m0(),no))).GEMINI_PROVIDER],["groq",async()=>(await Promise.resolve().then(() => (l0(),oo))).GROQ_PROVIDER],["hicap",async()=>(await Promise.resolve().then(() => (d0(),co))).HICAP_PROVIDER],["huawei-cloud-maas",async()=>(await Promise.resolve().then(() => (g0(),ro))).HUAWEI_CLOUD_MAAS_PROVIDER],["huggingface",async()=>(await Promise.resolve().then(() => (x0(),so))).HUGGINGFACE_PROVIDER],["litellm",async()=>(await Promise.resolve().then(() => (h0(),po))).LITELLM_PROVIDER],["lmstudio",async()=>(await Promise.resolve().then(() => (W0(),mo))).LMSTUDIO_PROVIDER],["minimax",async()=>(await Promise.resolve().then(() => (b0(),lo))).MINIMAX_PROVIDER],["mistral",async()=>(await Promise.resolve().then(() => (D0(),go))).MISTRAL_PROVIDER],["moonshot",async()=>(await Promise.resolve().then(() => (k0(),xo))).MOONSHOT_PROVIDER],["nebius",async()=>(await Promise.resolve().then(() => (T0(),ho))).NEBIUS_PROVIDER],["nousResearch",async()=>(await Promise.resolve().then(() => (M0(),Wo))).NOUS_RESEARCH_PROVIDER],["oca",async()=>(await Promise.resolve().then(() => (si(),wo))).OCA_PROVIDER],["ollama",async()=>(await Promise.resolve().then(() => (f0(),bo))).OLLAMA_PROVIDER],["openai",async()=>(await Promise.resolve().then(() => (ta(),E0))).OPENAI_PROVIDER],["openai-codex",async()=>(await Promise.resolve().then(() => (P0(),Do))).OPENAI_CODEX_PROVIDER],["openai-native",async()=>(await Promise.resolve().then(() => (ta(),E0))).OPENAI_PROVIDER],["opencode",async()=>(await Promise.resolve().then(() => (G0(),Ro))).OPENCODE_PROVIDER],["openrouter",async()=>(await Promise.resolve().then(() => (A0(),ko))).OPENROUTER_PROVIDER],["qwen",async()=>(await Promise.resolve().then(() => (S0(),To))).QWEN_PROVIDER],["qwen-code",async()=>(await Promise.resolve().then(() => (F0(),Mo))).QWEN_CODE_PROVIDER],["requesty",async()=>(await Promise.resolve().then(() => (q0(),fo))).REQUESTY_PROVIDER],["sambanova",async()=>(await Promise.resolve().then(() => (B0(),Eo))).SAMBANOVA_PROVIDER],["sapaicore",async()=>(await Promise.resolve().then(() => (y0(),_o))).SAP_AI_CORE_PROVIDER],["together",async()=>(await Promise.resolve().then(() => (U0(),Po))).TOGETHER_PROVIDER],["vercel-ai-gateway",async()=>(await Promise.resolve().then(() => (Y0(),vo))).VERCEL_AI_GATEWAY_PROVIDER],["vertex",async()=>(await Promise.resolve().then(() => ($0(),Ao))).VERTEX_PROVIDER],["xai",async()=>(await Promise.resolve().then(() => (X0(),Oo))).XAI_PROVIDER],["zai",async()=>(await Promise.resolve().then(() => (H0(),Lo))).ZAI_PROVIDER]];var Pi=new Map,ht=new Map,X=new Map,Fe=new Map,mr=So;function lr(){for(let[e,t]of mr)ht.set(e,{load:t})}lr();async function dr(e){return e.load()}async function ge(e){if(Fe.has(e))return Fe.get(e);if(Pi.has(e))return Pi.get(e);let t=ht.get(e);if(!t)return;let i=await dr(t);return Pi.set(e,i),i}function xe(){let e=Array.from(ht.keys()),t=Array.from(Fe.keys()).filter((i)=>!ht.has(i));return[...e,...t]}function ra(e){return ht.has(e)||Fe.has(e)}async function Co(e){return(await ge(e))?.provider}async function Qo(e){return ge(e)}async function Fo(){let e=xe();return(await Promise.all(e.map((i)=>ge(i)))).filter((i)=>i!==void 0).map((i)=>i.provider)}async function sa(e){let i=(await ge(e))?.models??{},a=X.get(e);if(a)return{...i,...Object.fromEntries(a)};return i}async function pa(e,t){let i=X.get(e);if(i?.has(t))return i.get(t);return(await ge(e))?.models[t]}async function Ko(e){let t=await ge(e);if(!t)return;let i=t.provider.defaultModelId,a=await pa(e,i);if(!a)return;return{id:i,info:a}}async function ua(){let e=[],t=xe();return await Promise.all(t.map(async(i)=>{let a=await ge(i);if(!a)return;for(let[o,c]of Object.entries(a.models))e.push({providerId:i,modelId:o,info:c});let n=X.get(i);if(n){for(let[o,c]of n)if(!a.models[o])e.push({providerId:i,modelId:o,info:c})}})),e}async function qo(){let e=0,t=xe();return await Promise.all(t.map(async(i)=>{let a=await ge(i);if(!a)return;e+=Object.keys(a.models).length;let n=X.get(i);if(n){for(let o of n.keys())if(!a.models[o])e++}})),e}function ma(e){Fe.set(e.provider.id,e)}function Wt(e,t,i){if(!X.has(e))X.set(e,new Map);X.get(e)?.set(t,{...i,id:t})}function Bo(e,t){let i=X.get(e);if(i)return i.delete(t);return!1}function Vo(e){return X.delete(e),Pi.delete(e),Fe.delete(e)||ht.delete(e)}function No(){X.clear()}function yo(){Pi.clear(),X.clear(),Fe.clear()}function Uo(e,t){for(let[i,a]of Object.entries(t))Wt(e,i,a)}async function J0(e,t,i){let a=await pa(e,t);if(!a)return;let n={...a,...i};return Wt(e,t,n),n}async function Yo(e,t,i){return J0(e,t,{status:"deprecated",deprecationNotice:i?.notice,replacedBy:i?.replacedBy,deprecationDate:i?.deprecationDate})}function N(e){let t=se.parse(e),i=t.providers?.length?t.providers.filter((o)=>xe().includes(o)):xe(),a=[];for(let o of i){let c=sa(o);for(let[r,s]of Object.entries(c))if(_t(r,s,t))a.push({providerId:o,modelId:r,info:s})}let n=Pt(a,t.sortBy,t.sortDirection??"asc");if(t.limit&&t.limit>0)return n.slice(0,t.limit);return n}function $o(){return N({capabilities:["images"]})}function Xo(){return N({capabilities:["reasoning"]})}function jo(){return N({capabilities:["prompt-cache"]})}function Ho(){return N({capabilities:["tools"]})}function Jo(){return N({capabilities:["computer-use"]})}function Zo(){return N({includeDeprecated:!1,status:["active","preview"]})}function Io(){return N({includeDeprecated:!0,status:["deprecated"]})}function zo(e,t){return N({maxInputPrice:e,maxOutputPrice:t,sortBy:"inputPrice"})}function ec(e){return N({minContextWindow:e,sortBy:"contextWindow",sortDirection:"desc"})}function tc(e){return N({providers:[e]})}function ic(e){return N({search:e})}class la{config={};fromProviders(e){return this.config.providers=e,this}withCapabilities(e){return this.config.capabilities=e,this}withAnyCapabilities(e){return this.config.anyCapabilities=e,this}excludeCapabilities(e){return this.config.excludeCapabilities=e,this}withStatus(e){return this.config.status=e,this}includeDeprecated(e=!0){return this.config.includeDeprecated=e,this}withApiFormat(e){return this.config.apiFormat=e,this}contextWindow(e){if(e.min!==void 0)this.config.minContextWindow=e.min;if(e.max!==void 0)this.config.maxContextWindow=e.max;return this}minMaxTokens(e){return this.config.minMaxTokens=e,this}maxPrice(e){if(e.input!==void 0)this.config.maxInputPrice=e.input;if(e.output!==void 0)this.config.maxOutputPrice=e.output;return this}search(e){return this.config.search=e,this}hasThinking(e=!0){return this.config.hasThinking=e,this}sortBy(e,t="asc"){return this.config.sortBy=e,this.config.sortDirection=t,this}limit(e){return this.config.limit=e,this}getConfig(){return{...this.config}}execute(){return N(this.config)}}function ac(){return new la}async function nc(){let e=await ua(),t={},i={},a={},n=[];for(let{providerId:r,info:s}of e){t[r]=(t[r]??0)+1;for(let g of s.capabilities??[])i[g]=(i[g]??0)+1;let p=s.status??"active";if(a[p]=(a[p]??0)+1,s.pricing?.input!==void 0)n.push(s.pricing.input)}let o=n.sort((r,s)=>r-s),c={min:o[0]??0,max:o[o.length-1]??0,avg:n.length>0?n.reduce((r,s)=>r+s,0)/n.length:0};return{totalModels:e.length,modelsByProvider:t,modelsByCapability:i,modelsByStatus:a,priceRange:c}}k();Ha();Ja();Za();Ia();za();e0();a0();n0();o0();c0();p0();u0();m0();l0();d0();g0();x0();h0();W0();b0();D0();k0();T0();M0();si();f0();ta();P0();G0();A0();S0();F0();q0();B0();y0();U0();Y0();$0();X0();H0();var vi={};x(vi,{getTogetherLlamaModels:()=>ki,getOpenAIReasoningModels:()=>li,getGroqVisionModels:()=>jt,getGeminiThinkingModels:()=>$t,getFireworksFunctionModels:()=>yt,getDeepSeekReasoningModels:()=>qt,getAnthropicReasoningModels:()=>Ot,getActiveXAIModels:()=>Ei,getActiveOpenAIModels:()=>mi,getActiveGeminiModels:()=>Yt,getActiveAnthropicModels:()=>At,ZAI_PROVIDER:()=>j0,ZAI_MODELS:()=>_i,ZAI_DEFAULT_MODEL:()=>ca,XAI_PROVIDER:()=>fi,XAI_MODELS:()=>de,XAI_DEFAULT_MODEL:()=>xt,VERTEX_PROVIDER:()=>Mi,VERTEX_MODELS:()=>Qe,VERTEX_DEFAULT_MODEL:()=>gt,VERCEL_AI_GATEWAY_PROVIDER:()=>Ti,TOGETHER_PROVIDER:()=>Ri,TOGETHER_MODELS:()=>le,TOGETHER_DEFAULT_MODEL:()=>dt,SAP_AI_CORE_PROVIDER:()=>N0,SAP_AI_CORE_MODELS:()=>Di,SAP_AI_CORE_DEFAULT_MODEL:()=>oa,SAMBANOVA_PROVIDER:()=>bi,SAMBANOVA_MODELS:()=>Ce,SAMBANOVA_DEFAULT_MODEL:()=>lt,REQUESTY_PROVIDER:()=>wi,QWEN_PROVIDER:()=>L0,QWEN_MODELS:()=>hi,QWEN_DEFAULT_MODEL:()=>aa,QWEN_CODE_PROVIDER:()=>Q0,QWEN_CODE_MODELS:()=>Wi,QWEN_CODE_DEFAULT_MODEL:()=>na,OPENROUTER_PROVIDER:()=>xi,OPENROUTER_MODELS:()=>ut,OPENROUTER_DEFAULT_MODEL:()=>mt,OPENCODE_PROVIDER:()=>v0,OPENCODE_MODELS:()=>gi,OPENCODE_DEFAULT_MODEL:()=>ia,OPENAI_PROVIDER:()=>ui,OPENAI_MODELS:()=>ie,OPENAI_DEFAULT_MODEL:()=>st,OPENAI_CODEX_PROVIDER:()=>di,OPENAI_CODEX_DEFAULT_MODEL:()=>pt,OLLAMA_PROVIDER:()=>pi,OCA_PROVIDER:()=>ri,OCA_MODELS:()=>Se,OCA_DEFAULT_MODEL:()=>rt,NOUS_RESEARCH_PROVIDER:()=>ci,NOUS_RESEARCH_MODELS:()=>ct,NOUS_RESEARCH_DEFAULT_MODEL:()=>oi,NEBIUS_PROVIDER:()=>ni,NEBIUS_MODELS:()=>Le,NEBIUS_DEFAULT_MODEL:()=>ot,MOONSHOT_PROVIDER:()=>ai,MOONSHOT_MODELS:()=>Oe,MOONSHOT_DEFAULT_MODEL:()=>nt,MISTRAL_PROVIDER:()=>ii,MINIMAX_PROVIDER:()=>ti,MINIMAX_MODELS:()=>Ae,MINIMAX_DEFAULT_MODEL:()=>at,LMSTUDIO_PROVIDER:()=>ei,LITELLM_PROVIDER:()=>zt,HUGGINGFACE_PROVIDER:()=>It,HUGGINGFACE_MODELS:()=>Zt,HUAWEI_CLOUD_MAAS_PROVIDER:()=>Jt,HICAP_PROVIDER:()=>Ht,GROQ_PROVIDER:()=>Xt,GROQ_MODELS:()=>me,GROQ_DEFAULT_MODEL:()=>it,GEMINI_PROVIDER:()=>Ut,GEMINI_MODELS:()=>ee,GEMINI_DEFAULT_MODEL:()=>tt,FIREWORKS_PROVIDER:()=>Nt,FIREWORKS_MODELS:()=>ue,FIREWORKS_DEFAULT_MODEL:()=>et,DOUBAO_PROVIDER:()=>s0,DOUBAO_MODELS:()=>Vt,DOUBAO_DEFAULT_MODEL:()=>ea,DIFY_PROVIDER:()=>Bt,DEFAULT_INTERNAL_OCA_BASE_URL:()=>te,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>J,DEEPSEEK_PROVIDER:()=>Kt,DEEPSEEK_MODELS:()=>pe,DEEPSEEK_DEFAULT_MODEL:()=>ze,CLINE_PROVIDER:()=>Ge,CLINE_MODELS:()=>ve,CLINE_DEFAULT_MODEL:()=>Pe,CLAUDE_CODE_PROVIDER:()=>Ft,CLAUDE_CODE_MODELS:()=>Ze,CLAUDE_CODE_DEFAULT_MODEL:()=>Ie,CEREBRAS_PROVIDER:()=>Qt,CEREBRAS_MODELS:()=>_e,CEREBRAS_DEFAULT_MODEL:()=>Je,BEDROCK_PROVIDER:()=>Ct,BEDROCK_MODELS:()=>Ee,BEDROCK_DEFAULT_MODEL:()=>He,BASETEN_PROVIDER:()=>St,ASKSAGE_PROVIDER:()=>Lt,ANTHROPIC_PROVIDER:()=>Gt,ANTHROPIC_MODELS:()=>z,ANTHROPIC_DEFAULT_MODEL:()=>je,AIHUBMIX_PROVIDER:()=>vt});var Bc={};x(Bc,{toProviderConfig:()=>Wa,supportsModelThinking:()=>ae,resolveProviderConfig:()=>bt,parseSettings:()=>ha,normalizeProviderId:()=>V,isProviderSupported:()=>qc,hasModelCapability:()=>Ke,getModelPricing:()=>xa,createHandlerAsync:()=>Qa,createHandler:()=>$i,ProviderSettingsSchema:()=>Si,OPENAI_COMPATIBLE_PROVIDERS:()=>j,BUILT_IN_PROVIDERS:()=>Cn});import{z as he}from"zod";var cc=he.enum(["connector.started","connector.stopping","message.received","message.completed","message.failed","session.started","session.reused","thread.reset","schedule.delivery.started","schedule.delivery.sent","schedule.delivery.failed"]),gr=he.object({adapter:he.string(),botUserName:he.string().optional(),event:cc,payload:he.record(he.string(),he.unknown()),ts:he.string()});var Z0=[{modelsDevKey:"openai",generatedProviderId:"openai",runtimeProviderId:"openai-native"},{modelsDevKey:"openai",generatedProviderId:"openai",runtimeProviderId:"openai-codex"},{modelsDevKey:"anthropic",generatedProviderId:"anthropic"},{modelsDevKey:"anthropic",generatedProviderId:"anthropic",runtimeProviderId:"claude-code"},{modelsDevKey:"google",generatedProviderId:"gemini"},{modelsDevKey:"deepseek",generatedProviderId:"deepseek"},{modelsDevKey:"xai",generatedProviderId:"xai"},{modelsDevKey:"togetherai",runtimeProviderId:"together",generatedProviderId:"together"},{modelsDevKey:"sap-ai-core",runtimeProviderId:"sapaicore",generatedProviderId:"sapaicore"},{modelsDevKey:"fireworks-ai",runtimeProviderId:"fireworks",generatedProviderId:"fireworks"},{modelsDevKey:"groq",runtimeProviderId:"groq",generatedProviderId:"groq"},{modelsDevKey:"cerebras",runtimeProviderId:"cerebras",generatedProviderId:"cerebras"},{modelsDevKey:"sambanova",runtimeProviderId:"sambanova",generatedProviderId:"sambanova"},{modelsDevKey:"nebius",runtimeProviderId:"nebius",generatedProviderId:"nebius"},{modelsDevKey:"huggingface",runtimeProviderId:"huggingface",generatedProviderId:"huggingface"},{modelsDevKey:"openrouter",runtimeProviderId:"cline",generatedProviderId:"openrouter"},{modelsDevKey:"ollama",runtimeProviderId:"ollama-cloud"},{modelsDevKey:"ollama-cloud",generatedProviderId:"ollama"},{modelsDevKey:"vercel",runtimeProviderId:"dify",generatedProviderId:"vercel-ai-gateway"},{modelsDevKey:"vercel",generatedProviderId:"vercel-ai-gateway"},{modelsDevKey:"aihubmix",runtimeProviderId:"aihubmix",generatedProviderId:"aihubmix"},{modelsDevKey:"hicap",runtimeProviderId:"hicap"},{modelsDevKey:"nous-research",runtimeProviderId:"nousResearch"},{modelsDevKey:"huawei-cloud-maas",runtimeProviderId:"huawei-cloud-maas"},{modelsDevKey:"baseten",runtimeProviderId:"baseten",generatedProviderId:"baseten"},{modelsDevKey:"google-vertex-anthropic",generatedProviderId:"vertex"},{modelsDevKey:"lmstudio",generatedProviderId:"lmstudio"},{modelsDevKey:"zai",generatedProviderId:"zai"},{modelsDevKey:"requesty",generatedProviderId:"requesty"},{modelsDevKey:"amazon-bedrock",generatedProviderId:"bedrock"},{modelsDevKey:"moonshotai",generatedProviderId:"moonshot"},{modelsDevKey:"minimax",generatedProviderId:"minimax"}];function xr(e){return Object.fromEntries(Z0.flatMap((t)=>{let i=e==="modelsDevKey"?t.modelsDevKey:t.generatedProviderId;return i?[[t.modelsDevKey,i]]:[]}))}var I0=xr("generatedProviderId");function rc(e){return[...new Set(e)]}function Gi(e){let t=Z0.flatMap((i)=>{if(!i.generatedProviderId)return[];if(i.generatedProviderId===e||i.runtimeProviderId===e)return[i.generatedProviderId];return[]});if(e==="nousResearch")return rc([...t,"nousresearch",e]);return rc([...t,e])}import{z as F}from"zod";var hr=F.object({agentId:F.string(),conversationId:F.string(),iteration:F.number(),abortSignal:F.custom().optional(),metadata:F.record(F.string(),F.unknown()).optional()}),Wr=F.object({id:F.string(),name:F.string(),input:F.unknown(),output:F.unknown(),error:F.string().optional(),durationMs:F.number(),startedAt:F.date(),endedAt:F.date()});class We extends Error{constructor(e,t){super(`${e} at position ${t}`);this.position=t}}function sc(e){return/^[0-9A-Fa-f]$/.test(e)}function be(e){return e>="0"&&e<="9"}function pc(e){return e>=" "}function Ai(e){return`,:[]/{}()
2
+ +`.includes(e)}function z0(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="_"||e==="$"}function en(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="_"||e==="$"||e>="0"&&e<="9"}var tn=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,an=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function nn(e){return`,[]/{}
3
+ +`.includes(e)}function on(e){return Oi(e)||wr.test(e)}var wr=/^[[{\w-]$/;function uc(e){return e===`
4
+ `||e==="\r"||e==="\t"||e==="\b"||e==="\f"}function we(e,t){let i=e.charCodeAt(t);return i===32||i===10||i===9||i===13}function mc(e,t){let i=e.charCodeAt(t);return i===32||i===9||i===13}function lc(e,t){let i=e.charCodeAt(t);return i===160||i===6158||i>=8192&&i<=8203||i===8239||i===8287||i===12288||i===65279}function Oi(e){return cn(e)||da(e)}function cn(e){return e==='"'||e==="“"||e==="”"}function rn(e){return e==='"'}function da(e){return e==="'"||e==="‘"||e==="’"||e==="`"||e==="´"}function sn(e){return e==="'"}function wt(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a=e.lastIndexOf(t);return a!==-1?e.substring(0,a)+(i?"":e.substring(a+1)):e}function U(e,t){let i=e.length;if(!we(e,i-1))return e+t;while(we(e,i-1))i--;return e.substring(0,i)+t+e.substring(i)}function dc(e,t,i){return e.substring(0,t)+e.substring(t+i)}function gc(e){return/[,\n][ \t\r]*$/.test(e)}var br={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},Dr={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
5
+ `,r:"\r",t:"\t"};function pn(e){let t=0,i="";if(p(["```","[```","{```"]),!o())$c();p(["```","```]","```}"]);let n=b(",");if(n)c();if(on(e[t])&&gc(i)){if(!n)i=U(i,",");P()}else if(n)i=wt(i,",");while(e[t]==="}"||e[t]==="]")t++,c();if(t>=e.length)return i;Yc();function o(){c();let d=v()||h()||R()||E()||S()||K(!1)||Q();return c(),d}function c(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,M=t,_=r(d);do if(_=s(),_)_=r(d);while(_);return t>M}function r(d){let M=d?we:mc,_="";while(!0)if(M(e,t))_+=e[t],t++;else if(lc(e,t))_+=" ",t++;else break;if(_.length>0)return i+=_,!0;return!1}function s(){if(e[t]==="/"&&e[t+1]==="*"){while(t<e.length&&!Rr(e,t))t++;return t+=2,!0}if(e[t]==="/"&&e[t+1]==="/"){while(t<e.length&&e[t]!==`
6
+ `)t++;return!0}return!1}function p(d){if(g(d)){if(z0(e[t]))while(t<e.length&&en(e[t]))t++;return c(),!0}return!1}function g(d){r(!0);for(let M of d){let _=t+M.length;if(e.slice(t,_)===M)return t=_,!0}return!1}function b(d){if(e[t]===d)return i+=e[t],t++,!0;return!1}function D(d){if(e[t]===d)return t++,!0;return!1}function T(){return D("\\")}function G(){if(c(),e[t]==="."&&e[t+1]==="."&&e[t+2]===".")return t+=3,c(),D(","),!0;return!1}function v(){if(e[t]==="{"){if(i+="{",t++,c(),D(","))c();let d=!0;while(t<e.length&&e[t]!=="}"){let M;if(!d){if(M=b(","),!M)i=U(i,",");c()}else M=!0,d=!1;if(G(),!(R()||K(!0))){if(e[t]==="}"||e[t]==="{"||e[t]==="]"||e[t]==="["||e[t]===void 0)i=wt(i,",");else Xc();break}c();let Xi=b(":"),Te=t>=e.length;if(!Xi)if(on(e[t])||Te)i=U(i,":");else Qn();if(!o())if(Xi||Te)i+="null";else Qn()}if(e[t]==="}")i+="}",t++;else i=U(i,"}");return!0}return!1}function h(){if(e[t]==="["){if(i+="[",t++,c(),D(","))c();let d=!0;while(t<e.length&&e[t]!=="]"){if(!d){if(!b(","))i=U(i,",")}else d=!1;if(G(),!o()){i=wt(i,",");break}}if(e[t]==="]")i+="]",t++;else i=U(i,"]");return!0}return!1}function P(){let d=!0,M=!0;while(M){if(!d){if(!b(","))i=U(i,",")}else d=!1;M=o()}if(!M)i=wt(i,",");i=`[
7
+ ${i}
8
+ ]`}function R(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,_=e[t]==="\\";if(_)t++,_=!0;if(Oi(e[t])){let Xi=rn(e[t])?rn:sn(e[t])?sn:da(e[t])?da:cn,Te=t,ft=i.length,O='"';t++;while(!0){if(t>=e.length){let l=B(t-1);if(!d&&Ai(e.charAt(l)))return t=Te,i=i.substring(0,ft),R(!0);return O=U(O,'"'),i+=O,!0}if(t===M)return O=U(O,'"'),i+=O,!0;if(Xi(e[t])){let l=t,Fa=O.length;if(O+='"',t++,i+=O,c(!1),d||t>=e.length||Ai(e[t])||Oi(e[t])||be(e[t]))return f(),!0;let ce=B(l-1),Fn=e.charAt(ce);if(Fn===",")return t=Te,i=i.substring(0,ft),R(!1,ce);if(Ai(Fn))return t=Te,i=i.substring(0,ft),R(!0);i=i.substring(0,ft),t=l+1,O=`${O.substring(0,Fa)}\\${O.substring(Fa)}`}else if(d&&nn(e[t])){if(e[t-1]===":"&&tn.test(e.substring(Te+1,t+2)))while(t<e.length&&an.test(e[t]))O+=e[t],t++;return O=U(O,'"'),i+=O,f(),!0}else if(e[t]==="\\"){let l=e.charAt(t+1);if(Dr[l]!==void 0)O+=e.slice(t,t+2),t+=2;else if(l==="u"){let ce=2;while(ce<6&&sc(e[t+ce]))ce++;if(ce===6)O+=e.slice(t,t+6),t+=6;else if(t+ce>=e.length)t=e.length;else jc()}else O+=l,t+=2}else{let l=e.charAt(t);if(l==='"'&&e[t-1]!=="\\")O+=`\\${l}`,t++;else if(uc(l))O+=br[l],t++;else{if(!pc(l))Uc(l);O+=l,t++}}if(_)T()}}return!1}function f(){let d=!1;c();while(e[t]==="+"){d=!0,t++,c(),i=wt(i,'"',!0);let M=i.length;if(R())i=dc(i,M,1);else i=U(i,'"')}return d}function E(){let d=t;if(e[t]==="-"){if(t++,$())return Ue(d),!0;if(!be(e[t]))return t=d,!1}while(be(e[t]))t++;if(e[t]==="."){if(t++,$())return Ue(d),!0;if(!be(e[t]))return t=d,!1;while(be(e[t]))t++}if(e[t]==="e"||e[t]==="E"){if(t++,e[t]==="-"||e[t]==="+")t++;if($())return Ue(d),!0;if(!be(e[t]))return t=d,!1;while(be(e[t]))t++}if(!$())return t=d,!1;if(t>d){let M=e.slice(d,t),_=/^0\d/.test(M);return i+=_?`"${M}"`:M,!0}return!1}function S(){return q("true","true")||q("false","false")||q("null","null")||q("True","true")||q("False","false")||q("None","null")}function q(d,M){if(e.slice(t,t+d.length)===d)return i+=M,t+=d.length,!0;return!1}function K(d){let M=t;if(z0(e[t])){while(t<e.length&&en(e[t]))t++;let _=t;while(we(e,_))_++;if(e[_]==="("){if(t=_+1,o(),e[t]===")"){if(t++,e[t]===";")t++}return!0}}while(t<e.length&&!nn(e[t])&&!Oi(e[t])&&(!d||e[t]!==":"))t++;if(e[t-1]===":"&&tn.test(e.substring(M,t+2)))while(t<e.length&&an.test(e[t]))t++;if(t>M){while(we(e,t-1)&&t>0)t--;let _=e.slice(M,t);if(i+=_==="undefined"?"null":JSON.stringify(_),e[t]==='"')t++;return!0}}function Q(){if(e[t]==="/"){let d=t;t++;while(t<e.length&&(e[t]!=="/"||e[t-1]==="\\"))t++;return t++,i+=JSON.stringify(e.substring(d,t)),!0}}function B(d){let M=d;while(M>0&&we(e,M))M--;return M}function $(){return t>=e.length||Ai(e[t])||we(e,t)}function Ue(d){i+=`${e.slice(d,t)}0`}function Uc(d){throw new We(`Invalid character ${JSON.stringify(d)}`,t)}function Yc(){throw new We(`Unexpected character ${JSON.stringify(e[t])}`,t)}function $c(){throw new We("Unexpected end of json string",e.length)}function Xc(){throw new We("Object key expected",t)}function Qn(){throw new We("Colon expected",t)}function jc(){let d=e.slice(t,t+6);throw new We(`Invalid unicode character "${d}"`,t)}}function Rr(e,t){return e[t]==="*"&&e[t+1]==="/"}function xc(e){return JSON.parse(e)}function ga(e){if(typeof e!=="string")return e;let t=e.trimStart();if(!(t.startsWith("{")||t.startsWith("[")))return e;try{return xc(t)}catch{try{return xc(pn(t))}catch{return e}}}import{z as Gu}from"zod";function y(e,t){return`<file_content path="${e}">
9
9
  ${t}
10
- </file_content>`}function Rc(e){if(!e||typeof e!=="object")return!1;let t=e;return typeof t.provider==="object"&&typeof t.models==="object"}function kc(e){return e==="openai-chat"||e==="openai-responses"||e==="openai-r1"}function xr(e){let t={},a=e?.includeKnownModels??!1;for(let i of Object.values(Pa)){if(!Rc(i))continue;let n=i.provider;if(!kc(n.protocol)||!n.baseUrl)continue;t[n.id]={baseUrl:n.baseUrl,modelId:n.defaultModelId,knownModels:a?i.models:void 0,capabilities:n.capabilities}}return t}var ln="https://models.dev/api.json",Tc=600000,Mc=300000,hr=new Map,pn=new Map,Wr=new Map,un=new Map,wr;async function fc(){return wr??=Promise.resolve().then(() => (k(),Nn)).then(({getGeneratedProviderModels:e})=>e()),wr}async function Ec(e,t={},a={},i={},n={}){let o=await fc(),r=Ga(e),c=Object.assign({},...r.map((s)=>o[s]??{}));return $e({...c,...t,...a,...i,...n})}function br(e){let t=e?.trim();return t&&t.length>0?t:""}function dn(e){let t=e.apiKey?.trim()||e.accessToken?.trim();return t&&t.length>0?t:void 0}function _c(e){let t=2166136261;for(let a=0;a<e.length;a+=1)t^=e.charCodeAt(a),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return(t>>>0).toString(16)}function vc(e,t){return`${e}:${br(t.baseUrl)}:${_c(dn(t)??"")}`}function mn(e,t,a){if(a&&!e.includes(t))e.push(t)}function gn(e,t){let a=["streaming","tools"];return mn(a,"images",Boolean(t.supportsImages)),mn(a,"prompt-cache",Boolean(t.supportsPromptCache)),mn(a,"reasoning",Boolean(t.supportsReasoning)),{id:e,name:t.name??e,contextWindow:t.contextWindow,maxTokens:t.maxTokens,capabilities:a,releaseDate:t.releaseDate,status:"active"}}async function Pc(e,t){let a=await fetch("https://inference.baseten.co/v1/models",{method:"GET",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}});if(!a.ok)throw Error(`Baseten model refresh failed: HTTP ${a.status}`);let n=(await a.json())?.data??[],o={};for(let r of n){let c=r.id?.trim();if(!c)continue;if(c.includes("whisper")||c.includes("tts")||c.includes("embedding"))continue;let s=r.supported_features??[];o[c]=gn(c,{name:c,contextWindow:r.context_length,maxTokens:r.max_completion_tokens,supportsReasoning:s.includes("reasoning")||s.includes("reasoning_effort"),supportsImages:!1})}return o}async function Gc(e,t){let a=await fetch("https://api.hicap.ai/v2/openai/models",{method:"GET",headers:{"api-key":t}});if(!a.ok)throw Error(`Hicap model refresh failed: HTTP ${a.status}`);let n=(await a.json())?.data??[],o={};for(let r of n){let c=r.id?.trim();if(!c)continue;o[c]=gn(c,{name:c,contextWindow:128000,supportsImages:!0,supportsPromptCache:!0})}return o}function Ac(e){let t=br(e);if(!t)return"http://localhost:4000";return t.endsWith("/v1")?t.slice(0,-3):t}async function Oc(e,t){let i=`${Ac(e.baseUrl)}/v1/model/info`,n=async(p)=>fetch(i,{method:"GET",headers:{accept:"application/json",...p}}),o=await n({"x-litellm-api-key":t});if(!o.ok)o=await n({Authorization:`Bearer ${t}`});if(!o.ok)throw Error(`LiteLLM model refresh failed: HTTP ${o.status}`);let c=(await o.json())?.data??[],s={};for(let p of c){let g=p.model_name?.trim(),b=p.litellm_params?.model?.trim()||g;if(!b)continue;let T=p.model_info,G=gn(b,{name:g??b,maxTokens:T?.max_output_tokens??T?.max_tokens,contextWindow:T?.max_input_tokens??T?.max_tokens,supportsImages:T?.supports_vision,supportsPromptCache:T?.supports_prompt_caching,supportsReasoning:T?.supports_reasoning});if(s[b]=G,g)s[g]={...G,id:g,name:g}}return s}async function Lc(e,t){let a=dn(t);if(!a)return{};let i=Dr[e];if(!i)return{};return i(t,a)}var Dr={baseten:Pc,hicap:Gc,litellm:Oc};function Sc(e,t,a){if(!a)return!1;if(!Dr[e])return!1;if(t?.loadPrivateOnAuth===!1)return!1;return Boolean(dn(a))}async function Cc(e,t,a){let i=t?.cacheTtlMs??Mc,n=vc(e,a),o=Date.now(),r=Wr.get(n);if(r&&r.expiresAt>o)return r.data;let c=un.get(n);if(c)return c;let s=Lc(e,a).then((p)=>{return Wr.set(n,{data:p,expiresAt:o+i}),p}).finally(()=>{un.delete(n)});return un.set(n,s),s}async function Qc(e){return Bn(e,Z0)}async function xn(e={}){let t=e.url??ln,a=e.cacheTtlMs??Tc,i=Date.now(),n=hr.get(t);if(n&&n.expiresAt>i)return n.data;let o=pn.get(t);if(o)return o;let r=Qc(t).then((c)=>{return hr.set(t,{data:c,expiresAt:i+a}),c}).finally(()=>{pn.delete(t)});return pn.set(t,r),r}function qc(e){return Object.fromEntries(Object.entries(e).map(([t,a])=>[t,{baseUrl:a.baseUrl,modelId:a.modelId,knownModels:a.knownModels,capabilities:a.capabilities}]))}var j=qc(xr());function hn(e){return j[e]}async function bt(e,t,a){let i=hn(e);if(!i)return;try{let o=(t?.loadLatestOnInit?await xn(t):void 0)?.[e]??{},r=a&&Sc(e,t,a)?await Cc(e,t,a):{},c=await Ec(e,i.knownModels,o,r,a?.knownModels);return{...i,knownModels:c}}catch(n){if(t?.failOnError)throw n;return i}}function La(e){return e in j}var Dt;((l)=>{l.ANTHROPIC="anthropic";l.CLAUDE_CODE="claude-code";l.CLINE="cline";l.OPENAI="openai";l.OPENAI_NATIVE="openai-native";l.OPENAI_CODEX="openai-codex";l.OPENCODE="opencode";l.BEDROCK="bedrock";l.VERTEX="vertex";l.GEMINI="gemini";l.OLLAMA="ollama";l.LMSTUDIO="lmstudio";l.DEEPSEEK="deepseek";l.XAI="xai";l.TOGETHER="together";l.FIREWORKS="fireworks";l.GROQ="groq";l.CEREBRAS="cerebras";l.SAMBANOVA="sambanova";l.NEBIUS="nebius";l.BASETEN="baseten";l.REQUESTY="requesty";l.LITELLM="litellm";l.HUGGINGFACE="huggingface";l.VERCEL_AI_GATEWAY="vercel-ai-gateway";l.AIHUBMIX="aihubmix";l.HICAP="hicap";l.NOUS_RESEARCH="nousResearch";l.HUAWEI_CLOUD_MAAS="huawei-cloud-maas";l.QWEN="qwen";l.QWEN_CODE="qwen-code";l.DOUBAO="doubao";l.MISTRAL="mistral";l.MOONSHOT="moonshot";l.ASKSAGE="asksage";l.ZAI="zai";l.MINIMAX="minimax";l.DIFY="dify";l.OCA="oca";l.SAPAICORE="sapaicore";l.OPENROUTER="openrouter"})(Dt||={});var Fc={openai:"openai-native",togetherai:"together","sap-ai-core":"sapaicore"},Rr=Object.values(Dt);function K(e){let t=e.trim();return Fc[t]??t}function Fe(e,t){return e.capabilities?.includes(t)??!1}function ie(e){return Boolean(e.thinkingConfig)||Fe(e,"reasoning")}function xi(e){return e.pricing??{}}k();sa();import{z as m}from"zod";var Wn=m.string().min(1).regex(/^[a-z0-9][a-z0-9-]*$/i),wn=m.object({apiKey:m.string().optional(),accessToken:m.string().optional(),refreshToken:m.string().optional(),expiresAt:m.number().int().positive().optional(),accountId:m.string().optional()}),Bc=m.enum(["none","low","medium","high","xhigh"]),bn=m.object({enabled:m.boolean().optional(),effort:Bc.optional(),budgetTokens:m.number().int().positive().optional()}),Dn=m.object({accessKey:m.string().optional(),secretKey:m.string().optional(),sessionToken:m.string().optional(),region:m.string().optional(),profile:m.string().optional(),authentication:m.enum(["iam","api-key","profile"]).optional(),usePromptCache:m.boolean().optional(),useCrossRegionInference:m.boolean().optional(),useGlobalInference:m.boolean().optional(),endpoint:m.string().url().optional(),customModelBaseId:m.string().optional()}),Rn=m.object({projectId:m.string().optional(),region:m.string().optional()}),kn=m.object({apiVersion:m.string().optional(),useIdentity:m.boolean().optional()}),Tn=m.object({clientId:m.string().optional(),clientSecret:m.string().optional(),tokenUrl:m.string().url().optional(),resourceGroup:m.string().optional(),deploymentId:m.string().optional(),useOrchestrationMode:m.boolean().optional(),api:m.enum(["orchestration","foundation-models"]).optional(),defaultSettings:m.record(m.string(),m.unknown()).optional()}),Mn=m.object({mode:m.enum(["internal","external"]).optional(),usePromptCache:m.boolean().optional()}),fn=m.object({loadLatestOnInit:m.boolean().optional(),loadPrivateOnAuth:m.boolean().optional(),url:m.string().url().optional(),cacheTtlMs:m.number().int().positive().optional(),failOnError:m.boolean().optional()}),Sa=m.object({provider:Wn,apiKey:m.string().optional(),auth:wn.optional(),model:m.string().optional(),maxTokens:m.number().int().positive().optional(),contextWindow:m.number().int().positive().optional(),baseUrl:m.string().url().optional(),headers:m.record(m.string(),m.string()).optional(),timeout:m.number().int().positive().optional(),reasoning:bn.optional(),aws:Dn.optional(),gcp:Rn.optional(),azure:kn.optional(),sap:Tn.optional(),oca:Mn.optional(),region:m.string().optional(),apiLine:m.enum(["china","international"]).optional(),capabilities:m.array(m.enum(["reasoning","prompt-cache","streaming","tools","vision","computer-use","oauth"])).optional(),modelCatalog:fn.optional()});function hi(e){return Sa.parse(e)}function Wi(e){let t=e.provider,a=K(t),i=e.reasoning?.effort,n=i&&i!=="none"?i:void 0,o=j[a],r=Object.assign({},...Ga(a).map((g)=>u(g))),c=e.auth?.accessToken??e.apiKey??e.auth?.apiKey,s=e.baseUrl??(a==="oca"?e.oca?.mode==="internal"?te:J:o?.baseUrl),p={providerId:t,modelId:e.model??o?.modelId??"default",knownModels:o?.knownModels??(Object.keys(r).length>0?r:void 0),apiKey:c,accessToken:e.auth?.accessToken,refreshToken:e.auth?.refreshToken,accountId:e.auth?.accountId,baseUrl:s,headers:e.headers,timeoutMs:e.timeout,maxOutputTokens:e.maxTokens,maxContextTokens:e.contextWindow,thinking:e.reasoning?.enabled,reasoningEffort:n,thinkingBudgetTokens:e.reasoning?.budgetTokens,region:e.region??e.aws?.region??e.gcp?.region,apiLine:e.apiLine,useCrossRegionInference:e.aws?.useCrossRegionInference,useGlobalInference:e.aws?.useGlobalInference,aws:e.aws?{accessKey:e.aws.accessKey,secretKey:e.aws.secretKey,sessionToken:e.aws.sessionToken,authentication:e.aws.authentication,profile:e.aws.profile,usePromptCache:e.aws.usePromptCache,endpoint:e.aws.endpoint,customModelBaseId:e.aws.customModelBaseId}:void 0,gcp:e.gcp?{projectId:e.gcp.projectId,region:e.gcp.region}:void 0,azure:e.azure,sap:e.sap,oca:e.oca,capabilities:e.capabilities??o?.capabilities,modelCatalog:e.modelCatalog?{loadLatestOnInit:e.modelCatalog.loadLatestOnInit,loadPrivateOnAuth:e.modelCatalog.loadPrivateOnAuth,url:e.modelCatalog.url,cacheTtlMs:e.modelCatalog.cacheTtlMs,failOnError:e.modelCatalog.failOnError}:void 0};return Object.fromEntries(Object.entries(p).filter(([g,D])=>D!==void 0))}import{Anthropic as ns}from"@anthropic-ai/sdk";function H(e){if(Array.isArray(e))return{commands:e};return e}function ne(e){if(typeof e==="string")return e;let t=[];for(let a of e){if(a.type==="text"){t.push(a.text);continue}if(a.type==="file"){t.push(V(a.path,a.content));continue}t.push(JSON.stringify(a))}return t.join(`
11
- `)}function Rt(e,t=!1){let a=e.reduce((o,r,c)=>{if(r.role==="user")o.push(c);return o},[]),i=t?new Set(a.slice(-2)):new Set,n=[];for(let[o,r]of e.entries()){let c=jc(r,i.has(o));if(c)n.push(c)}return n}function jc(e,t){let{role:a,content:i}=e;if(typeof i==="string"){let o={type:"text",text:i};if(t)o.cache_control={type:"ephemeral"};return{role:a,content:[o]}}let n=Hc(i,t);if(n.length===0)return null;return{role:a,content:n}}function Hc(e,t){let a=[];for(let i=0;i<e.length;i++){let n=e[i],o=i===e.length-1,r=Jc(n,t&&o);if(r)a.push(r)}return a}function Jc(e,t){switch(e.type){case"text":{let i={type:"text",text:e.text};if(t)i.cache_control={type:"ephemeral"};return i}case"file":{let a=e;return{type:"text",text:V(a.path,a.content)}}case"image":{let a=e;return{type:"image",source:{type:"base64",media_type:a.mediaType,data:a.data}}}case"tool_use":{let a=e;return{type:"tool_use",id:a.id,name:a.name,input:H(a.input)}}case"tool_result":{let a=e,i;if(typeof a.content==="string")i=a.content;else i=a.content.map((n)=>{if(n.type==="text")return{type:"text",text:n.text};else if(n.type==="file"){let o=n;return{type:"text",text:V(o.path,o.content)}}else return{type:"image",source:{type:"base64",media_type:n.mediaType,data:n.data}}});return{type:"tool_result",tool_use_id:a.tool_use_id,content:i,is_error:a.is_error}}case"thinking":{let a=e;return{type:"thinking",thinking:a.thinking,signature:a.signature}}case"redacted_thinking":return{type:"redacted_thinking",data:e.data};default:return null}}function De(e){return e.map((t)=>({name:t.name,description:t.description,input_schema:t.inputSchema}))}var En={maxRetries:4,baseDelay:2000,maxDelay:15000};class Ke extends Error{retryAfterSeconds;constructor(e,t,a){super(e,a);this.retryAfterSeconds=t;this.name="RetriableError"}}function _n(e){if(e instanceof Ke)return!0;if(e instanceof Error){let t=e.message.toLowerCase();if(t.includes("429")||t.includes("rate limit")||t.includes("too many requests"))return!0;if(t.includes("500")||t.includes("502")||t.includes("503")||t.includes("504"))return!0;if(t.includes("network")||t.includes("timeout")||t.includes("econnreset")||t.includes("econnrefused"))return!0}return!1}function vn(e,t={}){let{baseDelay:a=En.baseDelay,maxDelay:i=En.maxDelay}=t,n=2**e*a,o=Math.random()*0.25*n;return Math.min(n+o,i)}function Pn(e){return new Promise((t)=>setTimeout(t,e))}async function*S(e,t={}){let{maxRetries:a=En.maxRetries,onRetryAttempt:i}=t;for(let n=0;n<=a;n++)try{yield*e();return}catch(o){if(!(n!==a&&_n(o)))throw o;let s;if(o instanceof Ke&&o.retryAfterSeconds)s=o.retryAfterSeconds*1000;else s=vn(n,t);if(i)i(n+1,a,s,o);await Pn(s)}throw Error("Retry logic exhausted without returning or throwing")}var Zc=["cline","anthropic","openai-native","gemini","openrouter"];function Ic(e){if(!e||typeof e!=="object")return!1;let t=e;return typeof t.provider==="object"&&typeof t.models==="object"}function Tr(e){return[...new Set(e)]}function zc(){let e={};for(let t of Object.values(Pa)){if(!Ic(t))continue;let a=t.provider.id;e[a]=Tr(t.provider.env??[])}return e}var Mr=zc(),fr=Tr(Zc.flatMap((e)=>Mr[e]??[]));function es(e,t){let a=e[t];if(typeof a!=="string")return;let i=a.trim();return i.length>0?i:void 0}function kr(e,t){for(let a of e){let i=es(t,a);if(i)return i}return}function Gn(e){return Mr[K(e)]??[]}function U(e,t,a=process.env){let i=K(e),n=t?.trim();if(n)return n;let o=kr(Gn(i),a);if(o)return o;if(i==="lmstudio")return"noop";return kr(fr,a)}function oe(e){let t=[...new Set([...Gn(e),...fr])],a=t.length>0?t.join(", "):"provider-specific API key env var";return`Missing API key for provider "${K(e)}". Set apiKey explicitly or one of: ${a}.`}import{nanoid as ts}from"nanoid";var as={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","X-IS-MULTIROOT":"false","X-CLIENT-TYPE":"cline-sdk"},Er=new WeakMap,is=0;function wi(e){let t=Er.get(e);if(!t)t=`abort_${++is}`,Er.set(e,t);return t}function An(e){return e instanceof Error?{name:e.name,message:e.message}:e}class L{config;abortController;abortSignalSequence=0;constructor(e){this.config=e}getModel(){let e=this.config.modelId;return{id:e,info:{...this.config.modelInfo??{},id:e}}}async getApiStreamUsage(){return}getAbortSignal(){let e=new AbortController;this.abortController=e,e.signal.addEventListener("abort",()=>{if(this.abortController===e)this.abortController=void 0},{once:!0});let t=this.config.abortSignal;if(t)if(t.aborted)this.logAbort("debug","Provider request inherited aborted signal",{controllerId:wi(e),reason:An(t.reason)}),e.abort(t.reason);else{let a=++this.abortSignalSequence;t.addEventListener("abort",()=>{this.logAbort("warn","Provider request abort signal fired",{controllerId:wi(e),signalId:a,reason:An(t.reason)}),e.abort(t.reason)},{once:!0}),this.logAbort("debug","Provider request attached abort signal",{controllerId:wi(e),signalId:a})}return e.signal}abort(){this.abortController?.abort()}setAbortSignal(e){if(this.config.abortSignal=e,e?.aborted)this.logAbort("debug","Provider handler received pre-aborted signal",{controllerId:this.abortController?wi(this.abortController):void 0,reason:An(e.reason)}),this.abortController?.abort(e.reason)}logAbort(e,t,a){this.config.logger?.[e]?.(t,{providerId:this.config.providerId,modelId:this.config.modelId,...a})}supportsPromptCache(e){let t=e??this.config.modelInfo??this.config.knownModels?.[this.config.modelId],a=t?.pricing;return t?.capabilities?.includes("prompt-cache")===!0||this.config.capabilities?.includes("prompt-cache")===!0||typeof a?.cacheRead==="number"||typeof a?.cacheWrite==="number"}calculateCost(e,t,a=0,i=0){let n=(this.config.modelInfo??this.config.knownModels?.[this.config.modelId])?.pricing;if(!n?.input||!n?.output)return;return e/1e6*n.input+t/1e6*n.output+(a>0?a/1e6*(n.cacheRead??0):0)+(i>0?i/1e6*(n.cacheWrite??n.input*1.25):0)}createResponseId(){return ts()}withResponseId(e,t){return{...e,id:t}}*withResponseIdForAll(e,t){for(let a of e)yield{...a,id:t}}getRequestHeaders(){return{...as,...this.config.headers??{}}}}var os=1024,rs="CLINE_DEBUG_THINKING";function cs(){let e=process.env[rs];if(!e)return!1;let t=e.trim().toLowerCase();return t==="1"||t==="true"||t==="yes"}class Ca extends L{client;ensureClient(){if(!this.client){let e=U(this.config.providerId,this.config.apiKey);if(!e)throw Error(oe(this.config.providerId));this.client=new ns({apiKey:e,baseURL:this.config.baseUrl||void 0,defaultHeaders:this.getRequestHeaders()})}return this.client}getModel(){let e=this.config.modelId,a=(this.config.knownModels??{})[e]??{},i=this.config.modelInfo??a;return{id:e,info:{...i,id:e}}}getMessages(e,t){let a=this.supportsPromptCache(this.getModel().info);return Rt(t,a)}async*createMessage(e,t,a){yield*S(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let i=this.ensureClient(),n=this.getModel(),o=this.getAbortSignal(),r=this.createResponseId(),c=ie(n.info),s=this.config.thinkingBudgetTokens??(this.config.thinking?os:0),p=c&&s>0?s:0,g=a&&a.length>0,D=this.supportsPromptCache(n.info),b=c&&p>0,T=cs(),G={},v=(C)=>{G[C]=(G[C]??0)+1};if(T)console.error(`[thinking-debug][anthropic][request] model=${n.id} thinkingFlag=${this.config.thinking===!0} supportsModelThinking=${c} requestedBudget=${s} effectiveBudget=${p} reasoningOn=${b} promptCache=${D}`);let h=this.getMessages(e,t),P=g?De(a):void 0,R={signal:o},E={model:n.id,thinking:b?{type:"enabled",budget_tokens:p}:void 0,max_tokens:n.info.maxTokens??this.config.maxOutputTokens??128000,temperature:b?void 0:0,system:[D?{text:e,type:"text",cache_control:{type:"ephemeral"}}:{text:e,type:"text"}],messages:h,stream:!0,tools:P,tool_choice:g&&!b?{type:"auto"}:void 0},f=await i.messages.create(E,R),Y={id:"",name:"",arguments:""},q={inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0},y=null;for await(let C of f){if(T){if(v(`event:${C.type}`),C.type==="content_block_start")v(`content_block_start:${C.content_block?.type??"unknown"}`);else if(C.type==="content_block_delta")v(`content_block_delta:${C.delta?.type??"unknown"}`)}if(C.type==="message_delta")y=C.delta?.stop_reason??y;yield*this.withResponseIdForAll(this.processChunk(C,Y,q,r),r)}if(T){let C=Object.entries(G).map(([F,X])=>`${F}=${X}`).sort().join(" ");console.error(`[thinking-debug][anthropic][stream] ${C}`)}yield{type:"done",success:!0,id:r,incompleteReason:y==="max_tokens"?"max_tokens":void 0}}*processChunk(e,t,a,i){switch(e.type){case"message_start":{let n=e.message.usage;a.inputTokens=n.input_tokens||0,a.outputTokens=n.output_tokens||0,a.cacheWriteTokens=n.cache_creation_input_tokens||0,a.cacheReadTokens=n.cache_read_input_tokens||0,yield{type:"usage",inputTokens:a.inputTokens,outputTokens:a.outputTokens,cacheWriteTokens:a.cacheWriteTokens,cacheReadTokens:a.cacheReadTokens,totalCost:this.calculateCost(a.inputTokens,a.outputTokens,a.cacheReadTokens,a.cacheWriteTokens),id:i};break}case"message_delta":{a.outputTokens=e.usage.output_tokens||a.outputTokens,yield{type:"usage",inputTokens:a.inputTokens,outputTokens:a.outputTokens,cacheWriteTokens:a.cacheWriteTokens,cacheReadTokens:a.cacheReadTokens,totalCost:this.calculateCost(a.inputTokens,a.outputTokens,a.cacheReadTokens,a.cacheWriteTokens),id:i};break}case"content_block_start":{let n=e.content_block;switch(n.type){case"thinking":yield{type:"reasoning",reasoning:typeof n.thinking==="string"?n.thinking??"":"",signature:typeof n.signature==="string"?n.signature??void 0:void 0,id:i};break;case"redacted_thinking":yield{type:"reasoning",reasoning:"",redacted_data:typeof n.data==="string"?n.data??void 0:void 0,id:i};break;case"text":yield{type:"text",text:"",id:i};break;case"tool_use":t.id=n.id,t.name=n.name,t.arguments="";break}break}case"content_block_delta":{let n=e.delta;switch(n.type){case"thinking_delta":yield{type:"reasoning",reasoning:n.thinking,id:i};break;case"signature_delta":yield{type:"reasoning",reasoning:"",signature:typeof n.signature==="string"?n.signature??void 0:void 0,id:i};break;case"text_delta":yield{type:"text",text:n.text,id:i};break;case"input_json_delta":t.arguments+=n.partial_json;break}break}case"content_block_stop":{if(t.id){let n;try{n=JSON.parse(t.arguments||"{}")}catch{n=t.arguments}yield{type:"tool_calls",id:i,tool_call:{call_id:t.id,function:{name:t.name,arguments:n}}},t.id="",t.name="",t.arguments=""}break}}}}class bi extends L{getMessages(e,t){return{systemPrompt:e,messages:t}}getBaseUrl(){return this.config.baseUrl?.trim()||this.getDefaultBaseUrl()}getJsonHeaders(e){return{"Content-Type":"application/json",...this.getRequestHeaders(),...e??{}}}async fetchJson(e,t){let a=await fetch(`${this.getBaseUrl()}${e}`,{method:t.method??"POST",headers:this.getJsonHeaders(t.headers),body:t.body?JSON.stringify(t.body):void 0,signal:this.getAbortSignal()});if(!a.ok){let i=await a.text();throw Error(`HTTP ${a.status}: ${i}`)}return await a.json()}async*createMessage(e,t,a){yield*S(()=>this.createMessageWithFetch(e,t))}}var ss="https://api.asksage.ai/server",ps="gpt-4o";class Qa extends bi{getDefaultBaseUrl(){return ss}getModel(){let e=this.config.modelId?.trim()||ps,t=this.config.modelInfo??this.config.knownModels?.[e]??{id:e,capabilities:["tools"]};return{id:e,info:{...t,id:e}}}getJsonHeaders(e){let t=U(this.config.providerId,this.config.apiKey);if(!t)throw Error("AskSage API key is required");return super.getJsonHeaders({"x-access-tokens":t,...e??{}})}async*createMessageWithFetch(e,t){let a=this.createResponseId(),{id:i}=this.getModel(),n={system_prompt:e,message:t.map((c)=>({user:c.role==="assistant"?"gpt":"me",message:this.serializeMessageContent(c.content)})),model:i,dataset:"none",usage:!0},o;try{o=await this.fetchJson("/query",{method:"POST",body:n})}catch(c){let s=c instanceof Error?c.message:String(c);throw Error(`AskSage request failed: ${s}`)}for(let c of o.tool_responses??[])yield{type:"text",text:`[Tool Response: ${JSON.stringify(c)}]
12
- `,id:a};let r=o.message?.trim();if(!r)throw Error("AskSage request failed: no content in response");if(yield{type:"text",text:r,id:a},o.usage)yield{type:"usage",inputTokens:o.usage.model_tokens.prompt_tokens,outputTokens:o.usage.model_tokens.completion_tokens,cacheReadTokens:0,cacheWriteTokens:0,totalCost:o.usage.asksage_tokens,id:a};yield{type:"done",success:!0,id:a}}serializeMessageContent(e){if(typeof e==="string")return e;return e.map((t)=>("text"in t)?t.text:"").join("").trim()}}var Di,Ri;async function us(){if(Di)return Di;let e="@ai-sdk/amazon-bedrock",t=await import(e);if(!t.createAmazonBedrock)throw Error(`Failed to load createAmazonBedrock from ${e}`);return Di=t.createAmazonBedrock,Di}async function ms(){if(Ri)return Ri;let e="@aws-sdk/credential-providers",t=await import(e);if(!t.fromNodeProviderChain)throw Error(`Failed to load fromNodeProviderChain from ${e}`);return Ri=t.fromNodeProviderChain,Ri}async function _r(e,t){let a=await us(),i=e.region??"us-east-1",n=e.aws?.authentication,o=Boolean(e.aws?.accessKey&&e.aws?.secretKey),r=n==="profile"||n==="iam"||!n&&!o&&!e.apiKey,c;if(r)c=(await ms())({profile:e.aws?.profile});return a({region:i,accessKeyId:e.aws?.accessKey??void 0,secretAccessKey:e.aws?.secretKey??void 0,sessionToken:e.aws?.sessionToken??void 0,apiKey:e.apiKey??void 0,baseURL:e.aws?.endpoint??e.baseUrl??void 0,headers:t,credentialProvider:c})}var vr=":1m",ki,ls=1024,ds="medium";async function gs(){if(ki)return ki;return ki=await import("ai"),ki}class Ti extends L{clientFactory;async ensureClientFactory(){if(!this.clientFactory)this.clientFactory=await _r(this.config,this.getRequestHeaders());return this.clientFactory}getModel(){let e=this.config.modelId;if(!e)throw Error("Model ID is required. Set modelId in config.");let t=this.config.modelInfo??this.config.knownModels?.[e]??{};return{id:e,info:{...t,id:e}}}getMessages(e,t){return hs(e,t)}async*createMessage(e,t,a){yield*S(()=>this.createMessageInternal(e,t,a),{maxRetries:4})}async*createMessageInternal(e,t,a){let i=await gs(),n=await this.ensureClientFactory(),o=this.createResponseId(),r=this.getAbortSignal(),c=this.getModel(),s=c.id,p={},g={};if(s.endsWith(vr))s=s.slice(0,-vr.length),g.anthropicBeta=["context-1m-2025-08-07"];let D=ie(c.info),b=this.config.thinkingBudgetTokens??(this.config.thinking?ls:0),T=!1;if(D&&b>0&&s.includes("anthropic"))g.reasoningConfig={type:"enabled",budgetTokens:b},T=!0;else if(D&&s.includes("amazon.nova")){let h=this.config.reasoningEffort??(this.config.thinking?ds:void 0);if(h)g.reasoningConfig={type:"enabled",maxReasoningEffort:h},T=!0}if(Object.keys(g).length>0)p.bedrock=g;let G=i.streamText({model:n(s),messages:this.getMessages(e,t),tools:xs(a),maxTokens:c.info.maxTokens??this.config.maxOutputTokens??128000,temperature:T?void 0:c.info.temperature??0,providerOptions:Object.keys(p).length>0?p:void 0,abortSignal:r}),v=!1;if(G.fullStream)for await(let h of G.fullStream){let P=h.type;if(P==="text-delta"){let R=h.textDelta??h.delta;if(R)yield{type:"text",text:R,id:o};continue}if(P==="reasoning-delta"||P==="reasoning"){let R=h.textDelta??h.reasoning;if(R)yield{type:"reasoning",reasoning:R,id:o};continue}if(P==="tool-call"){let R=h.toolCallId??h.id,E=h.toolName??h.name,f=h.args??{};yield{type:"tool_calls",id:o,tool_call:{call_id:R,function:{name:E,arguments:f}}};continue}if(P==="error"){let R=h.error?.message??"Bedrock stream failed";throw Error(R)}if(P==="finish"){let R=h.usage??{},E=Re(R.inputTokens),f=Re(R.outputTokens),Y=Re(R.reasoningTokens),q=Re(R.cachedInputTokens);yield{type:"usage",inputTokens:E,outputTokens:f,thoughtsTokenCount:Y,cacheReadTokens:q,totalCost:this.calculateCost(E,f,q),id:o},v=!0}}else if(G.textStream)for await(let h of G.textStream)yield{type:"text",text:h,id:o};if(!v&&G.usage){let h=await G.usage,P=Re(h.inputTokens),R=Re(h.outputTokens),E=Re(h.reasoningTokens),f=Re(h.cachedInputTokens);yield{type:"usage",inputTokens:P,outputTokens:R,thoughtsTokenCount:E,cacheReadTokens:f,totalCost:this.calculateCost(P,R,f),id:o}}yield{type:"done",success:!0,id:o}}}function Re(e){return typeof e==="number"&&Number.isFinite(e)?e:0}function xs(e){if(!e||e.length===0)return;let t=De(e);return Object.fromEntries(t.map((a)=>[a.name,{description:a.description,inputSchema:a.input_schema}]))}function hs(e,t){let a=[{role:"system",content:e}],i=new Map;for(let n of t){if(typeof n.content==="string"){a.push({role:n.role,content:n.content});continue}if(n.role==="assistant"){let r=[];for(let c of n.content){if(c.type==="text"){r.push({type:"text",text:c.text});continue}if(c.type==="tool_use")i.set(c.id,c.name),r.push({type:"tool-call",toolCallId:c.id,toolName:c.name,args:c.input})}if(r.length>0)a.push({role:"assistant",content:r});continue}let o=[];for(let r of n.content){if(r.type==="text"){o.push({type:"text",text:r.text});continue}if(r.type==="image"){o.push({type:"image",image:Buffer.from(r.data,"base64"),mediaType:r.mediaType});continue}if(r.type==="tool_result"){if(o.length>0)a.push({role:"user",content:o.splice(0,o.length)});a.push({role:"tool",content:[{type:"tool-result",toolCallId:r.tool_use_id,toolName:i.get(r.tool_use_id)??"tool",output:Ws(r.content),isError:r.is_error??!1}]})}}if(o.length>0)a.push({role:"user",content:o})}return a}function Ws(e){if(typeof e==="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}function kt(e,t,a){let i=a?.assistantToolCallArgKey??"args",n=[{role:"system",content:e}],o=new Map;for(let r of t){if(typeof r.content==="string"){n.push({role:r.role,content:r.content});continue}if(r.role==="assistant"){let s=[];for(let p of r.content){if(p.type==="text"){s.push({type:"text",text:p.text});continue}if(p.type==="file"){s.push({type:"text",text:V(p.path,p.content)});continue}if(p.type==="tool_use")o.set(p.id,p.name),s.push({type:"tool-call",toolCallId:p.id,toolName:p.name,[i]:H(p.input)})}if(s.length>0)n.push({role:"assistant",content:s});continue}let c=[];for(let s of r.content){if(s.type==="text"){c.push({type:"text",text:s.text});continue}if(s.type==="file"){c.push({type:"text",text:V(s.path,s.content)});continue}if(s.type==="image"){c.push({type:"image",image:Buffer.from(s.data,"base64"),mediaType:s.mediaType});continue}if(s.type==="tool_result"){if(c.length>0)n.push({role:"user",content:c.splice(0,c.length)});n.push({role:"tool",content:[{type:"tool-result",toolCallId:s.tool_use_id,toolName:o.get(s.tool_use_id)??"tool",output:ne(s.content),isError:s.is_error??!1}]})}}if(c.length>0)n.push({role:"user",content:c})}return n}var Mi=null;async function fi(e){if(Mi)return Mi;return e?.beforeImport?.(),Mi=await import("ai"),Mi}function Z(e){return typeof e==="number"&&Number.isFinite(e)?e:0}function ws(e){return{inputTokens:Z(e.inputTokens),outputTokens:Z(e.outputTokens),thoughtsTokenCount:Z(e.reasoningTokens??e.thoughtsTokenCount),cacheReadTokens:Z(e.cachedInputTokens)}}async function*Ei(e,t){let a=t.resolveUsageMetrics??ws,i=new Set(t.reasoningTypes??["reasoning-delta"]),n=t.toolCallArgsOrder??["args","input"],o=t.responseId,r=!1,c=!1;if(e.fullStream)for await(let s of e.fullStream){let p=s.type;if(p==="text-delta"){let g=s.textDelta??s.text??s.delta;if(g)yield{type:"text",text:g,id:o},c=!0;continue}if(p&&i.has(p)){let g=s.textDelta??s.reasoning??s.text;if(g)yield{type:"reasoning",reasoning:g,id:o};continue}if(p==="tool-call"&&t.enableToolCalls){let g=s.toolCallId??s.id,D=s.toolName??s.name,b=n.map((T)=>s[T]).find((T)=>T!==void 0)??{};yield{type:"tool_calls",id:o,tool_call:{call_id:g,function:{id:t.toolCallFunctionIncludeId?g:void 0,name:D,arguments:b}}};continue}if(p==="error"){let g=s.error?.message??t.errorMessage;throw Error(g)}if(p==="finish"){let g=s.totalUsage??s.usage??{},D=a(g,s);yield{type:"usage",inputTokens:D.inputTokens,outputTokens:D.outputTokens,thoughtsTokenCount:D.thoughtsTokenCount,cacheReadTokens:D.cacheReadTokens,cacheWriteTokens:D.cacheWriteTokens,totalCost:t.calculateCost(D.inputTokens,D.outputTokens,D.cacheReadTokens,D.cacheWriteTokens),id:o},r=!0}}else if(e.textStream)for await(let s of e.textStream)yield{type:"text",text:s,id:o},c=!0;if(!c&&t.enableTextFallback&&e.text){let s=await e.text;if(typeof s==="string"&&s.length>0)yield{type:"text",text:s,id:o}}if(!r&&e.usage){let s=await e.usage,p=a(s);yield{type:"usage",inputTokens:p.inputTokens,outputTokens:p.outputTokens,thoughtsTokenCount:p.thoughtsTokenCount,cacheReadTokens:p.cacheReadTokens,cacheWriteTokens:p.cacheWriteTokens,totalCost:t.calculateCost(p.inputTokens,p.outputTokens,p.cacheReadTokens,p.cacheWriteTokens),id:o}}yield{type:"done",success:!0,id:o}}var Pr=new Map;function On(e,t){let a=e.modelId?.trim(),i=a&&a.length>0?a:t??"",o=(e.knownModels??{})[i]??{},r=e.modelInfo??o;return{id:i,info:{...r,id:i}}}async function bs(e){let t=Pr.get(e);if(t)return t;let a=await import(e);return Pr.set(e,a),a}class ke extends L{provider;providerPromise;getProviderCreateOptions(){return}async beforeLoadProviderModule(){}getProviderModelSettings(){return}getLoadAiSdkOptions(){return}getStreamErrorMessage(){return"AI SDK stream failed"}getEmitStreamOptions(){return{}}getAssistantToolCallArgKey(){return"args"}normalizeModelId(e){return e}async ensureProvider(){if(this.provider)return this.provider;if(!this.providerPromise)this.providerPromise=(async()=>{let e=this.getProviderDefinition();await this.beforeLoadProviderModule();let t=await bs(e.moduleName),a=t[e.createExportName],i=t[e.providerExportName];if(a){let n=a(this.getProviderCreateOptions());return this.provider=n,n}if(i)return this.provider=i,i;throw Error(`${e.moduleName} did not export \`${e.providerExportName}\` or \`${e.createExportName}\`.`)})();try{return await this.providerPromise}catch(e){this.providerPromise=void 0;let t=this.getProviderDefinition().moduleName;if(e instanceof Error&&e.message.includes(t))throw Error(this.getProviderDefinition().missingDependencyError,{cause:e});throw e}}getModel(){return On(this.config,this.getDefaultModelId())}getMessages(e,t){return kt(e,t,{assistantToolCallArgKey:this.getAssistantToolCallArgKey()})}async*createMessage(e,t,a){yield*S(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let i=await fi(this.getLoadAiSdkOptions()),n=await this.ensureProvider(),{id:o,info:r}=this.getModel(),c=this.createResponseId(),s=i.streamText({model:n(this.normalizeModelId(o),this.getProviderModelSettings()),messages:this.getMessages(e,t),maxTokens:r.maxTokens??void 0,temperature:r.temperature??void 0,abortSignal:this.getAbortSignal()});yield*Ei(s,{responseId:c,errorMessage:this.getStreamErrorMessage(),calculateCost:(p,g,D,b)=>this.calculateCost(p,g,D,b),...this.getEmitStreamOptions()})}}var Gr=!1;async function Ds(){if(Gr)return;Gr=!0;try{let e=await import("zod"),a=(e.z??e).object;if(typeof a!=="function")return;let i=a({}).refine?.(()=>!0);if(!i||typeof i.passthrough==="function")return;let n=Object.getPrototypeOf(i);if(!n||typeof n.passthrough==="function")return;Object.defineProperty(n,"passthrough",{value(){return this},configurable:!0,enumerable:!1,writable:!0})}catch{}}function Rs(e){return e.startsWith("sk-")}function ks(){let e=process.env.AI_SDK_LOG_WARNINGS?.trim().toLowerCase();return e==="0"||e==="false"||e==="off"}function Ts(e){if(e.includes("/"))return e;return`openai/${e}`}class qa extends ke{getProviderDefinition(){return{moduleName:"ai-sdk-provider-codex-cli",createExportName:"createCodexCli",providerExportName:"codexCli",missingDependencyError:"Codex provider requires `ai-sdk-provider-codex-cli` and the Codex CLI at runtime. Install dependencies and run `codex` to authenticate."}}getDefaultModelId(){return"gpt-5.3-codex"}async beforeLoadProviderModule(){await Ds()}getProviderCreateOptions(){let t={...(this.config.codex??{}).defaultSettings??{}};if(this.config.reasoningEffort&&t.reasoningEffort===void 0)t.reasoningEffort=this.config.reasoningEffort;else if(this.config.thinking&&t.reasoningEffort===void 0)t.reasoningEffort="medium";let a=this.config.apiKey?.trim(),i=typeof this.config.accessToken==="string"&&this.config.accessToken.trim().length>0;if(a&&!i&&Rs(a))t.env={...t.env??{},OPENAI_API_KEY:a};return{defaultSettings:Object.keys(t).length>0?t:void 0}}getProviderModelSettings(){return this.config.codex?.modelSettings}getStreamErrorMessage(){return"Codex stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta","reasoning"],toolCallArgsOrder:["args","input"]}}}class Fa extends ke{getProviderDefinition(){return{moduleName:"ai-sdk-provider-claude-code",createExportName:"createClaudeCode",providerExportName:"claudeCode",missingDependencyError:"Claude Code provider requires `ai-sdk-provider-claude-code` at runtime. Install dependencies and run `claude login`."}}getDefaultModelId(){return"sonnet"}getProviderCreateOptions(){return this.config.claudeCode??{}}getLoadAiSdkOptions(){return{beforeImport:()=>{if(ks())globalThis.AI_SDK_LOG_WARNINGS=!1}}}getStreamErrorMessage(){return"Claude Code stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta"]}}}class Ka extends ke{getProviderDefinition(){return{moduleName:"ai-sdk-provider-opencode-sdk",createExportName:"createOpencode",providerExportName:"opencode",missingDependencyError:"OpenCode provider requires `ai-sdk-provider-opencode-sdk` and OpenCode at runtime."}}getDefaultModelId(){return"openai/gpt-5.3-codex"}getProviderCreateOptions(){let e=this.config.opencode??{},t={...e.defaultSettings??{}};if(t.agent===void 0)t.agent="general";return{hostname:e.hostname,port:e.port,autoStartServer:e.autoStartServer,serverTimeout:e.serverTimeout,defaultSettings:Object.keys(t).length>0?t:void 0}}getProviderModelSettings(){return this.config.opencode?.modelSettings}normalizeModelId(e){return Ts(e)}getStreamErrorMessage(){return"OpenCode stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta","reasoning"],enableTextFallback:!0}}}class Ba extends ke{getProviderDefinition(){return{moduleName:"@jerome-benoit/sap-ai-provider",createExportName:"createSAPAIProvider",providerExportName:"sapai",missingDependencyError:"SAP AI Core provider requires `@jerome-benoit/sap-ai-provider` at runtime."}}getDefaultModelId(){return"anthropic--claude-3.5-sonnet"}getProviderCreateOptions(){let e=this.config.sap??{},t=e.api??(e.useOrchestrationMode===void 0?void 0:e.useOrchestrationMode?"orchestration":"foundation-models"),a={resourceGroup:e.resourceGroup,deploymentId:e.deploymentId,api:t,defaultSettings:e.defaultSettings},i=Object.fromEntries(Object.entries(a).filter(([,n])=>n!==void 0));return Object.keys(i).length>0?i:void 0}getStreamErrorMessage(){return"SAP AI Core stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta","reasoning"],enableToolCalls:!0,toolCallArgsOrder:["args","input"]}}}class Va extends ke{getProviderDefinition(){return{moduleName:"@ai-sdk/mistral",createExportName:"createMistral",providerExportName:"mistral",missingDependencyError:"Mistral provider requires `@ai-sdk/mistral` at runtime."}}getDefaultModelId(){return"mistral-medium-latest"}getStreamErrorMessage(){return"Mistral stream failed"}}class ya extends ke{getProviderDefinition(){return{moduleName:"dify-ai-provider",createExportName:"createDifyProvider",providerExportName:"difyProvider",missingDependencyError:"Dify provider requires `dify-ai-provider` at runtime."}}getDefaultModelId(){return"default"}getProviderCreateOptions(){if(!this.config.baseUrl)return;return{baseURL:this.config.baseUrl}}getProviderModelSettings(){let e={responseMode:"blocking"};if(this.config.apiKey)e.apiKey=this.config.apiKey;return e}getStreamErrorMessage(){return"Dify stream failed"}}import{FunctionCallingConfigMode as _s,GoogleGenAI as Ar,ThinkingLevel as Or}from"@google/genai";function _i(e){let t=new Map;return e.map((a)=>Ms(a,t)).filter((a)=>a!==null)}function Ms(e,t){let{role:a,content:i}=e,n=a==="assistant"?"model":"user";if(typeof i==="string")return{role:n,parts:[{text:i}]};let o=fs(i,t);if(o.length===0)return null;return{role:n,parts:o}}function fs(e,t){let a=[];for(let i of e){if(i.type==="tool_use")t.set(i.id,i.name);let n=Es(i,t);if(n)a.push(n)}return a}function Es(e,t){switch(e.type){case"text":{let a=e,i={text:a.text};if(a.signature)i.thoughtSignature=a.signature;return i}case"file":{let a=e;return{text:V(a.path,a.content)}}case"image":{let a=e;return{inlineData:{mimeType:a.mediaType,data:a.data}}}case"tool_use":{let a=e,i={functionCall:{id:a.id,name:a.name,args:H(a.input)}};if(a.signature)i.thoughtSignature=a.signature;return i}case"tool_result":{let a=e,i;if(typeof a.content==="string")i={result:gi(a.content)};else i={result:ne(a.content)};if(a.is_error)i.error=!0;return{functionResponse:{id:a.tool_use_id,name:t.get(a.tool_use_id)??a.tool_use_id,response:i}}}case"thinking":{let a=e,i={text:a.thinking,thought:!0};if(a.signature)i.thoughtSignature=a.signature;return i}default:return null}}function vi(e){return e.map((t)=>({name:t.name,description:t.description,parameters:t.inputSchema}))}var vs=1024,Ps=128000,Gs=8192;function As(e){let t=e.toLowerCase();return t.includes("gemini-3-flash")||t.includes("gemini-3.0-flash")}class Be extends L{client;ensureClient(){if(!this.client)if(this.config.gcp?.projectId)this.client=new Ar({vertexai:!0,project:this.config.gcp.projectId,location:this.config.region??"us-central1",httpOptions:{headers:this.getRequestHeaders()}});else{if(!this.config.apiKey)throw Error("Gemini API key is required when not using Vertex AI");this.client=new Ar({apiKey:this.config.apiKey,httpOptions:{headers:this.getRequestHeaders()}})}return this.client}getModel(){let e=this.config.modelId,a=(this.config.knownModels??{})[e]??{},i=this.config.modelInfo??a;return{id:e,info:{...i,id:e}}}getMessages(e,t){return _i(t)}async*createMessage(e,t,a){yield*S(()=>this.createMessageInternal(e,t,a),{maxRetries:4,baseDelay:2000,maxDelay:15000})}async*createMessageInternal(e,t,a){let i=this.ensureClient(),{id:n,info:o}=this.getModel(),r=this.getAbortSignal(),c=this.createResponseId(),s=this.getMessages(e,t),p=ie(o),g=this.config.thinking===!0||typeof this.config.thinkingBudgetTokens==="number"||typeof this.config.reasoningEffort==="string",D=0,b;if(p&&g){let h=this.config.thinkingBudgetTokens??(this.config.thinking?vs:0);if(D=Math.min(Math.max(0,h),o.thinkingConfig?.maxBudget??24576),o.thinkingConfig?.thinkingLevel){let P=this.config.reasoningEffort;if(P==="high")b=Or.HIGH;else if(P==="low"||P==="medium")b=Or.LOW}}let T=As(n)?Gs:Ps,G=o.maxTokens??this.config.maxOutputTokens??T,v={httpOptions:this.config.baseUrl?{baseUrl:this.config.baseUrl,headers:this.getRequestHeaders()}:void 0,abortSignal:r,systemInstruction:e,temperature:o.temperature??1,maxOutputTokens:G};if(o.thinkingConfig&&p&&g&&(D>0||!!b))v.thinkingConfig={thinkingBudget:b?void 0:D,thinkingLevel:b,includeThoughts:!0};if(a&&a.length>0){let h=vi(a);v.tools=[{functionDeclarations:h}],v.toolConfig={functionCallingConfig:{mode:_s.AUTO}}}try{let h=await i.models.generateContentStream({model:n,contents:s,config:v}),P=0,R=0,E=0,f=0,Y=0;for await(let y of h){let C=y?.candidates?.[0]?.content?.parts??[];for(let F of C){if(F.thought&&F.text)yield{type:"reasoning",reasoning:F.text||"",signature:F.thoughtSignature,id:c};else if(F.text)yield{type:"text",text:F.text,id:c,signature:F.thoughtSignature};if(F.functionCall){let X=F.functionCall,Ue=X.id??`${c}_tool_${Y++}`;if(X.name)yield{type:"tool_calls",tool_call:{call_id:Ue,function:{id:Ue,name:X.name,arguments:X.args??{}}},id:c,signature:F.thoughtSignature}}}if(y.usageMetadata)P=y.usageMetadata.promptTokenCount??P,R=y.usageMetadata.candidatesTokenCount??R,f=y.usageMetadata.thoughtsTokenCount??f,E=y.usageMetadata.cachedContentTokenCount??E}let q=this.calculateGeminiCost(P,R,f,E);yield{type:"usage",inputTokens:P,outputTokens:R,thoughtsTokenCount:f,cacheReadTokens:E,cacheWriteTokens:0,totalCost:q,id:c},yield{type:"done",success:!0,id:c}}catch(h){if(h instanceof Error&&h.message.includes("429"))throw new Ke(h.message,void 0,{cause:h});throw h}}calculateGeminiCost(e,t,a,i){return this.calculateCost(e,t+a,i)}}import Cs from"openai";function Pi(e,t=!1){let a=t?e.map((i)=>i.role).lastIndexOf("user"):-1;return e.flatMap((i,n)=>Os(i,t&&n===a))}function Os(e,t){let{role:a,content:i}=e;if(typeof i==="string"){if(a!=="user"||!t)return[{role:a,content:i}];return[{role:a,content:[{type:"text",text:i,cache_control:{type:"ephemeral"}}]}]}if(a==="assistant")return[Ls(i)];else return Ss(i,t)}function Ls(e){let t=[],a=[];for(let n of e)switch(n.type){case"text":t.push(n.text);break;case"tool_use":{let o=n;a.push({id:o.id,type:"function",function:{name:o.name,arguments:JSON.stringify(H(o.input))}});break}case"thinking":break}let i={role:"assistant",content:t.length>0?t.join(`
13
- `):null};if(a.length>0)i.tool_calls=a;return i}function Ss(e,t){let a=[],i=e.filter((r)=>r.type==="tool_result");for(let r of i)a.push({role:"tool",tool_call_id:r.tool_use_id,content:ne(r.content)});let n=e.filter((r)=>r.type!=="tool_result");if(n.length===0)return a;let o=[];for(let r of n)switch(r.type){case"text":o.push({type:"text",text:r.text});break;case"file":{let c=r;o.push({type:"text",text:V(c.path,c.content)});break}case"image":{let c=r;o.push({type:"image_url",image_url:{url:`data:${c.mediaType};base64,${c.data}`}});break}}if(o.length===0)return a;if(t){for(let r=o.length-1;r>=0;r--)if(o[r].type==="text"){o[r]={...o[r],cache_control:{type:"ephemeral"}};break}}return a.push({role:"user",content:o.length===1&&o[0].type==="text"&&!t?o[0].text:o}),a}function Na(e){if(!e||typeof e!=="object"||Array.isArray(e))return e;let t={...e};if(delete t.$schema,t.type==="object"){t.additionalProperties=!1;let a=t.properties,i=t.required??[];if(a){let n=Object.keys(a),o=new Set(i),r={};for(let c of n){let s=Na(a[c]);if(!o.has(c))s={anyOf:[s,{type:"null"}]};r[c]=s}t.properties=r,t.required=n}}if(t.items)t.items=Array.isArray(t.items)?t.items.map((a)=>Na(a)):Na(t.items);for(let a of["anyOf","oneOf","allOf"])if(Array.isArray(t[a]))t[a]=t[a].map((i)=>Na(i));return t}function Ln(e,t){let a=t?.strict??!0;return e.map((i)=>({type:"function",function:{name:i.name,description:i.description,parameters:Na(i.inputSchema),strict:a}}))}function Ua(e,t){if(!e||e.length===0)return{};return{tools:Ln(e,t),tool_choice:"auto"}}class Tt{toolCalls=new Map;processToolCallDeltas(e,t){let a=[];for(let i of e){let{index:n,id:o}=i,r=i.function,c=this.toolCalls.get(n);if(!c)c={id:"",name:"",arguments:""},this.toolCalls.set(n,c);if(o)c.id=o;if(r?.name)c.name=r.name;let s=r?.arguments,p=this.normalizeArgumentsDelta(c.arguments,s);if(p)c.arguments+=p;if(c.id&&c.name)a.push({type:"tool_calls",id:t,tool_call:{call_id:c.id,function:{id:c.id,name:c.name,arguments:p}}})}return a}getToolCalls(){return Array.from(this.toolCalls.values()).map((e)=>({call_id:e.id,function:{id:e.id,name:e.name,arguments:e.arguments}}))}reset(){this.toolCalls.clear()}normalizeArgumentsDelta(e,t){if(t==null)return"";let a=typeof t==="string"?t:JSON.stringify(t);if(!a)return"";if(e&&a.length>=e.length&&a.startsWith(e))return a.slice(e.length);return a}}var Qs="medium";class Ve extends L{client;ensureClient(){if(!this.client){let e=this.config.baseUrl;if(!e)throw Error("Base URL is required. Set baseUrl in config.");let t=U(this.config.providerId,this.config.apiKey);if(!t)throw Error(oe(this.config.providerId));let a=this.getRequestHeaders();this.client=new Cs({apiKey:t,baseURL:e,defaultHeaders:a})}return this.client}getModel(){let e=this.config.modelId;if(!e)throw Error("Model ID is required. Set modelId in config.");let t=this.config.modelInfo??this.config.knownModels?.[e]??this.getDefaultModelInfo();return{id:e,info:{...t,id:e}}}getDefaultModelInfo(){let e=this.config.capabilities?.includes("prompt-cache")?["prompt-cache"]:[];return{id:this.config.modelId,capabilities:e}}getMessages(e,t){let a=this.getModel(),i=this.supportsPromptCache(a.info);return[i?{role:"system",content:[{type:"text",text:e,cache_control:{type:"ephemeral"}}]}:{role:"system",content:e},...Pi(t,i)]}async*createMessage(e,t,a){yield*S(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let i=this.ensureClient(),{id:n,info:o}=this.getModel(),r=this.createResponseId(),c=this.getMessages(e,t),s={model:n,messages:c,stream:!0,stream_options:{include_usage:!0},...Ua(a,{strict:this.config.providerId!=="openrouter"})};if(this.config.providerId==="openrouter"&&n.startsWith("anthropic/"))s.cache_control={type:"ephemeral"};let p=o.maxTokens??this.config.maxOutputTokens;if(p)s.max_completion_tokens=p;if(!(o.capabilities?.includes("reasoning")??!1))s.temperature=o.temperature??0;let D=o.capabilities?.includes("reasoning-effort")||o.capabilities?.includes("reasoning")||!1,b=this.config.reasoningEffort??(this.config.thinking?Qs:void 0);if(D&&b)s.reasoning_effort=b;let T=this.getRequestHeaders(),G=Object.keys(T).some((f)=>f.toLowerCase()==="authorization"),v=U(this.config.providerId,this.config.apiKey);if(!G&&v)T.Authorization=`Bearer ${v}`;let h=this.getAbortSignal(),P=await i.chat.completions.create(s,{signal:h,headers:T}),R=new Tt,E=null;for await(let f of P){let Y=f.choices?.[0];if(Y?.finish_reason)E=Y.finish_reason;yield*this.withResponseIdForAll(this.processChunk(f,R,o,r),r)}yield{type:"done",success:!0,id:r,incompleteReason:E==="length"?"max_tokens":void 0}}*processChunk(e,t,a,i){let n=e.choices?.[0]?.delta,o=n&&{...n,reasoning_content:n.reasoning_content};if(o?.content)yield{type:"text",text:o.content,id:i};if(o?.reasoning_content)yield{type:"reasoning",reasoning:o.reasoning_content,id:i};if(o?.tool_calls)yield*t.processToolCallDeltas(o.tool_calls.map((r)=>({index:r.index,id:r.id,function:r.function})),i);if(e.usage){let r=e.usage.prompt_tokens??0,c=e.usage.completion_tokens??0,s=e.usage,p=s.prompt_tokens_details?.cached_tokens??s.cache_read_input_tokens??0,g=s.prompt_tokens_details?.cache_write_tokens??s.cache_creation_input_tokens??0;yield{type:"usage",inputTokens:r,outputTokens:c,cacheReadTokens:p,cacheWriteTokens:g,totalCost:this.calculateCost(r,c,p,g),id:i}}}}import qs from"openai";var Fs="medium";function Ks(e,t){if(!e?.length)return;return e.map((a)=>({type:"function",name:a.name,description:a.description,parameters:a.inputSchema}))}function Bs(e){let t=[],a=(o,r)=>{let c=r.map((s)=>s.text).join(`
14
- `);if(!c)return;t.push({type:"message",role:o,content:[{type:o==="user"?"input_text":"output_text",text:c}]})},i=(o)=>o.type==="text",n=(o)=>o.call_id?.trim()||o.id;for(let o of e){if(o.role!=="user"&&o.role!=="assistant")continue;if(!Array.isArray(o.content)){if(o.content)a(o.role,[{type:"text",text:o.content}]);continue}let r=[],c=()=>{if(r.length===0)return;a(o.role,r),r=[]};for(let s of o.content){if(i(s)){r.push(s);continue}if(o.role==="assistant"&&s.type==="tool_use"){c();let p=s;t.push({type:"function_call",call_id:n(p),name:p.name,arguments:JSON.stringify(H(p.input))});continue}if(o.role==="user"&&s.type==="tool_result")c(),t.push({type:"function_call_output",call_id:s.tool_use_id,output:ne(s.content)})}c()}return t}class ye extends L{client;ensureClient(){if(!this.client){let e=this.config.baseUrl;if(!e)throw Error("Base URL is required. Set baseUrl in config.");let t=U(this.config.providerId,this.config.apiKey);if(!t)throw Error(oe(this.config.providerId));let a=this.getRequestHeaders(),i=Object.keys(a).some((n)=>n.toLowerCase()==="authorization");this.client=new qs({apiKey:t,baseURL:e,defaultHeaders:i?a:{...a,Authorization:`Bearer ${t}`}})}return this.client}getModel(){let e=this.config.modelId;if(!e)throw Error("Model ID is required. Set modelId in config.");let t=this.config.modelInfo??this.config.knownModels?.[e]??this.getDefaultModelInfo();return{id:e,info:{...t,id:e}}}getDefaultModelInfo(){let e=[].filter((t)=>t!=="prompt-cache");return{id:this.config.modelId,capabilities:e}}getMessages(e,t){return Bs(t)}async*createMessage(e,t,a){yield*S(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let i=this.ensureClient(),{id:n,info:o}=this.getModel(),r=this.getAbortSignal(),c=this.createResponseId(),s,p=new Map,g=this.getMessages(e,t),D=Ks(a,{stripFormat:this.config.providerId==="openai-codex"});if(!D?.length)throw Error("OpenAI Responses API requires tools to be provided. Enable native tool calling in settings.");let b=o.capabilities?.includes("reasoning")??!1,T=this.config.reasoningEffort??(this.config.thinking?Fs:void 0),G=b&&T?{effort:T,summary:"auto"}:void 0,v=this.getRequestHeaders(),h=Object.keys(v).some((E)=>E.toLowerCase()==="authorization"),P=U(this.config.providerId,this.config.apiKey);if(!h&&P)v.Authorization=`Bearer ${P}`;if(this.config.providerId==="openai-codex"&&typeof this.config.accountId==="string"&&this.config.accountId.trim().length>0){let E=this.config.accountId.trim();v["chatgpt-account-id"]=E,v["openai-account-id"]=E}let R;try{R=await i.responses.create({model:n,instructions:e,input:g,store:this.config.providerId==="openai-codex"?!1:void 0,stream:!0,tools:D,reasoning:G},{signal:r,headers:v})}catch(E){if(this.config.providerId==="openai-codex"){let f=E;if((f?.status??f?.response?.status??(typeof f?.message==="string"&&f.message.includes("400")?400:void 0))===400){let q=f?.error?.detail??f?.error?.message??(typeof f?.message==="string"?f.message:"");throw Error(`OpenAI Codex request was rejected (HTTP 400). ${q?`Detail: ${q}`:"Re-run 'clite auth openai-codex', verify model access, and ensure accountId is present in provider settings."}`,{cause:E})}}throw E}for await(let E of R){let f=this.getApiResponseId(E);if(f)s=f;yield*this.processResponseChunk(E,o,s??c,p)}}*processResponseChunk(e,t,a,i){switch(e.type){case"response.output_item.added":{let n=e.item;if(n.type==="function_call"&&n.id)i.set(n.id,{callId:n.call_id,name:n.name}),yield{type:"tool_calls",id:n.id||a,tool_call:{call_id:n.call_id,function:{id:n.id,name:n.name,arguments:n.arguments}}};if(n.type==="reasoning"&&n.encrypted_content&&n.id)yield{type:"reasoning",id:n.id||a,reasoning:"",redacted_data:n.encrypted_content};break}case"response.output_item.done":{let n=e.item;if(n.type==="function_call"){if(n.id)i.set(n.id,{callId:n.call_id,name:n.name});yield{type:"tool_calls",id:n.id||a,tool_call:{call_id:n.call_id,function:{id:n.id,name:n.name,arguments:n.arguments}}}}if(n.type==="reasoning")yield{type:"reasoning",id:n.id||a,details:n.summary,reasoning:""};break}case"response.reasoning_summary_part.added":yield{type:"reasoning",id:e.item_id||a,reasoning:e.part?.text||""};break;case"response.reasoning_summary_text.delta":yield{type:"reasoning",id:e.item_id||a,reasoning:e.delta||""};break;case"response.reasoning_summary_part.done":yield{type:"reasoning",id:e.item_id||a,details:e.part,reasoning:""};break;case"response.output_text.delta":if(e.delta)yield{id:e.item_id||a,type:"text",text:e.delta};break;case"response.reasoning_text.delta":if(e.delta)yield{id:e.item_id||a,type:"reasoning",reasoning:e.delta};break;case"response.function_call_arguments.delta":{let n=e.item_id?i.get(e.item_id):void 0;yield{type:"tool_calls",id:e.item_id||a,tool_call:{call_id:n?.callId,function:{id:e.item_id,name:n?.name,arguments:e.delta}}}}break;case"response.function_call_arguments.done":if(e.item_id&&e.arguments){let n=i.get(e.item_id);yield{type:"tool_calls",id:e.item_id||a,tool_call:{call_id:e.call_id??n?.callId,function:{id:e.item_id,name:e.name??n?.name,arguments:e.arguments}}}}break;case"response.incomplete":{yield{type:"done",success:!1,incompleteReason:e.response?.incomplete_details?.reason,id:e.response?.id||a};break}case"response.failed":{yield{type:"done",success:!1,error:e.response?.error?.message||"Unknown error",id:e.response?.id||a};break}case"response.completed":{if(e.response?.usage){let n=e.response.usage,o=n.input_tokens||0,r=n.output_tokens||0,c=n.input_tokens_details?.cached_tokens||0,s=0,p=this.calculateCost(o,r,c,0);yield{type:"usage",inputTokens:o,outputTokens:r,cacheWriteTokens:0,cacheReadTokens:c,totalCost:p,id:e.response.id||a}}yield{type:"done",success:!0,id:e.response?.id||a};break}}}getApiResponseId(e){if(typeof e?.response?.id==="string"&&e.response.id.length>0)return e.response.id;if(typeof e?.response_id==="string"&&e.response_id.length>0)return e.response_id;return}}import t1 from"openai";var Mt=new Map;function Gi(e,t){Mt.set(e,{factory:t,isAsync:!1})}function Ai(e,t){Mt.set(e,{factory:t,isAsync:!0})}function Ne(e){return Mt.has(e)}function Oi(e,t){let a=Mt.get(e);if(!a)return;if(a.isAsync)throw Error(`Handler for "${e}" is registered as async. Use getRegisteredHandlerAsync() or createHandlerAsync() instead.`);return a.factory(t)}async function Li(e,t){let a=Mt.get(e);if(!a)return;if(a.isAsync)return a.factory(t);return a.factory(t)}function Si(e){return Mt.get(e)?.isAsync??!1}var Vs="us-central1";function Sr(e){return e.toLowerCase().includes("claude")}function ys(e){if(!e||e.length===0)return;let t=De(e);return Object.fromEntries(t.map((a)=>[a.name,{description:a.description,inputSchema:a.input_schema}]))}function Ns(e,t,a){let i=a?.promptCacheOn?[{type:"text",text:e,providerOptions:{anthropic:{cacheControl:{type:"ephemeral"}}}}]:e;return kt(i,t,{assistantToolCallArgKey:"input"})}class Ya extends L{geminiHandler;vertexAnthropicModelFactory;vertexAnthropicModelFactoryPromise;getProjectId(){let e=this.config.gcp?.projectId?.trim();if(!e)throw Error("Vertex provider requires `gcp.projectId` in provider configuration.");return e}getConfiguredRegion(){return this.config.gcp?.region?.trim()||this.config.region?.trim()}getRequiredClaudeRegion(){let e=this.getConfiguredRegion();if(!e)throw Error("Vertex Claude models require `gcp.region` (or `region`) in provider configuration.");return e}getGeminiRegion(){return this.getConfiguredRegion()??Vs}ensureGeminiHandler(){if(!this.geminiHandler){let e=this.getProjectId(),t=this.getGeminiRegion();this.geminiHandler=new Be({...this.config,region:t,gcp:{...this.config.gcp,projectId:e,region:t}})}return this.geminiHandler}async ensureVertexAnthropicModelFactory(){if(this.vertexAnthropicModelFactory)return this.vertexAnthropicModelFactory;if(!this.vertexAnthropicModelFactoryPromise)this.vertexAnthropicModelFactoryPromise=import("@ai-sdk/google-vertex/anthropic").then((e)=>{let t=e.createVertexAnthropic({project:this.getProjectId(),location:this.getRequiredClaudeRegion(),headers:this.getRequestHeaders(),baseURL:this.config.baseUrl}),a=(i)=>t(i);return this.vertexAnthropicModelFactory=a,a});try{return await this.vertexAnthropicModelFactoryPromise}catch(e){if(this.vertexAnthropicModelFactoryPromise=void 0,e instanceof Error&&e.message.includes("@ai-sdk/google-vertex"))throw Error('Vertex Claude models require @ai-sdk/google-vertex at runtime. Install workspace dependencies before using provider "vertex".',{cause:e});throw e}}getModel(){return On(this.config)}getMessages(e,t){let a=this.getModel();if(!Sr(a.id))return this.ensureGeminiHandler().getMessages(e,t);let i=this.supportsPromptCache(a.info);return Rt(t,i)}async*createMessage(e,t,a){yield*S(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let i=this.getModel();if(!Sr(i.id)){yield*this.ensureGeminiHandler().createMessage(e,t,a);return}let n=await fi(),o=await this.ensureVertexAnthropicModelFactory(),r=this.createResponseId(),c=this.config.thinkingBudgetTokens??0,s=Fe(i.info,"reasoning")&&c>0,p=this.supportsPromptCache(i.info),g={};if(s)g.anthropic={thinking:{type:"enabled",budgetTokens:c}};let D=n.streamText({model:o(i.id),messages:Ns(e,t,{promptCacheOn:p}),tools:ys(a),maxTokens:i.info.maxTokens??this.config.maxOutputTokens??128000,temperature:s?void 0:0,providerOptions:Object.keys(g).length>0?g:void 0,abortSignal:this.getAbortSignal()});yield*Ei(D,{responseId:r,errorMessage:"Vertex Anthropic stream failed",calculateCost:(b,T,G,v)=>this.calculateCost(b,T,G,v),reasoningTypes:["reasoning-delta"],enableToolCalls:!0,toolCallArgsOrder:["input","args"],toolCallFunctionIncludeId:!0,resolveUsageMetrics:(b,T)=>{let v=(T?.providerMetadata??{}).anthropic??{};return{inputTokens:Z(b.inputTokens),outputTokens:Z(b.outputTokens),thoughtsTokenCount:Z(b.reasoningTokens??b.thoughtsTokenCount),cacheReadTokens:Z(b.cachedInputTokens??v.cacheReadInputTokens),cacheWriteTokens:Z(v.cacheCreationInputTokens)}}})}}import{JSONParser as N1}from"@streamparser/json";sa();function Cr(e){let t=K(e.providerId);if(t===e.providerId)return e;return{...e,providerId:t}}function mp(e,t){if(e.baseUrl)return e.baseUrl;if(e.oca?.mode==="internal")return te;return t?.baseUrl??J}function lp(e){let t=e.modelId;return e.modelInfo?.apiFormat??(t?e.knownModels?.[t]?.apiFormat:void 0)}function dp(e){if(lp(e)===I.OPENAI_RESPONSES)return new ye(e);return new Ve(e)}function Qr(e,t){return{...e,baseUrl:e.providerId==="oca"?mp(e,t):e.baseUrl??t.baseUrl,modelId:e.modelId??t.modelId,knownModels:e.knownModels??t.knownModels,capabilities:e.capabilities??t.capabilities}}var gp={asksage:(e)=>new Qa(e),anthropic:(e)=>new Ca(e),bedrock:(e)=>new Ti(e),"claude-code":(e)=>new Fa(e),gemini:(e)=>new Be(e),vertex:(e)=>new Ya(e),opencode:(e)=>new Ka(e),"openai-native":(e)=>new ye(e),mistral:(e)=>new Va(e),dify:(e)=>new ya(e)};function qr(e){if(e.providerId==="openai-codex")return new qa(e);if(e.providerId==="sapaicore")return new Ba(e);if(e.providerId==="oca")return dp(e);return new Ve(e)}function xp(e){let t=gp[e.providerId];return t?t(e):void 0}function Xa(e){let t=Cr(e),{providerId:a}=t;if(Ne(a)){if(Si(a))throw Error(`Handler for "${a}" is registered as async. Use createHandlerAsync() instead.`);let n=Oi(a,t);if(n)return n}let i=xp(t);if(i)return i;if(La(a)){if(t.modelCatalog?.loadLatestOnInit||t.modelCatalog?.loadPrivateOnAuth)throw Error(`Provider "${a}" has runtime model refresh enabled. Use createHandlerAsync() to allow async model refresh.`);let n=j[a];return qr(Qr(t,n))}return t.baseUrl?new Ve(t):new ye({...t,baseUrl:"https://api.openai.com/v1"})}async function Ci(e){let t=Cr(e),{providerId:a}=t;if(Ne(a)){let i=await Li(a,t);if(i)return i}if(La(a)){let i=await bt(a,t.modelCatalog,t);if(i)return qr(Qr(t,i))}return Xa(t)}var Sn=[...new Set([Ge.provider.id,"anthropic","asksage","bedrock","claude-code","opencode","mistral","dify","openai-native","gemini","vertex",...Object.keys(j)])],hp=new Set(Sn);function Fr(e){let t=K(e);return hp.has(t)||Ne(t)||Ne(e)}function Br(e){return e?{...e}:{}}function Wp(e,t){if(e)return e;if(!t)return;let a=globalThis.process;if(!a?.env)return;return a.env[t]}function Vr(e,t){if(!t.length)throw Error(`Provider "${e}" must include at least one model.`)}class yr{providerConfigs=new Map;constructor(e){this.applyConfig(e)}createHandler(e){return Xa(this.toProviderHandlerConfig(e))}async createHandlerAsync(e){return Ci(this.toProviderHandlerConfig(e))}toProviderHandlerConfig(e){let t=this.requireConfiguredProvider(e.providerId),a=e.modelId??t.defaultModel;if(!t.models.has(a))throw Error(`Model "${a}" is not configured for provider "${e.providerId}".`);return{providerId:e.providerId,modelId:a,...t.defaults,...e.overrides}}registerProvider(e){if(mi(e.collection),e.handlerFactory&&e.asyncHandlerFactory)throw Error(`Provider "${e.collection.provider.id}" cannot register both sync and async handlers.`);if(e.handlerFactory)Gi(e.collection.provider.id,e.handlerFactory);if(e.asyncHandlerFactory)Ai(e.collection.provider.id,e.asyncHandlerFactory);let t=e.exposeModels??Object.keys(e.collection.models);Vr(e.collection.provider.id,t);let a=this.providerConfigs.get(e.collection.provider.id),i=e.defaultModel??e.collection.provider.defaultModelId??t[0];if(!i)throw Error(`Provider "${e.collection.provider.id}" must define a default model.`);if(!t.includes(i))throw Error(`Default model "${i}" is not included in configured models for "${e.collection.provider.id}".`);let n=new Set([...a?.models??[],...t]),o={...a?.defaults??{},...Br(e.defaults)};this.providerConfigs.set(e.collection.provider.id,{id:e.collection.provider.id,models:n,defaultModel:i,defaults:o})}registerModel(e){Wt(e.providerId,e.modelId,e.info);let t=this.providerConfigs.get(e.providerId);if(!t){this.providerConfigs.set(e.providerId,{id:e.providerId,models:new Set([e.modelId]),defaultModel:e.modelId,defaults:{}});return}t.models.add(e.modelId)}getProviders(){return Array.from(this.providerConfigs.values()).map((e)=>({id:e.id,models:Array.from(e.models),defaultModel:e.defaultModel}))}getModels(e){return Array.from(this.requireConfiguredProvider(e).models)}isProviderConfigured(e){return this.providerConfigs.has(e)}isModelConfigured(e,t){return this.providerConfigs.get(e)?.models.has(t)??!1}applyConfig(e){for(let t of e.providers){if(Vr(t.id,t.models),t.defaultModel&&!t.models.includes(t.defaultModel))throw Error(`Default model "${t.defaultModel}" is not included in configured models for "${t.id}".`);let a=t.defaultModel??t.models[0];if(!a)throw Error(`Provider "${t.id}" must define a default model.`);let i=Wp(t.apiKey,t.apiKeyEnv);this.providerConfigs.set(t.id,{id:t.id,models:new Set(t.models),defaultModel:a,defaults:{apiKey:i,baseUrl:t.baseUrl,headers:t.headers,timeoutMs:t.timeoutMs,capabilities:t.capabilities,...Br(t.settings)}})}for(let t of e.models??[])this.registerModel(t);for(let t of e.customProviders??[])this.registerProvider(t);for(let t of this.providerConfigs.values())if(!ci(t.id))throw Error(`Provider "${t.id}" is not known. Register it through customProviders/registerProvider or use a built-in provider ID.`)}requireConfiguredProvider(e){let t=this.providerConfigs.get(e);if(!t)throw Error(`Provider "${e}" is not configured in this SDK instance.`);return t}}function wp(e){return new yr(e)}export{Ir as defineLlmsConfig,wp as createLlmsSdk,Kr as LlmsProviders,nr as LlmsModels};
10
+ </file_content>`}function kr(e){if(!e||typeof e!=="object")return!1;let t=e;return typeof t.provider==="object"&&typeof t.models==="object"}function Tr(e){return e==="openai-chat"||e==="openai-responses"||e==="openai-r1"}function hc(e){let t={},i=e?.includeKnownModels??!1;for(let a of Object.values(vi)){if(!kr(a))continue;let n=a.provider;if(!Tr(n.protocol)||!n.baseUrl)continue;t[n.id]={baseUrl:n.baseUrl,modelId:n.defaultModelId,knownModels:i?a.models:void 0,capabilities:n.capabilities}}return t}var dn="https://models.dev/api.json",Mr=600000,fr=300000,Wc=new Map,un=new Map,wc=new Map,mn=new Map,bc;async function Er(){return bc??=Promise.resolve().then(() => (k(),Un)).then(({getGeneratedProviderModels:e})=>e()),bc}async function _r(e,t={},i={},a={},n={}){let o=await Er(),c=Gi(e),r=Object.assign({},...c.map((s)=>o[s]??{}));return Xe({...r,...t,...i,...a,...n})}function Dc(e){let t=e?.trim();return t&&t.length>0?t:""}function gn(e){let t=e.apiKey?.trim()||e.accessToken?.trim();return t&&t.length>0?t:void 0}function Pr(e){let t=2166136261;for(let i=0;i<e.length;i+=1)t^=e.charCodeAt(i),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return(t>>>0).toString(16)}function vr(e,t){return`${e}:${Dc(t.baseUrl)}:${Pr(gn(t)??"")}`}function ln(e,t,i){if(i&&!e.includes(t))e.push(t)}function xn(e,t){let i=["streaming","tools"];return ln(i,"images",Boolean(t.supportsImages)),ln(i,"prompt-cache",Boolean(t.supportsPromptCache)),ln(i,"reasoning",Boolean(t.supportsReasoning)),{id:e,name:t.name??e,contextWindow:t.contextWindow,maxTokens:t.maxTokens,capabilities:i,releaseDate:t.releaseDate,status:"active"}}async function Gr(e,t){let i=await fetch("https://inference.baseten.co/v1/models",{method:"GET",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}});if(!i.ok)throw Error(`Baseten model refresh failed: HTTP ${i.status}`);let n=(await i.json())?.data??[],o={};for(let c of n){let r=c.id?.trim();if(!r)continue;if(r.includes("whisper")||r.includes("tts")||r.includes("embedding"))continue;let s=c.supported_features??[];o[r]=xn(r,{name:r,contextWindow:c.context_length,maxTokens:c.max_completion_tokens,supportsReasoning:s.includes("reasoning")||s.includes("reasoning_effort"),supportsImages:!1})}return o}async function Ar(e,t){let i=await fetch("https://api.hicap.ai/v2/openai/models",{method:"GET",headers:{"api-key":t}});if(!i.ok)throw Error(`Hicap model refresh failed: HTTP ${i.status}`);let n=(await i.json())?.data??[],o={};for(let c of n){let r=c.id?.trim();if(!r)continue;o[r]=xn(r,{name:r,contextWindow:128000,supportsImages:!0,supportsPromptCache:!0})}return o}function Or(e){let t=Dc(e);if(!t)return"http://localhost:4000";return t.endsWith("/v1")?t.slice(0,-3):t}async function Lr(e,t){let a=`${Or(e.baseUrl)}/v1/model/info`,n=async(p)=>fetch(a,{method:"GET",headers:{accept:"application/json",...p}}),o=await n({"x-litellm-api-key":t});if(!o.ok)o=await n({Authorization:`Bearer ${t}`});if(!o.ok)throw Error(`LiteLLM model refresh failed: HTTP ${o.status}`);let r=(await o.json())?.data??[],s={};for(let p of r){let g=p.model_name?.trim(),D=p.litellm_params?.model?.trim()||g;if(!D)continue;let T=p.model_info,G=xn(D,{name:g??D,maxTokens:T?.max_output_tokens??T?.max_tokens,contextWindow:T?.max_input_tokens??T?.max_tokens,supportsImages:T?.supports_vision,supportsPromptCache:T?.supports_prompt_caching,supportsReasoning:T?.supports_reasoning});if(s[D]=G,g)s[g]={...G,id:g,name:g}}return s}async function Sr(e,t){let i=gn(t);if(!i)return{};let a=Rc[e];if(!a)return{};return a(t,i)}var Rc={baseten:Gr,hicap:Ar,litellm:Lr};function Cr(e,t,i){if(!i)return!1;if(!Rc[e])return!1;if(t?.loadPrivateOnAuth===!1)return!1;return Boolean(gn(i))}async function Qr(e,t,i){let a=t?.cacheTtlMs??fr,n=vr(e,i),o=Date.now(),c=wc.get(n);if(c&&c.expiresAt>o)return c.data;let r=mn.get(n);if(r)return r;let s=Sr(e,i).then((p)=>{return wc.set(n,{data:p,expiresAt:o+a}),p}).finally(()=>{mn.delete(n)});return mn.set(n,s),s}async function Fr(e){return Vn(e,I0)}async function hn(e={}){let t=e.url??dn,i=e.cacheTtlMs??Mr,a=Date.now(),n=Wc.get(t);if(n&&n.expiresAt>a)return n.data;let o=un.get(t);if(o)return o;let c=Fr(t).then((r)=>{return Wc.set(t,{data:r,expiresAt:a+i}),r}).finally(()=>{un.delete(t)});return un.set(t,c),c}function Kr(e){return Object.fromEntries(Object.entries(e).map(([t,i])=>[t,{baseUrl:i.baseUrl,modelId:i.modelId,knownModels:i.knownModels,capabilities:i.capabilities}]))}var j=Kr(hc());function Wn(e){return j[e]}async function bt(e,t,i){let a=Wn(e);if(!a)return;try{let o=(t?.loadLatestOnInit?await hn(t):void 0)?.[e]??{},c=i&&Cr(e,t,i)?await Qr(e,t,i):{},r=await _r(e,a.knownModels,o,c,i?.knownModels);return{...a,knownModels:r}}catch(n){if(t?.failOnError)throw n;return a}}function Li(e){return e in j}var Dt;((l)=>{l.ANTHROPIC="anthropic";l.CLAUDE_CODE="claude-code";l.CLINE="cline";l.OPENAI="openai";l.OPENAI_NATIVE="openai-native";l.OPENAI_CODEX="openai-codex";l.OPENCODE="opencode";l.BEDROCK="bedrock";l.VERTEX="vertex";l.GEMINI="gemini";l.OLLAMA="ollama";l.LMSTUDIO="lmstudio";l.DEEPSEEK="deepseek";l.XAI="xai";l.TOGETHER="together";l.FIREWORKS="fireworks";l.GROQ="groq";l.CEREBRAS="cerebras";l.SAMBANOVA="sambanova";l.NEBIUS="nebius";l.BASETEN="baseten";l.REQUESTY="requesty";l.LITELLM="litellm";l.HUGGINGFACE="huggingface";l.VERCEL_AI_GATEWAY="vercel-ai-gateway";l.AIHUBMIX="aihubmix";l.HICAP="hicap";l.NOUS_RESEARCH="nousResearch";l.HUAWEI_CLOUD_MAAS="huawei-cloud-maas";l.QWEN="qwen";l.QWEN_CODE="qwen-code";l.DOUBAO="doubao";l.MISTRAL="mistral";l.MOONSHOT="moonshot";l.ASKSAGE="asksage";l.ZAI="zai";l.MINIMAX="minimax";l.DIFY="dify";l.OCA="oca";l.SAPAICORE="sapaicore";l.OPENROUTER="openrouter"})(Dt||={});var qr={openai:"openai-native",togetherai:"together","sap-ai-core":"sapaicore"},kc=Object.values(Dt);function V(e){let t=e.trim();return qr[t]??t}function Ke(e,t){return e.capabilities?.includes(t)??!1}function ae(e){return Boolean(e.thinkingConfig)||Ke(e,"reasoning")}function xa(e){return e.pricing??{}}k();si();import{z as m}from"zod";var wn=m.string().min(1).regex(/^[a-z0-9][a-z0-9-]*$/i),bn=m.object({apiKey:m.string().optional(),accessToken:m.string().optional(),refreshToken:m.string().optional(),expiresAt:m.number().int().positive().optional(),accountId:m.string().optional()}),Vr=m.enum(["none","low","medium","high","xhigh"]),Dn=m.object({enabled:m.boolean().optional(),effort:Vr.optional(),budgetTokens:m.number().int().positive().optional()}),Rn=m.object({accessKey:m.string().optional(),secretKey:m.string().optional(),sessionToken:m.string().optional(),region:m.string().optional(),profile:m.string().optional(),authentication:m.enum(["iam","api-key","profile"]).optional(),usePromptCache:m.boolean().optional(),useCrossRegionInference:m.boolean().optional(),useGlobalInference:m.boolean().optional(),endpoint:m.string().url().optional(),customModelBaseId:m.string().optional()}),kn=m.object({projectId:m.string().optional(),region:m.string().optional()}),Tn=m.object({apiVersion:m.string().optional(),useIdentity:m.boolean().optional()}),Mn=m.object({clientId:m.string().optional(),clientSecret:m.string().optional(),tokenUrl:m.string().url().optional(),resourceGroup:m.string().optional(),deploymentId:m.string().optional(),useOrchestrationMode:m.boolean().optional(),api:m.enum(["orchestration","foundation-models"]).optional(),defaultSettings:m.record(m.string(),m.unknown()).optional()}),fn=m.object({mode:m.enum(["internal","external"]).optional(),usePromptCache:m.boolean().optional()}),En=m.object({loadLatestOnInit:m.boolean().optional(),loadPrivateOnAuth:m.boolean().optional(),url:m.string().url().optional(),cacheTtlMs:m.number().int().positive().optional(),failOnError:m.boolean().optional()}),Si=m.object({provider:wn,apiKey:m.string().optional(),auth:bn.optional(),model:m.string().optional(),maxTokens:m.number().int().positive().optional(),contextWindow:m.number().int().positive().optional(),baseUrl:m.string().url().optional(),headers:m.record(m.string(),m.string()).optional(),timeout:m.number().int().positive().optional(),reasoning:Dn.optional(),aws:Rn.optional(),gcp:kn.optional(),azure:Tn.optional(),sap:Mn.optional(),oca:fn.optional(),region:m.string().optional(),apiLine:m.enum(["china","international"]).optional(),capabilities:m.array(m.enum(["reasoning","prompt-cache","streaming","tools","vision","computer-use","oauth"])).optional(),modelCatalog:En.optional()});function ha(e){return Si.parse(e)}function Wa(e){let t=e.provider,i=V(t),a=e.reasoning?.effort,n=a&&a!=="none"?a:void 0,o=j[i],c=Object.assign({},...Gi(i).map((g)=>u(g))),r=e.auth?.accessToken??e.apiKey??e.auth?.apiKey,s=e.baseUrl??(i==="oca"?e.oca?.mode==="internal"?te:J:o?.baseUrl),p={providerId:t,modelId:e.model??o?.modelId??"default",knownModels:o?.knownModels??(Object.keys(c).length>0?c:void 0),apiKey:r,accessToken:e.auth?.accessToken,refreshToken:e.auth?.refreshToken,accountId:e.auth?.accountId,baseUrl:s,headers:e.headers,timeoutMs:e.timeout,maxOutputTokens:e.maxTokens,maxContextTokens:e.contextWindow,thinking:e.reasoning?.enabled,reasoningEffort:n,thinkingBudgetTokens:e.reasoning?.budgetTokens,region:e.region??e.aws?.region??e.gcp?.region,apiLine:e.apiLine,useCrossRegionInference:e.aws?.useCrossRegionInference,useGlobalInference:e.aws?.useGlobalInference,aws:e.aws?{accessKey:e.aws.accessKey,secretKey:e.aws.secretKey,sessionToken:e.aws.sessionToken,authentication:e.aws.authentication,profile:e.aws.profile,usePromptCache:e.aws.usePromptCache,endpoint:e.aws.endpoint,customModelBaseId:e.aws.customModelBaseId}:void 0,gcp:e.gcp?{projectId:e.gcp.projectId,region:e.gcp.region}:void 0,azure:e.azure,sap:e.sap,oca:e.oca,capabilities:e.capabilities??o?.capabilities,modelCatalog:e.modelCatalog?{loadLatestOnInit:e.modelCatalog.loadLatestOnInit,loadPrivateOnAuth:e.modelCatalog.loadPrivateOnAuth,url:e.modelCatalog.url,cacheTtlMs:e.modelCatalog.cacheTtlMs,failOnError:e.modelCatalog.failOnError}:void 0};return Object.fromEntries(Object.entries(p).filter(([g,b])=>b!==void 0))}import{Anthropic as os}from"@anthropic-ai/sdk";function H(e){if(Array.isArray(e))return{commands:e};return e}function ne(e){if(typeof e==="string")return e;let t=[];for(let i of e){if(i.type==="text"){t.push(i.text);continue}if(i.type==="file"){t.push(y(i.path,i.content));continue}t.push(JSON.stringify(i))}return t.join(`
11
+ `)}function Rt(e,t=!1){let i=e.reduce((o,c,r)=>{if(c.role==="user")o.push(r);return o},[]),a=t?new Set(i.slice(-2)):new Set,n=[];for(let[o,c]of e.entries()){let r=Hr(c,a.has(o));if(r)n.push(r)}return n}function Hr(e,t){let{role:i,content:a}=e;if(typeof a==="string"){let o={type:"text",text:a};if(t)o.cache_control={type:"ephemeral"};return{role:i,content:[o]}}let n=Jr(a,t);if(n.length===0)return null;return{role:i,content:n}}function Jr(e,t){let i=[];for(let a=0;a<e.length;a++){let n=e[a],o=a===e.length-1,c=Zr(n,t&&o);if(c)i.push(c)}return i}function Zr(e,t){switch(e.type){case"text":{let a={type:"text",text:e.text};if(t)a.cache_control={type:"ephemeral"};return a}case"file":{let i=e;return{type:"text",text:y(i.path,i.content)}}case"image":{let i=e;return{type:"image",source:{type:"base64",media_type:i.mediaType,data:i.data}}}case"tool_use":{let i=e;return{type:"tool_use",id:i.id,name:i.name,input:H(i.input)}}case"tool_result":{let i=e,a;if(typeof i.content==="string")a=i.content;else a=i.content.map((n)=>{if(n.type==="text")return{type:"text",text:n.text};else if(n.type==="file"){let o=n;return{type:"text",text:y(o.path,o.content)}}else return{type:"image",source:{type:"base64",media_type:n.mediaType,data:n.data}}});return{type:"tool_result",tool_use_id:i.tool_use_id,content:a,is_error:i.is_error}}case"thinking":{let i=e;return{type:"thinking",thinking:i.thinking,signature:i.signature}}case"redacted_thinking":return{type:"redacted_thinking",data:e.data};default:return null}}function De(e){return e.map((t)=>({name:t.name,description:t.description,input_schema:t.inputSchema}))}var _n={maxRetries:4,baseDelay:2000,maxDelay:15000};class qe extends Error{retryAfterSeconds;constructor(e,t,i){super(e,i);this.retryAfterSeconds=t;this.name="RetriableError"}}function Pn(e){if(e instanceof qe)return!0;if(e instanceof Error){let t=e.message.toLowerCase();if(t.includes("429")||t.includes("rate limit")||t.includes("too many requests"))return!0;if(t.includes("500")||t.includes("502")||t.includes("503")||t.includes("504"))return!0;if(t.includes("network")||t.includes("timeout")||t.includes("econnreset")||t.includes("econnrefused"))return!0}return!1}function vn(e,t={}){let{baseDelay:i=_n.baseDelay,maxDelay:a=_n.maxDelay}=t,n=2**e*i,o=Math.random()*0.25*n;return Math.min(n+o,a)}function Gn(e){return new Promise((t)=>setTimeout(t,e))}async function*C(e,t={}){let{maxRetries:i=_n.maxRetries,onRetryAttempt:a}=t;for(let n=0;n<=i;n++)try{yield*e();return}catch(o){if(!(n!==i&&Pn(o)))throw o;let s;if(o instanceof qe&&o.retryAfterSeconds)s=o.retryAfterSeconds*1000;else s=vn(n,t);if(a)a(n+1,i,s,o);await Gn(s)}throw Error("Retry logic exhausted without returning or throwing")}var Ir=["cline","anthropic","openai-native","gemini","openrouter"];function zr(e){if(!e||typeof e!=="object")return!1;let t=e;return typeof t.provider==="object"&&typeof t.models==="object"}function Mc(e){return[...new Set(e)]}function es(){let e={};for(let t of Object.values(vi)){if(!zr(t))continue;let i=t.provider.id;e[i]=Mc(t.provider.env??[])}return e}var fc=es(),Ec=Mc(Ir.flatMap((e)=>fc[e]??[]));function ts(e,t){let i=e[t];if(typeof i!=="string")return;let a=i.trim();return a.length>0?a:void 0}function Tc(e,t){for(let i of e){let a=ts(t,i);if(a)return a}return}function An(e){return fc[V(e)]??[]}function Y(e,t,i=process.env){let a=V(e),n=t?.trim();if(n)return n;let o=Tc(An(a),i);if(o)return o;if(a==="lmstudio")return"noop";return Tc(Ec,i)}function oe(e){let t=[...new Set([...An(e),...Ec])],i=t.length>0?t.join(", "):"provider-specific API key env var";return`Missing API key for provider "${V(e)}". Set apiKey explicitly or one of: ${i}.`}import{nanoid as is}from"nanoid";var as={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","X-IS-MULTIROOT":"false","X-CLIENT-TYPE":"cline-sdk"},_c=new WeakMap,ns=0;function wa(e){let t=_c.get(e);if(!t)t=`abort_${++ns}`,_c.set(e,t);return t}function On(e){return e instanceof Error?{name:e.name,message:e.message}:e}class L{config;abortController;abortSignalSequence=0;constructor(e){this.config=e}getModel(){let e=this.config.modelId;return{id:e,info:{...this.config.modelInfo??{},id:e}}}async getApiStreamUsage(){return}getAbortSignal(){let e=new AbortController;this.abortController=e,e.signal.addEventListener("abort",()=>{if(this.abortController===e)this.abortController=void 0},{once:!0});let t=this.config.abortSignal;if(t)if(t.aborted)this.logAbort("debug","Provider request inherited aborted signal",{controllerId:wa(e),reason:On(t.reason)}),e.abort(t.reason);else{let i=++this.abortSignalSequence;t.addEventListener("abort",()=>{this.logAbort("warn","Provider request abort signal fired",{controllerId:wa(e),signalId:i,reason:On(t.reason)}),e.abort(t.reason)},{once:!0}),this.logAbort("debug","Provider request attached abort signal",{controllerId:wa(e),signalId:i})}return e.signal}abort(){this.abortController?.abort()}setAbortSignal(e){if(this.config.abortSignal=e,e?.aborted)this.logAbort("debug","Provider handler received pre-aborted signal",{controllerId:this.abortController?wa(this.abortController):void 0,reason:On(e.reason)}),this.abortController?.abort(e.reason)}logAbort(e,t,i){this.config.logger?.[e]?.(t,{providerId:this.config.providerId,modelId:this.config.modelId,...i})}supportsPromptCache(e){let t=e??this.config.modelInfo??this.config.knownModels?.[this.config.modelId],i=t?.pricing;return t?.capabilities?.includes("prompt-cache")===!0||this.config.capabilities?.includes("prompt-cache")===!0||typeof i?.cacheRead==="number"||typeof i?.cacheWrite==="number"}calculateCost(e,t,i=0,a=0){let n=(this.config.modelInfo??this.config.knownModels?.[this.config.modelId])?.pricing;if(!n?.input||!n?.output)return;return e/1e6*n.input+t/1e6*n.output+(i>0?i/1e6*(n.cacheRead??0):0)+(a>0?a/1e6*(n.cacheWrite??n.input*1.25):0)}calculateCostFromInclusiveInput(e,t,i=0,a=0){return this.calculateCost(Math.max(0,e-i-a),t,i,a)}createResponseId(){return is()}withResponseId(e,t){return{...e,id:t}}*withResponseIdForAll(e,t){for(let i of e)yield{...i,id:t}}getRequestHeaders(){return{...as,...this.config.headers??{}}}normalizeOpenAICompatibleBadRequest(e){let t=e;if((t?.status??t?.response?.status??t?.error?.code??(typeof t?.message==="string"&&t.message.includes("400")?400:void 0))!==400)return;let a=t?.error?.metadata?.raw,n=this.parseRawProviderError(a),o=n?.error?.message?.trim()||t?.error?.message?.trim()||t?.message?.trim()||"Provider returned error",c=t?.error?.metadata?.provider_name?.trim()||"Provider",r=n?.request_id?.trim(),s=this.rewriteProviderBadRequestDetail(o),p=r?` Request ID: ${r}.`:"";return Error(`${c} request was rejected (HTTP 400). ${s}${p}`,{cause:e instanceof Error?e:void 0})}parseRawProviderError(e){if(!e)return;try{return JSON.parse(e)}catch{return}}rewriteProviderBadRequestDetail(e){let t=e.match(/prompt is too long:\s*([\d,]+)\s*tokens?\s*>\s*([\d,]+)\s*maximum/i);if(t){let i=t[1],a=t[2];return`Prompt is too long: ${i} tokens exceeds the ${a} token limit.`}return e.endsWith(".")?e:`${e}.`}}var cs=1024,rs="CLINE_DEBUG_THINKING";function ss(){let e=process.env[rs];if(!e)return!1;let t=e.trim().toLowerCase();return t==="1"||t==="true"||t==="yes"}class Ci extends L{client;ensureClient(){if(!this.client){let e=Y(this.config.providerId,this.config.apiKey);if(!e)throw Error(oe(this.config.providerId));this.client=new os({apiKey:e,baseURL:this.config.baseUrl||void 0,defaultHeaders:this.getRequestHeaders()})}return this.client}getModel(){let e=this.config.modelId,i=(this.config.knownModels??{})[e]??{},a=this.config.modelInfo??i;return{id:e,info:{...a,id:e}}}getMessages(e,t){let i=this.supportsPromptCache(this.getModel().info);return Rt(t,i)}async*createMessage(e,t,i){yield*C(()=>this.createMessageInternal(e,t,i))}async*createMessageInternal(e,t,i){let a=this.ensureClient(),n=this.getModel(),o=this.getAbortSignal(),c=this.createResponseId(),r=ae(n.info),s=this.config.thinkingBudgetTokens??(this.config.thinking?cs:0),p=r&&s>0?s:0,g=i&&i.length>0,b=this.supportsPromptCache(n.info),D=r&&p>0,T=ss(),G={},v=(Q)=>{G[Q]=(G[Q]??0)+1};if(T)console.error(`[thinking-debug][anthropic][request] model=${n.id} thinkingFlag=${this.config.thinking===!0} supportsModelThinking=${r} requestedBudget=${s} effectiveBudget=${p} reasoningOn=${D} promptCache=${b}`);let h=this.getMessages(e,t),P=g?De(i):void 0,R={signal:o},f={model:n.id,thinking:D?{type:"enabled",budget_tokens:p}:void 0,max_tokens:n.info.maxTokens??this.config.maxOutputTokens??128000,temperature:D?void 0:0,system:[b?{text:e,type:"text",cache_control:{type:"ephemeral"}}:{text:e,type:"text"}],messages:h,stream:!0,tools:P,tool_choice:g&&!D?{type:"auto"}:void 0},E=await a.messages.create(f,R),S={id:"",name:"",arguments:""},q={inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0},K=null;for await(let Q of E){if(T){if(v(`event:${Q.type}`),Q.type==="content_block_start")v(`content_block_start:${Q.content_block?.type??"unknown"}`);else if(Q.type==="content_block_delta")v(`content_block_delta:${Q.delta?.type??"unknown"}`)}if(Q.type==="message_delta")K=Q.delta?.stop_reason??K;yield*this.withResponseIdForAll(this.processChunk(Q,S,q,c),c)}if(T){let Q=Object.entries(G).map(([B,$])=>`${B}=${$}`).sort().join(" ");console.error(`[thinking-debug][anthropic][stream] ${Q}`)}yield{type:"done",success:!0,id:c,incompleteReason:K==="max_tokens"?"max_tokens":void 0}}*processChunk(e,t,i,a){switch(e.type){case"message_start":{let n=e.message.usage;i.inputTokens=n.input_tokens||0,i.outputTokens=n.output_tokens||0,i.cacheWriteTokens=n.cache_creation_input_tokens||0,i.cacheReadTokens=n.cache_read_input_tokens||0,yield{type:"usage",inputTokens:i.inputTokens,outputTokens:i.outputTokens,cacheWriteTokens:i.cacheWriteTokens,cacheReadTokens:i.cacheReadTokens,totalCost:this.calculateCost(i.inputTokens,i.outputTokens,i.cacheReadTokens,i.cacheWriteTokens),id:a};break}case"message_delta":{i.outputTokens=e.usage.output_tokens||i.outputTokens,yield{type:"usage",inputTokens:i.inputTokens,outputTokens:i.outputTokens,cacheWriteTokens:i.cacheWriteTokens,cacheReadTokens:i.cacheReadTokens,totalCost:this.calculateCost(i.inputTokens,i.outputTokens,i.cacheReadTokens,i.cacheWriteTokens),id:a};break}case"content_block_start":{let n=e.content_block;switch(n.type){case"thinking":yield{type:"reasoning",reasoning:typeof n.thinking==="string"?n.thinking??"":"",signature:typeof n.signature==="string"?n.signature??void 0:void 0,id:a};break;case"redacted_thinking":yield{type:"reasoning",reasoning:"",redacted_data:typeof n.data==="string"?n.data??void 0:void 0,id:a};break;case"text":yield{type:"text",text:"",id:a};break;case"tool_use":t.id=n.id,t.name=n.name,t.arguments="";break}break}case"content_block_delta":{let n=e.delta;switch(n.type){case"thinking_delta":yield{type:"reasoning",reasoning:n.thinking,id:a};break;case"signature_delta":yield{type:"reasoning",reasoning:"",signature:typeof n.signature==="string"?n.signature??void 0:void 0,id:a};break;case"text_delta":yield{type:"text",text:n.text,id:a};break;case"input_json_delta":t.arguments+=n.partial_json;break}break}case"content_block_stop":{if(t.id){let n;try{n=JSON.parse(t.arguments||"{}")}catch{n=t.arguments}yield{type:"tool_calls",id:a,tool_call:{call_id:t.id,function:{name:t.name,arguments:n}}},t.id="",t.name="",t.arguments=""}break}}}}class ba extends L{getMessages(e,t){return{systemPrompt:e,messages:t}}getBaseUrl(){return this.config.baseUrl?.trim()||this.getDefaultBaseUrl()}getJsonHeaders(e){return{"Content-Type":"application/json",...this.getRequestHeaders(),...e??{}}}async fetchJson(e,t){let i=await fetch(`${this.getBaseUrl()}${e}`,{method:t.method??"POST",headers:this.getJsonHeaders(t.headers),body:t.body?JSON.stringify(t.body):void 0,signal:this.getAbortSignal()});if(!i.ok){let a=await i.text();throw Error(`HTTP ${i.status}: ${a}`)}return await i.json()}async*createMessage(e,t,i){yield*C(()=>this.createMessageWithFetch(e,t))}}var ps="https://api.asksage.ai/server",us="gpt-4o";class Qi extends ba{getDefaultBaseUrl(){return ps}getModel(){let e=this.config.modelId?.trim()||us,t=this.config.modelInfo??this.config.knownModels?.[e]??{id:e,capabilities:["tools"]};return{id:e,info:{...t,id:e}}}getJsonHeaders(e){let t=Y(this.config.providerId,this.config.apiKey);if(!t)throw Error("AskSage API key is required");return super.getJsonHeaders({"x-access-tokens":t,...e??{}})}async*createMessageWithFetch(e,t){let i=this.createResponseId(),{id:a}=this.getModel(),n={system_prompt:e,message:t.map((r)=>({user:r.role==="assistant"?"gpt":"me",message:this.serializeMessageContent(r.content)})),model:a,dataset:"none",usage:!0},o;try{o=await this.fetchJson("/query",{method:"POST",body:n})}catch(r){let s=r instanceof Error?r.message:String(r);throw Error(`AskSage request failed: ${s}`)}for(let r of o.tool_responses??[])yield{type:"text",text:`[Tool Response: ${JSON.stringify(r)}]
12
+ `,id:i};let c=o.message?.trim();if(!c)throw Error("AskSage request failed: no content in response");if(yield{type:"text",text:c,id:i},o.usage)yield{type:"usage",inputTokens:o.usage.model_tokens.prompt_tokens,outputTokens:o.usage.model_tokens.completion_tokens,cacheReadTokens:0,cacheWriteTokens:0,totalCost:o.usage.asksage_tokens,id:i};yield{type:"done",success:!0,id:i}}serializeMessageContent(e){if(typeof e==="string")return e;return e.map((t)=>("text"in t)?t.text:"").join("").trim()}}var Da,Ra;async function ms(){if(Da)return Da;let e="@ai-sdk/amazon-bedrock",t=await import(e);if(!t.createAmazonBedrock)throw Error(`Failed to load createAmazonBedrock from ${e}`);return Da=t.createAmazonBedrock,Da}async function ls(){if(Ra)return Ra;let e="@aws-sdk/credential-providers",t=await import(e);if(!t.fromNodeProviderChain)throw Error(`Failed to load fromNodeProviderChain from ${e}`);return Ra=t.fromNodeProviderChain,Ra}async function Pc(e,t){let i=await ms(),a=e.region??"us-east-1",n=e.aws?.authentication,o=Boolean(e.aws?.accessKey&&e.aws?.secretKey),c=n==="profile"||n==="iam"||!n&&!o&&!e.apiKey,r;if(c)r=(await ls())({profile:e.aws?.profile});return i({region:a,accessKeyId:e.aws?.accessKey??void 0,secretAccessKey:e.aws?.secretKey??void 0,sessionToken:e.aws?.sessionToken??void 0,apiKey:e.apiKey??void 0,baseURL:e.aws?.endpoint??e.baseUrl??void 0,headers:t,credentialProvider:r})}var vc=":1m",ka,ds=1024,gs="medium";async function xs(){if(ka)return ka;return ka=await import("ai"),ka}class Ta extends L{clientFactory;async ensureClientFactory(){if(!this.clientFactory)this.clientFactory=await Pc(this.config,this.getRequestHeaders());return this.clientFactory}getModel(){let e=this.config.modelId;if(!e)throw Error("Model ID is required. Set modelId in config.");let t=this.config.modelInfo??this.config.knownModels?.[e]??{};return{id:e,info:{...t,id:e}}}getMessages(e,t){return Ws(e,t)}async*createMessage(e,t,i){yield*C(()=>this.createMessageInternal(e,t,i),{maxRetries:4})}async*createMessageInternal(e,t,i){let a=await xs(),n=await this.ensureClientFactory(),o=this.createResponseId(),c=this.getAbortSignal(),r=this.getModel(),s=r.id,p={},g={};if(s.endsWith(vc))s=s.slice(0,-vc.length),g.anthropicBeta=["context-1m-2025-08-07"];let b=ae(r.info),D=this.config.thinkingBudgetTokens??(this.config.thinking?ds:0),T=!1;if(b&&D>0&&s.includes("anthropic"))g.reasoningConfig={type:"enabled",budgetTokens:D},T=!0;else if(b&&s.includes("amazon.nova")){let h=this.config.reasoningEffort??(this.config.thinking?gs:void 0);if(h)g.reasoningConfig={type:"enabled",maxReasoningEffort:h},T=!0}if(Object.keys(g).length>0)p.bedrock=g;let G=a.streamText({model:n(s),messages:this.getMessages(e,t),tools:hs(i),maxTokens:r.info.maxTokens??this.config.maxOutputTokens??128000,temperature:T?void 0:r.info.temperature??0,providerOptions:Object.keys(p).length>0?p:void 0,abortSignal:c}),v=!1;if(G.fullStream)for await(let h of G.fullStream){let P=h.type;if(P==="text-delta"){let R=h.textDelta??h.delta;if(R)yield{type:"text",text:R,id:o};continue}if(P==="reasoning-delta"||P==="reasoning"){let R=h.textDelta??h.reasoning;if(R)yield{type:"reasoning",reasoning:R,id:o};continue}if(P==="tool-call"){let R=h.toolCallId??h.id,f=h.toolName??h.name,E=h.args??{};yield{type:"tool_calls",id:o,tool_call:{call_id:R,function:{name:f,arguments:E}}};continue}if(P==="error"){let R=h.error?.message??"Bedrock stream failed";throw Error(R)}if(P==="finish"){let R=h.usage??{},f=Re(R.inputTokens),E=Re(R.outputTokens),S=Re(R.reasoningTokens),q=Re(R.cachedInputTokens);yield{type:"usage",inputTokens:Math.max(0,f-q),outputTokens:E,thoughtsTokenCount:S,cacheReadTokens:q,totalCost:this.calculateCostFromInclusiveInput(f,E,q),id:o},v=!0}}else if(G.textStream)for await(let h of G.textStream)yield{type:"text",text:h,id:o};if(!v&&G.usage){let h=await G.usage,P=Re(h.inputTokens),R=Re(h.outputTokens),f=Re(h.reasoningTokens),E=Re(h.cachedInputTokens);yield{type:"usage",inputTokens:Math.max(0,P-E),outputTokens:R,thoughtsTokenCount:f,cacheReadTokens:E,totalCost:this.calculateCostFromInclusiveInput(P,R,E),id:o}}yield{type:"done",success:!0,id:o}}}function Re(e){return typeof e==="number"&&Number.isFinite(e)?e:0}function hs(e){if(!e||e.length===0)return;let t=De(e);return Object.fromEntries(t.map((i)=>[i.name,{description:i.description,inputSchema:i.input_schema}]))}function Ws(e,t){let i=[{role:"system",content:e}],a=new Map;for(let n of t){if(typeof n.content==="string"){i.push({role:n.role,content:n.content});continue}if(n.role==="assistant"){let c=[];for(let r of n.content){if(r.type==="text"){c.push({type:"text",text:r.text});continue}if(r.type==="tool_use")a.set(r.id,r.name),c.push({type:"tool-call",toolCallId:r.id,toolName:r.name,args:r.input})}if(c.length>0)i.push({role:"assistant",content:c});continue}let o=[];for(let c of n.content){if(c.type==="text"){o.push({type:"text",text:c.text});continue}if(c.type==="image"){o.push({type:"image",image:Buffer.from(c.data,"base64"),mediaType:c.mediaType});continue}if(c.type==="tool_result"){if(o.length>0)i.push({role:"user",content:o.splice(0,o.length)});i.push({role:"tool",content:[{type:"tool-result",toolCallId:c.tool_use_id,toolName:a.get(c.tool_use_id)??"tool",output:ws(c.content),isError:c.is_error??!1}]})}}if(o.length>0)i.push({role:"user",content:o})}return i}function ws(e){if(typeof e==="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}function kt(e,t,i){let a=i?.assistantToolCallArgKey??"args",n=[{role:"system",content:e}],o=new Map;for(let c of t){if(typeof c.content==="string"){n.push({role:c.role,content:c.content});continue}if(c.role==="assistant"){let s=[];for(let p of c.content){if(p.type==="text"){s.push({type:"text",text:p.text});continue}if(p.type==="file"){s.push({type:"text",text:y(p.path,p.content)});continue}if(p.type==="tool_use")o.set(p.id,p.name),s.push({type:"tool-call",toolCallId:p.id,toolName:p.name,[a]:H(p.input)})}if(s.length>0)n.push({role:"assistant",content:s});continue}let r=[];for(let s of c.content){if(s.type==="text"){r.push({type:"text",text:s.text});continue}if(s.type==="file"){r.push({type:"text",text:y(s.path,s.content)});continue}if(s.type==="image"){r.push({type:"image",image:Buffer.from(s.data,"base64"),mediaType:s.mediaType});continue}if(s.type==="tool_result"){if(r.length>0)n.push({role:"user",content:r.splice(0,r.length)});n.push({role:"tool",content:[{type:"tool-result",toolCallId:s.tool_use_id,toolName:o.get(s.tool_use_id)??"tool",output:ne(s.content),isError:s.is_error??!1}]})}}if(r.length>0)n.push({role:"user",content:r})}return n}var Ma=null;async function fa(e){if(Ma)return Ma;return e?.beforeImport?.(),Ma=await import("ai"),Ma}function Z(e){return typeof e==="number"&&Number.isFinite(e)?e:0}function bs(e){return{inputTokens:Z(e.inputTokens),outputTokens:Z(e.outputTokens),thoughtsTokenCount:Z(e.reasoningTokens??e.thoughtsTokenCount),cacheReadTokens:Z(e.cachedInputTokens)}}async function*Ea(e,t){let i=t.resolveUsageMetrics??bs,a=new Set(t.reasoningTypes??["reasoning-delta"]),n=t.toolCallArgsOrder??["args","input"],o=t.responseId,c=!1,r=!1;if(e.fullStream)for await(let s of e.fullStream){let p=s.type;if(p==="text-delta"){let g=s.textDelta??s.text??s.delta;if(g)yield{type:"text",text:g,id:o},r=!0;continue}if(p&&a.has(p)){let g=s.textDelta??s.reasoning??s.text;if(g)yield{type:"reasoning",reasoning:g,id:o};continue}if(p==="tool-call"&&t.enableToolCalls){let g=s.toolCallId??s.id,b=s.toolName??s.name,D=n.map((T)=>s[T]).find((T)=>T!==void 0)??{};yield{type:"tool_calls",id:o,tool_call:{call_id:g,function:{id:t.toolCallFunctionIncludeId?g:void 0,name:b,arguments:D}}};continue}if(p==="error"){let g=s.error?.message??t.errorMessage;throw Error(g)}if(p==="finish"){let g=s.totalUsage??s.usage??{},b=i(g,s);yield{type:"usage",inputTokens:Math.max(0,b.inputTokens-b.cacheReadTokens),outputTokens:b.outputTokens,thoughtsTokenCount:b.thoughtsTokenCount,cacheReadTokens:b.cacheReadTokens,cacheWriteTokens:b.cacheWriteTokens,totalCost:t.calculateCost(b.inputTokens,b.outputTokens,b.cacheReadTokens,b.cacheWriteTokens),id:o},c=!0}}else if(e.textStream)for await(let s of e.textStream)yield{type:"text",text:s,id:o},r=!0;if(!r&&t.enableTextFallback&&e.text){let s=await e.text;if(typeof s==="string"&&s.length>0)yield{type:"text",text:s,id:o}}if(!c&&e.usage){let s=await e.usage,p=i(s);yield{type:"usage",inputTokens:Math.max(0,p.inputTokens-p.cacheReadTokens),outputTokens:p.outputTokens,thoughtsTokenCount:p.thoughtsTokenCount,cacheReadTokens:p.cacheReadTokens,cacheWriteTokens:p.cacheWriteTokens,totalCost:t.calculateCost(p.inputTokens,p.outputTokens,p.cacheReadTokens,p.cacheWriteTokens),id:o}}yield{type:"done",success:!0,id:o}}var Gc=new Map;function Ln(e,t){let i=e.modelId?.trim(),a=i&&i.length>0?i:t??"",o=(e.knownModels??{})[a]??{},c=e.modelInfo??o;return{id:a,info:{...c,id:a}}}async function Ds(e){let t=Gc.get(e);if(t)return t;let i=await import(e);return Gc.set(e,i),i}class ke extends L{provider;providerPromise;getProviderCreateOptions(){return}async beforeLoadProviderModule(){}getProviderModelSettings(){return}getLoadAiSdkOptions(){return}getStreamErrorMessage(){return"AI SDK stream failed"}getEmitStreamOptions(){return{}}getAssistantToolCallArgKey(){return"args"}normalizeModelId(e){return e}async ensureProvider(){if(this.provider)return this.provider;if(!this.providerPromise)this.providerPromise=(async()=>{let e=this.getProviderDefinition();await this.beforeLoadProviderModule();let t=await Ds(e.moduleName),i=t[e.createExportName],a=t[e.providerExportName];if(i){let n=i(this.getProviderCreateOptions());return this.provider=n,n}if(a)return this.provider=a,a;throw Error(`${e.moduleName} did not export \`${e.providerExportName}\` or \`${e.createExportName}\`.`)})();try{return await this.providerPromise}catch(e){this.providerPromise=void 0;let t=this.getProviderDefinition().moduleName;if(e instanceof Error&&e.message.includes(t))throw Error(this.getProviderDefinition().missingDependencyError,{cause:e});throw e}}getModel(){return Ln(this.config,this.getDefaultModelId())}getMessages(e,t){return kt(e,t,{assistantToolCallArgKey:this.getAssistantToolCallArgKey()})}async*createMessage(e,t,i){yield*C(()=>this.createMessageInternal(e,t,i))}async*createMessageInternal(e,t,i){let a=await fa(this.getLoadAiSdkOptions()),n=await this.ensureProvider(),{id:o,info:c}=this.getModel(),r=this.createResponseId(),s=a.streamText({model:n(this.normalizeModelId(o),this.getProviderModelSettings()),messages:this.getMessages(e,t),maxTokens:c.maxTokens??void 0,temperature:c.temperature??void 0,abortSignal:this.getAbortSignal()});yield*Ea(s,{responseId:r,errorMessage:this.getStreamErrorMessage(),calculateCost:(p,g,b,D)=>this.calculateCost(p,g,b,D),...this.getEmitStreamOptions()})}}var Ac=!1;async function Rs(){if(Ac)return;Ac=!0;try{let e=await import("zod"),i=(e.z??e).object;if(typeof i!=="function")return;let a=i({}).refine?.(()=>!0);if(!a||typeof a.passthrough==="function")return;let n=Object.getPrototypeOf(a);if(!n||typeof n.passthrough==="function")return;Object.defineProperty(n,"passthrough",{value(){return this},configurable:!0,enumerable:!1,writable:!0})}catch{}}function ks(e){return e.startsWith("sk-")}function Ts(){let e=process.env.AI_SDK_LOG_WARNINGS?.trim().toLowerCase();return e==="0"||e==="false"||e==="off"}function Ms(e){if(e.includes("/"))return e;return`openai/${e}`}class Fi extends ke{getProviderDefinition(){return{moduleName:"ai-sdk-provider-codex-cli",createExportName:"createCodexCli",providerExportName:"codexCli",missingDependencyError:"Codex provider requires `ai-sdk-provider-codex-cli` and the Codex CLI at runtime. Install dependencies and run `codex` to authenticate."}}getDefaultModelId(){return"gpt-5.3-codex"}async beforeLoadProviderModule(){await Rs()}getProviderCreateOptions(){let t={...(this.config.codex??{}).defaultSettings??{}};if(this.config.reasoningEffort&&t.reasoningEffort===void 0)t.reasoningEffort=this.config.reasoningEffort;else if(this.config.thinking&&t.reasoningEffort===void 0)t.reasoningEffort="medium";let i=this.config.apiKey?.trim(),a=typeof this.config.accessToken==="string"&&this.config.accessToken.trim().length>0;if(i&&!a&&ks(i))t.env={...t.env??{},OPENAI_API_KEY:i};return{defaultSettings:Object.keys(t).length>0?t:void 0}}getProviderModelSettings(){return this.config.codex?.modelSettings}getStreamErrorMessage(){return"Codex stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta","reasoning"],toolCallArgsOrder:["args","input"]}}}class Ki extends ke{getProviderDefinition(){return{moduleName:"ai-sdk-provider-claude-code",createExportName:"createClaudeCode",providerExportName:"claudeCode",missingDependencyError:"Claude Code provider requires `ai-sdk-provider-claude-code` at runtime. Install dependencies and run `claude login`."}}getDefaultModelId(){return"sonnet"}getProviderCreateOptions(){return this.config.claudeCode??{}}getLoadAiSdkOptions(){return{beforeImport:()=>{if(Ts())globalThis.AI_SDK_LOG_WARNINGS=!1}}}getStreamErrorMessage(){return"Claude Code stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta"]}}}class qi extends ke{getProviderDefinition(){return{moduleName:"ai-sdk-provider-opencode-sdk",createExportName:"createOpencode",providerExportName:"opencode",missingDependencyError:"OpenCode provider requires `ai-sdk-provider-opencode-sdk` and OpenCode at runtime."}}getDefaultModelId(){return"openai/gpt-5.3-codex"}getProviderCreateOptions(){let e=this.config.opencode??{},t={...e.defaultSettings??{}};if(t.agent===void 0)t.agent="general";return{hostname:e.hostname,port:e.port,autoStartServer:e.autoStartServer,serverTimeout:e.serverTimeout,defaultSettings:Object.keys(t).length>0?t:void 0}}getProviderModelSettings(){return this.config.opencode?.modelSettings}normalizeModelId(e){return Ms(e)}getStreamErrorMessage(){return"OpenCode stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta","reasoning"],enableTextFallback:!0}}}class Bi extends ke{getProviderDefinition(){return{moduleName:"@jerome-benoit/sap-ai-provider",createExportName:"createSAPAIProvider",providerExportName:"sapai",missingDependencyError:"SAP AI Core provider requires `@jerome-benoit/sap-ai-provider` at runtime."}}getDefaultModelId(){return"anthropic--claude-3.5-sonnet"}getProviderCreateOptions(){let e=this.config.sap??{},t=e.api??(e.useOrchestrationMode===void 0?void 0:e.useOrchestrationMode?"orchestration":"foundation-models"),i={resourceGroup:e.resourceGroup,deploymentId:e.deploymentId,api:t,defaultSettings:e.defaultSettings},a=Object.fromEntries(Object.entries(i).filter(([,n])=>n!==void 0));return Object.keys(a).length>0?a:void 0}getStreamErrorMessage(){return"SAP AI Core stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta","reasoning"],enableToolCalls:!0,toolCallArgsOrder:["args","input"]}}}class Vi extends ke{getProviderDefinition(){return{moduleName:"@ai-sdk/mistral",createExportName:"createMistral",providerExportName:"mistral",missingDependencyError:"Mistral provider requires `@ai-sdk/mistral` at runtime."}}getDefaultModelId(){return"mistral-medium-latest"}getStreamErrorMessage(){return"Mistral stream failed"}}class Ni extends ke{getProviderDefinition(){return{moduleName:"dify-ai-provider",createExportName:"createDifyProvider",providerExportName:"difyProvider",missingDependencyError:"Dify provider requires `dify-ai-provider` at runtime."}}getDefaultModelId(){return"default"}getProviderCreateOptions(){if(!this.config.baseUrl)return;return{baseURL:this.config.baseUrl}}getProviderModelSettings(){let e={responseMode:"blocking"};if(this.config.apiKey)e.apiKey=this.config.apiKey;return e}getStreamErrorMessage(){return"Dify stream failed"}}import{FunctionCallingConfigMode as vs,GoogleGenAI as Oc,ThinkingLevel as Lc}from"@google/genai";function Pa(e){let t=new Map;return e.map((i)=>fs(i,t)).filter((i)=>i!==null)}function fs(e,t){let{role:i,content:a}=e,n=i==="assistant"?"model":"user";if(typeof a==="string")return{role:n,parts:[{text:a}]};let o=Es(a,t);if(o.length===0)return null;return{role:n,parts:o}}function Es(e,t){let i=[];for(let a of e){if(a.type==="tool_use")t.set(a.id,a.name);let n=_s(a,t);if(n)i.push(n)}return i}function _s(e,t){switch(e.type){case"text":{let i=e,a={text:i.text};if(i.signature)a.thoughtSignature=i.signature;return a}case"file":{let i=e;return{text:y(i.path,i.content)}}case"image":{let i=e;return{inlineData:{mimeType:i.mediaType,data:i.data}}}case"tool_use":{let i=e,a={functionCall:{id:i.id,name:i.name,args:H(i.input)}};if(i.signature)a.thoughtSignature=i.signature;return a}case"tool_result":{let i=e,a;if(typeof i.content==="string")a={result:ga(i.content)};else a={result:ne(i.content)};if(i.is_error)a.error=!0;return{functionResponse:{id:i.tool_use_id,name:t.get(i.tool_use_id)??i.tool_use_id,response:a}}}case"thinking":{let i=e,a={text:i.thinking,thought:!0};if(i.signature)a.thoughtSignature=i.signature;return a}default:return null}}var Ps=new Set(["type","title","description","enum","properties","required","additionalProperties","format","minimum","maximum","items","prefixItems","minItems","maxItems"]);function _a(e){if(!e||typeof e!=="object"||Array.isArray(e))return e;let t=e,i={};for(let[a,n]of Object.entries(t)){if(!Ps.has(a))continue;if(a==="properties"&&n&&typeof n==="object"){let o={};for(let[c,r]of Object.entries(n))o[c]=_a(r);i[a]=o}else if(a==="items"||a==="additionalProperties")i[a]=typeof n==="object"&&n!==null?_a(n):n;else if(a==="prefixItems"&&Array.isArray(n))i[a]=n.map((o)=>_a(o));else i[a]=n}if(t.exclusiveMinimum!==void 0&&i.minimum===void 0)i.minimum=t.exclusiveMinimum;if(t.exclusiveMaximum!==void 0&&i.maximum===void 0)i.maximum=t.exclusiveMaximum;return i}function va(e){return e.map((t)=>({name:t.name,description:t.description,parameters:_a(t.inputSchema)}))}var Gs=1024,As=128000,Os=8192;function Ls(e){let t=e.toLowerCase();return t.includes("gemini-3-flash")||t.includes("gemini-3.0-flash")}class Be extends L{client;ensureClient(){if(!this.client)if(this.config.gcp?.projectId)this.client=new Oc({vertexai:!0,project:this.config.gcp.projectId,location:this.config.region??"us-central1",httpOptions:{headers:this.getRequestHeaders()}});else{if(!this.config.apiKey)throw Error("Gemini API key is required when not using Vertex AI");this.client=new Oc({apiKey:this.config.apiKey,httpOptions:{headers:this.getRequestHeaders()}})}return this.client}getModel(){let e=this.config.modelId,i=(this.config.knownModels??{})[e]??{},a=this.config.modelInfo??i;return{id:e,info:{...a,id:e}}}getMessages(e,t){return Pa(t)}async*createMessage(e,t,i){yield*C(()=>this.createMessageInternal(e,t,i),{maxRetries:4,baseDelay:2000,maxDelay:15000})}async*createMessageInternal(e,t,i){let a=this.ensureClient(),{id:n,info:o}=this.getModel(),c=this.getAbortSignal(),r=this.createResponseId(),s=this.getMessages(e,t),p=ae(o),g=this.config.thinking===!0||typeof this.config.thinkingBudgetTokens==="number"||typeof this.config.reasoningEffort==="string",b=0,D;if(p&&g){let h=this.config.thinkingBudgetTokens??(this.config.thinking?Gs:0);if(b=Math.min(Math.max(0,h),o.thinkingConfig?.maxBudget??24576),o.thinkingConfig?.thinkingLevel){let P=this.config.reasoningEffort;if(P==="high")D=Lc.HIGH;else if(P==="low"||P==="medium")D=Lc.LOW}}let T=Ls(n)?Os:As,G=o.maxTokens??this.config.maxOutputTokens??T,v={httpOptions:this.config.baseUrl?{baseUrl:this.config.baseUrl,headers:this.getRequestHeaders()}:void 0,abortSignal:c,systemInstruction:e,temperature:o.temperature??1,maxOutputTokens:G};if(o.thinkingConfig&&p&&g&&(b>0||!!D))v.thinkingConfig={thinkingBudget:D?void 0:b,thinkingLevel:D,includeThoughts:!0};if(i&&i.length>0){let h=va(i);v.tools=[{functionDeclarations:h}],v.toolConfig={functionCallingConfig:{mode:vs.AUTO}}}try{let h=await a.models.generateContentStream({model:n,contents:s,config:v}),P=0,R=0,f=0,E=0,S=0;for await(let K of h){let Q=K?.candidates?.[0]?.content?.parts??[];for(let B of Q){if(B.thought&&B.text)yield{type:"reasoning",reasoning:B.text||"",signature:B.thoughtSignature,id:r};else if(B.text)yield{type:"text",text:B.text,id:r,signature:B.thoughtSignature};if(B.functionCall){let $=B.functionCall,Ue=$.id??`${r}_tool_${S++}`;if($.name)yield{type:"tool_calls",tool_call:{call_id:Ue,function:{id:Ue,name:$.name,arguments:$.args??{}}},id:r,signature:B.thoughtSignature}}}if(K.usageMetadata)P=K.usageMetadata.promptTokenCount??P,R=K.usageMetadata.candidatesTokenCount??R,E=K.usageMetadata.thoughtsTokenCount??E,f=K.usageMetadata.cachedContentTokenCount??f}let q=this.calculateGeminiCost(P,R,E,f);yield{type:"usage",inputTokens:P,outputTokens:R,thoughtsTokenCount:E,cacheReadTokens:f,cacheWriteTokens:0,totalCost:q,id:r},yield{type:"done",success:!0,id:r}}catch(h){if(h instanceof Error&&h.message.includes("429"))throw new qe(h.message,void 0,{cause:h});throw h}}calculateGeminiCost(e,t,i,a){return this.calculateCost(e,t+i,a)}}import Fs from"openai";function Ga(e,t=!1){let i=t?e.map((a)=>a.role).lastIndexOf("user"):-1;return e.flatMap((a,n)=>Ss(a,t&&n===i))}function Ss(e,t){let{role:i,content:a}=e;if(typeof a==="string"){if(i!=="user"||!t)return[{role:i,content:a}];return[{role:i,content:[{type:"text",text:a,cache_control:{type:"ephemeral"}}]}]}if(i==="assistant")return[Cs(a)];else return Qs(a,t)}function Cs(e){let t=[],i=[];for(let n of e)switch(n.type){case"text":t.push(n.text);break;case"tool_use":{let o=n;i.push({id:o.id,type:"function",function:{name:o.name,arguments:JSON.stringify(H(o.input))}});break}case"thinking":break}let a={role:"assistant",content:t.length>0?t.join(`
13
+ `):null};if(i.length>0)a.tool_calls=i;return a}function Qs(e,t){let i=[],a=e.filter((c)=>c.type==="tool_result");for(let c of a)i.push({role:"tool",tool_call_id:c.tool_use_id,content:ne(c.content)});let n=e.filter((c)=>c.type!=="tool_result");if(n.length===0)return i;let o=[];for(let c of n)switch(c.type){case"text":o.push({type:"text",text:c.text});break;case"file":{let r=c;o.push({type:"text",text:y(r.path,r.content)});break}case"image":{let r=c;o.push({type:"image_url",image_url:{url:`data:${r.mediaType};base64,${r.data}`}});break}}if(o.length===0)return i;if(t){for(let c=o.length-1;c>=0;c--)if(o[c].type==="text"){o[c]={...o[c],cache_control:{type:"ephemeral"}};break}}return i.push({role:"user",content:o.length===1&&o[0].type==="text"&&!t?o[0].text:o}),i}function yi(e){if(!e||typeof e!=="object"||Array.isArray(e))return e;let t={...e};if(delete t.$schema,t.type==="object"){t.additionalProperties=!1;let i=t.properties,a=t.required??[];if(i){let n=Object.keys(i),o=new Set(a),c={};for(let r of n){let s=yi(i[r]);if(!o.has(r))s={anyOf:[s,{type:"null"}]};c[r]=s}t.properties=c,t.required=n}}if(t.items)t.items=Array.isArray(t.items)?t.items.map((i)=>yi(i)):yi(t.items);for(let i of["anyOf","oneOf","allOf"])if(Array.isArray(t[i]))t[i]=t[i].map((a)=>yi(a));return t}function Sn(e,t){let i=t?.strict??!0;return e.map((a)=>({type:"function",function:{name:a.name,description:a.description,parameters:yi(a.inputSchema),strict:i}}))}function Ui(e,t){if(!e||e.length===0)return{};return{tools:Sn(e,t),tool_choice:"auto"}}class Tt{toolCalls=new Map;processToolCallDeltas(e,t){let i=[];for(let a of e){let{index:n,id:o}=a,c=a.function,r=this.toolCalls.get(n);if(!r)r={id:"",name:"",arguments:""},this.toolCalls.set(n,r);if(o)r.id=o;if(c?.name)r.name=c.name;let s=c?.arguments,p=this.normalizeArgumentsDelta(r.arguments,s);if(p)r.arguments+=p;if(r.id&&r.name)i.push({type:"tool_calls",id:t,tool_call:{call_id:r.id,function:{id:r.id,name:r.name,arguments:p}}})}return i}getToolCalls(){return Array.from(this.toolCalls.values()).map((e)=>({call_id:e.id,function:{id:e.id,name:e.name,arguments:e.arguments}}))}reset(){this.toolCalls.clear()}normalizeArgumentsDelta(e,t){if(t==null)return"";let i=typeof t==="string"?t:JSON.stringify(t);if(!i)return"";if(e&&i.length>=e.length&&i.startsWith(e))return i.slice(e.length);return i}}var Ks="medium";class Ve extends L{client;ensureClient(){if(!this.client){let e=this.config.baseUrl;if(!e)throw Error("Base URL is required. Set baseUrl in config.");let t=Y(this.config.providerId,this.config.apiKey);if(!t)throw Error(oe(this.config.providerId));let i=this.getRequestHeaders();this.client=new Fs({apiKey:t,baseURL:e,defaultHeaders:i})}return this.client}getModel(){let e=this.config.modelId;if(!e)throw Error("Model ID is required. Set modelId in config.");let t=this.config.modelInfo??this.config.knownModels?.[e]??this.getDefaultModelInfo();return{id:e,info:{...t,id:e}}}getDefaultModelInfo(){let e=this.config.capabilities?.includes("prompt-cache")?["prompt-cache"]:[];return{id:this.config.modelId,capabilities:e}}getMessages(e,t){let i=this.getModel(),a=this.supportsPromptCache(i.info);return[a?{role:"system",content:[{type:"text",text:e,cache_control:{type:"ephemeral"}}]}:{role:"system",content:e},...Ga(t,a)]}async*createMessage(e,t,i){yield*C(()=>this.createMessageInternal(e,t,i))}async*createMessageInternal(e,t,i){let a=this.ensureClient(),{id:n,info:o}=this.getModel(),c=this.createResponseId(),r=this.getMessages(e,t),s={model:n,messages:r,stream:!0,stream_options:{include_usage:!0},...Ui(i,{strict:this.config.providerId!=="openrouter"})};if(this.config.providerId==="openrouter"&&n.startsWith("anthropic/"))s.cache_control={type:"ephemeral"};let p=o.maxTokens??this.config.maxOutputTokens;if(p)s.max_completion_tokens=p;if(!(o.capabilities?.includes("reasoning")??!1))s.temperature=o.temperature??0;let b=o.capabilities?.includes("reasoning-effort")||o.capabilities?.includes("reasoning")||!1,D=this.config.reasoningEffort??(this.config.thinking?Ks:void 0);if(b&&D)s.reasoning_effort=D;let T=this.getRequestHeaders(),G=Object.keys(T).some((E)=>E.toLowerCase()==="authorization"),v=Y(this.config.providerId,this.config.apiKey);if(!G&&v)T.Authorization=`Bearer ${v}`;let h=this.getAbortSignal(),P;try{P=await a.chat.completions.create(s,{signal:h,headers:T})}catch(E){throw this.normalizeOpenAICompatibleBadRequest(E)??E}let R=new Tt,f=null;for await(let E of P){let S=E.choices?.[0];if(S?.finish_reason)f=S.finish_reason;yield*this.withResponseIdForAll(this.processChunk(E,R,o,c),c)}yield{type:"done",success:!0,id:c,incompleteReason:f==="length"?"max_tokens":void 0}}*processChunk(e,t,i,a){let n=e.choices?.[0]?.delta,o=n&&{...n,reasoning_content:n.reasoning_content};if(o?.content)yield{type:"text",text:o.content,id:a};if(o?.reasoning_content)yield{type:"reasoning",reasoning:o.reasoning_content,id:a};if(o?.tool_calls)yield*t.processToolCallDeltas(o.tool_calls.map((c)=>({index:c.index,id:c.id,function:c.function})),a);if(e.usage){let c=e.usage.prompt_tokens??0,r=e.usage.completion_tokens??0,s=e.usage,p=s.prompt_tokens_details?.cached_tokens??s.cache_read_input_tokens??0,g=s.prompt_tokens_details?.cache_write_tokens??s.cache_creation_input_tokens??0;yield{type:"usage",inputTokens:Math.max(0,c-p-g),outputTokens:r,cacheReadTokens:p,cacheWriteTokens:g,totalCost:this.calculateCostFromInclusiveInput(c,r,p,g),id:a}}}}import qs from"openai";var Bs="medium";function Vs(e,t){if(!e?.length)return;return e.map((i)=>({type:"function",name:i.name,description:i.description,parameters:i.inputSchema}))}function Ns(e){let t=[],i=(o,c)=>{let r=c.map((s)=>s.text).join(`
14
+ `);if(!r)return;t.push({type:"message",role:o,content:[{type:o==="user"?"input_text":"output_text",text:r}]})},a=(o)=>o.type==="text",n=(o)=>o.call_id?.trim()||o.id;for(let o of e){if(o.role!=="user"&&o.role!=="assistant")continue;if(!Array.isArray(o.content)){if(o.content)i(o.role,[{type:"text",text:o.content}]);continue}let c=[],r=()=>{if(c.length===0)return;i(o.role,c),c=[]};for(let s of o.content){if(a(s)){c.push(s);continue}if(o.role==="assistant"&&s.type==="tool_use"){r();let p=s;t.push({type:"function_call",call_id:n(p),name:p.name,arguments:JSON.stringify(H(p.input))});continue}if(o.role==="user"&&s.type==="tool_result")r(),t.push({type:"function_call_output",call_id:s.tool_use_id,output:ne(s.content)})}r()}return t}class Ne extends L{client;ensureClient(){if(!this.client){let e=this.config.baseUrl;if(!e)throw Error("Base URL is required. Set baseUrl in config.");let t=Y(this.config.providerId,this.config.apiKey);if(!t)throw Error(oe(this.config.providerId));let i=this.getRequestHeaders(),a=Object.keys(i).some((n)=>n.toLowerCase()==="authorization");this.client=new qs({apiKey:t,baseURL:e,defaultHeaders:a?i:{...i,Authorization:`Bearer ${t}`}})}return this.client}getModel(){let e=this.config.modelId;if(!e)throw Error("Model ID is required. Set modelId in config.");let t=this.config.modelInfo??this.config.knownModels?.[e]??this.getDefaultModelInfo();return{id:e,info:{...t,id:e}}}getDefaultModelInfo(){let e=[].filter((t)=>t!=="prompt-cache");return{id:this.config.modelId,capabilities:e}}getMessages(e,t){return Ns(t)}async*createMessage(e,t,i){yield*C(()=>this.createMessageInternal(e,t,i))}async*createMessageInternal(e,t,i){let a=this.ensureClient(),{id:n,info:o}=this.getModel(),c=this.getAbortSignal(),r=this.createResponseId(),s,p=new Map,g=this.getMessages(e,t),b=Vs(i,{stripFormat:this.config.providerId==="openai-codex"});if(!b?.length)throw Error("OpenAI Responses API requires tools to be provided. Enable native tool calling in settings.");let D=o.capabilities?.includes("reasoning")??!1,T=this.config.reasoningEffort??(this.config.thinking?Bs:void 0),G=D&&T?{effort:T,summary:"auto"}:void 0,v=this.getRequestHeaders(),h=Object.keys(v).some((f)=>f.toLowerCase()==="authorization"),P=Y(this.config.providerId,this.config.apiKey);if(!h&&P)v.Authorization=`Bearer ${P}`;if(this.config.providerId==="openai-codex"&&typeof this.config.accountId==="string"&&this.config.accountId.trim().length>0){let f=this.config.accountId.trim();v["chatgpt-account-id"]=f,v["openai-account-id"]=f}let R;try{R=await a.responses.create({model:n,instructions:e,input:g,store:this.config.providerId==="openai-codex"?!1:void 0,stream:!0,tools:b,reasoning:G},{signal:c,headers:v})}catch(f){let E=this.normalizeOpenAICompatibleBadRequest(f);if(E)throw E;if(this.config.providerId==="openai-codex"){let S=f;if((S?.status??S?.response?.status??(typeof S?.message==="string"&&S.message.includes("400")?400:void 0))===400){let K=S?.error?.detail??S?.error?.message??(typeof S?.message==="string"?S.message:"");throw Error(`OpenAI Codex request was rejected (HTTP 400). ${K?`Detail: ${K}`:"Re-run 'clite auth openai-codex', verify model access, and ensure accountId is present in provider settings."}`,{cause:f})}}throw f}for await(let f of R){let E=this.getApiResponseId(f);if(E)s=E;yield*this.processResponseChunk(f,o,s??r,p)}}*processResponseChunk(e,t,i,a){switch(e.type){case"response.output_item.added":{let n=e.item;if(n.type==="function_call"&&n.id)a.set(n.id,{callId:n.call_id,name:n.name}),yield{type:"tool_calls",id:n.id||i,tool_call:{call_id:n.call_id,function:{id:n.id,name:n.name,arguments:n.arguments}}};if(n.type==="reasoning"&&n.encrypted_content&&n.id)yield{type:"reasoning",id:n.id||i,reasoning:"",redacted_data:n.encrypted_content};break}case"response.output_item.done":{let n=e.item;if(n.type==="function_call"){if(n.id)a.set(n.id,{callId:n.call_id,name:n.name});yield{type:"tool_calls",id:n.id||i,tool_call:{call_id:n.call_id,function:{id:n.id,name:n.name,arguments:n.arguments}}}}if(n.type==="reasoning")yield{type:"reasoning",id:n.id||i,details:n.summary,reasoning:""};break}case"response.reasoning_summary_part.added":yield{type:"reasoning",id:e.item_id||i,reasoning:e.part?.text||""};break;case"response.reasoning_summary_text.delta":yield{type:"reasoning",id:e.item_id||i,reasoning:e.delta||""};break;case"response.reasoning_summary_part.done":yield{type:"reasoning",id:e.item_id||i,details:e.part,reasoning:""};break;case"response.output_text.delta":if(e.delta)yield{id:e.item_id||i,type:"text",text:e.delta};break;case"response.reasoning_text.delta":if(e.delta)yield{id:e.item_id||i,type:"reasoning",reasoning:e.delta};break;case"response.function_call_arguments.delta":{let n=e.item_id?a.get(e.item_id):void 0;yield{type:"tool_calls",id:e.item_id||i,tool_call:{call_id:n?.callId,function:{id:e.item_id,name:n?.name,arguments:e.delta}}}}break;case"response.function_call_arguments.done":if(e.item_id&&e.arguments){let n=a.get(e.item_id);yield{type:"tool_calls",id:e.item_id||i,tool_call:{call_id:e.call_id??n?.callId,function:{id:e.item_id,name:e.name??n?.name,arguments:e.arguments}}}}break;case"response.incomplete":{yield{type:"done",success:!1,incompleteReason:e.response?.incomplete_details?.reason,id:e.response?.id||i};break}case"response.failed":{yield{type:"done",success:!1,error:e.response?.error?.message||"Unknown error",id:e.response?.id||i};break}case"response.completed":{if(e.response?.usage){let n=e.response.usage,o=n.input_tokens||0,c=n.output_tokens||0,r=n.input_tokens_details?.cached_tokens||0,s=0,p=this.calculateCostFromInclusiveInput(o,c,r,0);yield{type:"usage",inputTokens:Math.max(0,o-r-0),outputTokens:c,cacheWriteTokens:0,cacheReadTokens:r,totalCost:p,id:e.response.id||i}}yield{type:"done",success:!0,id:e.response?.id||i};break}}}getApiResponseId(e){if(typeof e?.response?.id==="string"&&e.response.id.length>0)return e.response.id;if(typeof e?.response_id==="string"&&e.response_id.length>0)return e.response_id;return}}import r1 from"openai";var Mt=new Map;function Aa(e,t){Mt.set(e,{factory:t,isAsync:!1})}function Oa(e,t){Mt.set(e,{factory:t,isAsync:!0})}function ye(e){return Mt.has(e)}function La(e,t){let i=Mt.get(e);if(!i)return;if(i.isAsync)throw Error(`Handler for "${e}" is registered as async. Use getRegisteredHandlerAsync() or createHandlerAsync() instead.`);return i.factory(t)}async function Sa(e,t){let i=Mt.get(e);if(!i)return;if(i.isAsync)return i.factory(t);return i.factory(t)}function Ca(e){return Mt.get(e)?.isAsync??!1}var ys="us-central1";function Cc(e){return e.toLowerCase().includes("claude")}function Us(e){if(!e||e.length===0)return;let t=De(e);return Object.fromEntries(t.map((i)=>[i.name,{description:i.description,inputSchema:i.input_schema}]))}function Ys(e,t,i){let a=i?.promptCacheOn?[{type:"text",text:e,providerOptions:{anthropic:{cacheControl:{type:"ephemeral"}}}}]:e;return kt(a,t,{assistantToolCallArgKey:"input"})}class Yi extends L{geminiHandler;vertexAnthropicModelFactory;vertexAnthropicModelFactoryPromise;getProjectId(){let e=this.config.gcp?.projectId?.trim();if(!e)throw Error("Vertex provider requires `gcp.projectId` in provider configuration.");return e}getConfiguredRegion(){return this.config.gcp?.region?.trim()||this.config.region?.trim()}getRequiredClaudeRegion(){let e=this.getConfiguredRegion();if(!e)throw Error("Vertex Claude models require `gcp.region` (or `region`) in provider configuration.");return e}getGeminiRegion(){return this.getConfiguredRegion()??ys}ensureGeminiHandler(){if(!this.geminiHandler){let e=this.getProjectId(),t=this.getGeminiRegion();this.geminiHandler=new Be({...this.config,region:t,gcp:{...this.config.gcp,projectId:e,region:t}})}return this.geminiHandler}async ensureVertexAnthropicModelFactory(){if(this.vertexAnthropicModelFactory)return this.vertexAnthropicModelFactory;if(!this.vertexAnthropicModelFactoryPromise)this.vertexAnthropicModelFactoryPromise=import("@ai-sdk/google-vertex/anthropic").then((e)=>{let t=e.createVertexAnthropic({project:this.getProjectId(),location:this.getRequiredClaudeRegion(),headers:this.getRequestHeaders(),baseURL:this.config.baseUrl}),i=(a)=>t(a);return this.vertexAnthropicModelFactory=i,i});try{return await this.vertexAnthropicModelFactoryPromise}catch(e){if(this.vertexAnthropicModelFactoryPromise=void 0,e instanceof Error&&e.message.includes("@ai-sdk/google-vertex"))throw Error('Vertex Claude models require @ai-sdk/google-vertex at runtime. Install workspace dependencies before using provider "vertex".',{cause:e});throw e}}getModel(){return Ln(this.config)}getMessages(e,t){let i=this.getModel();if(!Cc(i.id))return this.ensureGeminiHandler().getMessages(e,t);let a=this.supportsPromptCache(i.info);return Rt(t,a)}async*createMessage(e,t,i){yield*C(()=>this.createMessageInternal(e,t,i))}async*createMessageInternal(e,t,i){let a=this.getModel();if(!Cc(a.id)){yield*this.ensureGeminiHandler().createMessage(e,t,i);return}let n=await fa(),o=await this.ensureVertexAnthropicModelFactory(),c=this.createResponseId(),r=this.config.thinkingBudgetTokens??0,s=Ke(a.info,"reasoning")&&r>0,p=this.supportsPromptCache(a.info),g={};if(s)g.anthropic={thinking:{type:"enabled",budgetTokens:r}};let b=n.streamText({model:o(a.id),messages:Ys(e,t,{promptCacheOn:p}),tools:Us(i),maxTokens:a.info.maxTokens??this.config.maxOutputTokens??128000,temperature:s?void 0:0,providerOptions:Object.keys(g).length>0?g:void 0,abortSignal:this.getAbortSignal()});yield*Ea(b,{responseId:c,errorMessage:"Vertex Anthropic stream failed",calculateCost:(D,T,G,v)=>this.calculateCost(D,T,G,v),reasoningTypes:["reasoning-delta"],enableToolCalls:!0,toolCallArgsOrder:["input","args"],toolCallFunctionIncludeId:!0,resolveUsageMetrics:(D,T)=>{let v=(T?.providerMetadata??{}).anthropic??{};return{inputTokens:Z(D.inputTokens),outputTokens:Z(D.outputTokens),thoughtsTokenCount:Z(D.reasoningTokens??D.thoughtsTokenCount),cacheReadTokens:Z(D.cachedInputTokens??v.cacheReadInputTokens),cacheWriteTokens:Z(v.cacheCreationInputTokens)}}})}}import{JSONParser as H1}from"@streamparser/json";si();function Qc(e){let t=V(e.providerId);if(t===e.providerId)return e;return{...e,providerId:t}}function dp(e,t){if(e.baseUrl)return e.baseUrl;if(e.oca?.mode==="internal")return te;return t?.baseUrl??J}function gp(e){let t=e.modelId;return e.modelInfo?.apiFormat??(t?e.knownModels?.[t]?.apiFormat:void 0)}function xp(e){if(gp(e)===I.OPENAI_RESPONSES)return new Ne(e);return new Ve(e)}function Fc(e,t){return{...e,baseUrl:e.providerId==="oca"?dp(e,t):e.baseUrl??t.baseUrl,modelId:e.modelId??t.modelId,knownModels:e.knownModels??t.knownModels,capabilities:e.capabilities??t.capabilities}}var hp={asksage:(e)=>new Qi(e),anthropic:(e)=>new Ci(e),bedrock:(e)=>new Ta(e),"claude-code":(e)=>new Ki(e),gemini:(e)=>new Be(e),vertex:(e)=>new Yi(e),opencode:(e)=>new qi(e),"openai-native":(e)=>new Ne(e),mistral:(e)=>new Vi(e),dify:(e)=>new Ni(e)};function Kc(e){if(e.providerId==="openai-codex")return new Fi(e);if(e.providerId==="sapaicore")return new Bi(e);if(e.providerId==="oca")return xp(e);return new Ve(e)}function Wp(e){let t=hp[e.providerId];return t?t(e):void 0}function $i(e){let t=Qc(e),{providerId:i}=t;if(ye(i)){if(Ca(i))throw Error(`Handler for "${i}" is registered as async. Use createHandlerAsync() instead.`);let n=La(i,t);if(n)return n}let a=Wp(t);if(a)return a;if(Li(i)){if(t.modelCatalog?.loadLatestOnInit||t.modelCatalog?.loadPrivateOnAuth)throw Error(`Provider "${i}" has runtime model refresh enabled. Use createHandlerAsync() to allow async model refresh.`);let n=j[i];return Kc(Fc(t,n))}return t.baseUrl?new Ve(t):new Ne({...t,baseUrl:"https://api.openai.com/v1"})}async function Qa(e){let t=Qc(e),{providerId:i}=t;if(ye(i)){let a=await Sa(i,t);if(a)return a}if(Li(i)){let a=await bt(i,t.modelCatalog,t);if(a)return Kc(Fc(t,a))}return $i(t)}var Cn=[...new Set([Ge.provider.id,"anthropic","asksage","bedrock","claude-code","opencode","mistral","dify","openai-native","gemini","vertex",...Object.keys(j)])],wp=new Set(Cn);function qc(e){let t=V(e);return wp.has(t)||ye(t)||ye(e)}function Vc(e){return e?{...e}:{}}function bp(e,t){if(e)return e;if(!t)return;let i=globalThis.process;if(!i?.env)return;return i.env[t]}function Nc(e,t){if(!t.length)throw Error(`Provider "${e}" must include at least one model.`)}class yc{providerConfigs=new Map;constructor(e){this.applyConfig(e)}createHandler(e){return $i(this.toProviderHandlerConfig(e))}async createHandlerAsync(e){return Qa(this.toProviderHandlerConfig(e))}toProviderHandlerConfig(e){let t=this.requireConfiguredProvider(e.providerId),i=e.modelId??t.defaultModel;if(!t.models.has(i))throw Error(`Model "${i}" is not configured for provider "${e.providerId}".`);return{providerId:e.providerId,modelId:i,...t.defaults,...e.overrides}}registerProvider(e){if(ma(e.collection),e.handlerFactory&&e.asyncHandlerFactory)throw Error(`Provider "${e.collection.provider.id}" cannot register both sync and async handlers.`);if(e.handlerFactory)Aa(e.collection.provider.id,e.handlerFactory);if(e.asyncHandlerFactory)Oa(e.collection.provider.id,e.asyncHandlerFactory);let t=e.exposeModels??Object.keys(e.collection.models);Nc(e.collection.provider.id,t);let i=this.providerConfigs.get(e.collection.provider.id),a=e.defaultModel??e.collection.provider.defaultModelId??t[0];if(!a)throw Error(`Provider "${e.collection.provider.id}" must define a default model.`);if(!t.includes(a))throw Error(`Default model "${a}" is not included in configured models for "${e.collection.provider.id}".`);let n=new Set([...i?.models??[],...t]),o={...i?.defaults??{},...Vc(e.defaults)};this.providerConfigs.set(e.collection.provider.id,{id:e.collection.provider.id,models:n,defaultModel:a,defaults:o})}registerModel(e){Wt(e.providerId,e.modelId,e.info);let t=this.providerConfigs.get(e.providerId);if(!t){this.providerConfigs.set(e.providerId,{id:e.providerId,models:new Set([e.modelId]),defaultModel:e.modelId,defaults:{}});return}t.models.add(e.modelId)}getProviders(){return Array.from(this.providerConfigs.values()).map((e)=>({id:e.id,models:Array.from(e.models),defaultModel:e.defaultModel}))}getModels(e){return Array.from(this.requireConfiguredProvider(e).models)}isProviderConfigured(e){return this.providerConfigs.has(e)}isModelConfigured(e,t){return this.providerConfigs.get(e)?.models.has(t)??!1}applyConfig(e){for(let t of e.providers){if(Nc(t.id,t.models),t.defaultModel&&!t.models.includes(t.defaultModel))throw Error(`Default model "${t.defaultModel}" is not included in configured models for "${t.id}".`);let i=t.defaultModel??t.models[0];if(!i)throw Error(`Provider "${t.id}" must define a default model.`);let a=bp(t.apiKey,t.apiKeyEnv);this.providerConfigs.set(t.id,{id:t.id,models:new Set(t.models),defaultModel:i,defaults:{apiKey:a,baseUrl:t.baseUrl,headers:t.headers,timeoutMs:t.timeoutMs,capabilities:t.capabilities,...Vc(t.settings)}})}for(let t of e.models??[])this.registerModel(t);for(let t of e.customProviders??[])this.registerProvider(t);for(let t of this.providerConfigs.values())if(!ra(t.id))throw Error(`Provider "${t.id}" is not known. Register it through customProviders/registerProvider or use a built-in provider ID.`)}requireConfiguredProvider(e){let t=this.providerConfigs.get(e);if(!t)throw Error(`Provider "${e}" is not configured in this SDK instance.`);return t}}function Dp(e){return new yc(e)}export{zc as defineLlmsConfig,Dp as createLlmsSdk,Bc as LlmsProviders,oc as LlmsModels};