@clinebot/llms 0.0.7 → 0.0.10

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 Hr}from"node:module";var Yr=Object.defineProperty;var jr=(e)=>e;function Xr(e,t){this[e]=jr.bind(null,t)}var x=(e,t)=>{for(var a in t)Yr(e,a,{get:t[a],enumerable:!0,configurable:!0,set:Xr.bind(t,a)})};var h=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xa=Hr(import.meta.url);var Ia;var Qn=h(()=>{Ia={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 qn(e){if(!e)return Number.NEGATIVE_INFINITY;let t=Date.parse(e);return Number.isNaN(t)?Number.NEGATIVE_INFINITY:t}function Ue(e){return Object.fromEntries(Object.entries(e).sort(([t,a],[n,i])=>{let o=qn(a.releaseDate),r=qn(i.releaseDate);if(o!==r)return r-o;return t.localeCompare(n)}))}function Zr(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 zr(e,t){return{id:e,name:t.name||e,contextWindow:t.limit?.context??4096,maxTokens:t.limit?.output??4096,capabilities:Zr(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 ec(e){return e.status==="deprecated"}function tc(e,t){let a={};for(let[n,i]of Object.entries(t)){let o=e[n];if(!o?.models)continue;let r={};for(let[c,s]of Object.entries(o.models)){if(s.tool_call!==!0||ec(s))continue;r[c]=zr(c,s)}if(Object.keys(r).length>0)a[i]=Ue(r)}return a}async function Fn(e,t,a=fetch){let n=await a(e);if(!n.ok)throw Error(`Failed to load model catalog from ${e}: HTTP ${n.status}`);let i=await n.json();return tc(i,t)}var yn={};x(yn,{getGeneratedProviderModels:()=>Yi,getGeneratedModelsVersion:()=>ji,getGeneratedModelsForProvider:()=>u});function Yi(){return Kn??=Object.fromEntries(Object.entries(Ia.providers).map(([e,t])=>[e,Ue(t)])),Kn}function ji(){return Ia.version}function u(e){let t=Bn.get(e);if(t)return t;let a=Ue(Ia.providers[e]??{});return Bn.set(e,a),a}var Kn,Bn;var k=h(()=>{Qn();Bn=new Map});var Vn={};x(Vn,{AIHUBMIX_PROVIDER:()=>_t});var _t;var Xi=h(()=>{k();_t={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 Nn={};x(Nn,{getAnthropicReasoningModels:()=>Gt,getActiveAnthropicModels:()=>Pt,ANTHROPIC_PROVIDER:()=>vt,ANTHROPIC_MODELS:()=>Z,ANTHROPIC_DEFAULT_MODEL:()=>Ye});function Pt(){return Object.fromEntries(Object.entries(Z).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function Gt(){return Object.fromEntries(Object.entries(Z).filter(([,e])=>e.thinkingConfig!==void 0))}var Z,Ye,vt;var Hi=h(()=>{k();Z=u("anthropic"),Ye=Object.keys(Z)[0]??"claude-sonnet-4-6",vt={provider:{id:"anthropic",name:"Anthropic",description:"Creator of Claude, the AI assistant",protocol:"anthropic",baseUrl:"https://api.anthropic.com",defaultModelId:Ye,capabilities:["reasoning","prompt-cache"],env:["ANTHROPIC_API_KEY"]},models:Z}});var Un={};x(Un,{ASKSAGE_PROVIDER:()=>At});var At;var $i=h(()=>{At={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:()=>Ot});var Yn,Ot;var Ji=h(()=>{k();Yn=u("baseten"),Ot={provider:{id:"baseten",name:"Baseten",description:"ML inference platform",protocol:"openai-chat",baseUrl:"https://model-api.baseten.co/v1",defaultModelId:Object.keys(Yn)[0],env:["BASETEN_API_KEY"]},models:Yn}});var Xn={};x(Xn,{BEDROCK_PROVIDER:()=>St,BEDROCK_MODELS:()=>fe,BEDROCK_DEFAULT_MODEL:()=>je});var fe,je,St;var Zi=h(()=>{k();fe=u("bedrock"),je=Object.keys(fe)[0]??"anthropic.claude-sonnet-4-5-20250929-v1:0",St={provider:{id:"bedrock",name:"AWS Bedrock",description:"Amazon Bedrock managed foundation models",protocol:"anthropic",defaultModelId:je,capabilities:["reasoning","prompt-cache"],env:["AWS_REGION","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN"]},models:fe}});var Hn={};x(Hn,{CEREBRAS_PROVIDER:()=>Lt,CEREBRAS_MODELS:()=>Ee,CEREBRAS_DEFAULT_MODEL:()=>Xe});var Ee,Xe,Lt;var Ii=h(()=>{k();Ee=u("cerebras"),Xe=Object.keys(Ee)[0]??"llama3.1-70b",Lt={provider:{id:"cerebras",name:"Cerebras",description:"Fast inference on Cerebras wafer-scale chips",protocol:"openai-chat",baseUrl:"https://api.cerebras.ai/v1",defaultModelId:Xe,env:["CEREBRAS_API_KEY"]},models:Ee}});var $n={};x($n,{CLAUDE_CODE_PROVIDER:()=>Ct,CLAUDE_CODE_MODELS:()=>He,CLAUDE_CODE_DEFAULT_MODEL:()=>$e});function zi(e){let t=Object.entries(ac).find(([a])=>e(a));if(t)return t[1];return{id:"sonnet",name:"Claude Sonnet",capabilities:["streaming","reasoning"]}}function e0(e){return{...e==="opus"?zi((a)=>a.includes("opus")):e==="haiku"?zi((a)=>a.includes("haiku")):zi((a)=>a.includes("sonnet")),id:e,name:`Claude ${e.charAt(0).toUpperCase()}${e.slice(1)}`}}var ac,He,$e="sonnet",Ct;var t0=h(()=>{k();ac=u("anthropic");He={opus:e0("opus"),sonnet:e0("sonnet"),haiku:e0("haiku")},Ct={provider:{id:"claude-code",name:"Claude Code",description:"Use Claude Code SDK with Claude Pro/Max subscription",protocol:"openai-chat",baseUrl:"",defaultModelId:$e,capabilities:["reasoning"]},models:He}});var Jn={};x(Jn,{CLINE_PROVIDER:()=>Pe,CLINE_MODELS:()=>ve,CLINE_DEFAULT_MODELINFO:()=>ic,CLINE_DEFAULT_MODEL:()=>_e});var _e="anthropic/claude-sonnet-4.6",ve,ic,Pe;var a0=h(()=>{k();ve=u("vercel-ai-gateway"),ic=ve[_e],Pe={provider:{id:"cline",name:"Cline",description:"Cline API endpoint",protocol:"openai-chat",baseUrl:"https://api.cline.bot/api/v1",defaultModelId:_e,capabilities:["reasoning","prompt-cache","tools","oauth"],env:["CLINE_API_KEY"]},models:ve}});var Zn={};x(Zn,{getDeepSeekReasoningModels:()=>qt,DEEPSEEK_PROVIDER:()=>Qt,DEEPSEEK_MODELS:()=>se,DEEPSEEK_DEFAULT_MODEL:()=>Je});function qt(){return Object.fromEntries(Object.entries(se).filter(([,e])=>e.capabilities?.includes("reasoning")))}var se,Je,Qt;var i0=h(()=>{k();se=u("deepseek"),Je=Object.keys(se)[0],Qt={provider:{id:"deepseek",name:"DeepSeek",description:"Advanced AI models with reasoning capabilities",protocol:"openai-chat",baseUrl:"https://api.deepseek.com/v1",defaultModelId:Je,capabilities:["reasoning","prompt-cache"],env:["DEEPSEEK_API_KEY"]},models:se}});var In={};x(In,{DIFY_PROVIDER:()=>Ft});var Ft;var n0=h(()=>{Ft={provider:{id:"dify",name:"Dify",description:"Dify workflow/application provider via AI SDK",protocol:"openai-chat",defaultModelId:"default",env:["DIFY_API_KEY"]},models:{}}});var zn={};x(zn,{DOUBAO_PROVIDER:()=>r0,DOUBAO_MODELS:()=>Kt,DOUBAO_DEFAULT_MODEL:()=>za});var o0="doubao-1-5-pro-256k-250115",Kt,za,r0;var c0=h(()=>{k();Kt={[o0]:{id:o0,name:"Doubao 1.5 Pro 256k",capabilities:["streaming","tools"]},...u("doubao")},za=Object.keys(Kt)[0]??o0,r0={provider:{id:"doubao",name:"Doubao",description:"Volcengine Ark platform models",protocol:"openai-chat",baseUrl:"https://ark.cn-beijing.volces.com/api/v3",defaultModelId:za,env:["DOUBAO_API_KEY"]},models:Kt}});var eo={};x(eo,{getFireworksFunctionModels:()=>yt,FIREWORKS_PROVIDER:()=>Bt,FIREWORKS_MODELS:()=>pe,FIREWORKS_DEFAULT_MODEL:()=>Ze});function yt(){return Object.fromEntries(Object.entries(pe).filter(([,e])=>e.capabilities?.includes("tools")))}var pe,Ze,Bt;var s0=h(()=>{k();pe=u("fireworks"),Ze=Object.keys(pe)[0]??"accounts/fireworks/models/llama-v3p1-8b-instruct",Bt={provider:{id:"fireworks",name:"Fireworks AI",description:"High-performance inference platform",protocol:"openai-chat",baseUrl:"https://api.fireworks.ai/inference/v1",defaultModelId:Ze,env:["FIREWORKS_API_KEY"]},models:pe}});var to={};x(to,{getGeminiThinkingModels:()=>Ut,getActiveGeminiModels:()=>Nt,GEMINI_PROVIDER:()=>Vt,GEMINI_MODELS:()=>I,GEMINI_DEFAULT_MODEL:()=>Ie});function Nt(){return Object.fromEntries(Object.entries(I).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function Ut(){return Object.fromEntries(Object.entries(I).filter(([,e])=>e.capabilities?.includes("reasoning")))}var I,Ie,Vt;var p0=h(()=>{k();I=u("gemini"),Ie=Object.keys(I)[0]??"gemini-3-pro",Vt={provider:{id:"gemini",name:"Google Gemini",description:"Google Gemini API",protocol:"gemini",baseUrl:"https://generativelanguage.googleapis.com",defaultModelId:Ie,capabilities:["reasoning","prompt-cache"],env:["GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"]},models:I}});var ao={};x(ao,{getGroqVisionModels:()=>jt,GROQ_PROVIDER:()=>Yt,GROQ_MODELS:()=>ue,GROQ_DEFAULT_MODEL:()=>ze});function jt(){return Object.fromEntries(Object.entries(ue).filter(([,e])=>e.capabilities?.includes("images")))}var ue,ze,Yt;var u0=h(()=>{k();ue=u("groq"),ze=Object.keys(ue)[0]??"llama-3.3-70b-versatile",Yt={provider:{id:"groq",name:"Groq",description:"Ultra-fast LPU inference",protocol:"openai-chat",baseUrl:"https://api.groq.com/openai/v1",defaultModelId:ze,env:["GROQ_API_KEY"]},models:ue}});var io={};x(io,{HICAP_PROVIDER:()=>Xt});var Xt;var m0=h(()=>{Xt={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 no={};x(no,{HUAWEI_CLOUD_MAAS_PROVIDER:()=>Ht});var Ht;var l0=h(()=>{Ht={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 oo={};x(oo,{HUGGINGFACE_PROVIDER:()=>Jt,HUGGINGFACE_MODELS:()=>$t});var $t,Jt;var d0=h(()=>{k();$t=u("huggingface"),Jt={provider:{id:"huggingface",name:"Hugging Face",description:"Hugging Face inference API",protocol:"openai-chat",baseUrl:"https://api-inference.huggingface.co/v1",defaultModelId:Object.keys($t)[0],env:["HF_TOKEN"]},models:$t}});var ro={};x(ro,{LITELLM_PROVIDER:()=>Zt});var Zt;var g0=h(()=>{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 so={};x(so,{LMSTUDIO_PROVIDER:()=>It});var co,It;var x0=h(()=>{k();co=u("lmstudio"),It={provider:{id:"lmstudio",name:"LM Studio",description:"Local model inference with LM Studio",protocol:"openai-chat",baseUrl:"http://localhost:1234/v1",defaultModelId:Object.keys(co)[0],env:["LMSTUDIO_API_KEY"]},models:co||{}}});var po={};x(po,{MINIMAX_PROVIDER:()=>zt,MINIMAX_MODELS:()=>Ge,MINIMAX_DEFAULT_MODEL:()=>et});var h0="MiniMax-M2.5",Ge,et,zt;var W0=h(()=>{k();Ge={[h0]:{id:h0,name:"MiniMax M2.5",capabilities:["streaming","tools","reasoning","prompt-cache"]},...u("minimax")},et=Object.keys(Ge)[0]??h0,zt={provider:{id:"minimax",name:"MiniMax",description:"MiniMax models via Anthropic-compatible API",protocol:"anthropic",baseUrl:"https://api.minimax.io/anthropic",defaultModelId:et,capabilities:["reasoning","prompt-cache"],env:["MINIMAX_API_KEY"]},models:Ge}});var uo={};x(uo,{MISTRAL_PROVIDER:()=>ea});var ea;var w0=h(()=>{ea={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 mo={};x(mo,{MOONSHOT_PROVIDER:()=>ta,MOONSHOT_MODELS:()=>Ae,MOONSHOT_DEFAULT_MODEL:()=>tt});var b0="kimi-k2-0905-preview",Ae,tt,ta;var D0=h(()=>{k();Ae={[b0]:{id:b0,name:"Kimi K2 Preview",capabilities:["streaming","tools","reasoning"]},...u("moonshot")},tt=Object.keys(Ae)[0]??b0,ta={provider:{id:"moonshot",name:"Moonshot",description:"Moonshot AI Studio models",protocol:"openai-chat",baseUrl:"https://api.moonshot.ai/v1",defaultModelId:tt,capabilities:["reasoning","prompt-cache"],env:["MOONSHOT_API_KEY"]},models:Ae}});var lo={};x(lo,{NEBIUS_PROVIDER:()=>aa,NEBIUS_MODELS:()=>Oe,NEBIUS_DEFAULT_MODEL:()=>at});var Oe,at,aa;var R0=h(()=>{k();Oe=u("nebius"),at=Object.keys(Oe)[0]||"meta-llama/Meta-Llama-3.1-70B-Instruct",aa={provider:{id:"nebius",name:"Nebius",description:"European cloud AI infrastructure",protocol:"openai-chat",baseUrl:"https://api.studio.nebius.ai/v1",defaultModelId:at,env:["NEBIUS_API_KEY"]},models:Oe}});var go={};x(go,{NOUS_RESEARCH_PROVIDER:()=>na,NOUS_RESEARCH_MODELS:()=>it,NOUS_RESEARCH_DEFAULT_MODEL:()=>ia});var it,ia="DeepHermes-3-Llama-3-3-70B-Preview",na;var k0=h(()=>{it={},na={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:it}});var xo={};x(xo,{OCA_PROVIDER:()=>oa,OCA_MODELS:()=>Se,OCA_DEFAULT_MODEL:()=>nt,DEFAULT_INTERNAL_OCA_BASE_URL:()=>z,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>H});var z="https://code-internal.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm",H="https://code.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm",nt="anthropic/claude-3-7-sonnet-20250219",Se,oa;var ra=h(()=>{k();Se=u("oca"),oa={provider:{id:"oca",name:"Oracle Code Assist",description:"Oracle Code Assist (OCA) LiteLLM gateway",protocol:"openai-chat",baseUrl:H,defaultModelId:Object.keys(Se)[0]??nt,capabilities:["reasoning","prompt-cache","tools"],env:["OCA_API_KEY"]},models:Se}});var ho={};x(ho,{OLLAMA_PROVIDER:()=>ca});var ca;var T0=h(()=>{ca={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 M0={};x(M0,{getOpenAIReasoningModels:()=>ua,getActiveOpenAIModels:()=>pa,OPENAI_PROVIDER:()=>sa,OPENAI_MODELS:()=>ee,OPENAI_DEFAULT_MODEL:()=>ot});function pa(){return Object.fromEntries(Object.entries(ee).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function ua(){return Object.fromEntries(Object.entries(ee).filter(([,e])=>e.capabilities?.includes("reasoning")))}var ee,ot,sa;var ei=h(()=>{k();ee=u("openai"),ot=Object.keys(ee)[0]??"gpt-5.3-codex",sa={provider:{id:"openai-native",name:"OpenAI",description:"Creator of GPT and ChatGPT",protocol:"openai-responses",baseUrl:"https://api.openai.com/v1",defaultModelId:ot,capabilities:["reasoning"],env:["OPENAI_API_KEY"]},models:ee}});var Wo={};x(Wo,{OPENAI_CODEX_PROVIDER:()=>ma,OPENAI_CODEX_MODELS:()=>f0,OPENAI_CODEX_DEFAULT_MODEL:()=>rt});function nc(e){if(!e.capabilities?.includes("tools"))return e;return{...e,capabilities:e.capabilities.filter((t)=>t!=="tools")}}var f0,rt,ma;var E0=h(()=>{k();f0=Object.fromEntries(Object.entries(u("openai")).map(([e,t])=>[e,nc(t)])),rt=Object.keys(f0)[0]??"gpt-5.3-codex",ma={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:rt,capabilities:["reasoning","oauth"]},models:f0}});var wo={};x(wo,{OPENCODE_PROVIDER:()=>_0,OPENCODE_MODELS:()=>la,OPENCODE_DEFAULT_MODEL:()=>ti});var la,ti,_0;var v0=h(()=>{k();la=u("opencode"),ti=Object.keys(la)[0]??"openai/gpt-5.3-codex",_0={provider:{id:"opencode",name:"OpenCode",description:"OpenCode SDK multi-provider runtime",protocol:"openai-chat",baseUrl:"",defaultModelId:ti,capabilities:["reasoning","oauth"]},models:la}});var bo={};x(bo,{OPENROUTER_PROVIDER:()=>da,OPENROUTER_MODELS:()=>ct,OPENROUTER_DEFAULT_MODEL:()=>st});var ct,st="anthropic/claude-sonnet-4.6",da;var P0=h(()=>{k();ct=u("openrouter"),da={provider:{id:"openrouter",name:"OpenRouter",description:"OpenRouter AI platform",protocol:"openai-chat",baseUrl:"https://openrouter.ai/api/v1",defaultModelId:st,capabilities:["reasoning","prompt-cache"],env:["OPENROUTER_API_KEY"]},models:ct}});var Do={};x(Do,{QWEN_PROVIDER:()=>A0,QWEN_MODELS:()=>ga,QWEN_DEFAULT_MODEL:()=>ai});var G0="qwen-plus-latest",ga,ai,A0;var O0=h(()=>{k();ga={[G0]:{id:G0,name:"Qwen Plus Latest",capabilities:["streaming","tools","reasoning"]},...u("qwen")},ai=Object.keys(ga)[0]??G0,A0={provider:{id:"qwen",name:"Qwen",description:"Alibaba Qwen platform models",protocol:"openai-chat",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",defaultModelId:ai,capabilities:["reasoning"],env:["QWEN_API_KEY"]},models:ga}});var Ro={};x(Ro,{QWEN_CODE_PROVIDER:()=>L0,QWEN_CODE_MODELS:()=>xa,QWEN_CODE_DEFAULT_MODEL:()=>ii});var S0="qwen3-coder-plus",xa,ii,L0;var C0=h(()=>{k();xa={[S0]:{id:S0,name:"Qwen3 Coder Plus",capabilities:["streaming","tools","reasoning"]},...u("qwen-code")},ii=Object.keys(xa)[0]??S0,L0={provider:{id:"qwen-code",name:"Qwen Code",description:"Qwen OAuth coding models",protocol:"openai-chat",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",defaultModelId:ii,capabilities:["reasoning","oauth"]},models:xa}});var ko={};x(ko,{REQUESTY_PROVIDER:()=>ha,REQUESTY_MODELS:()=>Q0});var Q0,ha;var q0=h(()=>{k();Q0=u("requesty"),ha={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 To={};x(To,{SAMBANOVA_PROVIDER:()=>Wa,SAMBANOVA_MODELS:()=>Le,SAMBANOVA_DEFAULT_MODEL:()=>pt});var Le,pt,Wa;var F0=h(()=>{k();Le=u("sambanova"),pt=Object.keys(Le)[0],Wa={provider:{id:"sambanova",name:"SambaNova",description:"High-performance AI inference",protocol:"openai-chat",baseUrl:"https://api.sambanova.ai/v1",defaultModelId:pt,env:["SAMBANOVA_API_KEY"]},models:Le}});var Mo={};x(Mo,{SAP_AI_CORE_PROVIDER:()=>B0,SAP_AI_CORE_MODELS:()=>wa,SAP_AI_CORE_DEFAULT_MODEL:()=>ni});var K0="anthropic--claude-3.5-sonnet",wa,ni,B0;var y0=h(()=>{k();wa={[K0]:{id:K0,name:"Claude 3.5 Sonnet (SAP AI Core)",capabilities:["streaming","tools","reasoning","prompt-cache"]},...u("sapaicore")},ni=Object.keys(wa)[0]??K0,B0={provider:{id:"sapaicore",name:"SAP AI Core",description:"SAP AI Core inference and orchestration platform",protocol:"openai-chat",baseUrl:"",defaultModelId:ni,capabilities:["reasoning","prompt-cache"],env:["AICORE_SERVICE_KEY","VCAP_SERVICES"]},models:wa}});var fo={};x(fo,{getTogetherLlamaModels:()=>Da,TOGETHER_PROVIDER:()=>ba,TOGETHER_MODELS:()=>me,TOGETHER_DEFAULT_MODEL:()=>ut});function Da(){return Object.fromEntries(Object.entries(me).filter(([e])=>e.toLowerCase().includes("llama")))}var me,ut,ba;var V0=h(()=>{k();me=u("together"),ut=Object.keys(me)[0]??"meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo",ba={provider:{id:"together",name:"Together AI",description:"Fast inference for open-source models",protocol:"openai-chat",baseUrl:"https://api.together.xyz/v1",defaultModelId:ut,capabilities:["reasoning"],env:["TOGETHER_API_KEY"]},models:me}});var Eo={};x(Eo,{VERCEL_AI_GATEWAY_PROVIDER:()=>Ra});var oc,Ra;var N0=h(()=>{k();oc=u("vercel-ai-gateway"),Ra={provider:{id:"vercel-ai-gateway",name:"Vercel AI Gateway",description:"Vercel's AI gateway service",protocol:"openai-chat",baseUrl:"https://ai-gateway.vercel.app/v1",defaultModelId:Object.keys(oc)[0],capabilities:["reasoning"],env:["AI_GATEWAY_API_KEY"]},models:u("vercel-ai-gateway")}});var vo={};x(vo,{VERTEX_PROVIDER:()=>ka,VERTEX_MODELS:()=>Ce,VERTEX_DEFAULT_MODEL:()=>mt});var Ce,_o,rc,mt,ka;var U0=h(()=>{k();Ce=u("vertex"),_o=Object.keys(Ce),rc=_o.find((e)=>!e.includes("claude")),mt=rc??_o[0]??"gemini-3-pro",ka={provider:{id:"vertex",name:"Google Vertex AI",description:"Google Cloud Vertex AI (Gemini and partner models)",protocol:"gemini",defaultModelId:mt,capabilities:["reasoning","prompt-cache"],env:["GCP_PROJECT_ID","GOOGLE_CLOUD_PROJECT","GOOGLE_APPLICATION_CREDENTIALS","GEMINI_API_KEY","GOOGLE_API_KEY"]},models:Ce}});var Po={};x(Po,{getActiveXAIModels:()=>Ma,XAI_PROVIDER:()=>Ta,XAI_MODELS:()=>le,XAI_DEFAULT_MODEL:()=>lt});function Ma(){return Object.fromEntries(Object.entries(le).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}var le,lt,Ta;var Y0=h(()=>{k();le=u("xai"),lt=Object.keys(le)[0],Ta={provider:{id:"xai",name:"xAI",description:"Creator of Grok AI assistant",protocol:"openai-chat",baseUrl:"https://api.x.ai/v1",defaultModelId:lt,capabilities:["reasoning"],env:["XAI_API_KEY"]},models:le}});var Go={};x(Go,{ZAI_PROVIDER:()=>j0,ZAI_MODELS:()=>fa,ZAI_DEFAULT_MODEL:()=>oi});var fa,oi,j0;var X0=h(()=>{k();fa=u("zai"),oi=Object.keys(fa)[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:oi,capabilities:["reasoning"],env:["ZHIPU_API_KEY"]},models:fa}});function $r(e){return e}var ar={};x(ar,{validateQueryConfig:()=>Ni,validateModelInfo:()=>Bi,updateModel:()=>H0,unregisterProvider:()=>Fo,unregisterModel:()=>qo,sortModels:()=>Et,searchModels:()=>zo,safeValidateQueryConfig:()=>Ui,safeValidateModelInfo:()=>yi,resetRegistry:()=>Bo,registerProvider:()=>ui,registerModels:()=>yo,registerModel:()=>gt,queryModels:()=>K,matchesQuery:()=>ft,isDeprecated:()=>Mt,isActive:()=>Fi,hasProvider:()=>ri,hasCapability:()=>Me,getVisionModels:()=>No,getToolModels:()=>jo,getTogetherLlamaModels:()=>Da,getReasoningModels:()=>Uo,getProviderIds:()=>ge,getProviderCollection:()=>So,getProvider:()=>Oo,getPricing:()=>Ki,getOpenAIReasoningModels:()=>ua,getModelsWithContextWindow:()=>Zo,getModelsInPriceRange:()=>Jo,getModelsForProvider:()=>ci,getModelsByProvider:()=>Io,getModelStatistics:()=>tr,getModelCount:()=>Qo,getModel:()=>si,getGroqVisionModels:()=>jt,getGeneratedProviderModels:()=>Yi,getGeneratedModelsVersion:()=>ji,getGeneratedModelsForProvider:()=>u,getGeminiThinkingModels:()=>Ut,getFireworksFunctionModels:()=>yt,getDeprecatedModels:()=>$o,getDefaultModel:()=>Co,getDeepSeekReasoningModels:()=>qt,getComputerUseModels:()=>Xo,getCachingModels:()=>Yo,getAnthropicReasoningModels:()=>Gt,getAllProviders:()=>Lo,getAllModels:()=>pi,getActiveXAIModels:()=>Ma,getActiveOpenAIModels:()=>pa,getActiveModels:()=>Ho,getActiveGeminiModels:()=>Nt,getActiveAnthropicModels:()=>Pt,deprecateModel:()=>Vo,createQuery:()=>er,clearCustomModels:()=>Ko,XAI_PROVIDER:()=>Ta,XAI_MODELS:()=>le,XAI_DEFAULT_MODEL:()=>lt,VERTEX_PROVIDER:()=>ka,VERTEX_MODELS:()=>Ce,VERTEX_DEFAULT_MODEL:()=>mt,VERCEL_AI_GATEWAY_PROVIDER:()=>Ra,ThinkingConfigSchema:()=>$a,TOGETHER_PROVIDER:()=>ba,TOGETHER_MODELS:()=>me,TOGETHER_DEFAULT_MODEL:()=>ut,SAMBANOVA_PROVIDER:()=>Wa,SAMBANOVA_MODELS:()=>Le,SAMBANOVA_DEFAULT_MODEL:()=>pt,REQUESTY_PROVIDER:()=>ha,ProviderInfoSchema:()=>Za,ProviderCapabilitySchema:()=>Ja,OPENROUTER_PROVIDER:()=>da,OPENROUTER_MODELS:()=>ct,OPENROUTER_DEFAULT_MODEL:()=>st,OPENAI_PROVIDER:()=>sa,OPENAI_MODELS:()=>ee,OPENAI_DEFAULT_MODEL:()=>ot,OPENAI_CODEX_PROVIDER:()=>ma,OPENAI_CODEX_DEFAULT_MODEL:()=>rt,OLLAMA_PROVIDER:()=>ca,OCA_PROVIDER:()=>oa,OCA_MODELS:()=>Se,OCA_DEFAULT_MODEL:()=>nt,NOUS_RESEARCH_PROVIDER:()=>na,NOUS_RESEARCH_MODELS:()=>it,NOUS_RESEARCH_DEFAULT_MODEL:()=>ia,NEBIUS_PROVIDER:()=>aa,NEBIUS_MODELS:()=>Oe,NEBIUS_DEFAULT_MODEL:()=>at,ModelStatusSchema:()=>Ne,ModelQueryResultSchema:()=>Vi,ModelQueryConfigSchema:()=>ce,ModelQueryBuilder:()=>mi,ModelPricingSchema:()=>Ha,ModelInfoSchema:()=>Te,ModelEntrySchema:()=>Qi,ModelCollectionSchema:()=>qi,ModelCapabilitySchema:()=>re,MOONSHOT_PROVIDER:()=>ta,MOONSHOT_MODELS:()=>Ae,MOONSHOT_DEFAULT_MODEL:()=>tt,MISTRAL_PROVIDER:()=>ea,MINIMAX_PROVIDER:()=>zt,MINIMAX_MODELS:()=>Ge,MINIMAX_DEFAULT_MODEL:()=>et,LMSTUDIO_PROVIDER:()=>It,LITELLM_PROVIDER:()=>Zt,HUGGINGFACE_PROVIDER:()=>Jt,HUAWEI_CLOUD_MAAS_PROVIDER:()=>Ht,HICAP_PROVIDER:()=>Xt,GROQ_PROVIDER:()=>Yt,GROQ_MODELS:()=>ue,GROQ_DEFAULT_MODEL:()=>ze,GEMINI_PROVIDER:()=>Vt,GEMINI_MODELS:()=>I,GEMINI_DEFAULT_MODEL:()=>Ie,FIREWORKS_PROVIDER:()=>Bt,FIREWORKS_MODELS:()=>pe,FIREWORKS_DEFAULT_MODEL:()=>Ze,DIFY_PROVIDER:()=>Ft,DEFAULT_INTERNAL_OCA_BASE_URL:()=>z,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>H,DEEPSEEK_PROVIDER:()=>Qt,DEEPSEEK_MODELS:()=>se,DEEPSEEK_DEFAULT_MODEL:()=>Je,CLINE_PROVIDER:()=>Pe,CLINE_MODELS:()=>ve,CLINE_DEFAULT_MODEL:()=>_e,CLAUDE_CODE_PROVIDER:()=>Ct,CLAUDE_CODE_MODELS:()=>He,CLAUDE_CODE_DEFAULT_MODEL:()=>$e,CEREBRAS_PROVIDER:()=>Lt,CEREBRAS_MODELS:()=>Ee,CEREBRAS_DEFAULT_MODEL:()=>Xe,BEDROCK_PROVIDER:()=>St,BEDROCK_MODELS:()=>fe,BEDROCK_DEFAULT_MODEL:()=>je,BASETEN_PROVIDER:()=>Ot,ApiFormatSchema:()=>Ve,ApiFormat:()=>J,ASKSAGE_PROVIDER:()=>At,ANTHROPIC_PROVIDER:()=>vt,ANTHROPIC_MODELS:()=>Z,ANTHROPIC_DEFAULT_MODEL:()=>Ye,AIHUBMIX_PROVIDER:()=>_t});import{z as W}from"zod";var Ve=W.enum(["default","openai-responses","r1"]),J={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"]),Ne=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()}),$a=W.object({maxBudget:W.number().optional(),outputPrice:W.number().optional(),thinkingLevel:W.enum(["low","high"]).optional()}),Te=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:Ve.optional(),systemRole:W.enum(["system","developer"]).optional(),temperature:W.number().optional(),pricing:Ha.optional(),thinkingConfig:$a.optional(),status:Ne.optional(),deprecationNotice:W.string().optional(),replacedBy:W.string().optional(),releaseDate:W.string().optional(),deprecationDate:W.string().optional()}),Qi=W.object({id:W.string(),info:Te}),Ja=W.enum(["reasoning","prompt-cache","tools","oauth"]),Cn=W.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1"]),Za=W.object({id:W.string(),name:W.string(),description:W.string().optional(),protocol:Cn.optional(),baseUrl:W.string().optional(),defaultModelId:W.string(),capabilities:W.array(Ja).optional(),env:W.array(W.string()).optional()}),qi=W.object({provider:Za,models:W.record(W.string(),Te)});function Me(e,t){return e.capabilities?.includes(t)??!1}function Mt(e){return e.status==="deprecated"}function Fi(e){return!e.status||e.status==="active"||e.status==="preview"}function Ki(e){return e.pricing??{}}function Bi(e){return Te.parse(e)}function yi(e){let t=Te.safeParse(e);return t.success?t.data:void 0}import{z as A}from"zod";var ce=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(Ne).optional(),includeDeprecated:A.boolean().optional(),apiFormat:Ve.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()}),Vi=A.object({models:A.array(A.object({providerId:A.string(),modelId:A.string(),info:A.any()})),total:A.number(),config:ce});function ft(e,t,a){if(!a.includeDeprecated&&Mt(t))return!1;if(a.status&&a.status.length>0){let n=t.status??"active";if(!a.status.includes(n))return!1}if(a.capabilities&&a.capabilities.length>0){if(!a.capabilities.every((i)=>Me(t,i)))return!1}if(a.anyCapabilities&&a.anyCapabilities.length>0){if(!a.anyCapabilities.some((i)=>Me(t,i)))return!1}if(a.excludeCapabilities&&a.excludeCapabilities.length>0){if(a.excludeCapabilities.some((i)=>Me(t,i)))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 n=a.search.toLowerCase(),i=t.name?.toLowerCase().includes(n)??!1,o=e.toLowerCase().includes(n),r=t.description?.toLowerCase().includes(n)??!1;if(!i&&!o&&!r)return!1}if(a.hasThinking===!0&&!t.thinkingConfig)return!1;if(a.hasThinking===!1&&t.thinkingConfig)return!1;return!0}function Et(e,t,a="asc"){if(!t)return e;let n=[...e].sort((i,o)=>{let r,c;switch(t){case"name":r=i.info.name??i.modelId,c=o.info.name??o.modelId;break;case"contextWindow":r=i.info.contextWindow??0,c=o.info.contextWindow??0;break;case"maxTokens":r=i.info.maxTokens??0,c=o.info.maxTokens??0;break;case"inputPrice":r=i.info.pricing?.input??Number.POSITIVE_INFINITY,c=o.info.pricing?.input??Number.POSITIVE_INFINITY;break;case"outputPrice":r=i.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"?n.reverse():n}function Ni(e){return ce.parse(e)}function Ui(e){let t=ce.safeParse(e);return t.success?t.data:void 0}var Ao=[["aihubmix",async()=>(await Promise.resolve().then(() => (Xi(),Vn))).AIHUBMIX_PROVIDER],["anthropic",async()=>(await Promise.resolve().then(() => (Hi(),Nn))).ANTHROPIC_PROVIDER],["asksage",async()=>(await Promise.resolve().then(() => ($i(),Un))).ASKSAGE_PROVIDER],["baseten",async()=>(await Promise.resolve().then(() => (Ji(),jn))).BASETEN_PROVIDER],["bedrock",async()=>(await Promise.resolve().then(() => (Zi(),Xn))).BEDROCK_PROVIDER],["cerebras",async()=>(await Promise.resolve().then(() => (Ii(),Hn))).CEREBRAS_PROVIDER],["claude-code",async()=>(await Promise.resolve().then(() => (t0(),$n))).CLAUDE_CODE_PROVIDER],["cline",async()=>(await Promise.resolve().then(() => (a0(),Jn))).CLINE_PROVIDER],["deepseek",async()=>(await Promise.resolve().then(() => (i0(),Zn))).DEEPSEEK_PROVIDER],["dify",async()=>(await Promise.resolve().then(() => (n0(),In))).DIFY_PROVIDER],["doubao",async()=>(await Promise.resolve().then(() => (c0(),zn))).DOUBAO_PROVIDER],["fireworks",async()=>(await Promise.resolve().then(() => (s0(),eo))).FIREWORKS_PROVIDER],["gemini",async()=>(await Promise.resolve().then(() => (p0(),to))).GEMINI_PROVIDER],["groq",async()=>(await Promise.resolve().then(() => (u0(),ao))).GROQ_PROVIDER],["hicap",async()=>(await Promise.resolve().then(() => (m0(),io))).HICAP_PROVIDER],["huawei-cloud-maas",async()=>(await Promise.resolve().then(() => (l0(),no))).HUAWEI_CLOUD_MAAS_PROVIDER],["huggingface",async()=>(await Promise.resolve().then(() => (d0(),oo))).HUGGINGFACE_PROVIDER],["litellm",async()=>(await Promise.resolve().then(() => (g0(),ro))).LITELLM_PROVIDER],["lmstudio",async()=>(await Promise.resolve().then(() => (x0(),so))).LMSTUDIO_PROVIDER],["minimax",async()=>(await Promise.resolve().then(() => (W0(),po))).MINIMAX_PROVIDER],["mistral",async()=>(await Promise.resolve().then(() => (w0(),uo))).MISTRAL_PROVIDER],["moonshot",async()=>(await Promise.resolve().then(() => (D0(),mo))).MOONSHOT_PROVIDER],["nebius",async()=>(await Promise.resolve().then(() => (R0(),lo))).NEBIUS_PROVIDER],["nousResearch",async()=>(await Promise.resolve().then(() => (k0(),go))).NOUS_RESEARCH_PROVIDER],["oca",async()=>(await Promise.resolve().then(() => (ra(),xo))).OCA_PROVIDER],["ollama",async()=>(await Promise.resolve().then(() => (T0(),ho))).OLLAMA_PROVIDER],["openai",async()=>(await Promise.resolve().then(() => (ei(),M0))).OPENAI_PROVIDER],["openai-codex",async()=>(await Promise.resolve().then(() => (E0(),Wo))).OPENAI_CODEX_PROVIDER],["openai-native",async()=>(await Promise.resolve().then(() => (ei(),M0))).OPENAI_PROVIDER],["opencode",async()=>(await Promise.resolve().then(() => (v0(),wo))).OPENCODE_PROVIDER],["openrouter",async()=>(await Promise.resolve().then(() => (P0(),bo))).OPENROUTER_PROVIDER],["qwen",async()=>(await Promise.resolve().then(() => (O0(),Do))).QWEN_PROVIDER],["qwen-code",async()=>(await Promise.resolve().then(() => (C0(),Ro))).QWEN_CODE_PROVIDER],["requesty",async()=>(await Promise.resolve().then(() => (q0(),ko))).REQUESTY_PROVIDER],["sambanova",async()=>(await Promise.resolve().then(() => (F0(),To))).SAMBANOVA_PROVIDER],["sapaicore",async()=>(await Promise.resolve().then(() => (y0(),Mo))).SAP_AI_CORE_PROVIDER],["together",async()=>(await Promise.resolve().then(() => (V0(),fo))).TOGETHER_PROVIDER],["vercel-ai-gateway",async()=>(await Promise.resolve().then(() => (N0(),Eo))).VERCEL_AI_GATEWAY_PROVIDER],["vertex",async()=>(await Promise.resolve().then(() => (U0(),vo))).VERTEX_PROVIDER],["xai",async()=>(await Promise.resolve().then(() => (Y0(),Po))).XAI_PROVIDER],["zai",async()=>(await Promise.resolve().then(() => (X0(),Go))).ZAI_PROVIDER]];var Ea=new Map,dt=new Map,Y=new Map,Qe=new Map,cc=Ao;function sc(){for(let[e,t]of cc)dt.set(e,{load:t})}sc();async function pc(e){return e.load()}async function de(e){if(Qe.has(e))return Qe.get(e);if(Ea.has(e))return Ea.get(e);let t=dt.get(e);if(!t)return;let a=await pc(t);return Ea.set(e,a),a}function ge(){let e=Array.from(dt.keys()),t=Array.from(Qe.keys()).filter((a)=>!dt.has(a));return[...e,...t]}function ri(e){return dt.has(e)||Qe.has(e)}async function Oo(e){return(await de(e))?.provider}async function So(e){return de(e)}async function Lo(){let e=ge();return(await Promise.all(e.map((a)=>de(a)))).filter((a)=>a!==void 0).map((a)=>a.provider)}async function ci(e){let a=(await de(e))?.models??{},n=Y.get(e);if(n)return{...a,...Object.fromEntries(n)};return a}async function si(e,t){let a=Y.get(e);if(a?.has(t))return a.get(t);return(await de(e))?.models[t]}async function Co(e){let t=await de(e);if(!t)return;let a=t.provider.defaultModelId,n=await si(e,a);if(!n)return;return{id:a,info:n}}async function pi(){let e=[],t=ge();return await Promise.all(t.map(async(a)=>{let n=await de(a);if(!n)return;for(let[o,r]of Object.entries(n.models))e.push({providerId:a,modelId:o,info:r});let i=Y.get(a);if(i){for(let[o,r]of i)if(!n.models[o])e.push({providerId:a,modelId:o,info:r})}})),e}async function Qo(){let e=0,t=ge();return await Promise.all(t.map(async(a)=>{let n=await de(a);if(!n)return;e+=Object.keys(n.models).length;let i=Y.get(a);if(i){for(let o of i.keys())if(!n.models[o])e++}})),e}function ui(e){Qe.set(e.provider.id,e)}function gt(e,t,a){if(!Y.has(e))Y.set(e,new Map);Y.get(e)?.set(t,{...a,id:t})}function qo(e,t){let a=Y.get(e);if(a)return a.delete(t);return!1}function Fo(e){return Y.delete(e),Ea.delete(e),Qe.delete(e)||dt.delete(e)}function Ko(){Y.clear()}function Bo(){Ea.clear(),Y.clear(),Qe.clear()}function yo(e,t){for(let[a,n]of Object.entries(t))gt(e,a,n)}async function H0(e,t,a){let n=await si(e,t);if(!n)return;let i={...n,...a};return gt(e,t,i),i}async function Vo(e,t,a){return H0(e,t,{status:"deprecated",deprecationNotice:a?.notice,replacedBy:a?.replacedBy,deprecationDate:a?.deprecationDate})}function K(e){let t=ce.parse(e),a=t.providers?.length?t.providers.filter((o)=>ge().includes(o)):ge(),n=[];for(let o of a){let r=ci(o);for(let[c,s]of Object.entries(r))if(ft(c,s,t))n.push({providerId:o,modelId:c,info:s})}let i=Et(n,t.sortBy,t.sortDirection??"asc");if(t.limit&&t.limit>0)return i.slice(0,t.limit);return i}function No(){return K({capabilities:["images"]})}function Uo(){return K({capabilities:["reasoning"]})}function Yo(){return K({capabilities:["prompt-cache"]})}function jo(){return K({capabilities:["tools"]})}function Xo(){return K({capabilities:["computer-use"]})}function Ho(){return K({includeDeprecated:!1,status:["active","preview"]})}function $o(){return K({includeDeprecated:!0,status:["deprecated"]})}function Jo(e,t){return K({maxInputPrice:e,maxOutputPrice:t,sortBy:"inputPrice"})}function Zo(e){return K({minContextWindow:e,sortBy:"contextWindow",sortDirection:"desc"})}function Io(e){return K({providers:[e]})}function zo(e){return K({search:e})}class mi{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 K(this.config)}}function er(){return new mi}async function tr(){let e=await pi(),t={},a={},n={},i=[];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(n[p]=(n[p]??0)+1,s.pricing?.input!==void 0)i.push(s.pricing.input)}let o=i.sort((c,s)=>c-s),r={min:o[0]??0,max:o[o.length-1]??0,avg:i.length>0?i.reduce((c,s)=>c+s,0)/i.length:0};return{totalModels:e.length,modelsByProvider:t,modelsByCapability:a,modelsByStatus:n,priceRange:r}}k();Xi();Hi();$i();Ji();Zi();Ii();t0();a0();i0();n0();c0();s0();p0();u0();m0();l0();d0();g0();x0();W0();w0();D0();R0();k0();ra();T0();ei();E0();v0();P0();O0();C0();q0();F0();y0();V0();N0();U0();Y0();X0();var _a={};x(_a,{getTogetherLlamaModels:()=>Da,getOpenAIReasoningModels:()=>ua,getGroqVisionModels:()=>jt,getGeminiThinkingModels:()=>Ut,getFireworksFunctionModels:()=>yt,getDeepSeekReasoningModels:()=>qt,getAnthropicReasoningModels:()=>Gt,getActiveXAIModels:()=>Ma,getActiveOpenAIModels:()=>pa,getActiveGeminiModels:()=>Nt,getActiveAnthropicModels:()=>Pt,ZAI_PROVIDER:()=>j0,ZAI_MODELS:()=>fa,ZAI_DEFAULT_MODEL:()=>oi,XAI_PROVIDER:()=>Ta,XAI_MODELS:()=>le,XAI_DEFAULT_MODEL:()=>lt,VERTEX_PROVIDER:()=>ka,VERTEX_MODELS:()=>Ce,VERTEX_DEFAULT_MODEL:()=>mt,VERCEL_AI_GATEWAY_PROVIDER:()=>Ra,TOGETHER_PROVIDER:()=>ba,TOGETHER_MODELS:()=>me,TOGETHER_DEFAULT_MODEL:()=>ut,SAP_AI_CORE_PROVIDER:()=>B0,SAP_AI_CORE_MODELS:()=>wa,SAP_AI_CORE_DEFAULT_MODEL:()=>ni,SAMBANOVA_PROVIDER:()=>Wa,SAMBANOVA_MODELS:()=>Le,SAMBANOVA_DEFAULT_MODEL:()=>pt,REQUESTY_PROVIDER:()=>ha,QWEN_PROVIDER:()=>A0,QWEN_MODELS:()=>ga,QWEN_DEFAULT_MODEL:()=>ai,QWEN_CODE_PROVIDER:()=>L0,QWEN_CODE_MODELS:()=>xa,QWEN_CODE_DEFAULT_MODEL:()=>ii,OPENROUTER_PROVIDER:()=>da,OPENROUTER_MODELS:()=>ct,OPENROUTER_DEFAULT_MODEL:()=>st,OPENCODE_PROVIDER:()=>_0,OPENCODE_MODELS:()=>la,OPENCODE_DEFAULT_MODEL:()=>ti,OPENAI_PROVIDER:()=>sa,OPENAI_MODELS:()=>ee,OPENAI_DEFAULT_MODEL:()=>ot,OPENAI_CODEX_PROVIDER:()=>ma,OPENAI_CODEX_DEFAULT_MODEL:()=>rt,OLLAMA_PROVIDER:()=>ca,OCA_PROVIDER:()=>oa,OCA_MODELS:()=>Se,OCA_DEFAULT_MODEL:()=>nt,NOUS_RESEARCH_PROVIDER:()=>na,NOUS_RESEARCH_MODELS:()=>it,NOUS_RESEARCH_DEFAULT_MODEL:()=>ia,NEBIUS_PROVIDER:()=>aa,NEBIUS_MODELS:()=>Oe,NEBIUS_DEFAULT_MODEL:()=>at,MOONSHOT_PROVIDER:()=>ta,MOONSHOT_MODELS:()=>Ae,MOONSHOT_DEFAULT_MODEL:()=>tt,MISTRAL_PROVIDER:()=>ea,MINIMAX_PROVIDER:()=>zt,MINIMAX_MODELS:()=>Ge,MINIMAX_DEFAULT_MODEL:()=>et,LMSTUDIO_PROVIDER:()=>It,LITELLM_PROVIDER:()=>Zt,HUGGINGFACE_PROVIDER:()=>Jt,HUGGINGFACE_MODELS:()=>$t,HUAWEI_CLOUD_MAAS_PROVIDER:()=>Ht,HICAP_PROVIDER:()=>Xt,GROQ_PROVIDER:()=>Yt,GROQ_MODELS:()=>ue,GROQ_DEFAULT_MODEL:()=>ze,GEMINI_PROVIDER:()=>Vt,GEMINI_MODELS:()=>I,GEMINI_DEFAULT_MODEL:()=>Ie,FIREWORKS_PROVIDER:()=>Bt,FIREWORKS_MODELS:()=>pe,FIREWORKS_DEFAULT_MODEL:()=>Ze,DOUBAO_PROVIDER:()=>r0,DOUBAO_MODELS:()=>Kt,DOUBAO_DEFAULT_MODEL:()=>za,DIFY_PROVIDER:()=>Ft,DEFAULT_INTERNAL_OCA_BASE_URL:()=>z,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>H,DEEPSEEK_PROVIDER:()=>Qt,DEEPSEEK_MODELS:()=>se,DEEPSEEK_DEFAULT_MODEL:()=>Je,CLINE_PROVIDER:()=>Pe,CLINE_MODELS:()=>ve,CLINE_DEFAULT_MODEL:()=>_e,CLAUDE_CODE_PROVIDER:()=>Ct,CLAUDE_CODE_MODELS:()=>He,CLAUDE_CODE_DEFAULT_MODEL:()=>$e,CEREBRAS_PROVIDER:()=>Lt,CEREBRAS_MODELS:()=>Ee,CEREBRAS_DEFAULT_MODEL:()=>Xe,BEDROCK_PROVIDER:()=>St,BEDROCK_MODELS:()=>fe,BEDROCK_DEFAULT_MODEL:()=>je,BASETEN_PROVIDER:()=>Ot,ASKSAGE_PROVIDER:()=>At,ANTHROPIC_PROVIDER:()=>vt,ANTHROPIC_MODELS:()=>Z,ANTHROPIC_DEFAULT_MODEL:()=>Ye,AIHUBMIX_PROVIDER:()=>_t});var Qr={};x(Qr,{toProviderConfig:()=>hi,supportsModelThinking:()=>te,resolveProviderConfig:()=>ht,parseSettings:()=>xi,normalizeProviderId:()=>F,isProviderSupported:()=>Cr,hasModelCapability:()=>N,getModelPricing:()=>gi,createHandlerAsync:()=>Si,createHandler:()=>Ua,ProviderSettingsSchema:()=>Oa,OPENAI_COMPATIBLE_PROVIDERS:()=>j,BUILT_IN_PROVIDERS:()=>On});import{z as xe}from"zod";var ir=xe.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"]),uc=xe.object({adapter:xe.string(),botUserName:xe.string().optional(),event:ir,payload:xe.record(xe.string(),xe.unknown()),ts:xe.string()});var $0=[{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 mc(e){return Object.fromEntries($0.flatMap((t)=>{let a=e==="modelsDevKey"?t.modelsDevKey:t.generatedProviderId;return a?[[t.modelsDevKey,a]]:[]}))}var J0=mc("generatedProviderId");function nr(e){return[...new Set(e)]}function va(e){let t=$0.flatMap((a)=>{if(!a.generatedProviderId)return[];if(a.generatedProviderId===e||a.runtimeProviderId===e)return[a.generatedProviderId];return[]});if(e==="nousResearch")return nr([...t,"nousresearch",e]);return nr([...t,e])}import{z as Q}from"zod";var lc=Q.object({agentId:Q.string(),conversationId:Q.string(),iteration:Q.number(),abortSignal:Q.custom().optional(),metadata:Q.record(Q.string(),Q.unknown()).optional()}),dc=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 he extends Error{constructor(e,t){super(`${e} at position ${t}`);this.position=t}}function or(e){return/^[0-9A-Fa-f]$/.test(e)}function we(e){return e>="0"&&e<="9"}function rr(e){return e>=" "}function Pa(e){return`,:[]/{}()
2
- +`.includes(e)}function Z0(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="_"||e==="$"}function I0(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="_"||e==="$"||e>="0"&&e<="9"}var z0=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,en=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function tn(e){return`,[]/{}
3
- +`.includes(e)}function an(e){return Ga(e)||gc.test(e)}var gc=/^[[{\w-]$/;function cr(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 sr(e,t){let a=e.charCodeAt(t);return a===32||a===9||a===13}function pr(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 Ga(e){return nn(e)||li(e)}function nn(e){return e==='"'||e==="“"||e==="”"}function on(e){return e==='"'}function li(e){return e==="'"||e==="‘"||e==="’"||e==="`"||e==="´"}function rn(e){return e==="'"}function xt(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=e.lastIndexOf(t);return n!==-1?e.substring(0,n)+(a?"":e.substring(n+1)):e}function V(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 ur(e,t,a){return e.substring(0,t)+e.substring(t+a)}function mr(e){return/[,\n][ \t\r]*$/.test(e)}var xc={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},hc={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
5
- `,r:"\r",t:"\t"};function cn(e){let t=0,a="";if(p(["```","[```","{```"]),!o())Vr();p(["```","```]","```}"]);let i=w(",");if(i)r();if(an(e[t])&&mr(a)){if(!i)a=V(a,",");O()}else if(i)a=xt(a,",");while(e[t]==="}"||e[t]==="]")t++,r();if(t>=e.length)return a;yr();function o(){r();let d=_()||M()||R()||G()||y()||q(!1)||ne();return r(),d}function r(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,f=t,E=c(d);do if(E=s(),E)E=c(d);while(E);return t>f}function c(d){let f=d?We:sr,E="";while(!0)if(f(e,t))E+=e[t],t++;else if(pr(e,t))E+=" ",t++;else break;if(E.length>0)return a+=E,!0;return!1}function s(){if(e[t]==="/"&&e[t+1]==="*"){while(t<e.length&&!Wc(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&&I0(e[t]))t++;return r(),!0}return!1}function g(d){c(!0);for(let f of d){let E=t+f.length;if(e.slice(t,E)===f)return t=E,!0}return!1}function w(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 D(){return b("\\")}function T(){if(r(),e[t]==="."&&e[t+1]==="."&&e[t+2]===".")return t+=3,r(),b(","),!0;return!1}function _(){if(e[t]==="{"){if(a+="{",t++,r(),b(","))r();let d=!0;while(t<e.length&&e[t]!=="}"){let f;if(!d){if(f=w(","),!f)a=V(a,",");r()}else f=!0,d=!1;if(T(),!(R()||q(!0))){if(e[t]==="}"||e[t]==="{"||e[t]==="]"||e[t]==="["||e[t]===void 0)a=xt(a,",");else Nr();break}r();let ja=w(":"),ke=t>=e.length;if(!ja)if(an(e[t])||ke)a=V(a,":");else Sn();if(!o())if(ja||ke)a+="null";else Sn()}if(e[t]==="}")a+="}",t++;else a=V(a,"}");return!0}return!1}function M(){if(e[t]==="["){if(a+="[",t++,r(),b(","))r();let d=!0;while(t<e.length&&e[t]!=="]"){if(!d){if(!w(","))a=V(a,",")}else d=!1;if(T(),!o()){a=xt(a,",");break}}if(e[t]==="]")a+="]",t++;else a=V(a,"]");return!0}return!1}function O(){let d=!0,f=!0;while(f){if(!d){if(!w(","))a=V(a,",")}else d=!1;f=o()}if(!f)a=xt(a,",");a=`[
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 Xe(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]=Xe(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 yn={};x(yn,{getGeneratedProviderModels:()=>Xi,getGeneratedModelsVersion:()=>$i,getGeneratedModelsForProvider:()=>u});function Xi(){return Vn??=Object.fromEntries(Object.entries(za.providers).map(([e,t])=>[e,Xe(t)])),Vn}function $i(){return za.version}function u(e){let t=Nn.get(e);if(t)return t;let a=Xe(za.providers[e]??{});return Nn.set(e,a),a}var Vn,Nn;var k=W(()=>{Fn();Nn=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:()=>$e});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,$e,Gt;var Hi=W(()=>{k();z=u("anthropic"),$e=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:$e,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:()=>je});var Ee,je,Ct;var Ii=W(()=>{k();Ee=u("bedrock"),je=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:je,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:()=>He});var _e,He,Qt;var zi=W(()=>{k();_e=u("cerebras"),He=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:He,env:["CEREBRAS_API_KEY"]},models:_e}});var Zn={};x(Zn,{CLAUDE_CODE_PROVIDER:()=>qt,CLAUDE_CODE_MODELS:()=>Je,CLAUDE_CODE_DEFAULT_MODEL:()=>Ze});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,Je,Ze="sonnet",qt;var a0=W(()=>{k();oc=u("anthropic");Je={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:Ze,capabilities:["reasoning"]},models:Je}});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:()=>Ie});function Kt(){return Object.fromEntries(Object.entries(pe).filter(([,e])=>e.capabilities?.includes("reasoning")))}var pe,Ie,Ft;var n0=W(()=>{k();pe=u("deepseek"),Ie=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:Ie,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:()=>yt,FIREWORKS_PROVIDER:()=>Nt,FIREWORKS_MODELS:()=>ue,FIREWORKS_DEFAULT_MODEL:()=>ze});function yt(){return Object.fromEntries(Object.entries(ue).filter(([,e])=>e.capabilities?.includes("tools")))}var ue,ze,Nt;var p0=W(()=>{k();ue=u("fireworks"),ze=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:ze,env:["FIREWORKS_API_KEY"]},models:ue}});var io={};x(io,{getGeminiThinkingModels:()=>Xt,getActiveGeminiModels:()=>Yt,GEMINI_PROVIDER:()=>Ut,GEMINI_MODELS:()=>ee,GEMINI_DEFAULT_MODEL:()=>et});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,et,Ut;var u0=W(()=>{k();ee=u("gemini"),et=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:et,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:()=>tt});function jt(){return Object.fromEntries(Object.entries(me).filter(([,e])=>e.capabilities?.includes("images")))}var me,tt,$t;var m0=W(()=>{k();me=u("groq"),tt=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:tt,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:()=>at});var W0="MiniMax-M2.5",Ae,at,ta;var w0=W(()=>{k();Ae={[W0]:{id:W0,name:"MiniMax M2.5",capabilities:["streaming","tools","reasoning","prompt-cache"]},...u("minimax")},at=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:at,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:()=>it});var D0="kimi-k2-0905-preview",Oe,it,ia;var R0=W(()=>{k();Oe={[D0]:{id:D0,name:"Kimi K2 Preview",capabilities:["streaming","tools","reasoning"]},...u("moonshot")},it=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:it,capabilities:["reasoning","prompt-cache"],env:["MOONSHOT_API_KEY"]},models:Oe}});var xo={};x(xo,{NEBIUS_PROVIDER:()=>na,NEBIUS_MODELS:()=>Le,NEBIUS_DEFAULT_MODEL:()=>nt});var Le,nt,na;var k0=W(()=>{k();Le=u("nebius"),nt=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:nt,env:["NEBIUS_API_KEY"]},models:Le}});var ho={};x(ho,{NOUS_RESEARCH_PROVIDER:()=>ra,NOUS_RESEARCH_MODELS:()=>ot,NOUS_RESEARCH_DEFAULT_MODEL:()=>oa});var ot,oa="DeepHermes-3-Llama-3-3-70B-Preview",ra;var T0=W(()=>{ot={},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:ot}});var Wo={};x(Wo,{OCA_PROVIDER:()=>ca,OCA_MODELS:()=>Se,OCA_DEFAULT_MODEL:()=>rt,DEFAULT_INTERNAL_OCA_BASE_URL:()=>te,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>H});var te="https://code-internal.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm",H="https://code.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm",rt="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:H,defaultModelId:Object.keys(Se)[0]??rt,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:()=>ct});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,ct,ua;var ti=W(()=>{k();ae=u("openai"),ct=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:ct,capabilities:["reasoning"],env:["OPENAI_API_KEY"]},models:ae}});var bo={};x(bo,{OPENAI_CODEX_PROVIDER:()=>da,OPENAI_CODEX_MODELS:()=>E0,OPENAI_CODEX_DEFAULT_MODEL:()=>st});function cc(e){if(!e.capabilities?.includes("tools"))return e;return{...e,capabilities:e.capabilities.filter((t)=>t!=="tools")}}var E0,st,da;var _0=W(()=>{k();E0=Object.fromEntries(Object.entries(u("openai")).map(([e,t])=>[e,cc(t)])),st=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:st,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:()=>pt,OPENROUTER_DEFAULT_MODEL:()=>ut});var pt,ut="anthropic/claude-sonnet-4.6",xa;var G0=W(()=>{k();pt=u("openrouter"),xa={provider:{id:"openrouter",name:"OpenRouter",description:"OpenRouter AI platform",protocol:"openai-chat",baseUrl:"https://openrouter.ai/api/v1",defaultModelId:ut,capabilities:["reasoning","prompt-cache"],env:["OPENROUTER_API_KEY"]},models:pt}});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:()=>mt});var Ce,mt,ba;var K0=W(()=>{k();Ce=u("sambanova"),mt=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:mt,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 N0=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:()=>lt});function ka(){return Object.fromEntries(Object.entries(le).filter(([e])=>e.toLowerCase().includes("llama")))}var le,lt,Ra;var y0=W(()=>{k();le=u("together"),lt=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:lt,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:()=>dt});var Qe,Po,pc,dt,Ma;var Y0=W(()=>{k();Qe=u("vertex"),Po=Object.keys(Qe),pc=Po.find((e)=>!e.includes("claude")),dt=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:dt,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:()=>gt});function Ea(){return Object.fromEntries(Object.entries(de).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}var de,gt,fa;var X0=W(()=>{k();de=u("xai"),gt=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:gt,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:()=>Ni,resetRegistry:()=>No,registerProvider:()=>mi,registerModels:()=>yo,registerModel:()=>ht,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:()=>yt,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:()=>gt,VERTEX_PROVIDER:()=>Ma,VERTEX_MODELS:()=>Qe,VERTEX_DEFAULT_MODEL:()=>dt,VERCEL_AI_GATEWAY_PROVIDER:()=>Ta,ThinkingConfigSchema:()=>Ja,TOGETHER_PROVIDER:()=>Ra,TOGETHER_MODELS:()=>le,TOGETHER_DEFAULT_MODEL:()=>lt,SAMBANOVA_PROVIDER:()=>ba,SAMBANOVA_MODELS:()=>Ce,SAMBANOVA_DEFAULT_MODEL:()=>mt,REQUESTY_PROVIDER:()=>wa,ProviderInfoSchema:()=>Ia,ProviderCapabilitySchema:()=>Za,OPENROUTER_PROVIDER:()=>xa,OPENROUTER_MODELS:()=>pt,OPENROUTER_DEFAULT_MODEL:()=>ut,OPENAI_PROVIDER:()=>ua,OPENAI_MODELS:()=>ae,OPENAI_DEFAULT_MODEL:()=>ct,OPENAI_CODEX_PROVIDER:()=>da,OPENAI_CODEX_DEFAULT_MODEL:()=>st,OLLAMA_PROVIDER:()=>pa,OCA_PROVIDER:()=>ca,OCA_MODELS:()=>Se,OCA_DEFAULT_MODEL:()=>rt,NOUS_RESEARCH_PROVIDER:()=>ra,NOUS_RESEARCH_MODELS:()=>ot,NOUS_RESEARCH_DEFAULT_MODEL:()=>oa,NEBIUS_PROVIDER:()=>na,NEBIUS_MODELS:()=>Le,NEBIUS_DEFAULT_MODEL:()=>nt,ModelStatusSchema:()=>Ye,ModelQueryResultSchema:()=>yi,ModelQueryConfigSchema:()=>se,ModelQueryBuilder:()=>li,ModelPricingSchema:()=>Ha,ModelInfoSchema:()=>Me,ModelEntrySchema:()=>qi,ModelCollectionSchema:()=>Fi,ModelCapabilitySchema:()=>ce,MOONSHOT_PROVIDER:()=>ia,MOONSHOT_MODELS:()=>Oe,MOONSHOT_DEFAULT_MODEL:()=>it,MISTRAL_PROVIDER:()=>aa,MINIMAX_PROVIDER:()=>ta,MINIMAX_MODELS:()=>Ae,MINIMAX_DEFAULT_MODEL:()=>at,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:()=>tt,GEMINI_PROVIDER:()=>Ut,GEMINI_MODELS:()=>ee,GEMINI_DEFAULT_MODEL:()=>et,FIREWORKS_PROVIDER:()=>Nt,FIREWORKS_MODELS:()=>ue,FIREWORKS_DEFAULT_MODEL:()=>ze,DIFY_PROVIDER:()=>Bt,DEFAULT_INTERNAL_OCA_BASE_URL:()=>te,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>H,DEEPSEEK_PROVIDER:()=>Ft,DEEPSEEK_MODELS:()=>pe,DEEPSEEK_DEFAULT_MODEL:()=>Ie,CLINE_PROVIDER:()=>Ge,CLINE_MODELS:()=>Pe,CLINE_DEFAULT_MODEL:()=>ve,CLAUDE_CODE_PROVIDER:()=>qt,CLAUDE_CODE_MODELS:()=>Je,CLAUDE_CODE_DEFAULT_MODEL:()=>Ze,CEREBRAS_PROVIDER:()=>Qt,CEREBRAS_MODELS:()=>_e,CEREBRAS_DEFAULT_MODEL:()=>He,BEDROCK_PROVIDER:()=>Ct,BEDROCK_MODELS:()=>Ee,BEDROCK_DEFAULT_MODEL:()=>je,BASETEN_PROVIDER:()=>St,ApiFormatSchema:()=>Ue,ApiFormat:()=>I,ASKSAGE_PROVIDER:()=>Lt,ANTHROPIC_PROVIDER:()=>Gt,ANTHROPIC_MODELS:()=>z,ANTHROPIC_DEFAULT_MODEL:()=>$e,AIHUBMIX_PROVIDER:()=>Pt});import{z as w}from"zod";var Ue=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"]),Ye=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:Ue.optional(),systemRole:w.enum(["system","developer"]).optional(),temperature:w.number().optional(),pricing:Ha.optional(),thinkingConfig:Ja.optional(),status:Ye.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 Ni(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(Ye).optional(),includeDeprecated:A.boolean().optional(),apiFormat:Ue.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()}),yi=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(() => (N0(),Eo))).SAP_AI_CORE_PROVIDER],["together",async()=>(await Promise.resolve().then(() => (y0(),_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,xt=new Map,X=new Map,qe=new Map,uc=Lo;function mc(){for(let[e,t]of uc)xt.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=xt.get(e);if(!t)return;let a=await lc(t);return va.set(e,a),a}function xe(){let e=Array.from(xt.keys()),t=Array.from(qe.keys()).filter((a)=>!xt.has(a));return[...e,...t]}function ci(e){return xt.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=X.get(e);if(i)return{...a,...Object.fromEntries(i)};return a}async function pi(e,t){let a=X.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=X.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=X.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 ht(e,t,a){if(!X.has(e))X.set(e,new Map);X.get(e)?.set(t,{...a,id:t})}function Ko(e,t){let a=X.get(e);if(a)return a.delete(t);return!1}function Bo(e){return X.delete(e),va.delete(e),qe.delete(e)||xt.delete(e)}function Vo(){X.clear()}function No(){va.clear(),X.clear(),qe.clear()}function yo(e,t){for(let[a,i]of Object.entries(t))ht(e,a,i)}async function H0(e,t,a){let i=await pi(e,t);if(!i)return;let n={...i,...a};return ht(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();N0();y0();U0();Y0();X0();j0();var Pa={};x(Pa,{getTogetherLlamaModels:()=>ka,getOpenAIReasoningModels:()=>la,getGroqVisionModels:()=>jt,getGeminiThinkingModels:()=>Xt,getFireworksFunctionModels:()=>yt,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:()=>gt,VERTEX_PROVIDER:()=>Ma,VERTEX_MODELS:()=>Qe,VERTEX_DEFAULT_MODEL:()=>dt,VERCEL_AI_GATEWAY_PROVIDER:()=>Ta,TOGETHER_PROVIDER:()=>Ra,TOGETHER_MODELS:()=>le,TOGETHER_DEFAULT_MODEL:()=>lt,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:()=>mt,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:()=>pt,OPENROUTER_DEFAULT_MODEL:()=>ut,OPENCODE_PROVIDER:()=>v0,OPENCODE_MODELS:()=>ga,OPENCODE_DEFAULT_MODEL:()=>ai,OPENAI_PROVIDER:()=>ua,OPENAI_MODELS:()=>ae,OPENAI_DEFAULT_MODEL:()=>ct,OPENAI_CODEX_PROVIDER:()=>da,OPENAI_CODEX_DEFAULT_MODEL:()=>st,OLLAMA_PROVIDER:()=>pa,OCA_PROVIDER:()=>ca,OCA_MODELS:()=>Se,OCA_DEFAULT_MODEL:()=>rt,NOUS_RESEARCH_PROVIDER:()=>ra,NOUS_RESEARCH_MODELS:()=>ot,NOUS_RESEARCH_DEFAULT_MODEL:()=>oa,NEBIUS_PROVIDER:()=>na,NEBIUS_MODELS:()=>Le,NEBIUS_DEFAULT_MODEL:()=>nt,MOONSHOT_PROVIDER:()=>ia,MOONSHOT_MODELS:()=>Oe,MOONSHOT_DEFAULT_MODEL:()=>it,MISTRAL_PROVIDER:()=>aa,MINIMAX_PROVIDER:()=>ta,MINIMAX_MODELS:()=>Ae,MINIMAX_DEFAULT_MODEL:()=>at,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:()=>tt,GEMINI_PROVIDER:()=>Ut,GEMINI_MODELS:()=>ee,GEMINI_DEFAULT_MODEL:()=>et,FIREWORKS_PROVIDER:()=>Nt,FIREWORKS_MODELS:()=>ue,FIREWORKS_DEFAULT_MODEL:()=>ze,DOUBAO_PROVIDER:()=>c0,DOUBAO_MODELS:()=>Vt,DOUBAO_DEFAULT_MODEL:()=>ei,DIFY_PROVIDER:()=>Bt,DEFAULT_INTERNAL_OCA_BASE_URL:()=>te,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>H,DEEPSEEK_PROVIDER:()=>Ft,DEEPSEEK_MODELS:()=>pe,DEEPSEEK_DEFAULT_MODEL:()=>Ie,CLINE_PROVIDER:()=>Ge,CLINE_MODELS:()=>Pe,CLINE_DEFAULT_MODEL:()=>ve,CLAUDE_CODE_PROVIDER:()=>qt,CLAUDE_CODE_MODELS:()=>Je,CLAUDE_CODE_DEFAULT_MODEL:()=>Ze,CEREBRAS_PROVIDER:()=>Qt,CEREBRAS_MODELS:()=>_e,CEREBRAS_DEFAULT_MODEL:()=>He,BEDROCK_PROVIDER:()=>Ct,BEDROCK_MODELS:()=>Ee,BEDROCK_DEFAULT_MODEL:()=>je,BASETEN_PROVIDER:()=>St,ASKSAGE_PROVIDER:()=>Lt,ANTHROPIC_PROVIDER:()=>Gt,ANTHROPIC_MODELS:()=>z,ANTHROPIC_DEFAULT_MODEL:()=>$e,AIHUBMIX_PROVIDER:()=>Pt});var Kr={};x(Kr,{toProviderConfig:()=>Wi,supportsModelThinking:()=>ie,resolveProviderConfig:()=>wt,parseSettings:()=>hi,normalizeProviderId:()=>K,isProviderSupported:()=>Fr,hasModelCapability:()=>N,getModelPricing:()=>xi,createHandlerAsync:()=>Ci,createHandler:()=>Xa,ProviderSettingsSchema:()=>Sa,OPENAI_COMPATIBLE_PROVIDERS:()=>$,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 y(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=b(",");if(n)r();if(nn(e[t])&&dr(a)){if(!n)a=y(a,",");v()}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=G()||h()||R()||M()||Y()||O(!1)||Mt();return r(),d}function r(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,f=t,_=c(d);do if(_=s(),_)_=c(d);while(_);return t>f}function c(d){let f=d?we:ur,_="";while(!0)if(f(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 f of d){let _=t+f.length;if(e.slice(t,_)===f)return t=_,!0}return!1}function b(d){if(e[t]===d)return a+=e[t],t++,!0;return!1}function D(d){if(e[t]===d)return t++,!0;return!1}function T(){return D("\\")}function P(){if(r(),e[t]==="."&&e[t+1]==="."&&e[t+2]===".")return t+=3,r(),D(","),!0;return!1}function G(){if(e[t]==="{"){if(a+="{",t++,r(),D(","))r();let d=!0;while(t<e.length&&e[t]!=="}"){let f;if(!d){if(f=b(","),!f)a=y(a,",");r()}else f=!0,d=!1;if(P(),!(R()||O(!0))){if(e[t]==="}"||e[t]==="{"||e[t]==="]"||e[t]==="["||e[t]===void 0)a=Wt(a,",");else Xr();break}r();let $a=b(":"),Te=t>=e.length;if(!$a)if(nn(e[t])||Te)a=y(a,":");else Cn();if(!o())if($a||Te)a+="null";else Cn()}if(e[t]==="}")a+="}",t++;else a=y(a,"}");return!0}return!1}function h(){if(e[t]==="["){if(a+="[",t++,r(),D(","))r();let d=!0;while(t<e.length&&e[t]!=="]"){if(!d){if(!b(","))a=y(a,",")}else d=!1;if(P(),!o()){a=Wt(a,",");break}}if(e[t]==="]")a+="]",t++;else a=y(a,"]");return!0}return!1}function v(){let d=!0,f=!0;while(f){if(!d){if(!b(","))a=y(a,",")}else d=!1;f=o()}if(!f)a=Wt(a,",");a=`[
7
7
  ${a}
8
- ]`}function R(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,E=e[t]==="\\";if(E)t++,E=!0;if(Ga(e[t])){let ja=on(e[t])?on:rn(e[t])?rn:li(e[t])?li:nn,ke=t,Tt=a.length,S='"';t++;while(!0){if(t>=e.length){let l=kt(t-1);if(!d&&Pa(e.charAt(l)))return t=ke,a=a.substring(0,Tt),R(!0);return S=V(S,'"'),a+=S,!0}if(t===f)return S=V(S,'"'),a+=S,!0;if(ja(e[t])){let l=t,Ci=S.length;if(S+='"',t++,a+=S,r(!1),d||t>=e.length||Pa(e[t])||Ga(e[t])||we(e[t]))return v(),!0;let oe=kt(l-1),Ln=e.charAt(oe);if(Ln===",")return t=ke,a=a.substring(0,Tt),R(!1,oe);if(Pa(Ln))return t=ke,a=a.substring(0,Tt),R(!0);a=a.substring(0,Tt),t=l+1,S=`${S.substring(0,Ci)}\\${S.substring(Ci)}`}else if(d&&tn(e[t])){if(e[t-1]===":"&&z0.test(e.substring(ke+1,t+2)))while(t<e.length&&en.test(e[t]))S+=e[t],t++;return S=V(S,'"'),a+=S,v(),!0}else if(e[t]==="\\"){let l=e.charAt(t+1);if(hc[l]!==void 0)S+=e.slice(t,t+2),t+=2;else if(l==="u"){let oe=2;while(oe<6&&or(e[t+oe]))oe++;if(oe===6)S+=e.slice(t,t+6),t+=6;else if(t+oe>=e.length)t=e.length;else Ur()}else S+=l,t+=2}else{let l=e.charAt(t);if(l==='"'&&e[t-1]!=="\\")S+=`\\${l}`,t++;else if(cr(l))S+=xc[l],t++;else{if(!rr(l))Br(l);S+=l,t++}}if(E)D()}}return!1}function v(){let d=!1;r();while(e[t]==="+"){d=!0,t++,r(),a=xt(a,'"',!0);let f=a.length;if(R())a=ur(a,f,1);else a=V(a,'"')}return d}function G(){let d=t;if(e[t]==="-"){if(t++,Ya())return Li(d),!0;if(!we(e[t]))return t=d,!1}while(we(e[t]))t++;if(e[t]==="."){if(t++,Ya())return Li(d),!0;if(!we(e[t]))return t=d,!1;while(we(e[t]))t++}if(e[t]==="e"||e[t]==="E"){if(t++,e[t]==="-"||e[t]==="+")t++;if(Ya())return Li(d),!0;if(!we(e[t]))return t=d,!1;while(we(e[t]))t++}if(!Ya())return t=d,!1;if(t>d){let f=e.slice(d,t),E=/^0\d/.test(f);return a+=E?`"${f}"`:f,!0}return!1}function y(){return P("true","true")||P("false","false")||P("null","null")||P("True","true")||P("False","false")||P("None","null")}function P(d,f){if(e.slice(t,t+d.length)===d)return a+=f,t+=d.length,!0;return!1}function q(d){let f=t;if(Z0(e[t])){while(t<e.length&&I0(e[t]))t++;let E=t;while(We(e,E))E++;if(e[E]==="("){if(t=E+1,o(),e[t]===")"){if(t++,e[t]===";")t++}return!0}}while(t<e.length&&!tn(e[t])&&!Ga(e[t])&&(!d||e[t]!==":"))t++;if(e[t-1]===":"&&z0.test(e.substring(f,t+2)))while(t<e.length&&en.test(e[t]))t++;if(t>f){while(We(e,t-1)&&t>0)t--;let E=e.slice(f,t);if(a+=E==="undefined"?"null":JSON.stringify(E),e[t]==='"')t++;return!0}}function ne(){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 kt(d){let f=d;while(f>0&&We(e,f))f--;return f}function Ya(){return t>=e.length||Pa(e[t])||We(e,t)}function Li(d){a+=`${e.slice(d,t)}0`}function Br(d){throw new he(`Invalid character ${JSON.stringify(d)}`,t)}function yr(){throw new he(`Unexpected character ${JSON.stringify(e[t])}`,t)}function Vr(){throw new he("Unexpected end of json string",e.length)}function Nr(){throw new he("Object key expected",t)}function Sn(){throw new he("Colon expected",t)}function Ur(){let d=e.slice(t,t+6);throw new he(`Invalid unicode character "${d}"`,t)}}function Wc(e,t){return e[t]==="*"&&e[t+1]==="/"}function lr(e){return JSON.parse(e)}function di(e){if(typeof e!=="string")return e;let t=e.trimStart();if(!(t.startsWith("{")||t.startsWith("[")))return e;try{return lr(t)}catch{try{return lr(cn(t))}catch{return e}}}import{z as Du}from"zod";function B(e,t){return`<file_content path="${e}">
8
+ ]`}function R(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,f=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,L='"';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 L=y(L,'"'),a+=L,!0}if(t===f)return L=y(L,'"'),a+=L,!0;if($a(e[t])){let l=t,Qi=L.length;if(L+='"',t++,a+=L,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,L=`${L.substring(0,Qi)}\\${L.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]))L+=e[t],t++;return L=y(L,'"'),a+=L,E(),!0}else if(e[t]==="\\"){let l=e.charAt(t+1);if(bc[l]!==void 0)L+=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)L+=e.slice(t,t+6),t+=6;else if(t+re>=e.length)t=e.length;else $r()}else L+=l,t+=2}else{let l=e.charAt(t);if(l==='"'&&e[t-1]!=="\\")L+=`\\${l}`,t++;else if(pr(l))L+=wc[l],t++;else{if(!sr(l))yr(l);L+=l,t++}}if(_)T()}}return!1}function E(){let d=!1;r();while(e[t]==="+"){d=!0,t++,r(),a=Wt(a,'"',!0);let f=a.length;if(R())a=lr(a,f,1);else a=y(a,'"')}return d}function M(){let d=t;if(e[t]==="-"){if(t++,Z())return ye(d),!0;if(!be(e[t]))return t=d,!1}while(be(e[t]))t++;if(e[t]==="."){if(t++,Z())return ye(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(Z())return ye(d),!0;if(!be(e[t]))return t=d,!1;while(be(e[t]))t++}if(!Z())return t=d,!1;if(t>d){let f=e.slice(d,t),_=/^0\d/.test(f);return a+=_?`"${f}"`:f,!0}return!1}function Y(){return C("true","true")||C("false","false")||C("null","null")||C("True","true")||C("False","false")||C("None","null")}function C(d,f){if(e.slice(t,t+d.length)===d)return a+=f,t+=d.length,!0;return!1}function O(d){let f=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(f,t+2)))while(t<e.length&&tn.test(e[t]))t++;if(t>f){while(we(e,t-1)&&t>0)t--;let _=e.slice(f,t);if(a+=_==="undefined"?"null":JSON.stringify(_),e[t]==='"')t++;return!0}}function Mt(){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 f=d;while(f>0&&we(e,f))f--;return f}function Z(){return t>=e.length||Aa(e[t])||we(e,t)}function ye(d){a+=`${e.slice(d,t)}0`}function yr(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}">
9
9
  ${t}
10
- </file_content>`}function wc(e){if(!e||typeof e!=="object")return!1;let t=e;return typeof t.provider==="object"&&typeof t.models==="object"}function bc(e){return e==="openai-chat"||e==="openai-responses"||e==="openai-r1"}function dr(e){let t={},a=e?.includeKnownModels??!1;for(let n of Object.values(_a)){if(!wc(n))continue;let i=n.provider;if(!bc(i.protocol)||!i.baseUrl)continue;t[i.id]={baseUrl:i.baseUrl,modelId:i.defaultModelId,knownModels:a?n.models:void 0,capabilities:i.capabilities}}return t}var mn="https://models.dev/api.json",Dc=600000,Rc=300000,gr=new Map,sn=new Map,xr=new Map,pn=new Map,hr;async function kc(){return hr??=Promise.resolve().then(() => (k(),yn)).then(({getGeneratedProviderModels:e})=>e()),hr}async function Tc(e,t={},a={},n={},i={}){let o=await kc(),r=va(e),c=Object.assign({},...r.map((s)=>o[s]??{}));return Ue({...c,...t,...a,...n,...i})}function Wr(e){let t=e?.trim();return t&&t.length>0?t:""}function ln(e){let t=e.apiKey?.trim()||e.accessToken?.trim();return t&&t.length>0?t:void 0}function Mc(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 fc(e,t){return`${e}:${Wr(t.baseUrl)}:${Mc(ln(t)??"")}`}function un(e,t,a){if(a&&!e.includes(t))e.push(t)}function dn(e,t){let a=["streaming","tools"];return un(a,"images",Boolean(t.supportsImages)),un(a,"prompt-cache",Boolean(t.supportsPromptCache)),un(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 Ec(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 i=(await a.json())?.data??[],o={};for(let r of i){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]=dn(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 _c(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 i=(await a.json())?.data??[],o={};for(let r of i){let c=r.id?.trim();if(!c)continue;o[c]=dn(c,{name:c,contextWindow:128000,supportsImages:!0,supportsPromptCache:!0})}return o}function vc(e){let t=Wr(e);if(!t)return"http://localhost:4000";return t.endsWith("/v1")?t.slice(0,-3):t}async function Pc(e,t){let n=`${vc(e.baseUrl)}/v1/model/info`,i=async(p)=>fetch(n,{method:"GET",headers:{accept:"application/json",...p}}),o=await i({"x-litellm-api-key":t});if(!o.ok)o=await i({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 D=p.model_info,T=dn(b,{name:g??b,maxTokens:D?.max_output_tokens??D?.max_tokens,contextWindow:D?.max_input_tokens??D?.max_tokens,supportsImages:D?.supports_vision,supportsPromptCache:D?.supports_prompt_caching,supportsReasoning:D?.supports_reasoning});if(s[b]=T,g)s[g]={...T,id:g,name:g}}return s}async function Gc(e,t){let a=ln(t);if(!a)return{};let n=wr[e];if(!n)return{};return n(t,a)}var wr={baseten:Ec,hicap:_c,litellm:Pc};function Ac(e,t,a){if(!a)return!1;if(!wr[e])return!1;if(t?.loadPrivateOnAuth===!1)return!1;return Boolean(ln(a))}async function Oc(e,t,a){let n=t?.cacheTtlMs??Rc,i=fc(e,a),o=Date.now(),r=xr.get(i);if(r&&r.expiresAt>o)return r.data;let c=pn.get(i);if(c)return c;let s=Gc(e,a).then((p)=>{return xr.set(i,{data:p,expiresAt:o+n}),p}).finally(()=>{pn.delete(i)});return pn.set(i,s),s}async function Sc(e){return Fn(e,J0)}async function gn(e={}){let t=e.url??mn,a=e.cacheTtlMs??Dc,n=Date.now(),i=gr.get(t);if(i&&i.expiresAt>n)return i.data;let o=sn.get(t);if(o)return o;let r=Sc(t).then((c)=>{return gr.set(t,{data:c,expiresAt:n+a}),c}).finally(()=>{sn.delete(t)});return sn.set(t,r),r}function Lc(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=Lc(dr());function xn(e){return j[e]}async function ht(e,t,a){let n=xn(e);if(!n)return;try{let o=(t?.loadLatestOnInit?await gn(t):void 0)?.[e]??{},r=a&&Ac(e,t,a)?await Oc(e,t,a):{},c=await Tc(e,n.knownModels,o,r,a?.knownModels);return{...n,knownModels:c}}catch(i){if(t?.failOnError)throw i;return n}}function Aa(e){return e in j}var Wt;((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"})(Wt||={});var Cc={openai:"openai-native",togetherai:"together","sap-ai-core":"sapaicore"},br=Object.values(Wt);function F(e){let t=e.trim();return Cc[t]??t}function N(e,t){return e.capabilities?.includes(t)??!1}function te(e){return Boolean(e.thinkingConfig)||N(e,"reasoning")}function gi(e){return e.pricing??{}}k();ra();import{z as m}from"zod";var hn=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()}),qc=m.enum(["none","low","medium","high","xhigh"]),wn=m.object({enabled:m.boolean().optional(),effort:qc.optional(),budgetTokens:m.number().int().positive().optional()}),bn=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()}),Dn=m.object({projectId:m.string().optional(),region:m.string().optional()}),Rn=m.object({apiVersion:m.string().optional(),useIdentity:m.boolean().optional()}),kn=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()}),Tn=m.object({mode:m.enum(["internal","external"]).optional(),usePromptCache:m.boolean().optional()}),Mn=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()}),Oa=m.object({provider:hn,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:wn.optional(),aws:bn.optional(),gcp:Dn.optional(),azure:Rn.optional(),sap:kn.optional(),oca:Tn.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:Mn.optional()});function xi(e){return Oa.parse(e)}function hi(e){let t=e.provider,a=F(t),n=e.reasoning?.effort,i=n&&n!=="none"?n:void 0,o=j[a],r=Object.assign({},...va(a).map((g)=>u(g))),c=e.auth?.accessToken??e.apiKey??e.auth?.apiKey,s=e.baseUrl??(a==="oca"?e.oca?.mode==="internal"?z:H: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:i,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,w])=>w!==void 0))}import{Anthropic as es}from"@anthropic-ai/sdk";function X(e){if(Array.isArray(e))return{commands:e};return e}function ae(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(B(a.path,a.content));continue}t.push(JSON.stringify(a))}return t.join(`
11
- `)}function wt(e,t=!1){let a=[];for(let n of e){let i=Yc(n,t&&e.indexOf(n)===e.length-1);if(i)a.push(i)}return a}function Yc(e,t){let{role:a,content:n}=e;if(typeof n==="string"){let o={type:"text",text:n};if(t)o.cache_control={type:"ephemeral"};return{role:a,content:[o]}}let i=jc(n,t);if(i.length===0)return null;return{role:a,content:i}}function jc(e,t){let a=[];for(let n=0;n<e.length;n++){let i=e[n],o=n===e.length-1,r=Xc(i,t&&o);if(r)a.push(r)}return a}function Xc(e,t){switch(e.type){case"text":{let n={type:"text",text:e.text};if(t)n.cache_control={type:"ephemeral"};return n}case"file":{let a=e;return{type:"text",text:B(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:X(a.input)}}case"tool_result":{let a=e,n;if(typeof a.content==="string")n=a.content;else n=a.content.map((i)=>{if(i.type==="text")return{type:"text",text:i.text};else if(i.type==="file"){let o=i;return{type:"text",text:B(o.path,o.content)}}else return{type:"image",source:{type:"base64",media_type:i.mediaType,data:i.data}}});return{type:"tool_result",tool_use_id:a.tool_use_id,content:n,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 be(e){return e.map((t)=>({name:t.name,description:t.description,input_schema:t.inputSchema}))}var fn={maxRetries:4,baseDelay:2000,maxDelay:15000};class qe extends Error{retryAfterSeconds;constructor(e,t,a){super(e,a);this.retryAfterSeconds=t;this.name="RetriableError"}}function En(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 _n(e,t={}){let{baseDelay:a=fn.baseDelay,maxDelay:n=fn.maxDelay}=t,i=2**e*a,o=Math.random()*0.25*i;return Math.min(i+o,n)}function vn(e){return new Promise((t)=>setTimeout(t,e))}async function*C(e,t={}){let{maxRetries:a=fn.maxRetries,onRetryAttempt:n}=t;for(let i=0;i<=a;i++)try{yield*e();return}catch(o){if(!(i!==a&&En(o)))throw o;let s;if(o instanceof qe&&o.retryAfterSeconds)s=o.retryAfterSeconds*1000;else s=_n(i,t);if(n)n(i+1,a,s,o);await vn(s)}throw Error("Retry logic exhausted without returning or throwing")}var Hc=["cline","anthropic","openai-native","gemini","openrouter"];function $c(e){if(!e||typeof e!=="object")return!1;let t=e;return typeof t.provider==="object"&&typeof t.models==="object"}function Rr(e){return[...new Set(e)]}function Jc(){let e={};for(let t of Object.values(_a)){if(!$c(t))continue;let a=t.provider.id;e[a]=Rr(t.provider.env??[])}return e}var kr=Jc(),Tr=Rr(Hc.flatMap((e)=>kr[e]??[]));function Zc(e,t){let a=e[t];if(typeof a!=="string")return;let n=a.trim();return n.length>0?n:void 0}function Dr(e,t){for(let a of e){let n=Zc(t,a);if(n)return n}return}function Pn(e){return kr[F(e)]??[]}function U(e,t,a=process.env){let n=F(e),i=t?.trim();if(i)return i;let o=Dr(Pn(n),a);if(o)return o;if(n==="lmstudio")return"noop";return Dr(Tr,a)}function ie(e){let t=[...new Set([...Pn(e),...Tr])],a=t.length>0?t.join(", "):"provider-specific API key env var";return`Missing API key for provider "${F(e)}". Set apiKey explicitly or one of: ${a}.`}import{nanoid as Ic}from"nanoid";var zc={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","X-IS-MULTIROOT":"false","X-CLIENT-TYPE":"cline-sdk"};class L{config;abortController;constructor(e){this.config=e}getModel(){let e=this.config.modelId;return{id:e,info:{...this.config.modelInfo??{},id:e}}}async getApiStreamUsage(){return}getAbortSignal(){if(!this.abortController||this.abortController.signal.aborted)this.abortController=new AbortController;if(this.config.abortSignal){let e=this.config.abortSignal;if(e.aborted)this.abortController.abort(e.reason);else e.addEventListener("abort",()=>{this.abortController?.abort(e.reason)})}return this.abortController.signal}abort(){this.abortController?.abort()}setAbortSignal(e){if(this.config.abortSignal=e,e?.aborted)this.abortController?.abort(e.reason)}calculateCost(e,t,a=0){let i=(this.config.modelInfo??(this.config.modelId?this.config.knownModels?.[this.config.modelId]:void 0))?.pricing;if(!i?.input||!i?.output)return;let r=(e-a)/1e6*i.input,c=t/1e6*i.output,s=a>0?a/1e6*(i.cacheRead??0):0;return r+c+s}createResponseId(){return Ic()}withResponseId(e,t){return{...e,id:t}}*withResponseIdForAll(e,t){for(let a of e)yield this.withResponseId(a,t)}getRequestHeaders(){return{...zc,...this.config.headers??{}}}}var ts=1024,as="CLINE_DEBUG_THINKING";function is(){let e=process.env[as];if(!e)return!1;let t=e.trim().toLowerCase();return t==="1"||t==="true"||t==="yes"}class Sa extends L{client;ensureClient(){if(!this.client){let e=U(this.config.providerId,this.config.apiKey);if(!e)throw Error(ie(this.config.providerId));this.client=new es({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]??{},n=this.config.modelInfo??a;return{id:e,info:{...n,id:e}}}getMessages(e,t){let a=N(this.getModel().info,"prompt-cache");return wt(t,a)}async*createMessage(e,t,a){yield*C(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let n=this.ensureClient(),i=this.getModel(),o=this.getAbortSignal(),r=this.createResponseId(),c=te(i.info),s=this.config.thinkingBudgetTokens??(this.config.thinking?ts:0),p=c&&s>0?s:0,g=a&&a.length>0,w=N(i.info,"prompt-cache"),b=c&&p>0,D=is(),T={},_=(P)=>{T[P]=(T[P]??0)+1};if(D)console.error(`[thinking-debug][anthropic][request] model=${i.id} thinkingFlag=${this.config.thinking===!0} supportsModelThinking=${c} requestedBudget=${s} effectiveBudget=${p} reasoningOn=${b} promptCache=${w}`);let M=this.getMessages(e,t),O=g?be(a):void 0,R={signal:o},v=await n.messages.create({model:i.id,thinking:b?{type:"enabled",budget_tokens:p}:void 0,max_tokens:i.info.maxTokens??this.config.maxOutputTokens??8192,temperature:b?void 0:0,system:w?[{text:e,type:"text",cache_control:{type:"ephemeral"}}]:[{text:e,type:"text"}],messages:M,stream:!0,tools:O,tool_choice:g&&!b?{type:"auto"}:void 0},R),G={id:"",name:"",arguments:""},y={inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0};for await(let P of v){if(D){if(_(`event:${P.type}`),P.type==="content_block_start")_(`content_block_start:${P.content_block?.type??"unknown"}`);else if(P.type==="content_block_delta")_(`content_block_delta:${P.delta?.type??"unknown"}`)}yield*this.withResponseIdForAll(this.processChunk(P,G,y,r),r)}if(D){let P=Object.entries(T).map(([q,ne])=>`${q}=${ne}`).sort().join(" ");console.error(`[thinking-debug][anthropic][stream] ${P}`)}yield{type:"done",success:!0,id:r}}*processChunk(e,t,a,n){switch(e.type){case"message_start":{let i=e.message.usage;a.inputTokens=i.input_tokens||0,a.outputTokens=i.output_tokens||0,a.cacheWriteTokens=i.cache_creation_input_tokens||0,a.cacheReadTokens=i.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),id:n};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),id:n};break}case"content_block_start":{let i=e.content_block;switch(i.type){case"thinking":yield{type:"reasoning",reasoning:typeof i.thinking==="string"?i.thinking??"":"",signature:typeof i.signature==="string"?i.signature??void 0:void 0,id:n};break;case"redacted_thinking":yield{type:"reasoning",reasoning:"",redacted_data:typeof i.data==="string"?i.data??void 0:void 0,id:n};break;case"text":yield{type:"text",text:"",id:n};break;case"tool_use":t.id=i.id,t.name=i.name,t.arguments="";break}break}case"content_block_delta":{let i=e.delta;switch(i.type){case"thinking_delta":yield{type:"reasoning",reasoning:i.thinking,id:n};break;case"signature_delta":yield{type:"reasoning",reasoning:"",signature:typeof i.signature==="string"?i.signature??void 0:void 0,id:n};break;case"text_delta":yield{type:"text",text:i.text,id:n};break;case"input_json_delta":t.arguments+=i.partial_json;break}break}case"content_block_stop":{if(t.id){let i;try{i=JSON.parse(t.arguments||"{}")}catch{i=t.arguments}yield{type:"tool_calls",id:n,tool_call:{call_id:t.id,function:{name:t.name,arguments:i}}},t.id="",t.name="",t.arguments=""}break}}}}class Wi 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 n=await a.text();throw Error(`HTTP ${a.status}: ${n}`)}return await a.json()}async*createMessage(e,t,a){yield*C(()=>this.createMessageWithFetch(e,t))}}var ns="https://api.asksage.ai/server",os="gpt-4o";class La extends Wi{getDefaultBaseUrl(){return ns}getModel(){let e=this.config.modelId?.trim()||os,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:n}=this.getModel(),i={system_prompt:e,message:t.map((c)=>({user:c.role==="assistant"?"gpt":"me",message:this.serializeMessageContent(c.content)})),model:n,dataset:"none",usage:!0},o;try{o=await this.fetchJson("/query",{method:"POST",body:i})}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 wi,bi;async function rs(){if(wi)return wi;let e="@ai-sdk/amazon-bedrock",t=await import(e);if(!t.createAmazonBedrock)throw Error(`Failed to load createAmazonBedrock from ${e}`);return wi=t.createAmazonBedrock,wi}async function cs(){if(bi)return bi;let e="@aws-sdk/credential-providers",t=await import(e);if(!t.fromNodeProviderChain)throw Error(`Failed to load fromNodeProviderChain from ${e}`);return bi=t.fromNodeProviderChain,bi}async function Mr(e,t){let a=await rs(),n=e.region??"us-east-1",i=e.aws?.authentication,o=Boolean(e.aws?.accessKey&&e.aws?.secretKey),r=i==="profile"||i==="iam"||!i&&!o&&!e.apiKey,c;if(r)c=(await cs())({profile:e.aws?.profile});return a({region:n,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 fr=":1m",Di,ss=1024,ps="medium";async function us(){if(Di)return Di;return Di=await import("ai"),Di}class Ri extends L{clientFactory;async ensureClientFactory(){if(!this.clientFactory)this.clientFactory=await Mr(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 ls(e,t)}async*createMessage(e,t,a){yield*C(()=>this.createMessageInternal(e,t,a),{maxRetries:4})}async*createMessageInternal(e,t,a){let n=await us(),i=await this.ensureClientFactory(),o=this.createResponseId(),r=this.getAbortSignal(),c=this.getModel(),s=c.id,p={},g={};if(s.endsWith(fr))s=s.slice(0,-fr.length),g.anthropicBeta=["context-1m-2025-08-07"];let w=te(c.info),b=this.config.thinkingBudgetTokens??(this.config.thinking?ss:0),D=!1;if(w&&b>0&&s.includes("anthropic"))g.reasoningConfig={type:"enabled",budgetTokens:b},D=!0;else if(w&&s.includes("amazon.nova")){let M=this.config.reasoningEffort??(this.config.thinking?ps:void 0);if(M)g.reasoningConfig={type:"enabled",maxReasoningEffort:M},D=!0}if(Object.keys(g).length>0)p.bedrock=g;let T=n.streamText({model:i(s),messages:this.getMessages(e,t),tools:ms(a),maxTokens:c.info.maxTokens??this.config.maxOutputTokens??8192,temperature:D?void 0:c.info.temperature??0,providerOptions:Object.keys(p).length>0?p:void 0,abortSignal:r}),_=!1;if(T.fullStream)for await(let M of T.fullStream){let O=M.type;if(O==="text-delta"){let R=M.textDelta??M.delta;if(R)yield{type:"text",text:R,id:o};continue}if(O==="reasoning-delta"||O==="reasoning"){let R=M.textDelta??M.reasoning;if(R)yield{type:"reasoning",reasoning:R,id:o};continue}if(O==="tool-call"){let R=M.toolCallId??M.id,v=M.toolName??M.name,G=M.args??{};yield{type:"tool_calls",id:o,tool_call:{call_id:R,function:{name:v,arguments:G}}};continue}if(O==="error"){let R=M.error?.message??"Bedrock stream failed";throw Error(R)}if(O==="finish"){let R=M.usage??{},v=De(R.inputTokens),G=De(R.outputTokens),y=De(R.reasoningTokens),P=De(R.cachedInputTokens);yield{type:"usage",inputTokens:v-P,outputTokens:G,thoughtsTokenCount:y,cacheReadTokens:P,totalCost:this.calculateCost(v,G,P),id:o},_=!0}}else if(T.textStream)for await(let M of T.textStream)yield{type:"text",text:M,id:o};if(!_&&T.usage){let M=await T.usage,O=De(M.inputTokens),R=De(M.outputTokens),v=De(M.reasoningTokens),G=De(M.cachedInputTokens);yield{type:"usage",inputTokens:O-G,outputTokens:R,thoughtsTokenCount:v,cacheReadTokens:G,totalCost:this.calculateCost(O,R,G),id:o}}yield{type:"done",success:!0,id:o}}}function De(e){return typeof e==="number"&&Number.isFinite(e)?e:0}function ms(e){if(!e||e.length===0)return;let t=be(e);return Object.fromEntries(t.map((a)=>[a.name,{description:a.description,inputSchema:a.input_schema}]))}function ls(e,t){let a=[{role:"system",content:e}],n=new Map;for(let i of t){if(typeof i.content==="string"){a.push({role:i.role,content:i.content});continue}if(i.role==="assistant"){let r=[];for(let c of i.content){if(c.type==="text"){r.push({type:"text",text:c.text});continue}if(c.type==="tool_use")n.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 i.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:n.get(r.tool_use_id)??"tool",output:ds(r.content),isError:r.is_error??!1}]})}}if(o.length>0)a.push({role:"user",content:o})}return a}function ds(e){if(typeof e==="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}function bt(e,t,a){let n=a?.assistantToolCallArgKey??"args",i=[{role:"system",content:e}],o=new Map;for(let r of t){if(typeof r.content==="string"){i.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:B(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,[n]:X(p.input)})}if(s.length>0)i.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:B(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)i.push({role:"user",content:c.splice(0,c.length)});i.push({role:"tool",content:[{type:"tool-result",toolCallId:s.tool_use_id,toolName:o.get(s.tool_use_id)??"tool",output:ae(s.content),isError:s.is_error??!1}]})}}if(c.length>0)i.push({role:"user",content:c})}return i}var ki=null;async function Ti(e){if(ki)return ki;return e?.beforeImport?.(),ki=await import("ai"),ki}function $(e){return typeof e==="number"&&Number.isFinite(e)?e:0}function gs(e){return{inputTokens:$(e.inputTokens),outputTokens:$(e.outputTokens),thoughtsTokenCount:$(e.reasoningTokens??e.thoughtsTokenCount),cacheReadTokens:$(e.cachedInputTokens)}}async function*Mi(e,t){let a=t.resolveUsageMetrics??gs,n=new Set(t.reasoningTypes??["reasoning-delta"]),i=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&&n.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,w=s.toolName??s.name,b=i.map((D)=>s[D]).find((D)=>D!==void 0)??{};yield{type:"tool_calls",id:o,tool_call:{call_id:g,function:{id:t.toolCallFunctionIncludeId?g:void 0,name:w,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??{},w=a(g,s);yield{type:"usage",inputTokens:Math.max(0,w.inputTokens-w.cacheReadTokens),outputTokens:w.outputTokens,thoughtsTokenCount:w.thoughtsTokenCount,cacheReadTokens:w.cacheReadTokens,cacheWriteTokens:w.cacheWriteTokens,totalCost:t.calculateCost(w.inputTokens,w.outputTokens,w.cacheReadTokens),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: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),id:o}}yield{type:"done",success:!0,id:o}}var Er=new Map;function Gn(e,t){let a=e.modelId?.trim(),n=a&&a.length>0?a:t??"",o=(e.knownModels??{})[n]??{},r=e.modelInfo??o;return{id:n,info:{...r,id:n}}}async function xs(e){let t=Er.get(e);if(t)return t;let a=await import(e);return Er.set(e,a),a}class Re 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 xs(e.moduleName),a=t[e.createExportName],n=t[e.providerExportName];if(a){let i=a(this.getProviderCreateOptions());return this.provider=i,i}if(n)return this.provider=n,n;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 Gn(this.config,this.getDefaultModelId())}getMessages(e,t){return bt(e,t,{assistantToolCallArgKey:this.getAssistantToolCallArgKey()})}async*createMessage(e,t,a){yield*C(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let n=await Ti(this.getLoadAiSdkOptions()),i=await this.ensureProvider(),{id:o,info:r}=this.getModel(),c=this.createResponseId(),s=n.streamText({model:i(this.normalizeModelId(o),this.getProviderModelSettings()),messages:this.getMessages(e,t),maxTokens:r.maxTokens??void 0,temperature:r.temperature??void 0,abortSignal:this.getAbortSignal()});yield*Mi(s,{responseId:c,errorMessage:this.getStreamErrorMessage(),calculateCost:(p,g,w)=>this.calculateCost(p,g,w),...this.getEmitStreamOptions()})}}var _r=!1;async function hs(){if(_r)return;_r=!0;try{let e=await import("zod"),a=(e.z??e).object;if(typeof a!=="function")return;let n=a({}).refine?.(()=>!0);if(!n||typeof n.passthrough==="function")return;let i=Object.getPrototypeOf(n);if(!i||typeof i.passthrough==="function")return;Object.defineProperty(i,"passthrough",{value(){return this},configurable:!0,enumerable:!1,writable:!0})}catch{}}function Ws(e){return e.startsWith("sk-")}function ws(){let e=process.env.AI_SDK_LOG_WARNINGS?.trim().toLowerCase();return e==="0"||e==="false"||e==="off"}function bs(e){if(e.includes("/"))return e;return`openai/${e}`}class Ca extends Re{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 hs()}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(),n=typeof this.config.accessToken==="string"&&this.config.accessToken.trim().length>0;if(a&&!n&&Ws(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 Qa extends Re{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(ws())globalThis.AI_SDK_LOG_WARNINGS=!1}}}getStreamErrorMessage(){return"Claude Code stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta"]}}}class qa extends Re{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 bs(e)}getStreamErrorMessage(){return"OpenCode stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta","reasoning"],enableTextFallback:!0}}}class Fa extends Re{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},n=Object.fromEntries(Object.entries(a).filter(([,i])=>i!==void 0));return Object.keys(n).length>0?n:void 0}getStreamErrorMessage(){return"SAP AI Core stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta","reasoning"],enableToolCalls:!0,toolCallArgsOrder:["args","input"]}}}class Ka extends Re{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 Ba extends Re{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 Ts,GoogleGenAI as vr,ThinkingLevel as Pr}from"@google/genai";function fi(e){let t=new Map;return e.map((a)=>Ds(a,t)).filter((a)=>a!==null)}function Ds(e,t){let{role:a,content:n}=e,i=a==="assistant"?"model":"user";if(typeof n==="string")return{role:i,parts:[{text:n}]};let o=Rs(n,t);if(o.length===0)return null;return{role:i,parts:o}}function Rs(e,t){let a=[];for(let n of e){if(n.type==="tool_use")t.set(n.id,n.name);let i=ks(n,t);if(i)a.push(i)}return a}function ks(e,t){switch(e.type){case"text":{let a=e,n={text:a.text};if(a.signature)n.thoughtSignature=a.signature;return n}case"file":{let a=e;return{text:B(a.path,a.content)}}case"image":{let a=e;return{inlineData:{mimeType:a.mediaType,data:a.data}}}case"tool_use":{let a=e,n={functionCall:{id:a.id,name:a.name,args:X(a.input)}};if(a.signature)n.thoughtSignature=a.signature;return n}case"tool_result":{let a=e,n;if(typeof a.content==="string")n={result:di(a.content)};else n={result:ae(a.content)};if(a.is_error)n.error=!0;return{functionResponse:{id:a.tool_use_id,name:t.get(a.tool_use_id)??a.tool_use_id,response:n}}}case"thinking":{let a=e,n={text:a.thinking,thought:!0};if(a.signature)n.thoughtSignature=a.signature;return n}default:return null}}function Ei(e){return e.map((t)=>({name:t.name,description:t.description,parameters:t.inputSchema}))}var Ms=1024;class Fe extends L{client;ensureClient(){if(!this.client)if(this.config.gcp?.projectId)this.client=new vr({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 vr({apiKey:this.config.apiKey,httpOptions:{headers:this.getRequestHeaders()}})}return this.client}getModel(){let e=this.config.modelId,a=(this.config.knownModels??{})[e]??{},n=this.config.modelInfo??a;return{id:e,info:{...n,id:e}}}getMessages(e,t){return fi(t)}async*createMessage(e,t,a){yield*C(()=>this.createMessageInternal(e,t,a),{maxRetries:4,baseDelay:2000,maxDelay:15000})}async*createMessageInternal(e,t,a){let n=this.ensureClient(),{id:i,info:o}=this.getModel(),r=this.getAbortSignal(),c=this.createResponseId(),s=this.getMessages(e,t),p=te(o),g=this.config.thinking===!0||typeof this.config.thinkingBudgetTokens==="number"||typeof this.config.reasoningEffort==="string",w=0,b;if(p&&g){let T=this.config.thinkingBudgetTokens??(this.config.thinking?Ms:0);if(w=Math.min(Math.max(0,T),o.thinkingConfig?.maxBudget??24576),o.thinkingConfig?.thinkingLevel){let _=this.config.reasoningEffort;if(_==="high")b=Pr.HIGH;else if(_==="low"||_==="medium")b=Pr.LOW}}let D={httpOptions:this.config.baseUrl?{baseUrl:this.config.baseUrl,headers:this.getRequestHeaders()}:void 0,abortSignal:r,systemInstruction:e,temperature:o.temperature??1,maxOutputTokens:o.maxTokens??this.config.maxOutputTokens};if(o.thinkingConfig&&p&&g&&(w>0||!!b))D.thinkingConfig={thinkingBudget:b?void 0:w,thinkingLevel:b,includeThoughts:!0};if(a&&a.length>0){let T=Ei(a);D.tools=[{functionDeclarations:T}],D.toolConfig={functionCallingConfig:{mode:Ts.AUTO}}}try{let T=await n.models.generateContentStream({model:i,contents:s,config:D}),_=0,M=0,O=0,R=0,v=0;for await(let y of T){let P=y?.candidates?.[0]?.content?.parts??[];for(let q of P){if(q.thought&&q.text)yield{type:"reasoning",reasoning:q.text||"",signature:q.thoughtSignature,id:c};else if(q.text)yield{type:"text",text:q.text,id:c,signature:q.thoughtSignature};if(q.functionCall){let ne=q.functionCall,kt=ne.id??`${c}_tool_${v++}`;if(ne.name)yield{type:"tool_calls",tool_call:{call_id:kt,function:{id:kt,name:ne.name,arguments:ne.args??{}}},id:c,signature:q.thoughtSignature}}}if(y.usageMetadata)_=y.usageMetadata.promptTokenCount??_,M=y.usageMetadata.candidatesTokenCount??M,R=y.usageMetadata.thoughtsTokenCount??R,O=y.usageMetadata.cachedContentTokenCount??O}let G=this.calculateGeminiCost(o,_,M,R,O);yield{type:"usage",inputTokens:_-O,outputTokens:M,thoughtsTokenCount:R,cacheReadTokens:O,cacheWriteTokens:0,totalCost:G,id:c},yield{type:"done",success:!0,id:c}}catch(T){if(T instanceof Error&&T.message.includes("429"))throw new qe(T.message,void 0,{cause:T});throw T}}calculateGeminiCost(e,t,a,n,i){let o=e.pricing;if(!o?.input||!o?.output)return;let r=t-i,c=o.input*(r/1e6),s=o.output*((a+n)/1e6),p=i>0?(o.cacheRead??0)*(i/1e6):0;return c+s+p}}import vs from"openai";function _i(e){return e.flatMap(fs)}function fs(e){let{role:t,content:a}=e;if(typeof a==="string")return[{role:t,content:a}];if(t==="assistant")return[Es(a)];else return _s(a)}function Es(e){let t=[],a=[];for(let i of e)switch(i.type){case"text":t.push(i.text);break;case"tool_use":{let o=i;a.push({id:o.id,type:"function",function:{name:o.name,arguments:JSON.stringify(X(o.input))}});break}case"thinking":break}let n={role:"assistant",content:t.length>0?t.join(`
13
- `):null};if(a.length>0)n.tool_calls=a;return n}function _s(e){let t=[],a=e.filter((o)=>o.type==="tool_result");for(let o of a)t.push({role:"tool",tool_call_id:o.tool_use_id,content:ae(o.content)});let n=e.filter((o)=>o.type!=="tool_result");if(n.length===0)return t;let i=[];for(let o of n)switch(o.type){case"text":i.push({type:"text",text:o.text});break;case"file":{let r=o;i.push({type:"text",text:B(r.path,r.content)});break}case"image":{let r=o;i.push({type:"image_url",image_url:{url:`data:${r.mediaType};base64,${r.data}`}});break}}if(i.length===0)return t;return t.push({role:"user",content:i.length===1&&i[0].type==="text"?i[0].text:i}),t}function ya(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,n=t.required??[];if(a){let i=Object.keys(a),o=new Set(n),r={};for(let c of i){let s=ya(a[c]);if(!o.has(c))s={anyOf:[s,{type:"null"}]};r[c]=s}t.properties=r,t.required=i}}if(t.items)t.items=Array.isArray(t.items)?t.items.map((a)=>ya(a)):ya(t.items);for(let a of["anyOf","oneOf","allOf"])if(Array.isArray(t[a]))t[a]=t[a].map((n)=>ya(n));return t}function An(e,t){let a=t?.strict??!0;return e.map((n)=>({type:"function",function:{name:n.name,description:n.description,parameters:ya(n.inputSchema),strict:a}}))}function Va(e,t){if(!e||e.length===0)return{};return{tools:An(e,t),tool_choice:"auto"}}class Dt{toolCalls=new Map;processToolCallDeltas(e,t){let a=[];for(let n of e){let{index:i,id:o}=n,r=n.function,c=this.toolCalls.get(i);if(!c)c={id:"",name:"",arguments:""},this.toolCalls.set(i,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 Ps="medium";class Ke 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(ie(this.config.providerId));let a=this.getRequestHeaders();this.client=new vs({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){return[{role:"system",content:e},..._i(t)]}async*createMessage(e,t,a){yield*C(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let n=this.ensureClient(),{id:i,info:o}=this.getModel(),r=this.createResponseId(),c=this.getMessages(e,t),s={model:i,messages:c,stream:!0,stream_options:{include_usage:!0},...Va(a,{strict:this.config.providerId!=="openrouter"})},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 w=o.capabilities?.includes("reasoning-effort")||o.capabilities?.includes("reasoning")||!1,b=this.config.reasoningEffort??(this.config.thinking?Ps:void 0);if(w&&b)s.reasoning_effort=b;let D=this.getRequestHeaders(),T=Object.keys(D).some((v)=>v.toLowerCase()==="authorization"),_=U(this.config.providerId,this.config.apiKey);if(!T&&_)D.Authorization=`Bearer ${_}`;let M=this.getAbortSignal(),O=await n.chat.completions.create(s,{signal:M,headers:D}),R=new Dt;for await(let v of O)yield*this.withResponseIdForAll(this.processChunk(v,R,o,r),r);yield{type:"done",success:!0,id:r}}*processChunk(e,t,a,n){let i=e.choices?.[0]?.delta&&{...e.choices[0].delta,reasoning_content:e.choices[0].delta.reasoning_content};if(i?.content)yield{type:"text",text:i.content,id:n};if(i?.reasoning_content)yield{type:"reasoning",reasoning:i.reasoning_content,id:n};if(i?.tool_calls)yield*t.processToolCallDeltas(i.tool_calls.map((o)=>({index:o.index,id:o.id,function:o.function})),n);if(e.usage){let o=e.usage.prompt_tokens??0,r=e.usage.completion_tokens??0,c=e.usage.prompt_tokens_details?.cached_tokens??0,s=e.usage.prompt_cache_miss_tokens??0;yield{type:"usage",inputTokens:o,outputTokens:r,cacheReadTokens:c,cacheWriteTokens:s,totalCost:this.calculateCost(o,r,c),id:n}}}}import Gs from"openai";var As="medium";function Os(e,t){if(!e?.length)return;return e.map((a)=>({type:"function",name:a.name,description:a.description,parameters:a.inputSchema}))}function Ss(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}]})},n=(o)=>o.type==="text",i=(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(n(s)){r.push(s);continue}if(o.role==="assistant"&&s.type==="tool_use"){c();let p=s;t.push({type:"function_call",call_id:i(p),name:p.name,arguments:JSON.stringify(X(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:ae(s.content)})}c()}return t}class Be 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(ie(this.config.providerId));let a=this.getRequestHeaders(),n=Object.keys(a).some((i)=>i.toLowerCase()==="authorization");this.client=new Gs({apiKey:t,baseURL:e,defaultHeaders:n?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 Ss(t)}async*createMessage(e,t,a){yield*C(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let n=this.ensureClient(),{id:i,info:o}=this.getModel(),r=this.getAbortSignal(),c=this.createResponseId(),s,p=new Map,g=this.getMessages(e,t),w=Os(a,{stripFormat:this.config.providerId==="openai-codex"});if(!w?.length)throw Error("OpenAI Responses API requires tools to be provided. Enable native tool calling in settings.");let b=o.capabilities?.includes("reasoning")??!1,D=this.config.reasoningEffort??(this.config.thinking?As:void 0),T=b&&D?{effort:D,summary:"auto"}:void 0,_=this.getRequestHeaders(),M=Object.keys(_).some((v)=>v.toLowerCase()==="authorization"),O=U(this.config.providerId,this.config.apiKey);if(!M&&O)_.Authorization=`Bearer ${O}`;if(this.config.providerId==="openai-codex"&&typeof this.config.accountId==="string"&&this.config.accountId.trim().length>0){let v=this.config.accountId.trim();_["chatgpt-account-id"]=v,_["openai-account-id"]=v}let R;try{R=await n.responses.create({model:i,instructions:e,input:g,store:this.config.providerId==="openai-codex"?!1:void 0,stream:!0,tools:w,reasoning:T},{signal:r,headers:_})}catch(v){if(this.config.providerId==="openai-codex"){let G=v;if((G?.status??G?.response?.status??(typeof G?.message==="string"&&G.message.includes("400")?400:void 0))===400){let P=G?.error?.detail??G?.error?.message??(typeof G?.message==="string"?G.message:"");throw Error(`OpenAI Codex request was rejected (HTTP 400). ${P?`Detail: ${P}`:"Re-run 'clite auth openai-codex', verify model access, and ensure accountId is present in provider settings."}`,{cause:v})}}throw v}for await(let v of R){let G=this.getApiResponseId(v);if(G)s=G;yield*this.processResponseChunk(v,o,s??c,p)}}*processResponseChunk(e,t,a,n){switch(e.type){case"response.output_item.added":{let i=e.item;if(i.type==="function_call"&&i.id)n.set(i.id,{callId:i.call_id,name:i.name}),yield{type:"tool_calls",id:i.id||a,tool_call:{call_id:i.call_id,function:{id:i.id,name:i.name,arguments:i.arguments}}};if(i.type==="reasoning"&&i.encrypted_content&&i.id)yield{type:"reasoning",id:i.id||a,reasoning:"",redacted_data:i.encrypted_content};break}case"response.output_item.done":{let i=e.item;if(i.type==="function_call"){if(i.id)n.set(i.id,{callId:i.call_id,name:i.name});yield{type:"tool_calls",id:i.id||a,tool_call:{call_id:i.call_id,function:{id:i.id,name:i.name,arguments:i.arguments}}}}if(i.type==="reasoning")yield{type:"reasoning",id:i.id||a,details:i.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 i=e.item_id?n.get(e.item_id):void 0;yield{type:"tool_calls",id:e.item_id||a,tool_call:{call_id:i?.callId,function:{id:e.item_id,name:i?.name,arguments:e.delta}}}}break;case"response.function_call_arguments.done":if(e.item_id&&e.arguments){let i=n.get(e.item_id);yield{type:"tool_calls",id:e.item_id||a,tool_call:{call_id:e.call_id??i?.callId,function:{id:e.item_id,name:e.name??i?.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 i=e.response.usage,o=i.input_tokens||0,r=i.output_tokens||0,c=i.output_tokens_details?.reasoning_tokens||0,s=i.input_tokens_details?.cached_tokens||0,p=this.calculateCost(o,r,c);yield{type:"usage",inputTokens:Math.max(0,o-c-s),outputTokens:r,cacheWriteTokens:s,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 Kl from"openai";var Rt=new Map;function vi(e,t){Rt.set(e,{factory:t,isAsync:!1})}function Pi(e,t){Rt.set(e,{factory:t,isAsync:!0})}function ye(e){return Rt.has(e)}function Gi(e,t){let a=Rt.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 Ai(e,t){let a=Rt.get(e);if(!a)return;if(a.isAsync)return a.factory(t);return a.factory(t)}function Oi(e){return Rt.get(e)?.isAsync??!1}var Ls="us-central1";function Ar(e){return e.toLowerCase().includes("claude")}function Cs(e){if(!e||e.length===0)return;let t=be(e);return Object.fromEntries(t.map((a)=>[a.name,{description:a.description,inputSchema:a.input_schema}]))}function Qs(e,t,a){let n=a?.promptCacheOn?[{type:"text",text:e,providerOptions:{anthropic:{cacheControl:{type:"ephemeral"}}}}]:e;return bt(n,t,{assistantToolCallArgKey:"input"})}class Na 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()??Ls}ensureGeminiHandler(){if(!this.geminiHandler){let e=this.getProjectId(),t=this.getGeminiRegion();this.geminiHandler=new Fe({...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=(n)=>t(n);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 Gn(this.config)}getMessages(e,t){let a=this.getModel();if(!Ar(a.id))return this.ensureGeminiHandler().getMessages(e,t);let n=N(a.info,"prompt-cache");return wt(t,n)}async*createMessage(e,t,a){yield*C(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let n=this.getModel();if(!Ar(n.id)){yield*this.ensureGeminiHandler().createMessage(e,t,a);return}let i=await Ti(),o=await this.ensureVertexAnthropicModelFactory(),r=this.createResponseId(),c=this.config.thinkingBudgetTokens??0,s=N(n.info,"reasoning")&&c>0,p=N(n.info,"prompt-cache"),g={};if(s)g.anthropic={thinking:{type:"enabled",budgetTokens:c}};let w=i.streamText({model:o(n.id),messages:Qs(e,t,{promptCacheOn:p}),tools:Cs(a),maxTokens:n.info.maxTokens??this.config.maxOutputTokens??8192,temperature:s?void 0:0,providerOptions:Object.keys(g).length>0?g:void 0,abortSignal:this.getAbortSignal()});yield*Mi(w,{responseId:r,errorMessage:"Vertex Anthropic stream failed",calculateCost:(b,D,T)=>this.calculateCost(b,D,T),reasoningTypes:["reasoning-delta"],enableToolCalls:!0,toolCallArgsOrder:["input","args"],toolCallFunctionIncludeId:!0,resolveUsageMetrics:(b,D)=>{let _=(D?.providerMetadata??{}).anthropic??{};return{inputTokens:$(b.inputTokens),outputTokens:$(b.outputTokens),thoughtsTokenCount:$(b.reasoningTokens??b.thoughtsTokenCount),cacheReadTokens:$(b.cachedInputTokens??_.cacheReadInputTokens),cacheWriteTokens:$(_.cacheCreationInputTokens)}}})}}import{JSONParser as _1}from"@streamparser/json";ra();function Or(e){let t=F(e.providerId);if(t===e.providerId)return e;return{...e,providerId:t}}function np(e,t){if(e.baseUrl)return e.baseUrl;if(e.oca?.mode==="internal")return z;return t?.baseUrl??H}function op(e){let t=e.modelId;return e.modelInfo?.apiFormat??(t?e.knownModels?.[t]?.apiFormat:void 0)}function rp(e){if(op(e)===J.OPENAI_RESPONSES)return new Be(e);return new Ke(e)}function Sr(e,t){return{...e,baseUrl:e.providerId==="oca"?np(e,t):e.baseUrl??t.baseUrl,modelId:e.modelId??t.modelId,knownModels:e.knownModels??t.knownModels,capabilities:e.capabilities??t.capabilities}}var cp={asksage:(e)=>new La(e),anthropic:(e)=>new Sa(e),bedrock:(e)=>new Ri(e),"claude-code":(e)=>new Qa(e),gemini:(e)=>new Fe(e),vertex:(e)=>new Na(e),opencode:(e)=>new qa(e),"openai-native":(e)=>new Be(e),mistral:(e)=>new Ka(e),dify:(e)=>new Ba(e)};function Lr(e){if(e.providerId==="openai-codex")return new Ca(e);if(e.providerId==="sapaicore")return new Fa(e);if(e.providerId==="oca")return rp(e);return new Ke(e)}function sp(e){let t=cp[e.providerId];return t?t(e):void 0}function Ua(e){let t=Or(e),{providerId:a}=t;if(ye(a)){if(Oi(a))throw Error(`Handler for "${a}" is registered as async. Use createHandlerAsync() instead.`);let i=Gi(a,t);if(i)return i}let n=sp(t);if(n)return n;if(Aa(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 i=j[a];return Lr(Sr(t,i))}return t.baseUrl?new Ke(t):new Be({...t,baseUrl:"https://api.openai.com/v1"})}async function Si(e){let t=Or(e),{providerId:a}=t;if(ye(a)){let n=await Ai(a,t);if(n)return n}if(Aa(a)){let n=await ht(a,t.modelCatalog,t);if(n)return Lr(Sr(t,n))}return Ua(t)}var On=[...new Set([Pe.provider.id,"anthropic","asksage","bedrock","claude-code","opencode","mistral","dify","openai-native","gemini","vertex",...Object.keys(j)])],pp=new Set(On);function Cr(e){let t=F(e);return pp.has(t)||ye(t)||ye(e)}function qr(e){return e?{...e}:{}}function up(e,t){if(e)return e;if(!t)return;let a=globalThis.process;if(!a?.env)return;return a.env[t]}function Fr(e,t){if(!t.length)throw Error(`Provider "${e}" must include at least one model.`)}class Kr{providerConfigs=new Map;constructor(e){this.applyConfig(e)}createHandler(e){return Ua(this.toProviderHandlerConfig(e))}async createHandlerAsync(e){return Si(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(ui(e.collection),e.handlerFactory&&e.asyncHandlerFactory)throw Error(`Provider "${e.collection.provider.id}" cannot register both sync and async handlers.`);if(e.handlerFactory)vi(e.collection.provider.id,e.handlerFactory);if(e.asyncHandlerFactory)Pi(e.collection.provider.id,e.asyncHandlerFactory);let t=e.exposeModels??Object.keys(e.collection.models);Fr(e.collection.provider.id,t);let a=this.providerConfigs.get(e.collection.provider.id),n=e.defaultModel??e.collection.provider.defaultModelId??t[0];if(!n)throw Error(`Provider "${e.collection.provider.id}" must define a default model.`);if(!t.includes(n))throw Error(`Default model "${n}" is not included in configured models for "${e.collection.provider.id}".`);let i=new Set([...a?.models??[],...t]),o={...a?.defaults??{},...qr(e.defaults)};this.providerConfigs.set(e.collection.provider.id,{id:e.collection.provider.id,models:i,defaultModel:n,defaults:o})}registerModel(e){gt(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(Fr(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 n=up(t.apiKey,t.apiKeyEnv);this.providerConfigs.set(t.id,{id:t.id,models:new Set(t.models),defaultModel:a,defaults:{apiKey:n,baseUrl:t.baseUrl,headers:t.headers,timeoutMs:t.timeoutMs,capabilities:t.capabilities,...qr(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(!ri(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 mp(e){return new Kr(e)}export{Qr as providers,ar as models,$r as defineLlmsConfig,mp as createLlmsSdk};
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(),yn)).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 Xe({...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(),D=p.litellm_params?.model?.trim()||g;if(!D)continue;let T=p.model_info,P=gn(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]=P,g)s[g]={...P,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 $=qc(xr());function hn(e){return $[e]}async function wt(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 $}var bt;((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"})(bt||={});var Fc={openai:"openai-native",togetherai:"together","sap-ai-core":"sapaicore"},Rr=Object.values(bt);function K(e){let t=e.trim();return Fc[t]??t}function N(e,t){return e.capabilities?.includes(t)??!1}function ie(e){return Boolean(e.thinkingConfig)||N(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=$[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:H: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,b])=>b!==void 0))}import{Anthropic as ns}from"@anthropic-ai/sdk";function j(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 Dt(e,t=!1){let a=[];for(let i of e){let n=jc(i,t&&e.indexOf(i)===e.length-1);if(n)a.push(n)}return a}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:j(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 Fe extends Error{retryAfterSeconds;constructor(e,t,a){super(e,a);this.retryAfterSeconds=t;this.name="RetriableError"}}function _n(e){if(e instanceof Fe)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*Q(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 Fe&&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 S{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})}calculateCost(e,t,a=0){let i=(this.config.modelInfo??this.config.knownModels?.[this.config.modelId])?.pricing;if(!i?.input||!i?.output)return;return(e-a)/1e6*i.input+t/1e6*i.output+(a>0?a/1e6*(i.cacheRead??0):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 S{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=N(this.getModel().info,"prompt-cache");return Dt(t,a)}async*createMessage(e,t,a){yield*Q(()=>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,b=N(n.info,"prompt-cache"),D=c&&p>0,T=cs(),P={},G=(O)=>{P[O]=(P[O]??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=${D} promptCache=${b}`);let h=this.getMessages(e,t),v=g?De(a):void 0,R={signal:o},E=await i.messages.create({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:v,tool_choice:g&&!D?{type:"auto"}:void 0},R),M={id:"",name:"",arguments:""},Y={inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0},C=null;for await(let O of E){if(T){if(G(`event:${O.type}`),O.type==="content_block_start")G(`content_block_start:${O.content_block?.type??"unknown"}`);else if(O.type==="content_block_delta")G(`content_block_delta:${O.delta?.type??"unknown"}`)}if(O.type==="message_delta")C=O.delta?.stop_reason??C;yield*this.withResponseIdForAll(this.processChunk(O,M,Y,r),r)}if(T){let O=Object.entries(P).map(([Mt,F])=>`${Mt}=${F}`).sort().join(" ");console.error(`[thinking-debug][anthropic][stream] ${O}`)}yield{type:"done",success:!0,id:r,incompleteReason:C==="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),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),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 S{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*Q(()=>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 S{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*Q(()=>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 b=ie(c.info),D=this.config.thinkingBudgetTokens??(this.config.thinking?ls: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?ds:void 0);if(h)g.reasoningConfig={type:"enabled",maxReasoningEffort:h},T=!0}if(Object.keys(g).length>0)p.bedrock=g;let P=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}),G=!1;if(P.fullStream)for await(let h of P.fullStream){let v=h.type;if(v==="text-delta"){let R=h.textDelta??h.delta;if(R)yield{type:"text",text:R,id:o};continue}if(v==="reasoning-delta"||v==="reasoning"){let R=h.textDelta??h.reasoning;if(R)yield{type:"reasoning",reasoning:R,id:o};continue}if(v==="tool-call"){let R=h.toolCallId??h.id,E=h.toolName??h.name,M=h.args??{};yield{type:"tool_calls",id:o,tool_call:{call_id:R,function:{name:E,arguments:M}}};continue}if(v==="error"){let R=h.error?.message??"Bedrock stream failed";throw Error(R)}if(v==="finish"){let R=h.usage??{},E=Re(R.inputTokens),M=Re(R.outputTokens),Y=Re(R.reasoningTokens),C=Re(R.cachedInputTokens);yield{type:"usage",inputTokens:E-C,outputTokens:M,thoughtsTokenCount:Y,cacheReadTokens:C,totalCost:this.calculateCost(E,M,C),id:o},G=!0}}else if(P.textStream)for await(let h of P.textStream)yield{type:"text",text:h,id:o};if(!G&&P.usage){let h=await P.usage,v=Re(h.inputTokens),R=Re(h.outputTokens),E=Re(h.reasoningTokens),M=Re(h.cachedInputTokens);yield{type:"usage",inputTokens:v-M,outputTokens:R,thoughtsTokenCount:E,cacheReadTokens:M,totalCost:this.calculateCost(v,R,M),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 Rt(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]:j(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 J(e){return typeof e==="number"&&Number.isFinite(e)?e:0}function ws(e){return{inputTokens:J(e.inputTokens),outputTokens:J(e.outputTokens),thoughtsTokenCount:J(e.reasoningTokens??e.thoughtsTokenCount),cacheReadTokens:J(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,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=a(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),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: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),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 S{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 Rt(e,t,{assistantToolCallArgKey:this.getAssistantToolCallArgKey()})}async*createMessage(e,t,a){yield*Q(()=>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,b)=>this.calculateCost(p,g,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 Na 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:j(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 Ke extends S{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*Q(()=>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",b=0,D;if(p&&g){let h=this.config.thinkingBudgetTokens??(this.config.thinking?vs:0);if(b=Math.min(Math.max(0,h),o.thinkingConfig?.maxBudget??24576),o.thinkingConfig?.thinkingLevel){let v=this.config.reasoningEffort;if(v==="high")D=Or.HIGH;else if(v==="low"||v==="medium")D=Or.LOW}}let T=As(n)?Gs:Ps,P=o.maxTokens??this.config.maxOutputTokens??T,G={httpOptions:this.config.baseUrl?{baseUrl:this.config.baseUrl,headers:this.getRequestHeaders()}:void 0,abortSignal:r,systemInstruction:e,temperature:o.temperature??1,maxOutputTokens:P};if(o.thinkingConfig&&p&&g&&(b>0||!!D))G.thinkingConfig={thinkingBudget:D?void 0:b,thinkingLevel:D,includeThoughts:!0};if(a&&a.length>0){let h=vi(a);G.tools=[{functionDeclarations:h}],G.toolConfig={functionCallingConfig:{mode:_s.AUTO}}}try{let h=await i.models.generateContentStream({model:n,contents:s,config:G}),v=0,R=0,E=0,M=0,Y=0;for await(let O of h){let Mt=O?.candidates?.[0]?.content?.parts??[];for(let F of Mt){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 Z=F.functionCall,ye=Z.id??`${c}_tool_${Y++}`;if(Z.name)yield{type:"tool_calls",tool_call:{call_id:ye,function:{id:ye,name:Z.name,arguments:Z.args??{}}},id:c,signature:F.thoughtSignature}}}if(O.usageMetadata)v=O.usageMetadata.promptTokenCount??v,R=O.usageMetadata.candidatesTokenCount??R,M=O.usageMetadata.thoughtsTokenCount??M,E=O.usageMetadata.cachedContentTokenCount??E}let C=this.calculateGeminiCost(o,v,R,M,E);yield{type:"usage",inputTokens:v-E,outputTokens:R,thoughtsTokenCount:M,cacheReadTokens:E,cacheWriteTokens:0,totalCost:C,id:c},yield{type:"done",success:!0,id:c}}catch(h){if(h instanceof Error&&h.message.includes("429"))throw new Fe(h.message,void 0,{cause:h});throw h}}calculateGeminiCost(e,t,a,i,n){let o=e.pricing;if(!o?.input||!o?.output)return;let r=t-n,c=o.input*(r/1e6),s=o.output*((a+i)/1e6),p=n>0?(o.cacheRead??0)*(n/1e6):0;return c+s+p}}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(j(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 ya(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=ya(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)=>ya(a)):ya(t.items);for(let a of["anyOf","oneOf","allOf"])if(Array.isArray(t[a]))t[a]=t[a].map((i)=>ya(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:ya(i.inputSchema),strict:a}}))}function Ua(e,t){if(!e||e.length===0)return{};return{tools:Ln(e,t),tool_choice:"auto"}}class kt{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 Be extends S{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=N(a.info,"prompt-cache")||this.config.capabilities?.includes("prompt-cache")===!0;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*Q(()=>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"})},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?Qs:void 0);if(b&&D)s.reasoning_effort=D;let T=this.getRequestHeaders(),P=Object.keys(T).some((M)=>M.toLowerCase()==="authorization"),G=U(this.config.providerId,this.config.apiKey);if(!P&&G)T.Authorization=`Bearer ${G}`;let h=this.getAbortSignal(),v=await i.chat.completions.create(s,{signal:h,headers:T}),R=new kt,E=null;for await(let M of v){let Y=M.choices?.[0];if(Y?.finish_reason)E=Y.finish_reason;yield*this.withResponseIdForAll(this.processChunk(M,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??0,g=s.prompt_tokens_details?.cache_write_tokens??s.prompt_cache_miss_tokens??0;yield{type:"usage",inputTokens:r,outputTokens:c,cacheReadTokens:p,cacheWriteTokens:g,totalCost:this.calculateCost(r,c,p),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(j(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 Ve extends S{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*Q(()=>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),b=Ks(a,{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?Fs:void 0),P=D&&T?{effort:T,summary:"auto"}:void 0,G=this.getRequestHeaders(),h=Object.keys(G).some((E)=>E.toLowerCase()==="authorization"),v=U(this.config.providerId,this.config.apiKey);if(!h&&v)G.Authorization=`Bearer ${v}`;if(this.config.providerId==="openai-codex"&&typeof this.config.accountId==="string"&&this.config.accountId.trim().length>0){let E=this.config.accountId.trim();G["chatgpt-account-id"]=E,G["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:b,reasoning:P},{signal:r,headers:G})}catch(E){if(this.config.providerId==="openai-codex"){let M=E;if((M?.status??M?.response?.status??(typeof M?.message==="string"&&M.message.includes("400")?400:void 0))===400){let C=M?.error?.detail??M?.error?.message??(typeof M?.message==="string"?M.message:"");throw Error(`OpenAI Codex request was rejected (HTTP 400). ${C?`Detail: ${C}`:"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 M=this.getApiResponseId(E);if(M)s=M;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.output_tokens_details?.reasoning_tokens||0,s=n.input_tokens_details?.cached_tokens||0,p=this.calculateCost(o,r,c);yield{type:"usage",inputTokens:Math.max(0,o-c-s),outputTokens:r,cacheWriteTokens:s,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 a1 from"openai";var Tt=new Map;function Gi(e,t){Tt.set(e,{factory:t,isAsync:!1})}function Ai(e,t){Tt.set(e,{factory:t,isAsync:!0})}function Ne(e){return Tt.has(e)}function Oi(e,t){let a=Tt.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=Tt.get(e);if(!a)return;if(a.isAsync)return a.factory(t);return a.factory(t)}function Si(e){return Tt.get(e)?.isAsync??!1}var Vs="us-central1";function Sr(e){return e.toLowerCase().includes("claude")}function Ns(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 ys(e,t,a){let i=a?.promptCacheOn?[{type:"text",text:e,providerOptions:{anthropic:{cacheControl:{type:"ephemeral"}}}}]:e;return Rt(i,t,{assistantToolCallArgKey:"input"})}class Ya extends S{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 Ke({...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=N(a.info,"prompt-cache");return Dt(t,i)}async*createMessage(e,t,a){yield*Q(()=>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=N(i.info,"reasoning")&&c>0,p=N(i.info,"prompt-cache"),g={};if(s)g.anthropic={thinking:{type:"enabled",budgetTokens:c}};let b=n.streamText({model:o(i.id),messages:ys(e,t,{promptCacheOn:p}),tools:Ns(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(b,{responseId:r,errorMessage:"Vertex Anthropic stream failed",calculateCost:(D,T,P)=>this.calculateCost(D,T,P),reasoningTypes:["reasoning-delta"],enableToolCalls:!0,toolCallArgsOrder:["input","args"],toolCallFunctionIncludeId:!0,resolveUsageMetrics:(D,T)=>{let G=(T?.providerMetadata??{}).anthropic??{};return{inputTokens:J(D.inputTokens),outputTokens:J(D.outputTokens),thoughtsTokenCount:J(D.reasoningTokens??D.thoughtsTokenCount),cacheReadTokens:J(D.cachedInputTokens??G.cacheReadInputTokens),cacheWriteTokens:J(G.cacheCreationInputTokens)}}})}}import{JSONParser as U1}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??H}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 Ve(e);return new Be(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 Ke(e),vertex:(e)=>new Ya(e),opencode:(e)=>new Ka(e),"openai-native":(e)=>new Ve(e),mistral:(e)=>new Va(e),dify:(e)=>new Na(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 Be(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=$[a];return qr(Qr(t,n))}return t.baseUrl?new Be(t):new Ve({...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 wt(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($)])],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 Nr{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){ht(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 Nr(e)}export{Ir as defineLlmsConfig,wp as createLlmsSdk,Kr as LlmsProviders,nr as LlmsModels};