@clinebot/llms 0.0.28 → 0.0.30
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/README.md +13 -11
- package/dist/gateway/ai-sdk.d.ts +13 -0
- package/dist/gateway/ai-sdk.d.ts.map +1 -0
- package/dist/gateway/async.d.ts +2 -0
- package/dist/gateway/async.d.ts.map +1 -0
- package/dist/gateway/builtins-runtime.d.ts +3 -0
- package/dist/gateway/builtins-runtime.d.ts.map +1 -0
- package/dist/gateway/builtins.d.ts +27 -0
- package/dist/gateway/builtins.d.ts.map +1 -0
- package/dist/gateway/compat.d.ts +4 -0
- package/dist/gateway/compat.d.ts.map +1 -0
- package/dist/gateway/http.d.ts +21 -0
- package/dist/gateway/http.d.ts.map +1 -0
- package/dist/gateway/index.d.ts +23 -0
- package/dist/gateway/index.d.ts.map +1 -0
- package/dist/gateway/model-registry.d.ts +14 -0
- package/dist/gateway/model-registry.d.ts.map +1 -0
- package/dist/gateway/providers/anthropic.d.ts +4 -0
- package/dist/gateway/providers/anthropic.d.ts.map +1 -0
- package/dist/gateway/providers/bedrock.d.ts +4 -0
- package/dist/gateway/providers/bedrock.d.ts.map +1 -0
- package/dist/gateway/providers/community.d.ts +7 -0
- package/dist/gateway/providers/community.d.ts.map +1 -0
- package/dist/gateway/providers/google.d.ts +4 -0
- package/dist/gateway/providers/google.d.ts.map +1 -0
- package/dist/gateway/providers/mistral.d.ts +4 -0
- package/dist/gateway/providers/mistral.d.ts.map +1 -0
- package/dist/gateway/providers/openai-compatible.d.ts +4 -0
- package/dist/gateway/providers/openai-compatible.d.ts.map +1 -0
- package/dist/gateway/providers/openai.d.ts +4 -0
- package/dist/gateway/providers/openai.d.ts.map +1 -0
- package/dist/gateway/providers/types.d.ts +4 -0
- package/dist/gateway/providers/types.d.ts.map +1 -0
- package/dist/gateway/providers/vertex.d.ts +4 -0
- package/dist/gateway/providers/vertex.d.ts.map +1 -0
- package/dist/gateway/registry.d.ts +19 -0
- package/dist/gateway/registry.d.ts.map +1 -0
- package/dist/index.browser.d.ts +6 -3
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +21 -35
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +85 -14
- package/dist/{models/models-dev-catalog.d.ts → model/catalog-live.d.ts} +3 -2
- package/dist/model/catalog-live.d.ts.map +1 -0
- package/dist/{models/generated-access.d.ts → model/catalog.generated-access.d.ts} +2 -2
- package/dist/model/catalog.generated-access.d.ts.map +1 -0
- package/dist/{models/generated.d.ts → model/catalog.generated.d.ts} +2 -2
- package/dist/model/catalog.generated.d.ts.map +1 -0
- package/dist/{models/types/model.d.ts → model/types.d.ts} +17 -178
- package/dist/model/types.d.ts.map +1 -0
- package/dist/models.d.ts +3 -1
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +1 -1
- package/dist/{providers/config/provider-config.d.ts → provider/config.d.ts} +10 -8
- package/dist/provider/config.d.ts.map +1 -0
- package/dist/{providers/runtime/provider-defaults.d.ts → provider/defaults.d.ts} +13 -8
- package/dist/provider/defaults.d.ts.map +1 -0
- package/dist/{providers/runtime/registry.d.ts → provider/factory-registry.d.ts} +2 -17
- package/dist/provider/factory-registry.d.ts.map +1 -0
- package/dist/{providers/types → provider}/handler.d.ts +1 -2
- package/dist/provider/handler.d.ts.map +1 -0
- package/dist/{providers/config/provider-ids.d.ts → provider/ids.d.ts} +1 -1
- package/dist/provider/ids.d.ts.map +1 -0
- package/dist/provider/messages.d.ts +5 -0
- package/dist/provider/messages.d.ts.map +1 -0
- package/dist/{providers/config/provider-settings.d.ts → provider/settings.d.ts} +5 -5
- package/dist/provider/settings.d.ts.map +1 -0
- package/dist/provider/stream.d.ts.map +1 -0
- package/dist/{providers/types/index.d.ts → provider/types.d.ts} +3 -4
- package/dist/provider/types.d.ts.map +1 -0
- package/dist/providers.browser.d.ts +2 -0
- package/dist/providers.browser.d.ts.map +1 -0
- package/dist/providers.browser.js +21 -30
- package/dist/providers.d.ts +6 -1
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +84 -13
- package/dist/runtime/config-browser.d.ts.map +1 -0
- package/dist/runtime/config.d.ts.map +1 -0
- package/dist/runtime/configured-provider-registry.d.ts +29 -0
- package/dist/runtime/configured-provider-registry.d.ts.map +1 -0
- package/dist/runtime/langfuse-telemetry.d.ts +6 -0
- package/dist/runtime/langfuse-telemetry.d.ts.map +1 -0
- package/dist/runtime/registry.d.ts +3 -5
- package/dist/runtime/registry.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +4 -3
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime.js +85 -14
- package/package.json +9 -33
- package/dist/config-browser.d.ts.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/models/catalog/providers/aihubmix.d.ts +0 -6
- package/dist/models/catalog/providers/aihubmix.d.ts.map +0 -1
- package/dist/models/catalog/providers/anthropic.d.ts +0 -54
- package/dist/models/catalog/providers/anthropic.d.ts.map +0 -1
- package/dist/models/catalog/providers/asksage.d.ts +0 -6
- package/dist/models/catalog/providers/asksage.d.ts.map +0 -1
- package/dist/models/catalog/providers/baseten.d.ts +0 -6
- package/dist/models/catalog/providers/baseten.d.ts.map +0 -1
- package/dist/models/catalog/providers/bedrock.d.ts +0 -8
- package/dist/models/catalog/providers/bedrock.d.ts.map +0 -1
- package/dist/models/catalog/providers/cerebras.d.ts +0 -8
- package/dist/models/catalog/providers/cerebras.d.ts.map +0 -1
- package/dist/models/catalog/providers/claude-code.d.ts +0 -5
- package/dist/models/catalog/providers/claude-code.d.ts.map +0 -1
- package/dist/models/catalog/providers/cline.d.ts +0 -35
- package/dist/models/catalog/providers/cline.d.ts.map +0 -1
- package/dist/models/catalog/providers/deepseek.d.ts +0 -9
- package/dist/models/catalog/providers/deepseek.d.ts.map +0 -1
- package/dist/models/catalog/providers/dify.d.ts +0 -6
- package/dist/models/catalog/providers/dify.d.ts.map +0 -1
- package/dist/models/catalog/providers/doubao.d.ts +0 -8
- package/dist/models/catalog/providers/doubao.d.ts.map +0 -1
- package/dist/models/catalog/providers/fireworks.d.ts +0 -9
- package/dist/models/catalog/providers/fireworks.d.ts.map +0 -1
- package/dist/models/catalog/providers/gemini.d.ts +0 -10
- package/dist/models/catalog/providers/gemini.d.ts.map +0 -1
- package/dist/models/catalog/providers/groq.d.ts +0 -9
- package/dist/models/catalog/providers/groq.d.ts.map +0 -1
- package/dist/models/catalog/providers/hicap.d.ts +0 -6
- package/dist/models/catalog/providers/hicap.d.ts.map +0 -1
- package/dist/models/catalog/providers/huawei-cloud-maas.d.ts +0 -6
- package/dist/models/catalog/providers/huawei-cloud-maas.d.ts.map +0 -1
- package/dist/models/catalog/providers/huggingface.d.ts +0 -7
- package/dist/models/catalog/providers/huggingface.d.ts.map +0 -1
- package/dist/models/catalog/providers/index.d.ts +0 -49
- package/dist/models/catalog/providers/index.d.ts.map +0 -1
- package/dist/models/catalog/providers/kilo.d.ts +0 -3
- package/dist/models/catalog/providers/kilo.d.ts.map +0 -1
- package/dist/models/catalog/providers/litellm.d.ts +0 -6
- package/dist/models/catalog/providers/litellm.d.ts.map +0 -1
- package/dist/models/catalog/providers/lmstudio.d.ts +0 -6
- package/dist/models/catalog/providers/lmstudio.d.ts.map +0 -1
- package/dist/models/catalog/providers/minimax.d.ts +0 -8
- package/dist/models/catalog/providers/minimax.d.ts.map +0 -1
- package/dist/models/catalog/providers/mistral.d.ts +0 -6
- package/dist/models/catalog/providers/mistral.d.ts.map +0 -1
- package/dist/models/catalog/providers/moonshot.d.ts +0 -8
- package/dist/models/catalog/providers/moonshot.d.ts.map +0 -1
- package/dist/models/catalog/providers/nebius.d.ts +0 -8
- package/dist/models/catalog/providers/nebius.d.ts.map +0 -1
- package/dist/models/catalog/providers/nous-research.d.ts +0 -8
- package/dist/models/catalog/providers/nous-research.d.ts.map +0 -1
- package/dist/models/catalog/providers/oca.d.ts +0 -10
- package/dist/models/catalog/providers/oca.d.ts.map +0 -1
- package/dist/models/catalog/providers/ollama.d.ts +0 -6
- package/dist/models/catalog/providers/ollama.d.ts.map +0 -1
- package/dist/models/catalog/providers/openai-codex.d.ts +0 -11
- package/dist/models/catalog/providers/openai-codex.d.ts.map +0 -1
- package/dist/models/catalog/providers/openai.d.ts +0 -10
- package/dist/models/catalog/providers/openai.d.ts.map +0 -1
- package/dist/models/catalog/providers/opencode.d.ts +0 -11
- package/dist/models/catalog/providers/opencode.d.ts.map +0 -1
- package/dist/models/catalog/providers/openrouter.d.ts +0 -8
- package/dist/models/catalog/providers/openrouter.d.ts.map +0 -1
- package/dist/models/catalog/providers/qwen-code.d.ts +0 -8
- package/dist/models/catalog/providers/qwen-code.d.ts.map +0 -1
- package/dist/models/catalog/providers/qwen.d.ts +0 -8
- package/dist/models/catalog/providers/qwen.d.ts.map +0 -1
- package/dist/models/catalog/providers/requesty.d.ts +0 -7
- package/dist/models/catalog/providers/requesty.d.ts.map +0 -1
- package/dist/models/catalog/providers/sambanova.d.ts +0 -8
- package/dist/models/catalog/providers/sambanova.d.ts.map +0 -1
- package/dist/models/catalog/providers/sapaicore.d.ts +0 -8
- package/dist/models/catalog/providers/sapaicore.d.ts.map +0 -1
- package/dist/models/catalog/providers/together.d.ts +0 -9
- package/dist/models/catalog/providers/together.d.ts.map +0 -1
- package/dist/models/catalog/providers/vercel-ai-gateway.d.ts +0 -6
- package/dist/models/catalog/providers/vercel-ai-gateway.d.ts.map +0 -1
- package/dist/models/catalog/providers/vertex.d.ts +0 -8
- package/dist/models/catalog/providers/vertex.d.ts.map +0 -1
- package/dist/models/catalog/providers/wandb.d.ts +0 -3
- package/dist/models/catalog/providers/wandb.d.ts.map +0 -1
- package/dist/models/catalog/providers/xai.d.ts +0 -9
- package/dist/models/catalog/providers/xai.d.ts.map +0 -1
- package/dist/models/catalog/providers/xiaomi.d.ts +0 -3
- package/dist/models/catalog/providers/xiaomi.d.ts.map +0 -1
- package/dist/models/catalog/providers/zai.d.ts +0 -8
- package/dist/models/catalog/providers/zai.d.ts.map +0 -1
- package/dist/models/generated-access.d.ts.map +0 -1
- package/dist/models/generated-provider-loaders.d.ts +0 -14
- package/dist/models/generated-provider-loaders.d.ts.map +0 -1
- package/dist/models/generated.d.ts.map +0 -1
- package/dist/models/index.d.ts +0 -44
- package/dist/models/index.d.ts.map +0 -1
- package/dist/models/models-dev-catalog.d.ts.map +0 -1
- package/dist/models/query.d.ts +0 -182
- package/dist/models/query.d.ts.map +0 -1
- package/dist/models/registry.d.ts +0 -124
- package/dist/models/registry.d.ts.map +0 -1
- package/dist/models/types/index.d.ts +0 -8
- package/dist/models/types/index.d.ts.map +0 -1
- package/dist/models/types/model.d.ts.map +0 -1
- package/dist/models/types/query.d.ts +0 -192
- package/dist/models/types/query.d.ts.map +0 -1
- package/dist/models.browser.js +0 -1
- package/dist/providers/config/provider-config.d.ts.map +0 -1
- package/dist/providers/config/provider-ids.d.ts.map +0 -1
- package/dist/providers/config/provider-settings.d.ts.map +0 -1
- package/dist/providers/handlers/ai-sdk-community.d.ts +0 -47
- package/dist/providers/handlers/ai-sdk-community.d.ts.map +0 -1
- package/dist/providers/handlers/ai-sdk-provider-base.d.ts +0 -34
- package/dist/providers/handlers/ai-sdk-provider-base.d.ts.map +0 -1
- package/dist/providers/handlers/anthropic-base.d.ts +0 -38
- package/dist/providers/handlers/anthropic-base.d.ts.map +0 -1
- package/dist/providers/handlers/asksage.d.ts +0 -14
- package/dist/providers/handlers/asksage.d.ts.map +0 -1
- package/dist/providers/handlers/base.d.ts +0 -39
- package/dist/providers/handlers/base.d.ts.map +0 -1
- package/dist/providers/handlers/bedrock-base.d.ts +0 -25
- package/dist/providers/handlers/bedrock-base.d.ts.map +0 -1
- package/dist/providers/handlers/bedrock-client.d.ts +0 -5
- package/dist/providers/handlers/bedrock-client.d.ts.map +0 -1
- package/dist/providers/handlers/community-sdk.d.ts +0 -98
- package/dist/providers/handlers/community-sdk.d.ts.map +0 -1
- package/dist/providers/handlers/fetch-base.d.ts +0 -20
- package/dist/providers/handlers/fetch-base.d.ts.map +0 -1
- package/dist/providers/handlers/gemini-base.d.ts +0 -27
- package/dist/providers/handlers/gemini-base.d.ts.map +0 -1
- package/dist/providers/handlers/index.d.ts +0 -21
- package/dist/providers/handlers/index.d.ts.map +0 -1
- package/dist/providers/handlers/openai-base.d.ts +0 -56
- package/dist/providers/handlers/openai-base.d.ts.map +0 -1
- package/dist/providers/handlers/openai-compatible.d.ts +0 -18
- package/dist/providers/handlers/openai-compatible.d.ts.map +0 -1
- package/dist/providers/handlers/openai-responses.d.ts +0 -78
- package/dist/providers/handlers/openai-responses.d.ts.map +0 -1
- package/dist/providers/handlers/r1-base.d.ts +0 -65
- package/dist/providers/handlers/r1-base.d.ts.map +0 -1
- package/dist/providers/handlers/vertex.d.ts +0 -34
- package/dist/providers/handlers/vertex.d.ts.map +0 -1
- package/dist/providers/index.d.ts +0 -101
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/public.d.ts +0 -4
- package/dist/providers/public.d.ts.map +0 -1
- package/dist/providers/runtime/auth.d.ts +0 -6
- package/dist/providers/runtime/auth.d.ts.map +0 -1
- package/dist/providers/runtime/openai-compatible.d.ts +0 -17
- package/dist/providers/runtime/openai-compatible.d.ts.map +0 -1
- package/dist/providers/runtime/provider-defaults.d.ts.map +0 -1
- package/dist/providers/runtime/registry.d.ts.map +0 -1
- package/dist/providers/transform/ai-sdk-community-format.d.ts +0 -7
- package/dist/providers/transform/ai-sdk-community-format.d.ts.map +0 -1
- package/dist/providers/transform/anthropic-format.d.ts +0 -25
- package/dist/providers/transform/anthropic-format.d.ts.map +0 -1
- package/dist/providers/transform/content-format.d.ts +0 -4
- package/dist/providers/transform/content-format.d.ts.map +0 -1
- package/dist/providers/transform/gemini-format.d.ts +0 -20
- package/dist/providers/transform/gemini-format.d.ts.map +0 -1
- package/dist/providers/transform/index.d.ts +0 -11
- package/dist/providers/transform/index.d.ts.map +0 -1
- package/dist/providers/transform/openai-format.d.ts +0 -37
- package/dist/providers/transform/openai-format.d.ts.map +0 -1
- package/dist/providers/transform/r1-format.d.ts +0 -27
- package/dist/providers/transform/r1-format.d.ts.map +0 -1
- package/dist/providers/types/handler.d.ts.map +0 -1
- package/dist/providers/types/index.d.ts.map +0 -1
- package/dist/providers/types/messages.d.ts +0 -147
- package/dist/providers/types/messages.d.ts.map +0 -1
- package/dist/providers/types/model-info.d.ts +0 -33
- package/dist/providers/types/model-info.d.ts.map +0 -1
- package/dist/providers/types/stream.d.ts.map +0 -1
- package/dist/providers/utils/index.d.ts +0 -8
- package/dist/providers/utils/index.d.ts.map +0 -1
- package/dist/providers/utils/retry.d.ts +0 -39
- package/dist/providers/utils/retry.d.ts.map +0 -1
- package/dist/providers/utils/stream-processor.d.ts +0 -111
- package/dist/providers/utils/stream-processor.d.ts.map +0 -1
- package/dist/providers/utils/tool-processor.d.ts +0 -36
- package/dist/providers/utils/tool-processor.d.ts.map +0 -1
- package/dist/sdk.d.ts +0 -2
- package/dist/sdk.d.ts.map +0 -1
- package/dist/types.d.ts +0 -2
- package/dist/types.d.ts.map +0 -1
- /package/dist/{providers/types → provider}/stream.d.ts +0 -0
- /package/dist/{config-browser.d.ts → runtime/config-browser.d.ts} +0 -0
- /package/dist/{config.d.ts → runtime/config.d.ts} +0 -0
package/dist/providers.js
CHANGED
|
@@ -1,15 +1,86 @@
|
|
|
1
|
-
import{createRequire as cr}from"node:module";var ir=Object.defineProperty;var nr=(e)=>e;function or(e,t){this[e]=nr.bind(null,t)}var W=(e,t)=>{for(var a in t)ir(e,a,{get:t[a],enumerable:!0,configurable:!0,set:or.bind(t,a)})};var w=(e,t)=>()=>(e&&(t=e(e=0)),t);var aa=cr(import.meta.url);var ca;var Yn=w(()=>{ca={version:1775176975314,providers:{aihubmix:{"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"claude-sonnet-4-6-think":{id:"claude-sonnet-4-6-think",name:"Claude Sonnet 4.6 Think",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"qwen3.5-plus":{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.11,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"minimax-m2.5":{id:"minimax-m2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:1.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"coding-glm-5-free":{id:"coding-glm-5-free",name:"Coding-GLM-5-Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"glm-5":{id:"glm-5",name:"GLM-5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.88,output:2.82,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-05"},"claude-opus-4-6-think":{id:"claude-opus-4-6-think",name:"Claude Opus 4.6 Think",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-05"},"qwen3-coder-next":{id:"qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.14,output:0.55,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-04"},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27"},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"coding-minimax-m2.1-free":{id:"coding-minimax-m2.1-free",name:"Coding MiniMax M2.1 Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"minimax-m2.1":{id:"minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:1.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"coding-glm-4.7":{id:"coding-glm-4.7",name:"Coding-GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1.1,cacheRead:0.548,cacheWrite:0},releaseDate:"2025-12-22"},"coding-glm-4.7-free":{id:"coding-glm-4.7-free",name:"Coding GLM 4.7 Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1.1,cacheRead:0.548,cacheWrite:0},releaseDate:"2025-12-22"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.14,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-08"},"deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek-V3.2",contextWindow:131000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"deepseek-v3.2-think":{id:"deepseek-v3.2-think",name:"DeepSeek-V3.2-Think",contextWindow:131000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-25"},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:65000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-11-19"},"gemini-3-pro-preview-search":{id:"gemini-3-pro-preview-search",name:"Gemini 3 Pro Preview Search",contextWindow:1e6,maxTokens:65000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-11-19"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-15"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-11-15"},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-11-15"},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.1,output:5.5,cacheRead:0.11,cacheWrite:1.25},releaseDate:"2025-09-29"},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3.3,output:16.5,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"qwen3-max-2026-01-23":{id:"qwen3-max-2026-01-23",name:"Qwen3 Max",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.34,output:1.37,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1e6,maxTokens:65000,capabilities:["images","tools","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-09-15"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:2000000,maxTokens:65000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.25,output:5,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5":{id:"gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:20,cacheRead:2.5,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5-Mini",contextWindow:200000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.5,output:6,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5-Nano",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.5,output:2,cacheRead:0.25,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5-Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:7,output:28,cacheRead:3.5,cacheWrite:0},releaseDate:"2025-09-15"},"Kimi-K2-0905":{id:"Kimi-K2-0905",name:"Kimi K2 0905",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:16.5,output:82.5,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"qwen3-coder-480b-a35b-instruct":{id:"qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:131000,capabilities:["tools","temperature"],pricing:{input:0.82,output:3.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"qwen3-235b-a22b-instruct-2507":{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:0.28,output:1.12,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30"},"qwen3-235b-a22b-thinking-2507":{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"}},anthropic:{"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-01"},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"claude-opus-4-1-20250805":{id:"claude-opus-4-1-20250805",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"claude-opus-4-0":{id:"claude-opus-4-0",name:"Claude Opus 4 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"claude-opus-4-20250514":{id:"claude-opus-4-20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"claude-sonnet-4-0":{id:"claude-sonnet-4-0",name:"Claude Sonnet 4 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"claude-sonnet-4-20250514":{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"claude-3-7-sonnet-20250219":{id:"claude-3-7-sonnet-20250219",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"claude-3-5-haiku-20241022":{id:"claude-3-5-haiku-20241022",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"claude-3-5-haiku-latest":{id:"claude-3-5-haiku-latest",name:"Claude Haiku 3.5 (latest)",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"claude-3-5-sonnet-20241022":{id:"claude-3-5-sonnet-20241022",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"claude-3-5-sonnet-20240620":{id:"claude-3-5-sonnet-20240620",name:"Claude Sonnet 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20"},"claude-3-haiku-20240307":{id:"claude-3-haiku-20240307",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13"},"claude-3-sonnet-20240229":{id:"claude-3-sonnet-20240229",name:"Claude Sonnet 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:0.3},releaseDate:"2024-03-04"},"claude-3-opus-20240229":{id:"claude-3-opus-20240229",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29"}},baseten:{"nvidia/Nemotron-120B-A12B":{id:"nvidia/Nemotron-120B-A12B",name:"Nemotron 3 Super",contextWindow:262144,maxTokens:32678,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204000,maxTokens:10200,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.95,output:3.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-30"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:1e4,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-16"},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:164000,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3 0324",contextWindow:164000,maxTokens:131000,capabilities:["tools","temperature"],pricing:{input:0.77,output:0.77,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-24"}},bedrock:{"minimax.minimax-m2.5":{id:"minimax.minimax-m2.5",name:"MiniMax M2.5",contextWindow:196608,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18"},"zai.glm-5":{id:"zai.glm-5",name:"GLM-5",contextWindow:202752,maxTokens:101376,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18"},"nvidia.nemotron-super-3-120b":{id:"nvidia.nemotron-super-3-120b",name:"NVIDIA Nemotron 3 Super 120B A12B",contextWindow:262144,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.65,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"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:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06"},"anthropic.claude-opus-4-6-v1":{id:"anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"eu.anthropic.claude-opus-4-6-v1":{id:"eu.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (EU)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"global.anthropic.claude-opus-4-6-v1":{id:"global.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (Global)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"us.anthropic.claude-opus-4-6-v1":{id:"us.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (US)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"zai.glm-4.7-flash":{id:"zai.glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19"},"minimax.minimax-m2.1":{id:"minimax.minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"nvidia.nemotron-nano-3-30b":{id:"nvidia.nemotron-nano-3-30b",name:"NVIDIA Nemotron Nano 3 30B",contextWindow:128000,maxTokens:4096,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"zai.glm-4.7":{id:"zai.glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"mistral.magistral-small-2509":{id:"mistral.magistral-small-2509",name:"Magistral Small 1.2",contextWindow:128000,maxTokens:40000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"mistral.ministral-3-3b-instruct":{id:"mistral.ministral-3-3b-instruct",name:"Ministral 3 3B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"mistral.mistral-large-3-675b-instruct":{id:"mistral.mistral-large-3-675b-instruct",name:"Mistral Large 3",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"moonshot.kimi-k2-thinking":{id:"moonshot.kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"anthropic.claude-opus-4-5-20251101-v1:0":{id:"anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"eu.anthropic.claude-opus-4-5-20251101-v1:0":{id:"eu.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"global.anthropic.claude-opus-4-5-20251101-v1:0":{id:"global.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"us.anthropic.claude-opus-4-5-20251101-v1:0":{id:"us.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"minimax.minimax-m2":{id:"minimax.minimax-m2",name:"MiniMax M2",contextWindow:204608,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-27"},"anthropic.claude-haiku-4-5-20251001-v1:0":{id:"anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"eu.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"eu.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"global.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"global.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"us.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"us.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"qwen.qwen3-vl-235b-a22b":{id:"qwen.qwen3-vl-235b-a22b",name:"Qwen/Qwen3-VL-235B-A22B-Instruct",contextWindow:262000,maxTokens:13100,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-04"},"anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"eu.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"eu.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"global.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"global.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"us.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"deepseek.v3-v1:0":{id:"deepseek.v3-v1:0",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:81920,capabilities:["tools","reasoning","temperature"],pricing:{input:0.58,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-235b-a22b-2507-v1:0":{id:"qwen.qwen3-235b-a22b-2507-v1:0",name:"Qwen3 235B A22B 2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-32b-v1:0":{id:"qwen.qwen3-32b-v1:0",name:"Qwen3 32B (dense)",contextWindow:16384,maxTokens:819,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-coder-30b-a3b-v1:0":{id:"qwen.qwen3-coder-30b-a3b-v1:0",name:"Qwen3 Coder 30B A3B Instruct",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-coder-480b-a35b-v1:0":{id:"qwen.qwen3-coder-480b-a35b-v1:0",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:131072,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-next-80b-a3b":{id:"qwen.qwen3-next-80b-a3b",name:"Qwen/Qwen3-Next-80B-A3B-Instruct",contextWindow:262000,maxTokens:13100,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"anthropic.claude-opus-4-1-20250805-v1:0":{id:"anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"us.anthropic.claude-opus-4-1-20250805-v1:0":{id:"us.anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1 (US)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"google.gemma-3-27b-it":{id:"google.gemma-3-27b-it",name:"Google Gemma 3 27B Instruct",contextWindow:202752,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.12,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-27"},"mistral.voxtral-small-24b-2507":{id:"mistral.voxtral-small-24b-2507",name:"Voxtral Small 24B 2507",contextWindow:32000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.35,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-01"},"anthropic.claude-opus-4-20250514-v1:0":{id:"anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic.claude-sonnet-4-20250514-v1:0":{id:"anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"eu.anthropic.claude-sonnet-4-20250514-v1:0":{id:"eu.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"global.anthropic.claude-sonnet-4-20250514-v1:0":{id:"global.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"us.anthropic.claude-opus-4-20250514-v1:0":{id:"us.anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4 (US)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"us.anthropic.claude-sonnet-4-20250514-v1:0":{id:"us.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"writer.palmyra-x4-v1:0":{id:"writer.palmyra-x4-v1:0",name:"Palmyra X4",contextWindow:122880,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"writer.palmyra-x5-v1:0":{id:"writer.palmyra-x5-v1:0",name:"Palmyra X5",contextWindow:1040000,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"mistral.pixtral-large-2502-v1:0":{id:"mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02)",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-08"},"meta.llama4-maverick-17b-instruct-v1:0":{id:"meta.llama4-maverick-17b-instruct-v1:0",name:"Llama 4 Maverick 17B Instruct",contextWindow:1e6,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.24,output:0.97,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta.llama4-scout-17b-instruct-v1:0":{id:"meta.llama4-scout-17b-instruct-v1:0",name:"Llama 4 Scout 17B Instruct",contextWindow:3500000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"anthropic.claude-3-7-sonnet-20250219-v1:0":{id:"anthropic.claude-3-7-sonnet-20250219-v1:0",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"deepseek.r1-v1:0":{id:"deepseek.r1-v1:0",name:"DeepSeek-R1",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"meta.llama3-3-70b-instruct-v1:0":{id:"meta.llama3-3-70b-instruct-v1:0",name:"Llama 3.3 70B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"amazon.nova-lite-v1:0":{id:"amazon.nova-lite-v1:0",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-micro-v1:0":{id:"amazon.nova-micro-v1:0",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-premier-v1:0":{id:"amazon.nova-premier-v1:0",name:"Nova Premier",contextWindow:1e6,maxTokens:16384,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2.5,output:12.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-pro-v1:0":{id:"amazon.nova-pro-v1:0",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-2-lite-v1:0":{id:"amazon.nova-2-lite-v1:0",name:"Nova 2 Lite",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.33,output:2.75,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"google.gemma-3-4b-it":{id:"google.gemma-3-4b-it",name:"Gemma 3 4B IT",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.04,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"mistral.ministral-3-14b-instruct":{id:"mistral.ministral-3-14b-instruct",name:"Ministral 14B 3.0",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"mistral.ministral-3-8b-instruct":{id:"mistral.ministral-3-8b-instruct",name:"Ministral 3 8B",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"mistral.voxtral-mini-3b-2507":{id:"mistral.voxtral-mini-3b-2507",name:"Voxtral Mini 3B 2507",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"nvidia.nemotron-nano-12b-v2":{id:"nvidia.nemotron-nano-12b-v2",name:"NVIDIA Nemotron Nano 12B v2 VL BF16",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"nvidia.nemotron-nano-9b-v2":{id:"nvidia.nemotron-nano-9b-v2",name:"NVIDIA Nemotron Nano 9B v2",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.06,output:0.23,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-120b-1:0":{id:"openai.gpt-oss-120b-1:0",name:"gpt-oss-120b",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-20b-1:0":{id:"openai.gpt-oss-20b-1:0",name:"gpt-oss-20b",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-safeguard-120b":{id:"openai.gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-safeguard-20b":{id:"openai.gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"anthropic.claude-3-5-haiku-20241022-v1:0":{id:"anthropic.claude-3-5-haiku-20241022-v1:0",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"anthropic.claude-3-5-sonnet-20241022-v2:0":{id:"anthropic.claude-3-5-sonnet-20241022-v2:0",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"meta.llama3-2-11b-instruct-v1:0":{id:"meta.llama3-2-11b-instruct-v1:0",name:"Llama 3.2 11B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.16,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-2-1b-instruct-v1:0":{id:"meta.llama3-2-1b-instruct-v1:0",name:"Llama 3.2 1B Instruct",contextWindow:131000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-2-3b-instruct-v1:0":{id:"meta.llama3-2-3b-instruct-v1:0",name:"Llama 3.2 3B Instruct",contextWindow:131000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-2-90b-instruct-v1:0":{id:"meta.llama3-2-90b-instruct-v1:0",name:"Llama 3.2 90B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-1-405b-instruct-v1:0":{id:"meta.llama3-1-405b-instruct-v1:0",name:"Llama 3.1 405B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:2.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"meta.llama3-1-70b-instruct-v1:0":{id:"meta.llama3-1-70b-instruct-v1:0",name:"Llama 3.1 70B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"meta.llama3-1-8b-instruct-v1:0":{id:"meta.llama3-1-8b-instruct-v1:0",name:"Llama 3.1 8B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"anthropic.claude-3-5-sonnet-20240620-v1:0":{id:"anthropic.claude-3-5-sonnet-20240620-v1:0",name:"Claude Sonnet 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20"},"anthropic.claude-3-haiku-20240307-v1:0":{id:"anthropic.claude-3-haiku-20240307-v1:0",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2024-03-13"}},cerebras:{"zai-glm-4.7":{id:"zai-glm-4.7",name:"Z.AI GLM-4.7",contextWindow:131072,maxTokens:40000,capabilities:["tools","temperature"],pricing:{input:2.25,output:2.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-10"},"gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.69,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"qwen-3-235b-a22b-instruct-2507":{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen 3 235B Instruct",contextWindow:131000,maxTokens:32000,capabilities:["tools","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22"},"llama3.1-8b":{id:"llama3.1-8b",name:"Llama 3.1 8B",contextWindow:32000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"}},deepseek:{"deepseek-chat":{id:"deepseek-chat",name:"DeepSeek Chat",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.28,output:0.42,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01"},"deepseek-reasoner":{id:"deepseek-reasoner",name:"DeepSeek Reasoner",contextWindow:128000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.42,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01"}},fireworks:{"accounts/fireworks/models/minimax-m2p5":{id:"accounts/fireworks/models/minimax-m2p5",name:"MiniMax-M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12"},"accounts/fireworks/models/glm-5":{id:"accounts/fireworks/models/glm-5",name:"GLM 5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-02-11"},"accounts/fireworks/models/kimi-k2p5":{id:"accounts/fireworks/models/kimi-k2p5",name:"Kimi K2.5",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27"},"accounts/fireworks/routers/kimi-k2p5-turbo":{id:"accounts/fireworks/routers/kimi-k2p5-turbo",name:"Kimi K2.5 Turbo",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"accounts/fireworks/models/minimax-m2p1":{id:"accounts/fireworks/models/minimax-m2p1",name:"MiniMax-M2.1",contextWindow:200000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-23"},"accounts/fireworks/models/glm-4p7":{id:"accounts/fireworks/models/glm-4p7",name:"GLM 4.7",contextWindow:198000,maxTokens:9900,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-12-22"},"accounts/fireworks/models/deepseek-v3p2":{id:"accounts/fireworks/models/deepseek-v3p2",name:"DeepSeek V3.2",contextWindow:160000,maxTokens:8000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.56,output:1.68,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-12-01"},"accounts/fireworks/models/kimi-k2-thinking":{id:"accounts/fireworks/models/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-11-06"},"accounts/fireworks/models/deepseek-v3p1":{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.56,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"accounts/fireworks/models/gpt-oss-120b":{id:"accounts/fireworks/models/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"accounts/fireworks/models/gpt-oss-20b":{id:"accounts/fireworks/models/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"accounts/fireworks/models/glm-4p5-air":{id:"accounts/fireworks/models/glm-4p5-air",name:"GLM 4.5 Air",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"accounts/fireworks/models/glm-4p5":{id:"accounts/fireworks/models/glm-4p5",name:"GLM 4.5",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.55,output:2.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"accounts/fireworks/models/kimi-k2-instruct":{id:"accounts/fireworks/models/kimi-k2-instruct",name:"Kimi K2 Instruct",contextWindow:128000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"}},gemini:{"gemini-3.1-flash-lite-preview":{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03"},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19"},"gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17"},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18"},"gemini-2.5-flash-lite-preview-09-2025":{id:"gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-2.5-flash-preview-09-2025":{id:"gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-flash-latest":{id:"gemini-flash-latest",name:"Gemini Flash Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-flash-lite-latest":{id:"gemini-flash-lite-latest",name:"Gemini Flash-Lite Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-live-2.5-flash":{id:"gemini-live-2.5-flash",name:"Gemini Live 2.5 Flash",contextWindow:128000,maxTokens:8000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-01"},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"gemini-2.5-flash-lite-preview-06-17":{id:"gemini-2.5-flash-lite-preview-06-17",name:"Gemini 2.5 Flash Lite Preview 06-17",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"gemini-live-2.5-flash-preview-native-audio":{id:"gemini-live-2.5-flash-preview-native-audio",name:"Gemini Live 2.5 Flash Preview Native Audio",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17"},"gemini-2.5-pro-preview-06-05":{id:"gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05"},"gemini-2.5-flash-preview-05-20":{id:"gemini-2.5-flash-preview-05-20",name:"Gemini 2.5 Flash Preview 05-20",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-05-20"},"gemini-2.5-pro-preview-05-06":{id:"gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06"},"gemini-2.5-flash-preview-04-17":{id:"gemini-2.5-flash-preview-04-17",name:"Gemini 2.5 Flash Preview 04-17",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-04-17"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-03-20"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20"},"gemma-3-27b-it":{id:"gemma-3-27b-it",name:"Gemma 3 27B",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12"},"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"},"groq/compound":{id:"groq/compound",name:"Compound",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04"},"groq/compound-mini":{id:"groq/compound-mini",name:"Compound Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04"},"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-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"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"Safety GPT OSS 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0.037,cacheWrite:0},releaseDate:"2025-03-05"},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen3 32B",contextWindow:131072,maxTokens:40960,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:0.59,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-23"},"llama-3.3-70b-versatile":{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B Versatile",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.59,output:0.79,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"llama-3.1-8b-instant":{id:"llama-3.1-8b-instant",name:"Llama 3.1 8B Instant",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"}},huggingface:{"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11"},"Qwen/Qwen3-Coder-Next":{id:"Qwen/Qwen3-Coder-Next",name:"Qwen3-Coder-Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03"},"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5-397B-A17B",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-01"},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22"},"XiaomiMiMo/MiMo-V2-Flash":{id:"XiaomiMiMo/MiMo-V2-Flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:4096,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-16"},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.3,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi-K2-Instruct-0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04"},"zai-org/GLM-4.7-Flash":{id:"zai-org/GLM-4.7-Flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-08"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-14"},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-28"}},kilo:{"kilo-auto/balanced":{id:"kilo-auto/balanced",name:"Kilo Auto Balanced",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/free":{id:"kilo-auto/free",name:"Kilo Auto Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/frontier":{id:"kilo-auto/frontier",name:"Kilo Auto Frontier",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/small":{id:"kilo-auto/small",name:"Kilo Auto Small",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo/auto-free":{id:"kilo/auto-free",name:"Deprecated Kilo Auto Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo/auto-small":{id:"kilo/auto-small",name:"Deprecated Kilo Auto Small",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"openrouter/auto":{id:"openrouter/auto",name:"Auto Router",contextWindow:2000000,maxTokens:32768,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"nvidia/nemotron-3-super-120b-a12b:free":{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"NVIDIA: Nemotron 3 Super (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-12"},"openrouter/healer-alpha":{id:"openrouter/healer-alpha",name:"Healer Alpha",contextWindow:262144,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-12"},"openrouter/hunter-alpha":{id:"openrouter/hunter-alpha",name:"Hunter Alpha",contextWindow:1048576,maxTokens:32000,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-12"},"x-ai/grok-4.20-beta":{id:"x-ai/grok-4.20-beta",name:"xAI: Grok 4.20 Beta",contextWindow:2000000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-12"},"bytedance-seed/seed-2.0-lite":{id:"bytedance-seed/seed-2.0-lite",name:"ByteDance Seed: Seed-2.0-Lite",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-10"},"qwen/qwen3.5-9b":{id:"qwen/qwen3.5-9b",name:"Qwen: Qwen3.5-9B",contextWindow:256000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.05,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-10"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"OpenAI: GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:2.5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-06"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"OpenAI: GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-06"},"openai/gpt-5.3-chat":{id:"openai/gpt-5.3-chat",name:"OpenAI: GPT-5.3 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools"],pricing:{input:1.75,output:14,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-04"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Google: Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-03"},"bytedance-seed/seed-2.0-mini":{id:"bytedance-seed/seed-2.0-mini",name:"ByteDance Seed: Seed-2.0-Mini",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-27"},"google/gemini-3.1-pro-preview-customtools":{id:"google/gemini-3.1-pro-preview-customtools",name:"Google: Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-122b-a10b":{id:"qwen/qwen3.5-122b-a10b",name:"Qwen: Qwen3.5-122B-A10B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:2.08,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-27b":{id:"qwen/qwen3.5-27b",name:"Qwen: Qwen3.5-27B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.195,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-35b-a3b":{id:"qwen/qwen3.5-35b-a3b",name:"Qwen: Qwen3.5-35B-A3B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1625,output:1.3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-flash-02-23":{id:"qwen/qwen3.5-flash-02-23",name:"Qwen: Qwen3.5-Flash",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"OpenAI: GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.75,output:14,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-25"},"inception/mercury-2":{id:"inception/mercury-2",name:"Inception: Mercury 2",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2026-02-24"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Google: Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","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:"Anthropic: Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-17"},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen: Qwen3.5 397B A17B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.39,output:2.34,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15"},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen: Qwen3.5 Plus 2026-02-15",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax: MiniMax M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:1.2,cacheRead:0.029,cacheWrite:0},releaseDate:"2026-02-12"},"minimax/minimax-m2.5:free":{id:"minimax/minimax-m2.5:free",name:"MiniMax: MiniMax M2.5 (free)",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"z-ai/glm-5":{id:"z-ai/glm-5",name:"Z.ai: GLM 5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.72,output:2.3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Anthropic: Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"qwen/qwen3-coder-next":{id:"qwen/qwen3-coder-next",name:"Qwen: Qwen3 Coder Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.12,output:0.75,cacheRead:0.035,cacheWrite:0},releaseDate:"2026-02-02"},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",contextWindow:200000,maxTokens:32768,capabilities:["images","tools","reasoning","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:"StepFun: Step 3.5 Flash",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-01-29"},"stepfun/step-3.5-flash:free":{id:"stepfun/step-3.5-flash:free",name:"StepFun: Step 3.5 Flash (free)",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-29"},"arcee-ai/trinity-large-preview:free":{id:"arcee-ai/trinity-large-preview:free",name:"Arcee AI: Trinity Large Preview (free)",contextWindow:131000,maxTokens:26200,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"MoonshotAI: Kimi K2.5",contextWindow:262144,maxTokens:65535,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.45,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"upstage/solar-pro-3":{id:"upstage/solar-pro-3",name:"Upstage: Solar Pro 3",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"qwen/qwen3-max-thinking":{id:"qwen/qwen3-max-thinking",name:"Qwen: Qwen3 Max Thinking",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.78,output:3.9,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-23"},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"Z.ai: GLM 4.7 Flash",contextWindow:202752,maxTokens:40551,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2026-01-19"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"OpenAI: GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"allenai/olmo-3.1-32b-instruct":{id:"allenai/olmo-3.1-32b-instruct",name:"AllenAI: Olmo 3.1 32B Instruct",contextWindow:65536,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-07"},"mistralai/mistral-small-24b-instruct-2501":{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral: Mistral Small 3",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-29"},"bytedance-seed/seed-1.6-flash":{id:"bytedance-seed/seed-1.6-flash",name:"ByteDance Seed: Seed 1.6 Flash",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax: MiniMax M2.1",contextWindow:196608,maxTokens:39322,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:0.95,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-23"},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"Z.ai: GLM 4.7",contextWindow:202752,maxTokens:65535,capabilities:["tools","reasoning","temperature"],pricing:{input:0.38,output:1.98,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-12-22"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Google: Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0.083333},releaseDate:"2025-12-17"},"mistralai/mistral-small-creative":{id:"mistralai/mistral-small-creative",name:"Mistral: Mistral Small Creative",contextWindow:32768,maxTokens:1638,capabilities:["tools"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17"},"mistralai/ministral-14b-2512":{id:"mistralai/ministral-14b-2512",name:"Mistral: Ministral 3 14B 2512",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-16"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"Xiaomi: MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.09,output:0.29,cacheRead:0.045,cacheWrite:0},releaseDate:"2025-12-14"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"OpenAI: GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],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:"OpenAI: GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools"],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:"OpenAI: GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"relace/relace-search":{id:"relace/relace-search",name:"Relace: Relace Search",contextWindow:256000,maxTokens:128000,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"essentialai/rnj-1-instruct":{id:"essentialai/rnj-1-instruct",name:"EssentialAI: Rnj 1 Instruct",contextWindow:32768,maxTokens:6554,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-05"},"mistralai/ministral-3b-2512":{id:"mistralai/ministral-3b-2512",name:"Mistral: Ministral 3 3B 2512",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"mistralai/ministral-8b-2512":{id:"mistralai/ministral-8b-2512",name:"Mistral: Ministral 3 8B 2512",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"arcee-ai/trinity-mini":{id:"arcee-ai/trinity-mini",name:"Arcee AI: Trinity Mini",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.045,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12"},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek: DeepSeek V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.26,output:0.38,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-12-01"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"Prime Intellect: INTELLECT-3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Anthropic: 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"},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"xAI: 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"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Google: Gemini 3 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0.375},releaseDate:"2025-11-18"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"OpenAI: GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],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:"OpenAI: GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools"],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:"OpenAI: GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],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:"OpenAI: GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"OpenAI: GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"MoonshotAI: Kimi K2 Thinking",contextWindow:131072,maxTokens:65535,capabilities:["tools","reasoning","temperature"],pricing:{input:0.47,output:2,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-06"},"amazon/nova-premier-v1":{id:"amazon/nova-premier-v1",name:"Amazon: Nova Premier 1.0",contextWindow:1e6,maxTokens:32000,capabilities:["images","tools","temperature"],pricing:{input:2.5,output:12.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-01"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"OpenAI: gpt-oss-safeguard-20b",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0.037,cacheWrite:0},releaseDate:"2025-10-29"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax: MiniMax M2",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature"],pricing:{input:0.255,output:1,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-10-23"},"qwen/qwen3-vl-32b-instruct":{id:"qwen/qwen3-vl-32b-instruct",name:"Qwen: Qwen3 VL 32B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.104,output:0.416,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-21"},"openai/gpt-5-image-mini":{id:"openai/gpt-5-image-mini",name:"OpenAI: GPT-5 Image Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-16"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Anthropic: Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"qwen/qwen3-vl-8b-instruct":{id:"qwen/qwen3-vl-8b-instruct",name:"Qwen: Qwen3 VL 8B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.08,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-15"},"qwen/qwen3-vl-8b-thinking":{id:"qwen/qwen3-vl-8b-thinking",name:"Qwen: Qwen3 VL 8B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.117,output:1.365,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-15"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"OpenAI: GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:10,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-14"},"qwen/qwen3-vl-30b-a3b-thinking":{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen: Qwen3 VL 30B A3B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.13,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-11"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"OpenAI: GPT-5 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"qwen/qwen3-vl-30b-a3b-instruct":{id:"qwen/qwen3-vl-30b-a3b-instruct",name:"Qwen: Qwen3 VL 30B A3B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.13,output:0.52,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-05"},"kwaipilot/kat-coder-pro":{id:"kwaipilot/kat-coder-pro",name:"Kwaipilot: KAT-Coder-Pro V1",contextWindow:256000,maxTokens:128000,capabilities:["tools","temperature"],pricing:{input:0.207,output:0.828,cacheRead:0.0414,cacheWrite:0},releaseDate:"2025-09-30"},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"Z.ai: GLM 4.6",contextWindow:204800,maxTokens:10240,capabilities:["tools","reasoning","temperature"],pricing:{input:0.39,output:1.9,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-09-30"},"z-ai/glm-4.6v":{id:"z-ai/glm-4.6v",name:"Z.ai: GLM 4.6V",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Anthropic: 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"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Google: Gemini 2.5 Flash Lite Preview 09-2025",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0.083333},releaseDate:"2025-09-25"},"qwen/qwen3-vl-235b-a22b-thinking":{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen: Qwen3 VL 235B A22B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:2.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24"},"qwen/qwen3-vl-235b-a22b-instruct":{id:"qwen/qwen3-vl-235b-a22b-instruct",name:"Qwen: Qwen3 VL 235B A22B Instruct",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.88,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-23"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek: DeepSeek V3.1 Terminus",contextWindow:163840,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.21,output:0.79,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-09-22"},"alibaba/tongyi-deepresearch-30b-a3b":{id:"alibaba/tongyi-deepresearch-30b-a3b",name:"Tongyi DeepResearch 30B A3B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.09,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"OpenAI: GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Mistral: Devstral 2 2512",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-12"},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen: Qwen3 Next 80B A3B Instruct",contextWindow:131072,maxTokens:52429,capabilities:["tools","temperature"],pricing:{input:0.09,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen: Qwen3 Next 80B A3B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.0975,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen-plus-2025-07-28":{id:"qwen/qwen-plus-2025-07-28",name:"Qwen: Qwen Plus 0728",contextWindow:1e6,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.26,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-09"},"qwen/qwen-plus-2025-07-28:thinking":{id:"qwen/qwen-plus-2025-07-28:thinking",name:"Qwen: Qwen Plus 0728 (thinking)",contextWindow:1e6,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.26,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-09"},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"MoonshotAI: Kimi K2 0905",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-09-05"},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen: Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-09-05"},"bytedance-seed/seed-1.6":{id:"bytedance-seed/seed-1.6",name:"ByteDance Seed: Seed 1.6",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09"},"meituan/longcat-flash-chat":{id:"meituan/longcat-flash-chat",name:"Meituan: LongCat Flash Chat",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-08-30"},"corethink:free":{id:"corethink:free",name:"CoreThink (free)",contextWindow:78000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-27"},"giga-potato":{id:"giga-potato",name:"Giga Potato (free)",contextWindow:256000,maxTokens:32000,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-27"},"giga-potato-thinking":{id:"giga-potato-thinking",name:"Giga Potato Thinking (free)",contextWindow:256000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-27"},"morph-warp-grep-v2":{id:"morph-warp-grep-v2",name:"Morph: WarpGrep V2",contextWindow:256000,maxTokens:32000,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-27"},"x-ai/grok-code-fast-1:optimized:free":{id:"x-ai/grok-code-fast-1:optimized:free",name:"xAI: Grok Code Fast 1 Optimized (experimental, free)",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-27"},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"xAI: 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-26"},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek: DeepSeek V3.1",contextWindow:32768,maxTokens:7168,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"xAI: 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-08-19"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"NVIDIA: Nemotron Nano 9B V2",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18"},"openai/gpt-4o-audio-preview":{id:"openai/gpt-4o-audio-preview",name:"OpenAI: GPT-4o Audio",contextWindow:128000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-15"},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral: Mistral Medium 3.1",contextWindow:131072,maxTokens:26215,capabilities:["images","tools","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:"Z.ai: GLM 4.5V",contextWindow:65536,maxTokens:16384,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-08-11"},"ai21/jamba-large-1.7":{id:"ai21/jamba-large-1.7",name:"AI21: Jamba Large 1.7",contextWindow:256000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:2,output:8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-09"},"openai/gpt-5":{id:"openai/gpt-5",name:"OpenAI: GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"OpenAI: GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],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:"OpenAI: GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Anthropic: 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"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"OpenAI: gpt-oss-120b",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.039,output:0.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"OpenAI: gpt-oss-20b",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.03,output:0.14,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Mistral: Codestral 2508",contextWindow:256000,maxTokens:51200,capabilities:["tools","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:"Qwen: Qwen3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:32768,capabilities:["tools","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:"Qwen: Qwen3 30B A3B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:0.09,output:0.3,cacheRead:0.04,cacheWrite:0},releaseDate:"2025-07-29"},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen: Qwen3 30B A3B Thinking 2507",contextWindow:32768,maxTokens:6554,capabilities:["tools","reasoning","temperature"],pricing:{input:0.051,output:0.34,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"Z.ai: GLM 4.5",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-07-28"},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"Z.ai: GLM 4.5 Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0.13,output:0.85,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-07-28"},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen: Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.11,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"z-ai/glm-4-32b":{id:"z-ai/glm-4-32b",name:"Z.ai: GLM 4 32B ",contextWindow:128000,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen: Qwen3 Coder 480B A35B",contextWindow:262144,maxTokens:52429,capabilities:["tools","temperature"],pricing:{input:0.22,output:1,cacheRead:0.022,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen: Qwen3 Coder Flash",contextWindow:1e6,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.195,output:0.975,cacheRead:0.06,cacheWrite:0},releaseDate:"2025-07-23"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Google: Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.083333},releaseDate:"2025-07-17"},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"MoonshotAI: Kimi K2 0711",contextWindow:131000,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"mistralai/devstral-medium":{id:"mistralai/devstral-medium",name:"Mistral: Devstral Medium",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10"},"x-ai/grok-4":{id:"x-ai/grok-4",name:"xAI: Grok 4",contextWindow:256000,maxTokens:51200,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09"},"tngtech/deepseek-r1t2-chimera":{id:"tngtech/deepseek-r1t2-chimera",name:"TNG: DeepSeek R1T2 Chimera",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.85,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-07-08"},"mistralai/voxtral-small-24b-2507":{id:"mistralai/voxtral-small-24b-2507",name:"Mistral: Voxtral Small 24B 2507",contextWindow:32000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-01"},"qwen/qwen3-coder-plus":{id:"qwen/qwen3-coder-plus",name:"Qwen: Qwen3 Coder Plus",contextWindow:1e6,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.65,output:3.25,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-07-01"},"baidu/ernie-4.5-21b-a3b":{id:"baidu/ernie-4.5-21b-a3b",name:"Baidu: ERNIE 4.5 21B A3B",contextWindow:120000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.28,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-30"},"baidu/ernie-4.5-vl-28b-a3b":{id:"baidu/ernie-4.5-vl-28b-a3b",name:"Baidu: ERNIE 4.5 VL 28B A3B",contextWindow:30000,maxTokens:8000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.14,output:0.56,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-30"},"inception/mercury":{id:"inception/mercury",name:"Inception: Mercury",contextWindow:128000,maxTokens:32000,capabilities:["tools","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-26"},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral: Mistral Small 3.2 24B",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","temperature"],pricing:{input:0.06,output:0.18,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-06-20"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Google: Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0.083333},releaseDate:"2025-06-17"},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax: MiniMax M1",contextWindow:1e6,maxTokens:40000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.4,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17"},"google/gemini-2.5-pro-preview":{id:"google/gemini-2.5-pro-preview",name:"Google: Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-06-05"},"deepseek/deepseek-r1-0528":{id:"deepseek/deepseek-r1-0528",name:"DeepSeek: R1 0528",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.45,output:2.15,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-05-28"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Anthropic: 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:"Anthropic: 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":{id:"mistralai/devstral-small",name:"Mistral: Devstral Small 1.1",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral: Mistral Medium 3",contextWindow:131072,maxTokens:26215,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"arcee-ai/virtuoso-large":{id:"arcee-ai/virtuoso-large",name:"Arcee AI: Virtuoso Large",contextWindow:131072,maxTokens:64000,capabilities:["tools","temperature"],pricing:{input:0.75,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-06"},"google/gemini-2.5-pro-preview-05-06":{id:"google/gemini-2.5-pro-preview-05-06",name:"Google: Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-05-06"},"openai/o4-mini-high":{id:"openai/o4-mini-high",name:"OpenAI: o4 Mini High",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:1.1,output:4.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-17"},"openai/o3":{id:"openai/o3",name:"OpenAI: o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o3-pro":{id:"openai/o3-pro",name:"OpenAI: 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:"OpenAI: o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"OpenAI: GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","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:"OpenAI: GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","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:"OpenAI: GPT-4.1 Nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04-14"},"meta-llama/llama-4-maverick":{id:"meta-llama/llama-4-maverick",name:"Meta: Llama 4 Maverick",contextWindow:1048576,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta-llama/llama-4-scout":{id:"meta-llama/llama-4-scout",name:"Meta: Llama 4 Scout",contextWindow:327680,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.08,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"qwen/qwen3-14b":{id:"qwen/qwen3-14b",name:"Qwen: Qwen3 14B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-235b-a22b-2507":{id:"qwen/qwen3-235b-a22b-2507",name:"Qwen: Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:52429,capabilities:["tools","reasoning","temperature"],pricing:{input:0.071,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-30b-a3b":{id:"qwen/qwen3-30b-a3b",name:"Qwen: Qwen3 30B A3B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature"],pricing:{input:0.08,output:0.28,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-8b":{id:"qwen/qwen3-8b",name:"Qwen: Qwen3 8B",contextWindow:40960,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-04"},"deepseek/deepseek-chat-v3-0324":{id:"deepseek/deepseek-chat-v3-0324",name:"DeepSeek: DeepSeek V3 0324",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.77,cacheRead:0.095,cacheWrite:0},releaseDate:"2025-03-24"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Google: Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-03-20"},"nvidia/llama-3.3-nemotron-super-49b-v1.5":{id:"nvidia/llama-3.3-nemotron-super-49b-v1.5",name:"NVIDIA: Llama 3.3 Nemotron Super 49B V1.5",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-16"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Google: Gemma 3 27B",contextWindow:128000,maxTokens:65536,capabilities:["images","tools","temperature"],pricing:{input:0.03,output:0.11,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-03-12"},"inception/mercury-coder":{id:"inception/mercury-coder",name:"Inception: Mercury Coder",contextWindow:128000,maxTokens:32000,capabilities:["tools","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-26"},"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-19"},"anthropic/claude-3.7-sonnet:thinking":{id:"anthropic/claude-3.7-sonnet:thinking",name:"Anthropic: Claude 3.7 Sonnet (thinking)",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"},"mistralai/mistral-saba":{id:"mistralai/mistral-saba",name:"Mistral: Saba",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3":{id:"x-ai/grok-3",name:"xAI: Grok 3",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"xAI: Grok 3 Beta",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-mini":{id:"x-ai/grok-3-mini",name:"xAI: Grok 3 Mini",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-mini-beta":{id:"x-ai/grok-3-mini-beta",name:"xAI: Grok 3 Mini Beta",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"openai/o3-mini-high":{id:"openai/o3-mini-high",name:"OpenAI: o3 Mini High",contextWindow:200000,maxTokens:1e5,capabilities:["files","tools"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2025-01-31"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek: R1",contextWindow:64000,maxTokens:16000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.7,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek: DeepSeek V3.2 Exp",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"},"nex-agi/deepseek-v3.1-nex-n1":{id:"nex-agi/deepseek-v3.1-nex-n1",name:"Nex AGI: DeepSeek V3.1 Nex N1",contextWindow:131072,maxTokens:163840,capabilities:["tools","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"},"openai/o3-mini":{id:"openai/o3-mini",name:"OpenAI: o3 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["files","tools"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20"},"google/gemini-2.0-flash-001":{id:"google/gemini-2.0-flash-001",name:"Google: Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0.083333},releaseDate:"2024-12-11"},"google/gemini-2.0-flash-lite-001":{id:"google/gemini-2.0-flash-lite-001",name:"Google: Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"amazon/nova-lite-v1":{id:"amazon/nova-lite-v1",name:"Amazon: Nova Lite 1.0",contextWindow:300000,maxTokens:5120,capabilities:["images","tools","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"amazon/nova-micro-v1":{id:"amazon/nova-micro-v1",name:"Amazon: Nova Micro 1.0",contextWindow:128000,maxTokens:5120,capabilities:["tools","temperature"],pricing:{input:0.035,output:0.14,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"openai/o1":{id:"openai/o1",name:"OpenAI: o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05"},"amazon/nova-pro-v1":{id:"amazon/nova-pro-v1",name:"Amazon: Nova Pro 1.0",contextWindow:300000,maxTokens:5120,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-03"},"amazon/nova-2-lite-v1":{id:"amazon/nova-2-lite-v1",name:"Amazon: Nova 2 Lite",contextWindow:1e6,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"deepseek/deepseek-chat":{id:"deepseek/deepseek-chat",name:"DeepSeek: DeepSeek V3",contextWindow:163840,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.32,output:0.89,cacheRead:0.15,cacheWrite:0},releaseDate:"2024-12-01"},"nvidia/nemotron-3-nano-30b-a3b":{id:"nvidia/nemotron-3-nano-30b-a3b",name:"NVIDIA: Nemotron 3 Nano 30B A3B",contextWindow:262144,maxTokens:52429,capabilities:["tools","reasoning","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12"},"qwen/qwen3-235b-a22b":{id:"qwen/qwen3-235b-a22b",name:"Qwen: Qwen3 235B A22B",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.455,output:1.82,cacheRead:0.15,cacheWrite:0},releaseDate:"2024-12-01"},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen: Qwen3 32B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature"],pricing:{input:0.08,output:0.24,cacheRead:0.04,cacheWrite:0},releaseDate:"2024-12-01"},"qwen/qwq-32b":{id:"qwen/qwq-32b",name:"Qwen: QwQ 32B",contextWindow:32768,maxTokens:1638,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-28"},"openai/gpt-4o-2024-11-20":{id:"openai/gpt-4o-2024-11-20",name:"OpenAI: GPT-4o (2024-11-20)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-11-20"},"mistralai/mistral-large-2407":{id:"mistralai/mistral-large-2407",name:"Mistral Large 2407",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-19"},"mistralai/pixtral-large-2411":{id:"mistralai/pixtral-large-2411",name:"Mistral: Pixtral Large 2411",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-19"},"thedrummer/unslopnemo-12b":{id:"thedrummer/unslopnemo-12b",name:"TheDrummer: UnslopNemo 12B",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-09"},"mistralai/mistral-large-2512":{id:"mistralai/mistral-large-2512",name:"Mistral: Mistral Large 3 2512",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-01"},"qwen/qwen-turbo":{id:"qwen/qwen-turbo",name:"Qwen: Qwen-Turbo",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.0325,output:0.13,cacheRead:0.01,cacheWrite:0},releaseDate:"2024-11-01"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Anthropic: Claude 3.5 Haiku",contextWindow:200000,maxTokens:8192,capabilities:["images","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:"Anthropic: Claude 3.5 Sonnet",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:6,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-22"},"nvidia/llama-3.1-nemotron-70b-instruct":{id:"nvidia/llama-3.1-nemotron-70b-instruct",name:"NVIDIA: Llama 3.1 Nemotron 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1.2,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-12"},"thedrummer/rocinante-12b":{id:"thedrummer/rocinante-12b",name:"TheDrummer: Rocinante 12B",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.17,output:0.43,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-30"},"qwen/qwen-2.5-72b-instruct":{id:"qwen/qwen-2.5-72b-instruct",name:"Qwen2.5 72B Instruct",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.12,output:0.39,cacheRead:0,cacheWrite:0},releaseDate:"2024-09"},"qwen/qwen-2.5-7b-instruct":{id:"qwen/qwen-2.5-7b-instruct",name:"Qwen: Qwen2.5 7B Instruct",contextWindow:32768,maxTokens:6554,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-09"},"cohere/command-r-08-2024":{id:"cohere/command-r-08-2024",name:"Cohere: Command R (08-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-30"},"cohere/command-r-plus-08-2024":{id:"cohere/command-r-plus-08-2024",name:"Cohere: Command R+ (08-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-30"},"sao10k/l3.1-euryale-70b":{id:"sao10k/l3.1-euryale-70b",name:"Sao10K: Llama 3.1 Euryale 70B v2.2",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.85,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-28"},"openai/gpt-4o-2024-08-06":{id:"openai/gpt-4o-2024-08-06",name:"OpenAI: GPT-4o (2024-08-06)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-08-06"},"meta-llama/llama-3.3-70b-instruct":{id:"meta-llama/llama-3.3-70b-instruct",name:"Meta: Llama 3.3 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.32,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-01"},"mistralai/mistral-large":{id:"mistralai/mistral-large",name:"Mistral Large",contextWindow:128000,maxTokens:25600,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-24"},"mistralai/mistral-large-2411":{id:"mistralai/mistral-large-2411",name:"Mistral Large 2411",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-24"},"meta-llama/llama-3.1-8b-instruct":{id:"meta-llama/llama-3.1-8b-instruct",name:"Meta: Llama 3.1 8B Instruct",contextWindow:16384,maxTokens:819,capabilities:["tools","temperature"],pricing:{input:0.02,output:0.05,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"OpenAI: GPT-4o-mini",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},releaseDate:"2024-07-18"},"openai/gpt-4o-mini-2024-07-18":{id:"openai/gpt-4o-mini-2024-07-18",name:"OpenAI: GPT-4o-mini (2024-07-18)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-18"},"meta-llama/llama-3.1-70b-instruct":{id:"meta-llama/llama-3.1-70b-instruct",name:"Meta: Llama 3.1 70B Instruct",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-16"},"mistralai/mistral-nemo":{id:"mistralai/mistral-nemo",name:"Mistral: Mistral Nemo",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.02,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-01"},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"OpenAI: o3 Deep Research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26"},"openai/o4-mini-deep-research":{id:"openai/o4-mini-deep-research",name:"OpenAI: o4 Mini Deep Research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2024-06-26"},"sao10k/l3-euryale-70b":{id:"sao10k/l3-euryale-70b",name:"Sao10k: Llama 3 Euryale 70B v2.1",contextWindow:8192,maxTokens:409,capabilities:["tools","temperature"],pricing:{input:1.48,output:1.48,cacheRead:0,cacheWrite:0},releaseDate:"2024-06-18"},"kilo/auto":{id:"kilo/auto",name:"Kilo: Auto",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0,cacheWrite:0},releaseDate:"2024-06-01"},"openai/gpt-4o":{id:"openai/gpt-4o",name:"OpenAI: GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"},"openai/gpt-4o-2024-05-13":{id:"openai/gpt-4o-2024-05-13",name:"OpenAI: GPT-4o (2024-05-13)",contextWindow:128000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-13"},"openai/gpt-4o:extended":{id:"openai/gpt-4o:extended",name:"OpenAI: GPT-4o (extended)",contextWindow:128000,maxTokens:64000,capabilities:["images","files","tools","temperature"],pricing:{input:6,output:18,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-13"},"meta-llama/llama-3-8b-instruct":{id:"meta-llama/llama-3-8b-instruct",name:"Meta: Llama 3 8B Instruct",contextWindow:8192,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.03,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-25"},"mistralai/mixtral-8x22b-instruct":{id:"mistralai/mixtral-8x22b-instruct",name:"Mistral: Mixtral 8x22B Instruct",contextWindow:65536,maxTokens:13108,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-17"},"qwen/qwen-vl-max":{id:"qwen/qwen-vl-max",name:"Qwen: Qwen VL Max",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-08"},"qwen/qwen-max":{id:"qwen/qwen-max",name:"Qwen: Qwen-Max ",contextWindow:32768,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:1.04,output:4.16,cacheRead:0.32,cacheWrite:0},releaseDate:"2024-04-03"},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Anthropic: Claude 3 Haiku",contextWindow:200000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-07"},"cohere/command-r7b-12-2024":{id:"cohere/command-r7b-12-2024",name:"Cohere: Command R7B (12-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:0.0375,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-02-27"},"openai/gpt-4-turbo-preview":{id:"openai/gpt-4-turbo-preview",name:"OpenAI: GPT-4 Turbo Preview",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2024-01-25"},"qwen/qwen-plus":{id:"qwen/qwen-plus",name:"Qwen: Qwen-Plus",contextWindow:1e6,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.4,output:1.2,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-01-25"},"mistralai/mixtral-8x7b-instruct":{id:"mistralai/mixtral-8x7b-instruct",name:"Mistral: Mixtral 8x7B Instruct",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.54,output:0.54,cacheRead:0,cacheWrite:0},releaseDate:"2023-12-10"},"openai/gpt-4-1106-preview":{id:"openai/gpt-4-1106-preview",name:"OpenAI: GPT-4 Turbo (older v1106)",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"OpenAI: GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-09-13"},"openai/gpt-3.5-turbo-16k":{id:"openai/gpt-3.5-turbo-16k",name:"OpenAI: GPT-3.5 Turbo 16k",contextWindow:16385,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:3,output:4,cacheRead:0,cacheWrite:0},releaseDate:"2023-08-28"},"openai/gpt-3.5-turbo-0613":{id:"openai/gpt-3.5-turbo-0613",name:"OpenAI: GPT-3.5 Turbo (older v0613)",contextWindow:4095,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:1,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2023-06-13"},"openai/gpt-4-0314":{id:"openai/gpt-4-0314",name:"OpenAI: GPT-4 (older v0314)",contextWindow:8191,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-05-28"},"openai/gpt-4":{id:"openai/gpt-4",name:"OpenAI: GPT-4",contextWindow:8191,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-03-14"},"openai/gpt-3.5-turbo":{id:"openai/gpt-3.5-turbo",name:"OpenAI: GPT-3.5 Turbo",contextWindow:16385,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2023-03-01"}},lmstudio:{"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"qwen/qwen3-30b-a3b-2507":{id:"qwen/qwen3-30b-a3b-2507",name:"Qwen3 30B A3B 2507",contextWindow:262144,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30"},"qwen/qwen3-coder-30b":{id:"qwen/qwen3-coder-30b",name:"Qwen3 Coder 30B",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"}},minimax:{"MiniMax-M2.7":{id:"MiniMax-M2.7",name:"MiniMax-M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18"},"MiniMax-M2.7-highspeed":{id:"MiniMax-M2.7-highspeed",name:"MiniMax-M2.7-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18"},"MiniMax-M2.5-highspeed":{id:"MiniMax-M2.5-highspeed",name:"MiniMax-M2.5-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-02-13"},"MiniMax-M2.5":{id:"MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12"},"MiniMax-M2.1":{id:"MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"MiniMax-M2":{id:"MiniMax-M2",name:"MiniMax-M2",contextWindow:196608,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-27"}},moonshot:{"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"kimi-k2-thinking-turbo":{id:"kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"kimi-k2-0905-preview":{id:"kimi-k2-0905-preview",name:"Kimi K2 0905",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-09-05"},"kimi-k2-turbo-preview":{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:2.4,output:10,cacheRead:0.6,cacheWrite:0},releaseDate:"2025-09-05"},"kimi-k2-0711-preview":{id:"kimi-k2-0711-preview",name:"Kimi K2 0711",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-07-14"}},nebius:{"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron-3-Super-120B-A12B",contextWindow:256000,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:200000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0.1,cacheWrite:1},releaseDate:"2026-03-01"},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-01"},"NousResearch/Hermes-4-405B":{id:"NousResearch/Hermes-4-405B",name:"Hermes-4-405B",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2026-01-30"},"NousResearch/Hermes-4-70B":{id:"NousResearch/Hermes-4-70B",name:"Hermes-4-70B",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0.013,cacheWrite:0.16},releaseDate:"2026-01-30"},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3-30B-A3B-Instruct-2507",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-30B-A3B-Thinking-2507":{id:"Qwen/Qwen3-30B-A3B-Thinking-2507",name:"Qwen3-30B-A3B-Thinking-2507",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-32B":{id:"Qwen/Qwen3-32B",name:"Qwen3-32B",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-32B-fast":{id:"Qwen/Qwen3-32B-fast",name:"Qwen3-32B (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-28"},"Qwen/Qwen3-Coder-30B-A3B-Instruct":{id:"Qwen/Qwen3-Coder-30B-A3B-Instruct",name:"Qwen3-Coder-30B-A3B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:1.2,cacheRead:0.015,cacheWrite:0.18},releaseDate:"2026-01-28"},"PrimeIntellect/INTELLECT-3":{id:"PrimeIntellect/INTELLECT-3",name:"INTELLECT-3",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-25"},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",contextWindow:163000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.45,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-01-20"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma-3-27b-it",contextWindow:110000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-20"},"google/gemma-3-27b-it-fast":{id:"google/gemma-3-27b-it-fast",name:"Gemma-3-27b-it (Fast)",contextWindow:110000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-20"},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.8,output:2.4,cacheRead:0.08,cacheWrite:1},releaseDate:"2026-01-15"},"zai-org/GLM-4.7-FP8":{id:"zai-org/GLM-4.7-FP8",name:"GLM-4.7 (FP8)",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2026-01-15"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"gpt-oss-120b",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0.18},releaseDate:"2026-01-10"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"gpt-oss-20b",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0.005,cacheWrite:0.06},releaseDate:"2026-01-10"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",contextWindow:200000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.5,output:2.4,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2026-01-05"},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2026-01-05"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15"},"moonshotai/Kimi-K2.5-fast":{id:"moonshotai/Kimi-K2.5-fast",name:"Kimi-K2.5-fast",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15"},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0.013,cacheWrite:0.16},releaseDate:"2025-12-05"},"meta-llama/Llama-3.3-70B-Instruct-fast":{id:"meta-llama/Llama-3.3-70B-Instruct-fast",name:"Llama-3.3-70B-Instruct (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0.31},releaseDate:"2025-12-05"},"zai-org/GLM-4.5":{id:"zai-org/GLM-4.5",name:"GLM-4.5",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-11-15"},"zai-org/GLM-4.5-Air":{id:"zai-org/GLM-4.5-Air",name:"GLM-4.5-Air",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2025-11-15"},"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B":{id:"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",name:"Nemotron-3-Nano-30B-A3B",contextWindow:32000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0.006,cacheWrite:0.075},releaseDate:"2025-08-10"},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.4,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek-V3-0324",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0.05,cacheWrite:0.1875},releaseDate:"2025-03-24"},"deepseek-ai/DeepSeek-V3-0324-fast":{id:"deepseek-ai/DeepSeek-V3-0324-fast",name:"DeepSeek-V3-0324 (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.75,output:2.25,cacheRead:0.075,cacheWrite:0.28125},releaseDate:"2025-03-24"},"nvidia/Nemotron-Nano-V2-12b":{id:"nvidia/Nemotron-Nano-V2-12b",name:"Nemotron-Nano-V2-12b",contextWindow:32000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.2,cacheRead:0.007,cacheWrite:0.08},releaseDate:"2025-03-15"},"Qwen/Qwen2.5-VL-72B-Instruct":{id:"Qwen/Qwen2.5-VL-72B-Instruct",name:"Qwen2.5-VL-72B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0.31},releaseDate:"2025-01-20"},"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1":{id:"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1",name:"Llama-3.1-Nemotron-Ultra-253B-v1",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-01-15"},"deepseek-ai/DeepSeek-R1-0528-fast":{id:"deepseek-ai/DeepSeek-R1-0528-fast",name:"DeepSeek R1 0528 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"},"Qwen/Qwen2.5-Coder-7B-fast":{id:"Qwen/Qwen2.5-Coder-7B-fast",name:"Qwen2.5-Coder-7B (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.03,output:0.09,cacheRead:0.003,cacheWrite:0.03},releaseDate:"2024-09-19"},"meta-llama/Meta-Llama-3.1-8B-Instruct":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Meta-Llama-3.1-8B-Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.02,output:0.06,cacheRead:0.002,cacheWrite:0.025},releaseDate:"2024-07-23"},"meta-llama/Meta-Llama-3.1-8B-Instruct-fast":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct-fast",name:"Meta-Llama-3.1-8B-Instruct (Fast)",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.03,output:0.09,cacheRead:0.003,cacheWrite:0.03},releaseDate:"2024-07-23"}},ollama:{"minimax-m2.7":{id:"minimax-m2.7",name:"minimax-m2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18"},"nemotron-3-super":{id:"nemotron-3-super",name:"nemotron-3-super",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"qwen3.5:397b":{id:"qwen3.5:397b",name:"qwen3.5:397b",contextWindow:262144,maxTokens:81920,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15"},"minimax-m2.5":{id:"minimax-m2.5",name:"minimax-m2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"glm-5":{id:"glm-5",name:"glm-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"qwen3-coder-next":{id:"qwen3-coder-next",name:"qwen3-coder-next",contextWindow:262144,maxTokens:65536,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-02"},"kimi-k2.5":{id:"kimi-k2.5",name:"kimi-k2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"minimax-m2.1":{id:"minimax-m2.1",name:"minimax-m2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"glm-4.7":{id:"glm-4.7",name:"glm-4.7",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"gemini-3-flash-preview",contextWindow:1048576,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17"},"nemotron-3-nano:30b":{id:"nemotron-3-nano:30b",name:"nemotron-3-nano:30b",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-15"},"devstral-2:123b":{id:"devstral-2:123b",name:"devstral-2:123b",contextWindow:262144,maxTokens:13107,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"devstral-small-2:24b":{id:"devstral-small-2:24b",name:"devstral-small-2:24b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"rnj-1:8b":{id:"rnj-1:8b",name:"rnj-1:8b",contextWindow:32768,maxTokens:4096,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-06"},"mistral-large-3:675b":{id:"mistral-large-3:675b",name:"mistral-large-3:675b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"cogito-2.1:671b":{id:"cogito-2.1:671b",name:"cogito-2.1:671b",contextWindow:163840,maxTokens:32000,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-19"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"kimi-k2-thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-06"},"minimax-m2":{id:"minimax-m2",name:"minimax-m2",contextWindow:204800,maxTokens:128000,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-23"},"glm-4.6":{id:"glm-4.6",name:"glm-4.6",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29"},"qwen3-vl:235b":{id:"qwen3-vl:235b",name:"qwen3-vl:235b",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"qwen3-vl:235b-instruct":{id:"qwen3-vl:235b-instruct",name:"qwen3-vl:235b-instruct",contextWindow:262144,maxTokens:131072,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"qwen3-next:80b":{id:"qwen3-next:80b",name:"qwen3-next:80b",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-15"},"deepseek-v3.1:671b":{id:"deepseek-v3.1:671b",name:"deepseek-v3.1:671b",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"gpt-oss:120b":{id:"gpt-oss:120b",name:"gpt-oss:120b",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"gpt-oss:20b":{id:"gpt-oss:20b",name:"gpt-oss:20b",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"qwen3-coder:480b":{id:"qwen3-coder:480b",name:"qwen3-coder:480b",contextWindow:262144,maxTokens:65536,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22"},"kimi-k2:1t":{id:"kimi-k2:1t",name:"kimi-k2:1t",contextWindow:262144,maxTokens:13107,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"deepseek-v3.2":{id:"deepseek-v3.2",name:"deepseek-v3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-15"},"ministral-3:14b":{id:"ministral-3:14b",name:"ministral-3:14b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"ministral-3:8b":{id:"ministral-3:8b",name:"ministral-3:8b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"ministral-3:3b":{id:"ministral-3:3b",name:"ministral-3:3b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-22"}},openai:{"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17"},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17"},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-05"},"gpt-5.3-chat-latest":{id:"gpt-5.3-chat-latest",name:"GPT-5.3 Chat (latest)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-03-03"},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05"},"gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindow:128000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.2-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.2-pro":{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-chat-latest":{id:"gpt-5.1-chat-latest",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5":{id:"gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"o3-pro":{id:"o3-pro",name:"o3-pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-10"},"codex-mini-latest":{id:"codex-mini-latest",name:"Codex Mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning"],pricing:{input:1.5,output:6,cacheRead:0.375,cacheWrite:0},releaseDate:"2025-05-16"},o3:{id:"o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16"},"o4-mini":{id:"o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14"},"o1-pro":{id:"o1-pro",name:"o1-pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:150,output:600,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-19"},"o3-mini":{id:"o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20"},o1:{id:"o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05"},"gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-11-20"},"gpt-4o-2024-08-06":{id:"gpt-4o-2024-08-06",name:"GPT-4o (2024-08-06)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-08-06"},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"},"o3-deep-research":{id:"o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26"},"o4-mini-deep-research":{id:"o4-mini-deep-research",name:"o4-mini-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2024-06-26"},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"},"gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",name:"GPT-4o (2024-05-13)",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","structured_output","temperature"],pricing:{input:5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-13"},"gpt-4":{id:"gpt-4",name:"GPT-4",contextWindow:8192,maxTokens:409,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"},"gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"}},openrouter:{"qwen/qwen3.6-plus:free":{id:"qwen/qwen3.6-plus:free",name:"Qwen3.6 Plus (free)",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02"},"qwen/qwen3.6-plus-preview:free":{id:"qwen/qwen3.6-plus-preview:free",name:"Qwen3.6 Plus Preview (free)",contextWindow:1e6,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-30"},"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"},"mistralai/mistral-small-2603":{id:"mistralai/mistral-small-2603",name:"Mistral Small 4",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-16"},"z-ai/glm-5-turbo":{id:"z-ai/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"},"x-ai/grok-4.20-beta":{id:"x-ai/grok-4.20-beta",name:"Grok 4.20 Beta",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-12"},"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"nvidia/nemotron-3-super-120b-a12b:free":{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2026-03-04"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:0.083},releaseDate:"2026-03-03"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19"},"google/gemini-3.1-pro-preview-customtools":{id:"google/gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen3.5 Plus 2026-02-15",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12"},"z-ai/glm-5":{id:"z-ai/glm-5",name:"GLM-5",contextWindow:202752,maxTokens:131000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"Step 3.5 Flash",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-01-29"},"stepfun/step-3.5-flash:free":{id:"stepfun/step-3.5-flash:free",name:"Step 3.5 Flash (free)",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-29"},"arcee-ai/trinity-large-preview:free":{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28"},"arcee-ai/trinity-mini:free":{id:"arcee-ai/trinity-mini:free",name:"Trinity Mini",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27"},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:65535,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17"},"nvidia/nemotron-3-nano-30b-a3b:free":{id:"nvidia/nemotron-3-nano-30b-a3b:free",name:"Nemotron 3 Nano 30B A3B (free)",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-14"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-12-14"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"deepseek/deepseek-v3.2-speciale":{id:"deepseek/deepseek-v3.2-speciale",name:"DeepSeek V3.2 Speciale",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-11-19"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1050000,maxTokens:66000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-18"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-29"},"nvidia/nemotron-nano-12b-v2-vl:free":{id:"nvidia/nemotron-nano-12b-v2-vl:free",name:"Nemotron Nano 12B 2 VL (free)",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-28"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:196600,maxTokens:118000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.28,output:1.15,cacheRead:0.28,cacheWrite:1.15},releaseDate:"2025-10-23"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30"},"z-ai/glm-4.6:exacto":{id:"z-ai/glm-4.6:exacto",name:"GLM 4.6 (exacto)",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:1.9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25"},"google/gemini-2.5-flash-preview-09-2025":{id:"google/gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.031,cacheWrite:0},releaseDate:"2025-09-25"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"deepseek/deepseek-v3.1-terminus:exacto":{id:"deepseek/deepseek-v3.1-terminus:exacto",name:"DeepSeek V3.1 Terminus (exacto)",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Devstral 2 2512",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12"},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen3-next-80b-a3b-instruct:free":{id:"qwen/qwen3-next-80b-a3b-instruct:free",name:"Qwen3 Next 80B A3B Instruct (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"Kimi K2 Instruct 0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"moonshotai/kimi-k2-0905:exacto":{id:"moonshotai/kimi-k2-0905:exacto",name:"Kimi K2 Instruct 0905 (exacto)",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"nvidia/nemotron-nano-9b-v2:free":{id:"nvidia/nemotron-nano-9b-v2:free",name:"Nemotron Nano 9B V2 (free)",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-26"},"nousresearch/hermes-4-405b":{id:"nousresearch/hermes-4-405b",name:"Hermes 4 405B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25"},"nousresearch/hermes-4-70b":{id:"nousresearch/hermes-4-70b",name:"Hermes 4 70B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25"},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-08-19"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"nvidia-nemotron-nano-9b-v2",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18"},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral Medium 3.1",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-12"},"z-ai/glm-4.5v":{id:"z-ai/glm-4.5v",name:"GLM 4.5V",contextWindow:64000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.072,output:0.28,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-120b:exacto":{id:"openai/gpt-oss-120b:exacto",name:"GPT OSS 120B (exacto)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-120b:free":{id:"openai/gpt-oss-120b:free",name:"gpt-oss-120b (free)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b:free":{id:"openai/gpt-oss-20b:free",name:"gpt-oss-20b (free)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Codestral 2508",contextWindow:256000,maxTokens:12800,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:65536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-31"},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen3 30B A3B Instruct 2507",contextWindow:262000,maxTokens:13100,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen3 30B A3B Thinking 2507",contextWindow:262000,maxTokens:13100,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"GLM 4.5",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"GLM 4.5 Air",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:81920,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.078,output:0.312,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen3 Coder",contextWindow:262144,maxTokens:66536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen3 Coder Flash",contextWindow:128000,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder:exacto":{id:"qwen/qwen3-coder:exacto",name:"Qwen3 Coder (exacto)",contextWindow:131072,maxTokens:32768,capabilities:["tools","structured_output","temperature"],pricing:{input:0.38,output:1.53,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder:free":{id:"qwen/qwen3-coder:free",name:"Qwen3 Coder 480B A35B Instruct (free)",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-07-17"},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"Kimi K2",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"moonshotai/kimi-k2:free":{id:"moonshotai/kimi-k2:free",name:"Kimi K2 (free)",contextWindow:32800,maxTokens:1640,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"mistralai/devstral-medium-2507":{id:"mistralai/devstral-medium-2507",name:"Devstral Medium",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10"},"mistralai/devstral-small-2507":{id:"mistralai/devstral-small-2507",name:"Devstral Small 1.1",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10"},"x-ai/grok-4":{id:"x-ai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-07-09"},"inception/mercury":{id:"inception/mercury",name:"Mercury",contextWindow:128000,maxTokens:32000,capabilities:["tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-26"},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral Small 3.2 24B Instruct",contextWindow:96000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-20"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax M1",contextWindow:1e6,maxTokens:40000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.4,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17"},"google/gemini-2.5-pro-preview-06-05":{id:"google/gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"mistralai/devstral-small-2505":{id:"mistralai/devstral-small-2505",name:"Devstral Small",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.06,output:0.12,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral Medium 3",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"google/gemini-2.5-pro-preview-05-06":{id:"google/gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06"},"inception/mercury-coder":{id:"inception/mercury-coder",name:"Mercury Coder",contextWindow:128000,maxTokens:32000,capabilities:["tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04-30"},"qwen/qwen3-4b:free":{id:"qwen/qwen3-4b:free",name:"Qwen3 4B (free)",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-30"},"qwen/qwen3-235b-a22b-07-25":{id:"qwen/qwen3-235b-a22b-07-25",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20"},"mistralai/mistral-small-3.1-24b-instruct":{id:"mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma 3 27B",contextWindow:96000,maxTokens:4800,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.04,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12"},"google/gemma-3-27b-it:free":{id:"google/gemma-3-27b-it:free",name:"Gemma 3 27B (free)",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-02-19"},"x-ai/grok-3":{id:"x-ai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17"},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"Grok 3 Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17"},"x-ai/grok-3-mini":{id:"x-ai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17"},"x-ai/grok-3-mini-beta":{id:"x-ai/grok-3-mini-beta",name:"Grok 3 Mini Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17"},"minimax/minimax-01":{id:"minimax/minimax-01",name:"MiniMax-01",contextWindow:1e6,maxTokens:50000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"Intellect 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15"},"google/gemini-2.0-flash-001":{id:"google/gemini-2.0-flash-001",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11"},"meta-llama/llama-3.3-70b-instruct:free":{id:"meta-llama/llama-3.3-70b-instruct:free",name:"Llama 3.3 70B Instruct (free)",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o-mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"}},requesty:{"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24"},"anthropic/claude-sonnet-4-6":{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"anthropic/claude-opus-4-6":{id:"anthropic/claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:1},releaseDate:"2025-12-17"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"anthropic/claude-opus-4-5":{id:"anthropic/claude-opus-4-5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:4.5},releaseDate:"2025-11-18"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"anthropic/claude-haiku-4-5":{id:"anthropic/claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:62000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"anthropic/claude-sonnet-4-5":{id:"anthropic/claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"xai/grok-4-fast":{id:"xai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.2},releaseDate:"2025-09-19"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:3},releaseDate:"2025-09-09"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:16000,maxTokens:4000,capabilities:["tools","reasoning"],pricing:{input:0.05,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-08-07"},"anthropic/claude-opus-4-1":{id:"anthropic/claude-opus-4-1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0.55},releaseDate:"2025-06-17"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:2.375},releaseDate:"2025-06-17"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"anthropic/claude-3-7-sonnet":{id:"anthropic/claude-3-7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o Mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"}},sapaicore:{"anthropic--claude-4.6-sonnet":{id:"anthropic--claude-4.6-sonnet",name:"anthropic--claude-4.6-sonnet",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"anthropic--claude-4.6-opus":{id:"anthropic--claude-4.6-opus",name:"anthropic--claude-4.6-opus",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"anthropic--claude-4.5-opus":{id:"anthropic--claude-4.5-opus",name:"anthropic--claude-4.5-opus",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"anthropic--claude-4.5-haiku":{id:"anthropic--claude-4.5-haiku",name:"anthropic--claude-4.5-haiku",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"anthropic--claude-4.5-sonnet":{id:"anthropic--claude-4.5-sonnet",name:"anthropic--claude-4.5-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"gpt-5":{id:"gpt-5",name:"gpt-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-mini":{id:"gpt-5-mini",name:"gpt-5-mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-nano":{id:"gpt-5-nano",name:"gpt-5-nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"gemini-2.5-flash-lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"anthropic--claude-4-opus":{id:"anthropic--claude-4-opus",name:"anthropic--claude-4-opus",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic--claude-4-sonnet":{id:"anthropic--claude-4-sonnet",name:"anthropic--claude-4-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"gpt-4.1":{id:"gpt-4.1",name:"gpt-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"gpt-4.1-mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"gemini-2.5-flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-25"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"gemini-2.5-pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-25"},"anthropic--claude-3.7-sonnet":{id:"anthropic--claude-3.7-sonnet",name:"anthropic--claude-3.7-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-24"},"anthropic--claude-3.5-sonnet":{id:"anthropic--claude-3.5-sonnet",name:"anthropic--claude-3.5-sonnet",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"anthropic--claude-3-haiku":{id:"anthropic--claude-3-haiku",name:"anthropic--claude-3-haiku",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13"},"anthropic--claude-3-sonnet":{id:"anthropic--claude-3-sonnet",name:"anthropic--claude-3-sonnet",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-03-04"},"anthropic--claude-3-opus":{id:"anthropic--claude-3-opus",name:"anthropic--claude-3-opus",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29"}},together:{"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5 397B A17B",contextWindow:262144,maxTokens:130000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-02-12"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"Qwen/Qwen3-Coder-Next-FP8":{id:"Qwen/Qwen3-Coder-Next-FP8",name:"Qwen3 Coder Next FP8",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"essentialai/Rnj-1-Instruct":{id:"essentialai/Rnj-1-Instruct",name:"Rnj-1 Instruct",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-05"},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:1e4,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"deepseek-ai/DeepSeek-V3-1":{id:"deepseek-ai/DeepSeek-V3-1",name:"DeepSeek V3.1",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:1.7,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"Qwen/Qwen3-235B-A22B-Instruct-2507-tput":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507-tput",name:"Qwen3 235B A22B Instruct 2507 FP8",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:200000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0.45,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi K2 Instruct",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-14"},"deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:1.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"meta-llama/Llama-3.3-70B-Instruct-Turbo":{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:0.88,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"}},"vercel-ai-gateway":{"kwaipilot/kat-coder-pro-v2":{id:"kwaipilot/kat-coder-pro-v2",name:"Kat Coder Pro V2",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-27"},"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"},"mistral/mistral-small":{id:"mistral/mistral-small",name:"Mistral Small (latest)",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-16"},"zai/glm-5-turbo":{id:"zai/glm-5-turbo",name:"GLM 5 Turbo",contextWindow:202800,maxTokens:131100,capabilities:["tools","reasoning","temperature"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-15"},"zai/glm-4.7-flash":{id:"zai/glm-4.7-flash",name:"GLM 4.7 Flash",contextWindow:200000,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-13"},"xai/grok-4.20-multi-agent-beta":{id:"xai/grok-4.20-multi-agent-beta",name:"Grok 4.20 Multi Agent Beta",contextWindow:2000000,maxTokens:1e5,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11"},"xai/grok-4.20-non-reasoning-beta":{id:"xai/grok-4.20-non-reasoning-beta",name:"Grok 4.20 Beta Non-Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11"},"xai/grok-4.20-reasoning-beta":{id:"xai/grok-4.20-reasoning-beta",name:"Grok 4.20 Beta Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11"},"xai/grok-4.20-multi-agent":{id:"xai/grok-4.20-multi-agent",name:"Grok 4.20 Multi-Agent",contextWindow:2000000,maxTokens:1e5,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09"},"xai/grok-4.20-non-reasoning":{id:"xai/grok-4.20-non-reasoning",name:"Grok 4.20 Non-Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09"},"xai/grok-4.20-reasoning":{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT 5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT 5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-05"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1e6,maxTokens:65000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03"},"openai/gpt-5.3-chat":{id:"openai/gpt-5.3-chat",name:"GPT-5.3 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-03-03"},"alibaba/qwen3.5-flash":{id:"alibaba/qwen3.5-flash",name:"Qwen 3.5 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.001,cacheWrite:0.125},releaseDate:"2026-02-24"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.024999999999999998,cacheWrite:0},releaseDate:"2026-02-24"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT 5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"alibaba/qwen3.5-plus":{id:"alibaba/qwen3.5-plus",name:"Qwen 3.5 Plus",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.4,output:2.4,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2026-02-16"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12"},"minimax/minimax-m2.5-highspeed":{id:"minimax/minimax-m2.5-highspeed",name:"MiniMax M2.5 High Speed",contextWindow:0,maxTokens:0,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.4,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12"},"zai/glm-5":{id:"zai/glm-5",name:"GLM-5",contextWindow:202800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-26"},"zai/glm-4.7":{id:"zai/glm-4.7",name:"GLM 4.7",contextWindow:202752,maxTokens:120000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.43,output:1.75,cacheRead:0.08,cacheWrite:0},releaseDate:"2025-12-22"},"google/gemini-3-flash":{id:"google/gemini-3-flash",name:"Gemini 3 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo V2 Flash",contextWindow:262144,maxTokens:32000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17"},"mistral/devstral-2":{id:"mistral/devstral-2",name:"Devstral 2",contextWindow:256000,maxTokens:12800,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"deepseek/deepseek-v3.2-thinking":{id:"deepseek/deepseek-v3.2-thinking",name:"DeepSeek V3.2 Thinking",contextWindow:128000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.42,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-01"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"INTELLECT 3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:18.75},releaseDate:"2025-11-24"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:216144,maxTokens:10807,capabilities:["tools","reasoning","temperature"],pricing:{input:0.47,output:2,cacheRead:0.14,cacheWrite:0},releaseDate:"2025-11-06"},"moonshotai/kimi-k2-thinking-turbo":{id:"moonshotai/kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262114,maxTokens:13105,capabilities:["tools","reasoning","temperature"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:262114,maxTokens:13105,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1.15,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27"},"minimax/minimax-m2.1-lightning":{id:"minimax/minimax-m2.1-lightning",name:"MiniMax M2.1 Lightning",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:2.4,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"bytedance/seed-1.8":{id:"bytedance/seed-1.8",name:"Seed 1.8",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-10"},"zai/glm-4.6":{id:"zai/glm-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:96000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.45,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"zai/glm-4.6v":{id:"zai/glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-30"},"zai/glm-4.6v-flash":{id:"zai/glm-4.6v-flash",name:"GLM-4.6V-Flash",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek V3.2 Exp",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-09-25"},"google/gemini-2.5-flash-preview-09-2025":{id:"google/gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.383},releaseDate:"2025-09-25"},"alibaba/qwen3-vl-instruct":{id:"alibaba/qwen3-vl-instruct",name:"Qwen3 VL Instruct",contextWindow:131072,maxTokens:129024,capabilities:["images","tools","temperature"],pricing:{input:0.7,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24"},"alibaba/qwen3-vl-thinking":{id:"alibaba/qwen3-vl-thinking",name:"Qwen3 VL Thinking",contextWindow:131072,maxTokens:129024,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.7,output:8.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24"},"alibaba/qwen3-max":{id:"alibaba/qwen3-max",name:"Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:1.2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23"},"alibaba/qwen3-max-preview":{id:"alibaba/qwen3-max-preview",name:"Qwen3 Max Preview",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-09-23"},"meituan/longcat-flash-thinking":{id:"meituan/longcat-flash-thinking",name:"LongCat Flash Thinking",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"xai/grok-4-fast-non-reasoning":{id:"xai/grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"alibaba/qwen3-next-80b-a3b-instruct":{id:"alibaba/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.09,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12"},"alibaba/qwen3-next-80b-a3b-thinking":{id:"alibaba/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12"},"moonshotai/kimi-k2-turbo":{id:"moonshotai/kimi-k2-turbo",name:"Kimi K2 Turbo",contextWindow:256000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:2.4,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"bytedance/seed-1.6":{id:"bytedance/seed-1.6",name:"Seed 1.6",contextWindow:256000,maxTokens:32000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09"},"meituan/longcat-flash-chat":{id:"meituan/longcat-flash-chat",name:"LongCat Flash Chat",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-30"},"xai/grok-code-fast-1":{id:"xai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28"},"deepseek/deepseek-v3.1":{id:"deepseek/deepseek-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"Nvidia Nemotron Nano 9B V2",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18"},"zai/glm-4.5v":{id:"zai/glm-4.5v",name:"GLM 4.5V",contextWindow:66000,maxTokens:3300,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-chat":{id:"openai/gpt-5-chat",name:"GPT-5 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 pro",contextWindow:400000,maxTokens:272000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-instant":{id:"openai/gpt-5.1-instant",name:"GPT-5.1 Instant",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-thinking":{id:"openai/gpt-5.1-thinking",name:"GPT 5.1 Thinking",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT 5.2 ",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"zai/glm-4.5":{id:"zai/glm-4.5",name:"GLM 4.5",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"zai/glm-4.5-air":{id:"zai/glm-4.5-air",name:"GLM 4.5 Air",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"alibaba/qwen3-coder-plus":{id:"alibaba/qwen3-coder-plus",name:"Qwen3 Coder Plus",contextWindow:1e6,maxTokens:50000,capabilities:["tools","temperature"],pricing:{input:1,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"alibaba/qwen3-coder-next":{id:"alibaba/qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09"},"xai/grok-4-fast-reasoning":{id:"xai/grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning",contextWindow:2000000,maxTokens:256000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09"},"xai/grok-4.1-fast-non-reasoning":{id:"xai/grok-4.1-fast-non-reasoning",name:"Grok 4.1 Fast Non-Reasoning",contextWindow:2000000,maxTokens:30000,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09"},"xai/grok-4.1-fast-reasoning":{id:"xai/grok-4.1-fast-reasoning",name:"Grok 4.1 Fast Reasoning",contextWindow:2000000,maxTokens:30000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-06-17"},"vercel/v0-1.5-md":{id:"vercel/v0-1.5-md",name:"v0-1.5-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-09"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"vercel/v0-1.0-md":{id:"vercel/v0-1.0-md",name:"v0-1.0-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-22"},"openai/codex-mini":{id:"openai/codex-mini",name:"Codex Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.5,output:6,cacheRead:0.38,cacheWrite:0},releaseDate:"2025-05-16"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-05-16"},"mistral/devstral-small":{id:"mistral/devstral-small",name:"Devstral Small 1.1",contextWindow:128000,maxTokens:64000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistral/devstral-small-2":{id:"mistral/devstral-small-2",name:"Devstral Small 2",contextWindow:256000,maxTokens:12800,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistral/mistral-medium":{id:"mistral/mistral-medium",name:"Mistral Medium 3.1",contextWindow:128000,maxTokens:64000,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"openai/o3":{id:"openai/o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o3-pro":{id:"openai/o3-pro",name:"o3 Pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14"},"meta/llama-4-maverick":{id:"meta/llama-4-maverick",name:"Llama-4-Maverick-17B-128E-Instruct-FP8",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta/llama-4-scout":{id:"meta/llama-4-scout",name:"Llama-4-Scout-17B-16E-Instruct-FP8",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"alibaba/qwen-3-14b":{id:"alibaba/qwen-3-14b",name:"Qwen3-14B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen-3-235b":{id:"alibaba/qwen-3-235b",name:"Qwen3 235B A22B Instruct 2507",contextWindow:40960,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.13,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen-3-30b":{id:"alibaba/qwen-3-30b",name:"Qwen3-30B-A3B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.08,output:0.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen-3-32b":{id:"alibaba/qwen-3-32b",name:"Qwen 3.32B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen3-235b-a22b-thinking":{id:"alibaba/qwen3-235b-a22b-thinking",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262114,maxTokens:13105,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen3-coder":{id:"alibaba/qwen3-coder",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.38,output:1.53,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen3-coder-30b-a3b":{id:"alibaba/qwen3-coder-30b-a3b",name:"Qwen 3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-03-20"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20"},"mistral/magistral-medium":{id:"mistral/magistral-medium",name:"Magistral Medium (latest)",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17"},"mistral/magistral-small":{id:"mistral/magistral-small",name:"Magistral Small",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17"},"cohere/command-a":{id:"cohere/command-a",name:"Command A",contextWindow:256000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-13"},"inception/mercury-coder-small":{id:"inception/mercury-coder-small",name:"Mercury Coder Small Beta",contextWindow:32000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-26"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"perplexity/sonar":{id:"perplexity/sonar",name:"Sonar",contextWindow:127000,maxTokens:8000,capabilities:["images","tools","temperature"],pricing:{input:1,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-19"},"perplexity/sonar-pro":{id:"perplexity/sonar-pro",name:"Sonar Pro",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-19"},"xai/grok-3":{id:"xai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"xai/grok-3-fast":{id:"xai/grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17"},"xai/grok-3-mini":{id:"xai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"xai/grok-3-mini-fast":{id:"xai/grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek-R1",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"alibaba/qwen3-max-thinking":{id:"alibaba/qwen3-max-thinking",name:"Qwen 3 Max Thinking",contextWindow:256000,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-01"},"arcee-ai/trinity-large-preview":{id:"arcee-ai/trinity-large-preview",name:"Trinity Large Preview",contextWindow:131000,maxTokens:6550,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01"},"zai/glm-4.7-flashx":{id:"zai/glm-4.7-flashx",name:"GLM 4.7 FlashX",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-01"},"deepseek/deepseek-v3":{id:"deepseek/deepseek-v3",name:"DeepSeek V3 0324",contextWindow:163840,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.77,output:0.77,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-26"},"openai/o3-mini":{id:"openai/o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20"},"google/gemini-2.0-flash":{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11"},"google/gemini-2.0-flash-lite":{id:"google/gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"meta/llama-3.3-70b":{id:"meta/llama-3.3-70b",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"openai/o1":{id:"openai/o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05"},"amazon/nova-lite":{id:"amazon/nova-lite",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03"},"amazon/nova-micro":{id:"amazon/nova-micro",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03"},"amazon/nova-pro":{id:"amazon/nova-pro",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03"},"nvidia/nemotron-nano-12b-v2-vl":{id:"nvidia/nemotron-nano-12b-v2-vl",name:"Nvidia Nemotron Nano 12B V2 VL",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"gpt-oss-safeguard-20b",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.08,output:0.3,cacheRead:0.04,cacheWrite:0},releaseDate:"2024-12-01"},"mistral/pixtral-large":{id:"mistral/pixtral-large",name:"Pixtral Large (latest)",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-01"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"anthropic/claude-3.5-sonnet":{id:"anthropic/claude-3.5-sonnet",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"mistral/ministral-3b":{id:"mistral/ministral-3b",name:"Ministral 3B (latest)",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01"},"mistral/ministral-8b":{id:"mistral/ministral-8b",name:"Ministral 8B (latest)",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01"},"meta/llama-3.2-11b":{id:"meta/llama-3.2-11b",name:"Llama 3.2 11B Vision Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.16,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta/llama-3.2-90b":{id:"meta/llama-3.2-90b",name:"Llama 3.2 90B Vision Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"mistral/pixtral-12b":{id:"mistral/pixtral-12b",name:"Pixtral 12B",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-01"},"xai/grok-2-vision":{id:"xai/grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"meta/llama-3.1-70b":{id:"meta/llama-3.1-70b",name:"Llama 3.1 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"meta/llama-3.1-8b":{id:"meta/llama-3.1-8b",name:"Llama 3.1 8B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.03,output:0.05,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"},"mistral/mistral-nemo":{id:"mistral/mistral-nemo",name:"Mistral Nemo",contextWindow:60288,maxTokens:16000,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.17,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-01"},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26"},"anthropic/claude-3.5-sonnet-20240620":{id:"anthropic/claude-3.5-sonnet-20240620",name:"Claude 3.5 Sonnet (2024-06-20)",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-06-20"},"mistral/codestral":{id:"mistral/codestral",name:"Codestral (latest)",contextWindow:256000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-29"},"openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"},"mistral/mixtral-8x22b-instruct":{id:"mistral/mixtral-8x22b-instruct",name:"Mixtral 8x22B",contextWindow:64000,maxTokens:3200,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-17"},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13"},"anthropic/claude-3-opus":{id:"anthropic/claude-3-opus",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29"},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"}},vertex:{"claude-sonnet-4-6@default":{id:"claude-sonnet-4-6@default",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"claude-opus-4-6@default":{id:"claude-opus-4-6@default",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"claude-opus-4-5@20251101":{id:"claude-opus-4-5@20251101",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"claude-haiku-4-5@20251001":{id:"claude-haiku-4-5@20251001",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"claude-sonnet-4-5@20250929":{id:"claude-sonnet-4-5@20250929",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"claude-opus-4-1@20250805":{id:"claude-opus-4-1@20250805",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"claude-opus-4@20250514":{id:"claude-opus-4@20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"claude-sonnet-4@20250514":{id:"claude-sonnet-4@20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"claude-3-7-sonnet@20250219":{id:"claude-3-7-sonnet@20250219",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"claude-3-5-haiku@20241022":{id:"claude-3-5-haiku@20241022",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"claude-3-5-sonnet@20241022":{id:"claude-3-5-sonnet@20241022",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"}},wandb:{"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8":{id:"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8",name:"NVIDIA Nemotron 3 Super 120B",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"zai-org/GLM-5-FP8":{id:"zai-org/GLM-5-FP8",name:"GLM 5",contextWindow:200000,maxTokens:1e4,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:2.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:161000,maxTokens:8050,capabilities:["tools","structured_output","temperature"],pricing:{input:0.55,output:1.65,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"gpt-oss-120b",contextWindow:131072,maxTokens:6553,capabilities:["tools","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:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3 30B A3B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.1,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:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"OpenPipe/Qwen3-14B-Instruct":{id:"OpenPipe/Qwen3-14B-Instruct",name:"OpenPipe Qwen3 14B Instruct",contextWindow:32768,maxTokens:1638,capabilities:["tools","structured_output","temperature"],pricing:{input:0.05,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-29"},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"meta-llama/Llama-4-Scout-17B-16E-Instruct":{id:"meta-llama/Llama-4-Scout-17B-16E-Instruct",name:"Llama 4 Scout 17B 16E Instruct",contextWindow:64000,maxTokens:3200,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-31"},"microsoft/Phi-4-mini-instruct":{id:"microsoft/Phi-4-mini-instruct",name:"Phi-4-mini-instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.08,output:0.35,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.71,output:0.71,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"meta-llama/Llama-3.1-70B-Instruct":{id:"meta-llama/Llama-3.1-70B-Instruct",name:"Llama 3.1 70B",contextWindow:128000,maxTokens:6400,capabilities:["tools","structured_output","temperature"],pricing:{input:0.8,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"meta-llama/Llama-3.1-8B-Instruct":{id:"meta-llama/Llama-3.1-8B-Instruct",name:"Meta-Llama-3.1-8B-Instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"}},xai:{"grok-4.20-0309-non-reasoning":{id:"grok-4.20-0309-non-reasoning",name:"Grok 4.20 (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09"},"grok-4.20-0309-reasoning":{id:"grok-4.20-0309-reasoning",name:"Grok 4.20 (Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09"},"grok-4-1-fast":{id:"grok-4-1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19"},"grok-4-1-fast-non-reasoning":{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19"},"grok-4-fast":{id:"grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19"},"grok-4-fast-non-reasoning":{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19"},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28"},"grok-4":{id:"grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09"},"grok-3":{id:"grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-fast":{id:"grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-fast-latest":{id:"grok-3-fast-latest",name:"Grok 3 Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-latest":{id:"grok-3-latest",name:"Grok 3 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini":{id:"grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini-fast":{id:"grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini-fast-latest":{id:"grok-3-mini-fast-latest",name:"Grok 3 Mini Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini-latest":{id:"grok-3-mini-latest",name:"Grok 3 Mini Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"grok-2-1212":{id:"grok-2-1212",name:"Grok 2 (1212)",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-12-12"},"grok-beta":{id:"grok-beta",name:"Grok Beta",contextWindow:131072,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01"},"grok-vision-beta":{id:"grok-vision-beta",name:"Grok Vision Beta",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01"},"grok-2":{id:"grok-2",name:"Grok 2",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-latest":{id:"grok-2-latest",name:"Grok 2 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-vision":{id:"grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-vision-1212":{id:"grok-2-vision-1212",name:"Grok 2 Vision (1212)",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-vision-latest":{id:"grok-2-vision-latest",name:"Grok 2 Vision Latest",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"}},xiaomi:{"mimo-v2-omni":{id:"mimo-v2-omni",name:"MiMo-V2-Omni",contextWindow:256000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-03-18"},"mimo-v2-pro":{id:"mimo-v2-pro",name:"MiMo-V2-Pro",contextWindow:1e6,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-18"},"mimo-v2-flash":{id:"mimo-v2-flash",name:"MiMo-V2-Flash",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-12-16"}},zai:{"glm-5v-turbo":{id:"glm-5v-turbo",name:"glm-5v-turbo",contextWindow:200000,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-04-01"},"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-flashx":{id:"glm-4.7-flashx",name:"GLM-4.7-FlashX",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0.01,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 jn(e){if(!e)return Number.NEGATIVE_INFINITY;let t=Date.parse(e);return Number.isNaN(t)?Number.NEGATIVE_INFINITY:t}function Qe(e){return Object.fromEntries(Object.entries(e).sort(([t,a],[n,i])=>{let o=jn(a.releaseDate),c=jn(i.releaseDate);if(o!==c)return c-o;return t.localeCompare(n)}))}function sr(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 ur(e){if(e==="active"||e==="preview"||e==="deprecated"||e==="legacy")return e;return}function mr(e,t){let a=t.limit?.context??4096,n=t.limit?.output??4096,i=a===n?n*0.05:n;return{id:e,name:t.name||e,contextWindow:a,maxTokens:Math.floor(i),capabilities:sr(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:ur(t.status),releaseDate:t.release_date}}function lr(e){return e.status==="deprecated"}function dr(e,t){let a={};for(let[n,i]of Object.entries(t)){let o=e[n];if(!o?.models)continue;let c={};for(let[r,p]of Object.entries(o.models)){if(p.tool_call!==!0||lr(p))continue;c[r]=mr(r,p)}if(Object.keys(c).length>0)a[i]=Qe(c)}return a}async function Xn(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 dr(i,t)}var In={};W(In,{getGeneratedProviderModels:()=>Hn,getGeneratedModelsVersion:()=>Zn,getGeneratedModelsForProvider:()=>m});function Hn(){return $n??=Object.fromEntries(Object.entries(ca.providers).map(([e,t])=>[e,Qe(t)])),$n}function Zn(){return ca.version}function m(e){let t=Jn.get(e);if(t)return t;let a=Qe(ca.providers[e]??{});return Jn.set(e,a),a}var $n,Jn;var A=w(()=>{Yn();Jn=new Map});var zn={};W(zn,{AIHUBMIX_PROVIDER:()=>ra});var ra;var Pi=w(()=>{A();ra={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"],client:"openai-compatible"},models:m("aihubmix")}});var eo={};W(eo,{getAnthropicReasoningModels:()=>ua,getActiveAnthropicModels:()=>sa,ANTHROPIC_PROVIDER:()=>pa,ANTHROPIC_MODELS:()=>ce,ANTHROPIC_DEFAULT_MODEL:()=>pt});function sa(){return Object.fromEntries(Object.entries(ce).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function ua(){return Object.fromEntries(Object.entries(ce).filter(([,e])=>e.thinkingConfig!==void 0))}var ce,pt,pa;var Si=w(()=>{A();ce=m("anthropic"),pt=Object.keys(ce)[0]??"claude-sonnet-4-6",pa={provider:{id:"anthropic",name:"Anthropic",description:"Creator of Claude, the AI assistant",protocol:"anthropic",baseUrl:"https://api.anthropic.com",defaultModelId:pt,capabilities:["reasoning","prompt-cache"],env:["ANTHROPIC_API_KEY"],client:"anthropic"},models:ce}});var to={};W(to,{ASKSAGE_PROVIDER:()=>ma});var ma;var vi=w(()=>{ma={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"],client:"fetch"},models:{}}});var io={};W(io,{BASETEN_PROVIDER:()=>la});var ao,la;var Li=w(()=>{A();ao=m("baseten"),la={provider:{id:"baseten",name:"Baseten",description:"ML inference platform",protocol:"openai-chat",baseUrl:"https://model-api.baseten.co/v1",defaultModelId:Object.keys(ao)[0],env:["BASETEN_API_KEY"],client:"openai-compatible"},models:ao}});var no={};W(no,{BEDROCK_PROVIDER:()=>da,BEDROCK_MODELS:()=>Ce,BEDROCK_DEFAULT_MODEL:()=>st});var Ce,st,da;var Oi=w(()=>{A();Ce=m("bedrock"),st=Object.keys(Ce)[0]??"anthropic.claude-sonnet-4-5-20250929-v1:0",da={provider:{id:"bedrock",name:"AWS Bedrock",description:"Amazon Bedrock managed foundation models",protocol:"anthropic",defaultModelId:st,capabilities:["reasoning","prompt-cache"],env:["AWS_REGION","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN"],client:"bedrock"},models:Ce}});var oo={};W(oo,{CEREBRAS_PROVIDER:()=>ga,CEREBRAS_MODELS:()=>Be,CEREBRAS_DEFAULT_MODEL:()=>ut});var Be,ut,ga;var qi=w(()=>{A();Be=m("cerebras"),ut=Object.keys(Be)[0]??"llama3.1-70b",ga={provider:{id:"cerebras",name:"Cerebras",description:"Fast inference on Cerebras wafer-scale chips",protocol:"openai-chat",baseUrl:"https://api.cerebras.ai/v1",defaultModelId:ut,env:["CEREBRAS_API_KEY"],client:"openai-compatible"},models:Be}});var co={};W(co,{CLAUDE_CODE_PROVIDER:()=>xa,CLAUDE_CODE_MODELS:()=>mt,CLAUDE_CODE_DEFAULT_MODEL:()=>lt});function Qi(e){let t=Object.entries(gr).find(([a])=>e(a));if(t)return t[1];return{id:"sonnet",name:"Claude Sonnet",capabilities:["streaming","reasoning"]}}function Ci(e){return{...e==="opus"?Qi((a)=>a.includes("opus")):e==="haiku"?Qi((a)=>a.includes("haiku")):Qi((a)=>a.includes("sonnet")),id:e,name:`Claude ${e.charAt(0).toUpperCase()}${e.slice(1)}`}}var gr,mt,lt="sonnet",xa;var Bi=w(()=>{A();gr=m("anthropic");mt={opus:Ci("opus"),sonnet:Ci("sonnet"),haiku:Ci("haiku")},xa={provider:{id:"claude-code",name:"Claude Code",description:"Use Claude Code SDK with Claude Pro/Max subscription",protocol:"openai-chat",baseUrl:"",defaultModelId:lt,capabilities:["reasoning"],client:"ai-sdk-community"},models:mt}});var ro={};W(ro,{CLINE_PROVIDER:()=>Ne,CLINE_MODELS:()=>Ke,CLINE_DEFAULT_MODELINFO:()=>xr,CLINE_DEFAULT_MODEL:()=>Fe});var Fe="anthropic/claude-sonnet-4.6",Ke,xr,Ne;var Fi=w(()=>{A();Ke=m("vercel-ai-gateway"),xr=Ke[Fe],Ne={provider:{id:"cline",name:"Cline",description:"Cline API endpoint",protocol:"openai-chat",baseUrl:"https://api.cline.bot/api/v1",defaultModelId:Fe,capabilities:["reasoning","prompt-cache","tools","oauth"],env:["CLINE_API_KEY"],client:"openai-compatible"},models:Ke}});var po={};W(po,{getDeepSeekReasoningModels:()=>Wa,DEEPSEEK_PROVIDER:()=>ha,DEEPSEEK_MODELS:()=>Te,DEEPSEEK_DEFAULT_MODEL:()=>dt});function Wa(){return Object.fromEntries(Object.entries(Te).filter(([,e])=>e.capabilities?.includes("reasoning")))}var Te,dt,ha;var Ki=w(()=>{A();Te=m("deepseek"),dt=Object.keys(Te)[0],ha={provider:{id:"deepseek",name:"DeepSeek",description:"Advanced AI models with reasoning capabilities",protocol:"openai-chat",baseUrl:"https://api.deepseek.com/v1",defaultModelId:dt,capabilities:["reasoning","prompt-cache"],env:["DEEPSEEK_API_KEY"],client:"openai-compatible"},models:Te}});var so={};W(so,{DIFY_PROVIDER:()=>wa});var wa;var Ni=w(()=>{wa={provider:{id:"dify",name:"Dify",description:"Dify workflow/application provider via AI SDK",protocol:"openai-chat",defaultModelId:"default",env:["DIFY_API_KEY"],client:"ai-sdk-community"},models:{}}});var uo={};W(uo,{DOUBAO_PROVIDER:()=>Vi,DOUBAO_MODELS:()=>gt,DOUBAO_DEFAULT_MODEL:()=>ba});var yi="doubao-1-5-pro-256k-250115",gt,ba,Vi;var Ui=w(()=>{A();gt={[yi]:{id:yi,name:"Doubao 1.5 Pro 256k",capabilities:["streaming","tools"]},...m("doubao")},ba=Object.keys(gt)[0]??yi,Vi={provider:{id:"doubao",name:"Doubao",description:"Volcengine Ark platform models",protocol:"openai-chat",baseUrl:"https://ark.cn-beijing.volces.com/api/v3",defaultModelId:ba,env:["DOUBAO_API_KEY"],client:"openai-compatible"},models:gt}});var mo={};W(mo,{getFireworksFunctionModels:()=>Da,FIREWORKS_PROVIDER:()=>ka,FIREWORKS_MODELS:()=>Re,FIREWORKS_DEFAULT_MODEL:()=>xt});function Da(){return Object.fromEntries(Object.entries(Re).filter(([,e])=>e.capabilities?.includes("tools")))}var Re,xt,ka;var Yi=w(()=>{A();Re=m("fireworks"),xt=Object.keys(Re)[0]??"accounts/fireworks/models/llama-v3p1-8b-instruct",ka={provider:{id:"fireworks",name:"Fireworks AI",description:"High-performance inference platform",protocol:"openai-chat",baseUrl:"https://api.fireworks.ai/inference/v1",defaultModelId:xt,env:["FIREWORKS_API_KEY"],client:"openai-compatible"},models:Re}});var lo={};W(lo,{getGeminiThinkingModels:()=>Ma,getActiveGeminiModels:()=>Ra,GEMINI_PROVIDER:()=>Ta,GEMINI_MODELS:()=>re,GEMINI_DEFAULT_MODEL:()=>ht});function Ra(){return Object.fromEntries(Object.entries(re).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function Ma(){return Object.fromEntries(Object.entries(re).filter(([,e])=>e.capabilities?.includes("reasoning")))}var re,ht,Ta;var ji=w(()=>{A();re=m("gemini"),ht=Object.keys(re)[0]??"gemini-3-pro",Ta={provider:{id:"gemini",name:"Google Gemini",description:"Google Gemini API",protocol:"gemini",baseUrl:"https://generativelanguage.googleapis.com",defaultModelId:ht,capabilities:["reasoning","prompt-cache"],env:["GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"],client:"gemini"},models:re}});var go={};W(go,{getGroqVisionModels:()=>fa,GROQ_PROVIDER:()=>Aa,GROQ_MODELS:()=>Me,GROQ_DEFAULT_MODEL:()=>Wt});function fa(){return Object.fromEntries(Object.entries(Me).filter(([,e])=>e.capabilities?.includes("images")))}var Me,Wt,Aa;var Xi=w(()=>{A();Me=m("groq"),Wt=Object.keys(Me)[0]??"llama-3.3-70b-versatile",Aa={provider:{id:"groq",name:"Groq",description:"Ultra-fast LPU inference",protocol:"openai-chat",baseUrl:"https://api.groq.com/openai/v1",defaultModelId:Wt,env:["GROQ_API_KEY"],client:"openai-compatible"},models:Me}});var xo={};W(xo,{HICAP_PROVIDER:()=>_a});var _a;var $i=w(()=>{_a={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"],client:"openai-compatible"},models:{}}});var ho={};W(ho,{HUAWEI_CLOUD_MAAS_PROVIDER:()=>Ga});var Ga;var Ji=w(()=>{Ga={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"],client:"openai-compatible"},models:{}}});var Wo={};W(Wo,{HUGGINGFACE_PROVIDER:()=>Ea,HUGGINGFACE_MODELS:()=>wt});var wt,Ea;var Hi=w(()=>{A();wt=m("huggingface"),Ea={provider:{id:"huggingface",name:"Hugging Face",description:"Hugging Face inference API",protocol:"openai-chat",baseUrl:"https://api-inference.huggingface.co/v1",defaultModelId:Object.keys(wt)[0],env:["HF_TOKEN"],client:"openai-compatible"},models:wt}});var wo={};W(wo,{KILO_PROVIDER:()=>Pa});var hr,Pa;var Zi=w(()=>{A();hr=m("kilo"),Pa={provider:{id:"kilo",name:"Kilo Gateway",description:"Kilo Gateway",protocol:"openai-responses",baseUrl:"https://api.kilo.ai/api/gateway",defaultModelId:"gpt-4o",capabilities:["prompt-cache","reasoning","tools"],env:["KILO_GATEWAY_API_KEY"],client:"openai-compatible"},models:hr}});var bo={};W(bo,{LITELLM_PROVIDER:()=>Sa});var Sa;var Ii=w(()=>{Sa={provider:{id:"litellm",name:"LiteLLM",description:"Self-hosted LLM proxy",protocol:"openai-responses",baseUrl:"http://localhost:4000/v1",defaultModelId:"gpt-5.4",capabilities:["prompt-cache"],env:["LITELLM_API_KEY"],client:"openai-compatible"},models:{}}});var Do={};W(Do,{LMSTUDIO_PROVIDER:()=>va});var ko,va;var zi=w(()=>{A();ko=m("lmstudio"),va={provider:{id:"lmstudio",name:"LM Studio",description:"Local model inference with LM Studio",protocol:"openai-chat",baseUrl:"http://localhost:1234/v1",defaultModelId:Object.keys(ko)[0],env:["LMSTUDIO_API_KEY"],client:"openai-compatible"},models:ko||{}}});var To={};W(To,{MINIMAX_PROVIDER:()=>La,MINIMAX_MODELS:()=>ye,MINIMAX_DEFAULT_MODEL:()=>bt});var e0="MiniMax-M2.5",ye,bt,La;var t0=w(()=>{A();ye={[e0]:{id:e0,name:"MiniMax M2.5",capabilities:["streaming","tools","reasoning","prompt-cache"]},...m("minimax")},bt=Object.keys(ye)[0]??e0,La={provider:{id:"minimax",name:"MiniMax",description:"MiniMax models via Anthropic-compatible API",protocol:"anthropic",baseUrl:"https://api.minimax.io/anthropic",defaultModelId:bt,capabilities:["reasoning","prompt-cache"],env:["MINIMAX_API_KEY"],client:"anthropic"},models:ye}});var Ro={};W(Ro,{MISTRAL_PROVIDER:()=>Oa});var Oa;var a0=w(()=>{Oa={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"],client:"ai-sdk-community"},models:{}}});var Mo={};W(Mo,{MOONSHOT_PROVIDER:()=>qa,MOONSHOT_MODELS:()=>Ve,MOONSHOT_DEFAULT_MODEL:()=>kt});var i0="kimi-k2-0905-preview",Ve,kt,qa;var n0=w(()=>{A();Ve={[i0]:{id:i0,name:"Kimi K2 Preview",capabilities:["streaming","tools","reasoning"]},...m("moonshot")},kt=Object.keys(Ve)[0]??i0,qa={provider:{id:"moonshot",name:"Moonshot",description:"Moonshot AI Studio models",protocol:"openai-chat",baseUrl:"https://api.moonshot.ai/v1",defaultModelId:kt,capabilities:["reasoning","prompt-cache"],env:["MOONSHOT_API_KEY"],client:"openai-compatible"},models:Ve}});var Ao={};W(Ao,{NEBIUS_PROVIDER:()=>Qa,NEBIUS_MODELS:()=>Ue,NEBIUS_DEFAULT_MODEL:()=>Dt});var Ue,Dt,Qa;var o0=w(()=>{A();Ue=m("nebius"),Dt=Object.keys(Ue)[0]||"meta-llama/Meta-Llama-3.1-70B-Instruct",Qa={provider:{id:"nebius",name:"Nebius",description:"European cloud AI infrastructure",protocol:"openai-chat",baseUrl:"https://api.studio.nebius.ai/v1",defaultModelId:Dt,env:["NEBIUS_API_KEY"],client:"openai-compatible"},models:Ue}});var fo={};W(fo,{NOUS_RESEARCH_PROVIDER:()=>Ba,NOUS_RESEARCH_MODELS:()=>Tt,NOUS_RESEARCH_DEFAULT_MODEL:()=>Ca});var Tt,Ca="DeepHermes-3-Llama-3-3-70B-Preview",Ba;var c0=w(()=>{Tt={},Ba={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"],client:"openai-compatible"},models:Tt}});var _o={};W(_o,{OCA_PROVIDER:()=>Fa,OCA_MODELS:()=>Ye,OCA_DEFAULT_MODEL:()=>Rt,DEFAULT_INTERNAL_OCA_BASE_URL:()=>pe,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>te});var pe="https://code-internal.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm",te="https://code.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm",Rt="anthropic/claude-3-7-sonnet-20250219",Ye,Fa;var Mt=w(()=>{A();Ye=m("oca"),Fa={provider:{id:"oca",name:"Oracle Code Assist",description:"Oracle Code Assist (OCA) LiteLLM gateway",protocol:"openai-chat",baseUrl:te,defaultModelId:Object.keys(Ye)[0]??Rt,capabilities:["reasoning","prompt-cache","tools"],env:["OCA_API_KEY"],client:"openai-compatible"},models:Ye}});var Go={};W(Go,{OLLAMA_PROVIDER:()=>Ka});var Ka;var r0=w(()=>{Ka={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"],client:"openai-compatible"},models:{}}});var Eo={};W(Eo,{OPENAI_CODEX_PROVIDER:()=>Na,OPENAI_CODEX_MODELS:()=>p0,OPENAI_CODEX_DEFAULT_MODEL:()=>At});function Wr(e){if(!e.capabilities?.includes("tools"))return e;return{...e,capabilities:e.capabilities.filter((t)=>t!=="tools")}}var p0,At,Na;var s0=w(()=>{A();p0=Object.fromEntries(Object.entries(m("openai")).map(([e,t])=>[e,Wr(t)])),At=Object.keys(p0)[0]??"gpt-5.3-codex",Na={provider:{id:"openai-codex",name:"OpenAI Codex",description:"OpenAI Codex via the local Codex CLI provider",protocol:"openai-chat",client:"ai-sdk-community",baseUrl:"https://chatgpt.com/backend-api/codex",defaultModelId:At,capabilities:["reasoning","oauth"]},models:p0}});var Po={};W(Po,{getOpenAIReasoningModels:()=>Ua,getActiveOpenAIModels:()=>Va,OPENAI_PROVIDER:()=>ya,OPENAI_MODELS:()=>se,OPENAI_DEFAULT_MODEL:()=>ft});function Va(){return Object.fromEntries(Object.entries(se).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function Ua(){return Object.fromEntries(Object.entries(se).filter(([,e])=>e.capabilities?.includes("reasoning")))}var se,ft,ya;var u0=w(()=>{A();se=m("openai"),ft=Object.keys(se)[0]??"gpt-5.3-codex",ya={provider:{id:"openai-native",name:"OpenAI",description:"Creator of GPT and ChatGPT",protocol:"openai-responses",baseUrl:"https://api.openai.com/v1",defaultModelId:ft,capabilities:["reasoning"],env:["OPENAI_API_KEY"],client:"openai"},models:se}});var So={};W(So,{OPENCODE_PROVIDER:()=>m0,OPENCODE_MODELS:()=>_t,OPENCODE_DEFAULT_MODEL:()=>Ya});var _t,Ya,m0;var l0=w(()=>{A();_t=m("opencode"),Ya=Object.keys(_t)[0]??"openai/gpt-5.3-codex",m0={provider:{id:"opencode",name:"OpenCode",description:"OpenCode SDK multi-provider runtime",protocol:"openai-chat",baseUrl:"",defaultModelId:Ya,capabilities:["reasoning","oauth"],client:"ai-sdk-community"},models:_t}});var vo={};W(vo,{OPENROUTER_PROVIDER:()=>ja,OPENROUTER_MODELS:()=>Gt,OPENROUTER_DEFAULT_MODEL:()=>Et});var Gt,Et="anthropic/claude-sonnet-4.6",ja;var d0=w(()=>{A();Gt=m("openrouter"),ja={provider:{id:"openrouter",name:"OpenRouter",description:"OpenRouter AI platform",protocol:"openai-chat",baseUrl:"https://openrouter.ai/api/v1",defaultModelId:Et,capabilities:["reasoning","prompt-cache"],env:["OPENROUTER_API_KEY"],client:"openai-compatible"},models:Gt}});var Lo={};W(Lo,{QWEN_PROVIDER:()=>x0,QWEN_MODELS:()=>Pt,QWEN_DEFAULT_MODEL:()=>Xa});var g0="qwen-plus-latest",Pt,Xa,x0;var h0=w(()=>{A();Pt={[g0]:{id:g0,name:"Qwen Plus Latest",capabilities:["streaming","tools","reasoning"]},...m("qwen")},Xa=Object.keys(Pt)[0]??g0,x0={provider:{id:"qwen",name:"Qwen",description:"Alibaba Qwen platform models",protocol:"openai-chat",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",defaultModelId:Xa,capabilities:["reasoning"],env:["QWEN_API_KEY"],client:"openai-compatible"},models:Pt}});var Oo={};W(Oo,{QWEN_CODE_PROVIDER:()=>w0,QWEN_CODE_MODELS:()=>St,QWEN_CODE_DEFAULT_MODEL:()=>$a});var W0="qwen3-coder-plus",St,$a,w0;var b0=w(()=>{A();St={[W0]:{id:W0,name:"Qwen3 Coder Plus",capabilities:["streaming","tools","reasoning"]},...m("qwen-code")},$a=Object.keys(St)[0]??W0,w0={provider:{id:"qwen-code",name:"Qwen Code",description:"Qwen OAuth coding models",protocol:"openai-chat",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",defaultModelId:$a,capabilities:["reasoning","oauth"],client:"openai-compatible"},models:St}});var qo={};W(qo,{REQUESTY_PROVIDER:()=>Ja,REQUESTY_MODELS:()=>k0});var k0,Ja;var D0=w(()=>{A();k0=m("requesty"),Ja={provider:{id:"requesty",name:"Requesty",description:"AI router with multiple provider support",protocol:"openai-chat",baseUrl:"https://router.requesty.ai/v1",defaultModelId:Object.keys(k0)[0],capabilities:["reasoning"],env:["REQUESTY_API_KEY"],client:"openai-compatible"},models:k0}});var Qo={};W(Qo,{SAMBANOVA_PROVIDER:()=>Ha,SAMBANOVA_MODELS:()=>je,SAMBANOVA_DEFAULT_MODEL:()=>vt});var je,vt,Ha;var T0=w(()=>{A();je=m("sambanova"),vt=Object.keys(je)[0],Ha={provider:{id:"sambanova",name:"SambaNova",description:"High-performance AI inference",protocol:"openai-chat",baseUrl:"https://api.sambanova.ai/v1",defaultModelId:vt,env:["SAMBANOVA_API_KEY"],client:"openai-compatible"},models:je}});var Co={};W(Co,{SAP_AI_CORE_PROVIDER:()=>M0,SAP_AI_CORE_MODELS:()=>Lt,SAP_AI_CORE_DEFAULT_MODEL:()=>Za});var R0="anthropic--claude-3.5-sonnet",Lt,Za,M0;var A0=w(()=>{A();Lt={[R0]:{id:R0,name:"Claude 3.5 Sonnet (SAP AI Core)",capabilities:["streaming","tools","reasoning","prompt-cache"]},...m("sapaicore")},Za=Object.keys(Lt)[0]??R0,M0={provider:{id:"sapaicore",name:"SAP AI Core",description:"SAP AI Core inference and orchestration platform",protocol:"openai-chat",baseUrl:"",defaultModelId:Za,capabilities:["reasoning","prompt-cache"],env:["AICORE_SERVICE_KEY","VCAP_SERVICES"],client:"ai-sdk-community"},models:Lt}});var Bo={};W(Bo,{getTogetherLlamaModels:()=>za,TOGETHER_PROVIDER:()=>Ia,TOGETHER_MODELS:()=>Ae,TOGETHER_DEFAULT_MODEL:()=>Ot});function za(){return Object.fromEntries(Object.entries(Ae).filter(([e])=>e.toLowerCase().includes("llama")))}var Ae,Ot,Ia;var f0=w(()=>{A();Ae=m("together"),Ot=Object.keys(Ae)[0]??"meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo",Ia={provider:{id:"together",name:"Together AI",description:"Fast inference for open-source models",protocol:"openai-chat",baseUrl:"https://api.together.xyz/v1",defaultModelId:Ot,capabilities:["reasoning"],env:["TOGETHER_API_KEY"],client:"openai-compatible"},models:Ae}});var Fo={};W(Fo,{VERCEL_AI_GATEWAY_PROVIDER:()=>ei});var wr,ei;var _0=w(()=>{A();wr=m("vercel-ai-gateway"),ei={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(wr)[0],capabilities:["reasoning"],env:["AI_GATEWAY_API_KEY"],client:"openai-compatible"},models:m("vercel-ai-gateway")}});var No={};W(No,{VERTEX_PROVIDER:()=>ti,VERTEX_MODELS:()=>Xe,VERTEX_DEFAULT_MODEL:()=>qt});var Xe,Ko,br,qt,ti;var G0=w(()=>{A();Xe=m("vertex"),Ko=Object.keys(Xe),br=Ko.find((e)=>!e.includes("claude")),qt=br??Ko[0]??"gemini-3-pro",ti={provider:{id:"vertex",name:"Google Vertex AI",description:"Google Cloud Vertex AI (Gemini and partner models)",protocol:"gemini",defaultModelId:qt,capabilities:["reasoning","prompt-cache"],env:["GCP_PROJECT_ID","GOOGLE_CLOUD_PROJECT","GOOGLE_APPLICATION_CREDENTIALS","GEMINI_API_KEY","GOOGLE_API_KEY"],client:"vertex"},models:Xe}});var Vo={};W(Vo,{WANDB_PROVIDER:()=>ai});var yo,ai;var E0=w(()=>{A();yo=m("wandb"),ai={provider:{id:"wandb",name:"Wandb",description:"Weights & Biases",protocol:"openai-chat",baseUrl:"https://api.inference.wandb.ai/v1",defaultModelId:Object.keys(yo)[0],capabilities:["reasoning","prompt-cache","tools"],env:["WANDB_API_KEY"],client:"openai-compatible"},models:yo}});var Uo={};W(Uo,{getActiveXAIModels:()=>ni,XAI_PROVIDER:()=>ii,XAI_MODELS:()=>fe,XAI_DEFAULT_MODEL:()=>Qt});function ni(){return Object.fromEntries(Object.entries(fe).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}var fe,Qt,ii;var P0=w(()=>{A();fe=m("xai"),Qt=Object.keys(fe)[0],ii={provider:{id:"xai",name:"xAI",description:"Creator of Grok AI assistant",protocol:"openai-chat",baseUrl:"https://api.x.ai/v1",defaultModelId:Qt,capabilities:["reasoning"],env:["XAI_API_KEY"],client:"openai-compatible"},models:fe}});var jo={};W(jo,{XIAOMI_PROVIDER:()=>oi});var Yo,kr,oi;var S0=w(()=>{A();Yo=m("xiaomi"),kr=Object.keys(Yo)[0]??"xiaomi/mimo-v2-pro",oi={provider:{id:"xiaomi",name:"Xiaomi",description:"Xiaomi",protocol:"openai-responses",baseUrl:"https://api.xiaomimimo.com/v1",defaultModelId:kr,capabilities:["prompt-cache","tools","reasoning"],env:["XIAOMI_API_KEY"],client:"openai-compatible"},models:Yo}});var Xo={};W(Xo,{ZAI_PROVIDER:()=>v0,ZAI_MODELS:()=>Ct,ZAI_DEFAULT_MODEL:()=>ci});var Ct,ci,v0;var L0=w(()=>{A();Ct=m("zai"),ci=Object.keys(Ct)[0],v0={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:ci,capabilities:["reasoning"],env:["ZHIPU_API_KEY"],client:"openai-compatible"},models:Ct}});import{z as D}from"zod";var ct=D.enum(["default","openai-responses","r1"]),oe={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},ke=D.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),rt=D.enum(["active","preview","deprecated","legacy"]),fi=D.object({input:D.number().optional(),output:D.number().optional(),cacheWrite:D.number().optional(),cacheRead:D.number().optional()}),_i=D.object({maxBudget:D.number().optional(),outputPrice:D.number().optional(),thinkingLevel:D.enum(["low","high"]).optional()}),Oe=D.object({id:D.string(),name:D.string().optional(),description:D.string().optional(),maxTokens:D.number().optional(),contextWindow:D.number().optional(),capabilities:D.array(ke).optional(),apiFormat:ct.optional(),systemRole:D.enum(["system","developer"]).optional(),temperature:D.number().optional(),pricing:fi.optional(),thinkingConfig:_i.optional(),status:rt.optional(),deprecationNotice:D.string().optional(),replacedBy:D.string().optional(),releaseDate:D.string().optional(),deprecationDate:D.string().optional()}),qn=D.object({id:D.string(),info:Oe}),Gi=D.enum(["reasoning","prompt-cache","tools","oauth","temperature","files"]),Qn=D.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),rr=D.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"]),Ei=D.object({id:D.string(),name:D.string(),description:D.string().optional(),protocol:Qn.optional(),baseUrl:D.string().optional(),defaultModelId:D.string(),capabilities:D.array(Gi).optional(),env:D.array(D.string()).optional(),client:rr}),Cn=D.object({provider:Ei,models:D.record(D.string(),Oe)});function qe(e,t){return e.capabilities?.includes(t)??!1}function ia(e){return e.status==="deprecated"}function Bn(e){return!e.status||e.status==="active"||e.status==="preview"}function Fn(e){return e.pricing??{}}function Kn(e){return Oe.parse(e)}function Nn(e){let t=Oe.safeParse(e);return t.success?t.data:void 0}import{z as O}from"zod";var De=O.object({providers:O.array(O.string()).optional(),capabilities:O.array(ke).optional(),anyCapabilities:O.array(ke).optional(),excludeCapabilities:O.array(ke).optional(),status:O.array(rt).optional(),includeDeprecated:O.boolean().optional(),apiFormat:ct.optional(),minContextWindow:O.number().optional(),maxContextWindow:O.number().optional(),minMaxTokens:O.number().optional(),maxInputPrice:O.number().optional(),maxOutputPrice:O.number().optional(),search:O.string().optional(),hasThinking:O.boolean().optional(),sortBy:O.enum(["name","contextWindow","maxTokens","inputPrice","outputPrice"]).optional(),sortDirection:O.enum(["asc","desc"]).optional(),limit:O.number().optional()}),yn=O.object({models:O.array(O.object({providerId:O.string(),modelId:O.string(),info:O.any()})),total:O.number(),config:De});function na(e,t,a){if(!a.includeDeprecated&&ia(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)=>qe(t,i)))return!1}if(a.anyCapabilities&&a.anyCapabilities.length>0){if(!a.anyCapabilities.some((i)=>qe(t,i)))return!1}if(a.excludeCapabilities&&a.excludeCapabilities.length>0){if(a.excludeCapabilities.some((i)=>qe(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),c=t.description?.toLowerCase().includes(n)??!1;if(!i&&!o&&!c)return!1}if(a.hasThinking===!0&&!t.thinkingConfig)return!1;if(a.hasThinking===!1&&t.thinkingConfig)return!1;return!0}function oa(e,t,a="asc"){if(!t)return e;let n=[...e].sort((i,o)=>{let c,r;switch(t){case"name":c=i.info.name??i.modelId,r=o.info.name??o.modelId;break;case"contextWindow":c=i.info.contextWindow??0,r=o.info.contextWindow??0;break;case"maxTokens":c=i.info.maxTokens??0,r=o.info.maxTokens??0;break;case"inputPrice":c=i.info.pricing?.input??Number.POSITIVE_INFINITY,r=o.info.pricing?.input??Number.POSITIVE_INFINITY;break;case"outputPrice":c=i.info.pricing?.output??Number.POSITIVE_INFINITY,r=o.info.pricing?.output??Number.POSITIVE_INFINITY;break;default:return 0}if(typeof c==="string"&&typeof r==="string")return c.localeCompare(r);return c-r});return a==="desc"?n.reverse():n}function Vn(e){return De.parse(e)}function Un(e){let t=De.safeParse(e);return t.success?t.data:void 0}var $o=[["aihubmix",async()=>(await Promise.resolve().then(() => (Pi(),zn))).AIHUBMIX_PROVIDER],["anthropic",async()=>(await Promise.resolve().then(() => (Si(),eo))).ANTHROPIC_PROVIDER],["asksage",async()=>(await Promise.resolve().then(() => (vi(),to))).ASKSAGE_PROVIDER],["baseten",async()=>(await Promise.resolve().then(() => (Li(),io))).BASETEN_PROVIDER],["bedrock",async()=>(await Promise.resolve().then(() => (Oi(),no))).BEDROCK_PROVIDER],["cerebras",async()=>(await Promise.resolve().then(() => (qi(),oo))).CEREBRAS_PROVIDER],["claude-code",async()=>(await Promise.resolve().then(() => (Bi(),co))).CLAUDE_CODE_PROVIDER],["cline",async()=>(await Promise.resolve().then(() => (Fi(),ro))).CLINE_PROVIDER],["deepseek",async()=>(await Promise.resolve().then(() => (Ki(),po))).DEEPSEEK_PROVIDER],["dify",async()=>(await Promise.resolve().then(() => (Ni(),so))).DIFY_PROVIDER],["doubao",async()=>(await Promise.resolve().then(() => (Ui(),uo))).DOUBAO_PROVIDER],["fireworks",async()=>(await Promise.resolve().then(() => (Yi(),mo))).FIREWORKS_PROVIDER],["gemini",async()=>(await Promise.resolve().then(() => (ji(),lo))).GEMINI_PROVIDER],["groq",async()=>(await Promise.resolve().then(() => (Xi(),go))).GROQ_PROVIDER],["hicap",async()=>(await Promise.resolve().then(() => ($i(),xo))).HICAP_PROVIDER],["huawei-cloud-maas",async()=>(await Promise.resolve().then(() => (Ji(),ho))).HUAWEI_CLOUD_MAAS_PROVIDER],["huggingface",async()=>(await Promise.resolve().then(() => (Hi(),Wo))).HUGGINGFACE_PROVIDER],["kilo",async()=>(await Promise.resolve().then(() => (Zi(),wo))).KILO_PROVIDER],["litellm",async()=>(await Promise.resolve().then(() => (Ii(),bo))).LITELLM_PROVIDER],["lmstudio",async()=>(await Promise.resolve().then(() => (zi(),Do))).LMSTUDIO_PROVIDER],["minimax",async()=>(await Promise.resolve().then(() => (t0(),To))).MINIMAX_PROVIDER],["mistral",async()=>(await Promise.resolve().then(() => (a0(),Ro))).MISTRAL_PROVIDER],["moonshot",async()=>(await Promise.resolve().then(() => (n0(),Mo))).MOONSHOT_PROVIDER],["nebius",async()=>(await Promise.resolve().then(() => (o0(),Ao))).NEBIUS_PROVIDER],["nousResearch",async()=>(await Promise.resolve().then(() => (c0(),fo))).NOUS_RESEARCH_PROVIDER],["oca",async()=>(await Promise.resolve().then(() => (Mt(),_o))).OCA_PROVIDER],["ollama",async()=>(await Promise.resolve().then(() => (r0(),Go))).OLLAMA_PROVIDER],["openai-codex",async()=>(await Promise.resolve().then(() => (s0(),Eo))).OPENAI_CODEX_PROVIDER],["openai-native",async()=>(await Promise.resolve().then(() => (u0(),Po))).OPENAI_PROVIDER],["opencode",async()=>(await Promise.resolve().then(() => (l0(),So))).OPENCODE_PROVIDER],["openrouter",async()=>(await Promise.resolve().then(() => (d0(),vo))).OPENROUTER_PROVIDER],["qwen",async()=>(await Promise.resolve().then(() => (h0(),Lo))).QWEN_PROVIDER],["qwen-code",async()=>(await Promise.resolve().then(() => (b0(),Oo))).QWEN_CODE_PROVIDER],["requesty",async()=>(await Promise.resolve().then(() => (D0(),qo))).REQUESTY_PROVIDER],["sambanova",async()=>(await Promise.resolve().then(() => (T0(),Qo))).SAMBANOVA_PROVIDER],["sapaicore",async()=>(await Promise.resolve().then(() => (A0(),Co))).SAP_AI_CORE_PROVIDER],["together",async()=>(await Promise.resolve().then(() => (f0(),Bo))).TOGETHER_PROVIDER],["vercel-ai-gateway",async()=>(await Promise.resolve().then(() => (_0(),Fo))).VERCEL_AI_GATEWAY_PROVIDER],["vertex",async()=>(await Promise.resolve().then(() => (G0(),No))).VERTEX_PROVIDER],["wandb",async()=>(await Promise.resolve().then(() => (E0(),Vo))).WANDB_PROVIDER],["xai",async()=>(await Promise.resolve().then(() => (P0(),Uo))).XAI_PROVIDER],["xiaomi",async()=>(await Promise.resolve().then(() => (S0(),jo))).XIAOMI_PROVIDER],["zai",async()=>(await Promise.resolve().then(() => (L0(),Xo))).ZAI_PROVIDER]];var Bt=new Map,$e=new Map,H=new Map,_e=new Map,Dr=$o;function Tr(){for(let[e,t]of Dr)$e.set(e,{load:t})}Tr();async function Rr(e){return e.load()}async function ue(e){if(_e.has(e))return _e.get(e);if(Bt.has(e))return Bt.get(e);let t=$e.get(e);if(!t)return;let a=await Rr(t);return Bt.set(e,a),a}function Ge(){let e=Array.from($e.keys()),t=Array.from(_e.keys()).filter((a)=>!$e.has(a));return[...e,...t]}function Mr(e){return $e.has(e)||_e.has(e)}async function Ar(e){return(await ue(e))?.provider}async function fr(e){return ue(e)}async function _r(){let e=Ge();return(await Promise.all(e.map((a)=>ue(a)))).filter((a)=>a!==void 0).map((a)=>a.provider)}async function O0(e){let a=(await ue(e))?.models??{},n=H.get(e);if(n)return{...a,...Object.fromEntries(n)};return a}async function q0(e,t){let a=H.get(e);if(a?.has(t))return a.get(t);return(await ue(e))?.models[t]}async function Gr(e){let t=await ue(e);if(!t)return;let a=t.provider.defaultModelId,n=await q0(e,a);if(!n)return;return{id:a,info:n}}async function Q0(){let e=[],t=Ge();return await Promise.all(t.map(async(a)=>{let n=await ue(a);if(!n)return;for(let[o,c]of Object.entries(n.models))e.push({providerId:a,modelId:o,info:c});let i=H.get(a);if(i){for(let[o,c]of i)if(!n.models[o])e.push({providerId:a,modelId:o,info:c})}})),e}async function Er(){let e=0,t=Ge();return await Promise.all(t.map(async(a)=>{let n=await ue(a);if(!n)return;e+=Object.keys(n.models).length;let i=H.get(a);if(i){for(let o of i.keys())if(!n.models[o])e++}})),e}function Pr(e){_e.set(e.provider.id,e)}function C0(e,t,a){if(!H.has(e))H.set(e,new Map);H.get(e)?.set(t,{...a,id:t})}function Sr(e,t){let a=H.get(e);if(a)return a.delete(t);return!1}function vr(e){return H.delete(e),Bt.delete(e),_e.delete(e)||$e.delete(e)}function Lr(){H.clear()}function Or(){Bt.clear(),H.clear(),_e.clear()}function qr(e,t){for(let[a,n]of Object.entries(t))C0(e,a,n)}async function Jo(e,t,a){let n=await q0(e,t);if(!n)return;let i={...n,...a};return C0(e,t,i),i}async function Qr(e,t,a){return Jo(e,t,{status:"deprecated",deprecationNotice:a?.notice,replacedBy:a?.replacedBy,deprecationDate:a?.deprecationDate})}function $(e){let t=De.parse(e),a=t.providers?.length?t.providers.filter((o)=>Ge().includes(o)):Ge(),n=[];for(let o of a){let c=O0(o);for(let[r,p]of Object.entries(c))if(na(r,p,t))n.push({providerId:o,modelId:r,info:p})}let i=oa(n,t.sortBy,t.sortDirection??"asc");if(t.limit&&t.limit>0)return i.slice(0,t.limit);return i}function Cr(){return $({capabilities:["images"]})}function Br(){return $({capabilities:["reasoning"]})}function Fr(){return $({capabilities:["prompt-cache"]})}function Kr(){return $({capabilities:["tools"]})}function Nr(){return $({capabilities:["computer-use"]})}function yr(){return $({includeDeprecated:!1,status:["active","preview"]})}function Vr(){return $({includeDeprecated:!0,status:["deprecated"]})}function Ur(e,t){return $({maxInputPrice:e,maxOutputPrice:t,sortBy:"inputPrice"})}function Yr(e){return $({minContextWindow:e,sortBy:"contextWindow",sortDirection:"desc"})}function jr(e){return $({providers:[e]})}function Xr(e){return $({search:e})}class B0{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 $(this.config)}}function $r(){return new B0}async function Jr(){let e=await Q0(),t={},a={},n={},i=[];for(let{providerId:r,info:p}of e){t[r]=(t[r]??0)+1;for(let d of p.capabilities??[])a[d]=(a[d]??0)+1;let u=p.status??"active";if(n[u]=(n[u]??0)+1,p.pricing?.input!==void 0)i.push(p.pricing.input)}let o=i.sort((r,p)=>r-p),c={min:o[0]??0,max:o[o.length-1]??0,avg:i.length>0?i.reduce((r,p)=>r+p,0)/i.length:0};return{totalModels:e.length,modelsByProvider:t,modelsByCapability:a,modelsByStatus:n,priceRange:c}}A();Pi();Si();vi();Li();Oi();qi();Bi();Fi();Ki();Ni();Ui();Yi();ji();Xi();$i();Ji();Hi();Zi();Ii();zi();t0();a0();n0();o0();c0();Mt();r0();u0();s0();l0();d0();h0();b0();D0();T0();A0();f0();_0();G0();E0();P0();S0();L0();var Je={};W(Je,{getTogetherLlamaModels:()=>za,getOpenAIReasoningModels:()=>Ua,getGroqVisionModels:()=>fa,getGeminiThinkingModels:()=>Ma,getFireworksFunctionModels:()=>Da,getDeepSeekReasoningModels:()=>Wa,getAnthropicReasoningModels:()=>ua,getActiveXAIModels:()=>ni,getActiveOpenAIModels:()=>Va,getActiveGeminiModels:()=>Ra,getActiveAnthropicModels:()=>sa,ZAI_PROVIDER:()=>v0,ZAI_MODELS:()=>Ct,ZAI_DEFAULT_MODEL:()=>ci,XIAOMI_PROVIDER:()=>oi,XAI_PROVIDER:()=>ii,XAI_MODELS:()=>fe,XAI_DEFAULT_MODEL:()=>Qt,WANDB_PROVIDER:()=>ai,VERTEX_PROVIDER:()=>ti,VERTEX_MODELS:()=>Xe,VERTEX_DEFAULT_MODEL:()=>qt,VERCEL_AI_GATEWAY_PROVIDER:()=>ei,TOGETHER_PROVIDER:()=>Ia,TOGETHER_MODELS:()=>Ae,TOGETHER_DEFAULT_MODEL:()=>Ot,SAP_AI_CORE_PROVIDER:()=>M0,SAP_AI_CORE_MODELS:()=>Lt,SAP_AI_CORE_DEFAULT_MODEL:()=>Za,SAMBANOVA_PROVIDER:()=>Ha,SAMBANOVA_MODELS:()=>je,SAMBANOVA_DEFAULT_MODEL:()=>vt,REQUESTY_PROVIDER:()=>Ja,QWEN_PROVIDER:()=>x0,QWEN_MODELS:()=>Pt,QWEN_DEFAULT_MODEL:()=>Xa,QWEN_CODE_PROVIDER:()=>w0,QWEN_CODE_MODELS:()=>St,QWEN_CODE_DEFAULT_MODEL:()=>$a,OPENROUTER_PROVIDER:()=>ja,OPENROUTER_MODELS:()=>Gt,OPENROUTER_DEFAULT_MODEL:()=>Et,OPENCODE_PROVIDER:()=>m0,OPENCODE_MODELS:()=>_t,OPENCODE_DEFAULT_MODEL:()=>Ya,OPENAI_PROVIDER:()=>ya,OPENAI_MODELS:()=>se,OPENAI_DEFAULT_MODEL:()=>ft,OPENAI_CODEX_PROVIDER:()=>Na,OPENAI_CODEX_DEFAULT_MODEL:()=>At,OLLAMA_PROVIDER:()=>Ka,OCA_PROVIDER:()=>Fa,OCA_MODELS:()=>Ye,OCA_DEFAULT_MODEL:()=>Rt,NOUS_RESEARCH_PROVIDER:()=>Ba,NOUS_RESEARCH_MODELS:()=>Tt,NOUS_RESEARCH_DEFAULT_MODEL:()=>Ca,NEBIUS_PROVIDER:()=>Qa,NEBIUS_MODELS:()=>Ue,NEBIUS_DEFAULT_MODEL:()=>Dt,MOONSHOT_PROVIDER:()=>qa,MOONSHOT_MODELS:()=>Ve,MOONSHOT_DEFAULT_MODEL:()=>kt,MISTRAL_PROVIDER:()=>Oa,MINIMAX_PROVIDER:()=>La,MINIMAX_MODELS:()=>ye,MINIMAX_DEFAULT_MODEL:()=>bt,LMSTUDIO_PROVIDER:()=>va,LITELLM_PROVIDER:()=>Sa,KILO_PROVIDER:()=>Pa,HUGGINGFACE_PROVIDER:()=>Ea,HUGGINGFACE_MODELS:()=>wt,HUAWEI_CLOUD_MAAS_PROVIDER:()=>Ga,HICAP_PROVIDER:()=>_a,GROQ_PROVIDER:()=>Aa,GROQ_MODELS:()=>Me,GROQ_DEFAULT_MODEL:()=>Wt,GEMINI_PROVIDER:()=>Ta,GEMINI_MODELS:()=>re,GEMINI_DEFAULT_MODEL:()=>ht,FIREWORKS_PROVIDER:()=>ka,FIREWORKS_MODELS:()=>Re,FIREWORKS_DEFAULT_MODEL:()=>xt,DOUBAO_PROVIDER:()=>Vi,DOUBAO_MODELS:()=>gt,DOUBAO_DEFAULT_MODEL:()=>ba,DIFY_PROVIDER:()=>wa,DEFAULT_INTERNAL_OCA_BASE_URL:()=>pe,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>te,DEEPSEEK_PROVIDER:()=>ha,DEEPSEEK_MODELS:()=>Te,DEEPSEEK_DEFAULT_MODEL:()=>dt,CLINE_PROVIDER:()=>Ne,CLINE_MODELS:()=>Ke,CLINE_DEFAULT_MODEL:()=>Fe,CLAUDE_CODE_PROVIDER:()=>xa,CLAUDE_CODE_MODELS:()=>mt,CLAUDE_CODE_DEFAULT_MODEL:()=>lt,CEREBRAS_PROVIDER:()=>ga,CEREBRAS_MODELS:()=>Be,CEREBRAS_DEFAULT_MODEL:()=>ut,BEDROCK_PROVIDER:()=>da,BEDROCK_MODELS:()=>Ce,BEDROCK_DEFAULT_MODEL:()=>st,BASETEN_PROVIDER:()=>la,ASKSAGE_PROVIDER:()=>ma,ANTHROPIC_PROVIDER:()=>pa,ANTHROPIC_MODELS:()=>ce,ANTHROPIC_DEFAULT_MODEL:()=>pt,AIHUBMIX_PROVIDER:()=>ra});var He;((x)=>{x.ANTHROPIC="anthropic";x.CLAUDE_CODE="claude-code";x.CLINE="cline";x.OPENAI_NATIVE="openai-native";x.OPENAI_CODEX="openai-codex";x.OPENCODE="opencode";x.BEDROCK="bedrock";x.VERTEX="vertex";x.GEMINI="gemini";x.OLLAMA="ollama";x.LMSTUDIO="lmstudio";x.DEEPSEEK="deepseek";x.XAI="xai";x.TOGETHER="together";x.FIREWORKS="fireworks";x.GROQ="groq";x.CEREBRAS="cerebras";x.SAMBANOVA="sambanova";x.NEBIUS="nebius";x.BASETEN="baseten";x.REQUESTY="requesty";x.LITELLM="litellm";x.HUGGINGFACE="huggingface";x.VERCEL_AI_GATEWAY="vercel-ai-gateway";x.AIHUBMIX="aihubmix";x.HICAP="hicap";x.NOUS_RESEARCH="nousResearch";x.HUAWEI_CLOUD_MAAS="huawei-cloud-maas";x.WANDB="wandb";x.XIAOMI="xiaomi";x.KILO="kilo";x.QWEN="qwen";x.QWEN_CODE="qwen-code";x.DOUBAO="doubao";x.MISTRAL="mistral";x.MOONSHOT="moonshot";x.ASKSAGE="asksage";x.ZAI="zai";x.MINIMAX="minimax";x.DIFY="dify";x.OCA="oca";x.SAPAICORE="sapaicore";x.OPENROUTER="openrouter"})(He||={});var Hr={openai:"openai-native",togetherai:"together","sap-ai-core":"sapaicore"},Ho=Object.values(He);function U(e){let t=e.trim();return Hr[t]??t}function Q(e){return U(e.routingProviderId??e.providerId)}import{z as M}from"zod";var Zo=M.enum(["connector.started","connector.stopping","session.authorize","message.received","message.denied","message.completed","message.failed","session.started","session.reused","session.reset","schedule.delivery.started","schedule.delivery.sent","schedule.delivery.failed"]),Io=M.object({id:M.string().optional(),label:M.string().optional(),role:M.string().optional(),participantKey:M.string().optional(),participantLabel:M.string().optional(),platformUserId:M.string().optional(),metadata:M.record(M.string(),M.unknown()).optional()}),zo=M.object({source:M.string(),sourceEvent:M.string(),threadId:M.string(),channelId:M.string(),isDM:M.boolean(),sessionId:M.string().optional(),workspaceRoot:M.string().optional(),metadata:M.record(M.string(),M.unknown()).optional()}),Ir=M.object({actor:Io,context:zo,payload:M.record(M.string(),M.unknown()).optional()}),zr=M.object({action:M.enum(["allow","deny"]).default("allow"),message:M.string().optional(),reason:M.string().optional(),metadata:M.record(M.string(),M.unknown()).optional()}),ep=M.object({adapter:M.string(),botUserName:M.string().optional(),event:Zo,payload:M.record(M.string(),M.unknown()),ts:M.string()});function ec(e,t=!1){if(typeof e==="string")return{type:t?"error-text":"text",value:e};if(e===null||typeof e==="boolean"||typeof e==="number"||typeof e==="object")return{type:t?"error-json":"json",value:e};return{type:t?"error-text":"text",value:String(e)}}function F0(e,t,a){let n=a?.assistantToolCallArgKey??"input",i=[];if(e!=null)i.push({role:"system",content:e});for(let o of t){if(typeof o.content==="string"){i.push({role:o.role,content:o.content});continue}let c=[];for(let r of o.content)switch(r.type){case"text":c.push({type:"text",text:r.text});break;case"reasoning":c.push({type:"reasoning",text:r.text});break;case"image":c.push({type:"image",image:r.image,mediaType:r.mediaType});break;case"tool-call":if(o.role==="assistant")c.push({type:"tool-call",toolCallId:r.toolCallId,toolName:r.toolName,[n]:r.input});break;case"tool-result":c.push({type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:ec(r.output,r.isError??!1)});break}if(c.length>0)i.push({role:o.role,content:c})}return i}var K0=[{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"},{modelsDevKey:"wandb",generatedProviderId:"wandb"},{modelsDevKey:"kilo",generatedProviderId:"kilo"},{modelsDevKey:"xiaomi",generatedProviderId:"xiaomi"}];function tp(e){return Object.fromEntries(K0.flatMap((t)=>{let a=e==="modelsDevKey"?t.modelsDevKey:t.generatedProviderId;return a?[[t.modelsDevKey,a]]:[]}))}var N0=tp("generatedProviderId");function tc(e){return[...new Set(e)]}function Ft(e){let t=K0.flatMap((a)=>{if(!a.generatedProviderId)return[];if(a.generatedProviderId===e||a.runtimeProviderId===e)return[a.generatedProviderId];return[]});if(e==="nousResearch")return tc([...t,"nousresearch",e]);return tc([...t,e])}import{z as y}from"zod";var ap=y.object({agentId:y.string(),conversationId:y.string(),iteration:y.number(),abortSignal:y.custom().optional(),metadata:y.record(y.string(),y.unknown()).optional()}),ip=y.object({id:y.string(),name:y.string(),input:y.unknown(),output:y.unknown(),error:y.string().optional(),durationMs:y.number(),startedAt:y.date(),endedAt:y.date()});class me extends Error{constructor(e,t){super(`${e} at position ${t}`);this.position=t}}function ac(e){return/^[0-9A-Fa-f]$/.test(e)}function de(e){return e>="0"&&e<="9"}function ic(e){return e>=" "}function Kt(e){return`,:[]/{}()
|
|
2
|
-
|
|
3
|
-
+`.includes(e)}function X0(e){return Nt(e)||np.test(e)}var np=/^[[{\w-]$/;function nc(e){return e===`
|
|
4
|
-
`||e==="\r"||e==="\t"||e==="\b"||e==="\f"}function le(e,t){let a=e.charCodeAt(t);return a===32||a===10||a===9||a===13}function oc(e,t){let a=e.charCodeAt(t);return a===32||a===9||a===13}function cc(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 Nt(e){return $0(e)||ri(e)}function $0(e){return e==='"'||e==="“"||e==="”"}function J0(e){return e==='"'}function ri(e){return e==="'"||e==="‘"||e==="’"||e==="`"||e==="´"}function H0(e){return e==="'"}function Ze(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 J(e,t){let a=e.length;if(!le(e,a-1))return e+t;while(le(e,a-1))a--;return e.substring(0,a)+t+e.substring(a)}function rc(e,t,a){return e.substring(0,t)+e.substring(t+a)}function pc(e){return/[,\n][ \t\r]*$/.test(e)}var op={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},cp={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
5
|
-
`,r:"\r",t:"\t"};function Z0(e){let t=0,a="";if(u(["```","[```","{```"]),!o())er();u(["```","```]","```}"]);let i=T(",");if(i)c();if(X0(e[t])&&pc(a)){if(!i)a=J(a,",");G()}else if(i)a=Ze(a,",");while(e[t]==="}"||e[t]==="]")t++,c();if(t>=e.length)return a;zc();function o(){c();let g=F()||h()||b()||_()||S()||ee(!1)||L();return c(),g}function c(){let g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,f=t,P=r(g);do if(P=p(),P)P=r(g);while(P);return t>f}function r(g){let f=g?le:oc,P="";while(!0)if(f(e,t))P+=e[t],t++;else if(cc(e,t))P+=" ",t++;else break;if(P.length>0)return a+=P,!0;return!1}function p(){if(e[t]==="/"&&e[t+1]==="*"){while(t<e.length&&!rp(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 u(g){if(d(g)){if(y0(e[t]))while(t<e.length&&V0(e[t]))t++;return c(),!0}return!1}function d(g){r(!0);for(let f of g){let P=t+f.length;if(e.slice(t,P)===f)return t=P,!0}return!1}function T(g){if(e[t]===g)return a+=e[t],t++,!0;return!1}function k(g){if(e[t]===g)return t++,!0;return!1}function R(){return k("\\")}function E(){if(c(),e[t]==="."&&e[t+1]==="."&&e[t+2]===".")return t+=3,c(),k(","),!0;return!1}function F(){if(e[t]==="{"){if(a+="{",t++,c(),k(","))c();let g=!0;while(t<e.length&&e[t]!=="}"){let f;if(!g){if(f=T(","),!f)a=J(a,",");c()}else f=!0,g=!1;if(E(),!(b()||ee(!0))){if(e[t]==="}"||e[t]==="{"||e[t]==="]"||e[t]==="["||e[t]===void 0)a=Ze(a,",");else tr();break}c();let ta=T(":"),be=t>=e.length;if(!ta)if(X0(e[t])||be)a=J(a,":");else Ln();if(!o())if(ta||be)a+="null";else Ln()}if(e[t]==="}")a+="}",t++;else a=J(a,"}");return!0}return!1}function h(){if(e[t]==="["){if(a+="[",t++,c(),k(","))c();let g=!0;while(t<e.length&&e[t]!=="]"){if(!g){if(!T(","))a=J(a,",")}else g=!1;if(E(),!o()){a=Ze(a,",");break}}if(e[t]==="]")a+="]",t++;else a=J(a,"]");return!0}return!1}function G(){let g=!0,f=!0;while(f){if(!g){if(!T(","))a=J(a,",")}else g=!1;f=o()}if(!f)a=Ze(a,",");a=`[
|
|
1
|
+
import{createRequire as e0}from"node:module";var Uo=Object.defineProperty;var jo=(e)=>e;function zo(e,a){this[e]=jo.bind(null,a)}var L=(e,a)=>{for(var t in a)Uo(e,t,{get:a[t],enumerable:!0,configurable:!0,set:zo.bind(a,t)})};var w=(e,a)=>()=>(e&&(a=e(e=0)),a);var ge=e0(import.meta.url);import{z as T}from"zod";var ze,Bt,ea,aa,ta,ia,he;var na=w(()=>{ze=T.enum(["default","openai-responses","r1"]),Bt={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},ea=T.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),aa=T.enum(["active","preview","deprecated","legacy"]),ta=T.object({input:T.number().optional(),output:T.number().optional(),cacheWrite:T.number().optional(),cacheRead:T.number().optional()}),ia=T.object({maxBudget:T.number().optional(),outputPrice:T.number().optional(),thinkingLevel:T.enum(["low","high"]).optional()}),he=T.object({id:T.string(),name:T.string().optional(),description:T.string().optional(),maxTokens:T.number().optional(),contextWindow:T.number().optional(),capabilities:T.array(ea).optional(),apiFormat:ze.optional(),systemRole:T.enum(["system","developer"]).optional(),temperature:T.number().optional(),pricing:ta.optional(),thinkingConfig:ia.optional(),status:aa.optional(),deprecationNotice:T.string().optional(),replacedBy:T.string().optional(),releaseDate:T.string().optional(),deprecationDate:T.string().optional(),family:T.string().optional()})});import{z as C}from"zod";var Ct,Pe;var oa=w(()=>{Ct=C.object({agentId:C.string(),conversationId:C.string(),iteration:C.number(),abortSignal:C.custom().optional(),metadata:C.record(C.string(),C.unknown()).optional()}),Pe=C.object({id:C.string(),name:C.string(),input:C.unknown(),output:C.unknown(),error:C.string().optional(),durationMs:C.number(),startedAt:C.date(),endedAt:C.date()})});import{z as p}from"zod";var At,Qt,a0,St,t0;var _t=w(()=>{na();oa();At=p.enum(["completed","max_iterations","aborted","mistake_limit","error"]),Qt=p.object({inputTokens:p.number(),outputTokens:p.number(),cacheReadTokens:p.number().optional(),cacheWriteTokens:p.number().optional(),totalCost:p.number().optional()}),a0=p.object({text:p.string(),usage:Qt,messages:p.array(p.custom()),toolCalls:p.array(Pe),iterations:p.number(),finishReason:At,model:p.object({id:p.string(),provider:p.string(),info:he.optional()}),startedAt:p.date(),endedAt:p.date(),durationMs:p.number()}),St=p.enum(["low","medium","high","xhigh"]),t0=p.object({providerId:p.string(),modelId:p.string(),apiKey:p.string().optional(),baseUrl:p.string().url().optional(),headers:p.record(p.string(),p.string()).optional(),knownModels:p.record(p.string(),he).optional(),providerConfig:p.unknown().optional(),initialMessages:p.array(p.custom()).optional(),systemPrompt:p.string(),tools:p.array(p.custom()),maxIterations:p.number().positive().optional(),maxParallelToolCalls:p.number().int().positive().default(8),maxTokensPerTurn:p.number().positive().optional(),apiTimeoutMs:p.number().positive().default(180000),userFileContentLoader:p.function().input([p.string()]).output(p.promise(p.string())).optional(),toolContextMetadata:p.record(p.string(),p.unknown()).optional(),execution:p.object({maxConsecutiveMistakes:p.number().int().positive().optional(),reminderAfterIterations:p.number().nonnegative().optional(),reminderText:p.string().optional(),loopDetection:p.union([p.literal(!1),p.object({softThreshold:p.number().int().positive().optional(),hardThreshold:p.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:St.optional(),thinkingBudgetTokens:p.number().positive().optional(),thinking:p.boolean().optional(),onEvent:p.function().input([p.custom()]).output(p.void()).optional(),hooks:p.custom().optional(),parentAgentId:p.string().optional(),extensions:p.array(p.custom()).optional(),hookErrorMode:p.enum(["ignore","throw"]).default("ignore"),hookPolicies:p.custom().optional(),toolPolicies:p.record(p.string(),p.object({enabled:p.boolean().optional(),autoApprove:p.boolean().optional()})).optional(),requestToolApproval:p.function().input([p.object({agentId:p.string(),conversationId:p.string(),iteration:p.number(),toolCallId:p.string(),toolName:p.string(),input:p.unknown(),policy:p.object({enabled:p.boolean().optional(),autoApprove:p.boolean().optional()}).default({})})]).output(p.union([p.object({approved:p.boolean(),reason:p.string().optional()}),p.promise(p.object({approved:p.boolean(),reason:p.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:p.function().input([p.object({iteration:p.number().int().positive(),consecutiveMistakes:p.number().int().positive(),maxConsecutiveMistakes:p.number().int().positive(),reason:p.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:p.string().optional()})]).output(p.union([p.object({action:p.literal("continue"),guidance:p.string().optional()}),p.object({action:p.literal("stop"),reason:p.string().optional()}),p.promise(p.union([p.object({action:p.literal("continue"),guidance:p.string().optional()}),p.object({action:p.literal("stop"),reason:p.string().optional()})]))])).optional(),logger:p.custom().optional(),extensionContext:p.custom().optional(),abortSignal:p.custom().optional()})});var Lt=w(()=>{_t()});function ra(e){return ca.includes(e)}function Ft(e,a){if(!ra(a))return!1;let t=e instanceof Error?e.message.toLowerCase():String(e);return pa.some((i)=>t.includes(i))}var ca,pa;var Kt=w(()=>{ca=["cline","oca","openai-codex"];pa=["401","403","unauthorized","forbidden","invalid token","expired token","authentication"]});import{z as W}from"zod";var sa,ma,ua,Nt,Ot,It;var Vt=w(()=>{sa=W.enum(["connector.started","connector.stopping","session.authorize","message.received","message.denied","message.completed","message.failed","session.started","session.reused","session.reset","schedule.delivery.started","schedule.delivery.sent","schedule.delivery.failed"]),ma=W.object({id:W.string().optional(),label:W.string().optional(),role:W.string().optional(),participantKey:W.string().optional(),participantLabel:W.string().optional(),platformUserId:W.string().optional(),metadata:W.record(W.string(),W.unknown()).optional()}),ua=W.object({source:W.string(),sourceEvent:W.string(),threadId:W.string(),channelId:W.string(),isDM:W.boolean(),sessionId:W.string().optional(),workspaceRoot:W.string().optional(),metadata:W.record(W.string(),W.unknown()).optional()}),Nt=W.object({actor:ma,context:ua,payload:W.record(W.string(),W.unknown()).optional()}),Ot=W.object({action:W.enum(["allow","deny"]).default("allow"),message:W.string().optional(),reason:W.string().optional(),metadata:W.record(W.string(),W.unknown()).optional()}),It=W.object({adapter:W.string(),botUserName:W.string().optional(),event:sa,payload:W.record(W.string(),W.unknown()),ts:W.string()})});function qe(e){Et.push(e)}async function Ht(){let e=Et.splice(0);await Promise.all(e.map((a)=>{try{return(typeof a==="function"?a():a.dispose())??Promise.resolve()}catch{return Promise.resolve()}}))}var Et;var la=w(()=>{Et=[]});function c0(e,a){return e.name||`extension_${String(a).padStart(4,"0")}`}function r0(e){return typeof e.onInput==="function"||typeof e.onRuntimeEvent==="function"||typeof e.onSessionStart==="function"||typeof e.onRunStart==="function"||typeof e.onIterationStart==="function"||typeof e.onTurnStart==="function"||typeof e.onBeforeAgentStart==="function"||typeof e.onToolCall==="function"||typeof e.onToolResult==="function"||typeof e.onTurnEnd==="function"||typeof e.onAgentError==="function"||typeof e.onIterationEnd==="function"||typeof e.onRunEnd==="function"||typeof e.onSessionShutdown==="function"||typeof e.onError==="function"}function p0(e,a){let t=c0(e,a),i=e.manifest;if(!i||typeof i!=="object")throw Error(`Invalid manifest for extension "${t}": manifest is required`);if(!Array.isArray(i.capabilities)||i.capabilities.length===0)throw Error(`Invalid manifest for extension "${t}": capabilities must be a non-empty array`);let n=new Set;for(let u of i.capabilities){if(!n0.has(u))throw Error(`Invalid manifest for extension "${t}": unsupported capability "${String(u)}"`);n.add(u)}let o=i.hookStages??[];if(!Array.isArray(o))throw Error(`Invalid manifest for extension "${t}": hookStages must be an array when provided`);let c=new Set;for(let u of o){if(!o0.has(u))throw Error(`Invalid manifest for extension "${t}": unsupported hook stage "${String(u)}"`);c.add(u)}let s=n.has("hooks");if(r0(e)&&!s)throw Error(`Invalid manifest for extension "${t}": hook handlers require the "hooks" capability`);if(s&&c.size===0)throw Error(`Invalid manifest for extension "${t}": hooks capability requires at least one hook stage`);for(let u of c){let x=$t[u];if(typeof e[x]!=="function")throw Error(`Invalid manifest for extension "${t}": stage "${u}" is declared but handler "${x}" is missing`)}for(let[u,x]of Object.entries($t))if(typeof e[x]==="function"&&!c.has(u))throw Error(`Invalid manifest for extension "${t}": handler "${x}" must declare stage "${u}"`);return{capabilities:n,hookStages:c,raw:i}}class Be{extensions;registry={tools:[],commands:[],shortcuts:[],flags:[],messageBuilder:[],providers:[]};normalized=[];phase="resolve";constructor(e={}){this.extensions=e.extensions??[]}resolve(){if(this.phase!=="resolve")return;this.normalized=this.extensions.map((e,a)=>({extension:e,order:a,manifest:{capabilities:new Set,hookStages:new Set,raw:e.manifest}})),this.phase="validate"}validate(){if(this.phase==="resolve")this.resolve();if(this.phase!=="validate")return;this.normalized=this.normalized.map((e)=>({...e,manifest:p0(e.extension,e.order)})),this.phase="setup"}async setup(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();if(this.phase!=="setup")return;let e={registerTool:(a)=>this.registry.tools.push(a),registerCommand:(a)=>this.registry.commands.push(a),registerShortcut:(a)=>this.registry.shortcuts.push(a),registerFlag:(a)=>this.registry.flags.push(a),registerMessageBuilder:(a)=>this.registry.messageBuilder.push(a),registerProvider:(a)=>this.registry.providers.push(a)};for(let{extension:a}of this.normalized){if(a.disabled)continue;await a.setup?.(e)}this.phase="activate"}activate(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();if(this.phase==="setup")throw Error("Contribution registry setup must complete before activation");if(this.phase!=="activate")return;this.phase="run"}async initialize(){this.resolve(),this.validate(),await this.setup(),this.activate()}isActivated(){return this.phase==="run"}getRegistrySnapshot(){return{tools:[...this.registry.tools],commands:[...this.registry.commands],shortcuts:[...this.registry.shortcuts],flags:[...this.registry.flags],messageBuilder:[...this.registry.messageBuilder],providers:[...this.registry.providers]}}getRegisteredTools(){return[...this.registry.tools]}getValidatedExtensions(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();return this.normalized.slice().sort((e,a)=>e.order-a.order).map(({extension:e})=>e)}}function Yt(e={}){return new Be(e)}var i0,n0,o0,$t;var Zt=w(()=>{i0=["hooks","tools","commands","shortcuts","flags","messageBuilders","providers"],n0=new Set(i0),o0=new Set(["input","runtime_event","session_start","run_start","iteration_start","turn_start","before_agent_start","tool_call_before","tool_call_after","turn_end","stop_error","iteration_end","run_end","session_shutdown","error"]),$t={input:"onInput",runtime_event:"onRuntimeEvent",session_start:"onSessionStart",run_start:"onRunStart",iteration_start:"onIterationStart",turn_start:"onTurnStart",before_agent_start:"onBeforeAgentStart",tool_call_before:"onToolCall",tool_call_after:"onToolResult",turn_end:"onTurnEnd",stop_error:"onAgentError",iteration_end:"onIterationEnd",run_end:"onRunEnd",session_shutdown:"onSessionShutdown",error:"onError"}});var Xt;var Jt=w(()=>{Xt=[".js",".ts"]});function s0(e,a){let t=(a.priority??0)-(e.priority??0);if(t!==0)return t;return e.name.localeCompare(a.name)}function u0(e,a){if(!e&&!a)return;let t=[...Array.isArray(e?.appendMessages)?e.appendMessages:[],...Array.isArray(a?.appendMessages)?a.appendMessages:[]],i=Object.hasOwn(a??{},"replaceMessages")?a?.replaceMessages:e?.replaceMessages,n={cancel:!!(e?.cancel||a?.cancel),review:!!(e?.review||a?.review),context:[e?.context,a?.context].filter((c)=>typeof c==="string"&&!!c).join(`
|
|
2
|
+
`),overrideInput:Object.hasOwn(a??{},"overrideInput")?a?.overrideInput:e?.overrideInput},o=typeof a?.systemPrompt==="string"?a.systemPrompt:e?.systemPrompt;if(typeof o==="string")n.systemPrompt=o;if(t.length>0)n.appendMessages=t;if(Array.isArray(i))n.replaceMessages=i;return n}function da(e,a){return{mode:a?.mode??e.mode,timeoutMs:a?.timeoutMs??e.timeoutMs,retries:a?.retries??e.retries,retryDelayMs:a?.retryDelayMs??e.retryDelayMs,failureMode:a?.failureMode??e.failureMode,maxConcurrency:Math.max(1,a?.maxConcurrency??e.maxConcurrency),queueLimit:Math.max(1,a?.queueLimit??e.queueLimit)}}function l0(e){return e instanceof Error?e:Error(String(e))}function d0(e){return!!e&&typeof e==="object"}async function g0(e,a,t,i){if(a<=0)return await e;let n;try{return await Promise.race([e,new Promise((o,c)=>{n=setTimeout(()=>{c(Error(`Hook handler "${t}" timed out after ${a}ms at stage "${i}"`))},a)})])}finally{if(n)clearTimeout(n)}}class ga{handlers=new Map;options;sequence=0;eventCounter=0;stageQueues=new Map;inFlight=new Set;constructor(e={}){this.options=e}register(e){let a=this.handlers.get(e.stage)??[];a.push(e),a.sort(s0),this.handlers.set(e.stage,a)}async dispatch(e){let a={eventId:`hook_evt_${String(++this.eventCounter).padStart(8,"0")}`,stage:e.stage,createdAt:new Date,sequence:++this.sequence,runId:e.runId,agentId:e.agentId,conversationId:e.conversationId,parentAgentId:e.parentAgentId,iteration:e.iteration,parentEventId:e.parentEventId,payload:e.payload},t=this.getHandlers(e.stage);if(t.length===0)return{event:a,queued:!1,dropped:!1,control:void 0,results:[]};let i=this.resolveStagePolicy(e.stage);if(i.mode==="async"){let o=this.getStageQueueState(e.stage);if(o.items.length>=i.queueLimit)return this.options.onDroppedEvent?.(a,i),{event:a,queued:!1,dropped:!0,control:void 0,results:[]};return o.items.push({event:a,stagePolicy:i,handlers:t}),this.kickQueue(e.stage),{event:a,queued:!0,dropped:!1,control:void 0,results:[]}}let n=await this.executeHandlers(a,t,i);return{event:a,queued:!1,dropped:!1,control:this.mergeControlsFromResults(n),results:n}}async shutdown(e=3000){let a=Date.now();while(this.inFlight.size>0){if(Date.now()-a>=e)break;await Promise.race([...this.inFlight])}}getHandlers(e){return[...this.handlers.get(e)??[]]}getStageQueueState(e){let a=this.stageQueues.get(e);if(a)return a;let t={activeCount:0,items:[]};return this.stageQueues.set(e,t),t}kickQueue(e){let a=this.getStageQueueState(e),t=this.resolveStagePolicy(e);while(a.activeCount<t.maxConcurrency&&a.items.length>0){let i=a.items.shift();if(!i)return;a.activeCount+=1;let n=this.executeHandlers(i.event,i.handlers,i.stagePolicy).then(()=>{return}).catch(()=>{}).finally(()=>{a.activeCount-=1,this.inFlight.delete(n),this.kickQueue(e)});this.inFlight.add(n)}}resolveStagePolicy(e){let a=da(m0[e],this.options.policies?.defaultPolicy);return da(a,this.options.policies?.stages?.[e])}resolveHandlerPolicy(e,a){let t=this.resolveStagePolicy(e);return da(t,this.options.policies?.handlers?.[a])}async executeHandlers(e,a,t){let i=[];for(let n of a){let o=this.resolveHandlerPolicy(e.stage,n.name);if(t.mode==="async"&&o.mode==="blocking"){i.push({handlerName:n.name,stage:e.stage,status:"skipped",attempts:0,durationMs:0});continue}let c=await this.executeHandler(e,n,o);if(i.push(c),(c.status==="error"||c.status==="timeout")&&o.failureMode==="fail_closed")throw c.error??Error(`Hook handler "${n.name}" failed at stage "${e.stage}"`)}return i}async executeHandler(e,a,t){let i=Date.now(),n=0,o,c="error";while(n<=t.retries){n+=1;try{let s=await g0(Promise.resolve(a.handle(e)),t.timeoutMs,a.name,e.stage),d=d0(s)?s:void 0;return{handlerName:a.name,stage:e.stage,status:"ok",attempts:n,durationMs:Date.now()-i,control:d}}catch(s){if(o=l0(s),c=/timed out/i.test(o.message)?"timeout":"error",this.options.onDispatchError?.(o,e,a.name),n<=t.retries&&t.retryDelayMs>0)await new Promise((d)=>setTimeout(d,t.retryDelayMs))}}return{handlerName:a.name,stage:e.stage,status:c,attempts:n,durationMs:Date.now()-i,error:o}}mergeControlsFromResults(e){let a;for(let t of e)a=u0(a,t.control);return a}}var m0;var Ut=w(()=>{m0={input:{mode:"blocking",timeoutMs:2500,retries:0,retryDelayMs:100,failureMode:"fail_open",maxConcurrency:1,queueLimit:100},runtime_event:{mode:"async",timeoutMs:1500,retries:0,retryDelayMs:100,failureMode:"fail_open",maxConcurrency:4,queueLimit:2000},session_start:{mode:"blocking",timeoutMs:2500,retries:0,retryDelayMs:100,failureMode:"fail_open",maxConcurrency:1,queueLimit:100},run_start:{mode:"blocking",timeoutMs:2500,retries:0,retryDelayMs:100,failureMode:"fail_open",maxConcurrency:1,queueLimit:100},iteration_start:{mode:"blocking",timeoutMs:2000,retries:0,retryDelayMs:100,failureMode:"fail_open",maxConcurrency:1,queueLimit:200},turn_start:{mode:"blocking",timeoutMs:2000,retries:0,retryDelayMs:100,failureMode:"fail_open",maxConcurrency:1,queueLimit:200},before_agent_start:{mode:"blocking",timeoutMs:3000,retries:0,retryDelayMs:100,failureMode:"fail_open",maxConcurrency:1,queueLimit:200},tool_call_before:{mode:"blocking",timeoutMs:4000,retries:1,retryDelayMs:150,failureMode:"fail_open",maxConcurrency:1,queueLimit:500},tool_call_after:{mode:"blocking",timeoutMs:3000,retries:1,retryDelayMs:200,failureMode:"fail_open",maxConcurrency:1,queueLimit:1000},turn_end:{mode:"blocking",timeoutMs:3000,retries:1,retryDelayMs:200,failureMode:"fail_open",maxConcurrency:1,queueLimit:500},stop_error:{mode:"async",timeoutMs:3000,retries:1,retryDelayMs:200,failureMode:"fail_open",maxConcurrency:2,queueLimit:500},iteration_end:{mode:"async",timeoutMs:3000,retries:1,retryDelayMs:200,failureMode:"fail_open",maxConcurrency:2,queueLimit:500},run_end:{mode:"async",timeoutMs:3000,retries:1,retryDelayMs:200,failureMode:"fail_open",maxConcurrency:2,queueLimit:500},session_shutdown:{mode:"async",timeoutMs:3000,retries:1,retryDelayMs:200,failureMode:"fail_open",maxConcurrency:2,queueLimit:500},error:{mode:"async",timeoutMs:1500,retries:0,retryDelayMs:100,failureMode:"fail_open",maxConcurrency:2,queueLimit:500}}});function Ce(e,a){return`<file_content path="${e}">
|
|
7
3
|
${a}
|
|
8
|
-
|
|
4
|
+
</file_content>`}function jt(e,a="act"){return`<user_input mode="${a}">${e}</user_input>`}function zt(e){if(!e?.trim())return"";let a=ha(e,"user_input");return(a!==e?a:e.replace(/<user_input[^>]*>/g,"")).trim()}function ha(e,a){if(!e?.trim())return"";if(!a)return e;let t=new RegExp(`<${a}.*?>(.*?)</${a}>`,"g");return e.replace(t,"$1")}function xa(e,a=!1){if(typeof e==="string")return{type:a?"error-text":"text",value:e};if(e===null||typeof e==="boolean"||typeof e==="number"||typeof e==="object")return{type:a?"error-json":"json",value:e};return{type:a?"error-text":"text",value:String(e)}}function Ae(e,a,t){let i=t?.assistantToolCallArgKey??"input",n=[];if(e!=null)n.push({role:"system",content:e});for(let o of a){if(typeof o.content==="string"){n.push({role:o.role,content:o.content});continue}let c=[],s=[];for(let d of o.content)switch(d.type){case"text":c.push({type:"text",text:d.text});break;case"reasoning":c.push({type:"reasoning",text:d.text,...d.providerOptions?{providerOptions:d.providerOptions}:{}});break;case"image":c.push({type:"image",image:d.image,mediaType:d.mediaType});break;case"file":c.push({type:"text",text:Ce(d.path,d.content)});break;case"tool-call":if(o.role==="assistant")c.push({type:"tool-call",toolCallId:d.toolCallId,toolName:d.toolName,[i]:d.input,...d.providerOptions?{providerOptions:d.providerOptions}:{}});break;case"tool-result":s.push({type:"tool-result",toolCallId:d.toolCallId,toolName:d.toolName,output:xa(d.output,d.isError??!1)});break}if(c.length>0)n.push({role:o.role,content:c});if(s.length>0)n.push({role:"tool",content:s})}return n}var ei=()=>{};function h0(e){return Object.fromEntries(Qe.flatMap((a)=>{let t=e==="modelsDevKey"?a.modelsDevKey:a.generatedProviderId;return t?[[a.modelsDevKey,t]]:[]}))}function ai(e){return[...new Set(e)]}function ie(e){let a=Qe.flatMap((t)=>{if(!t.generatedProviderId)return[];if(t.generatedProviderId===e||t.runtimeProviderId===e)return[t.generatedProviderId];return[]});if(e==="nousResearch")return ai([...a,"nousresearch",e]);return ai([...a,e])}var Qe,Se;var ti=w(()=>{Qe=[{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"},{modelsDevKey:"wandb",generatedProviderId:"wandb"},{modelsDevKey:"kilo",generatedProviderId:"kilo"},{modelsDevKey:"xiaomi",generatedProviderId:"xiaomi"}];Se=h0("generatedProviderId")});function ni(e,a){if(typeof e==="string"&&e.toLowerCase()in ne)return e.toLowerCase();return a?"medium":void 0}function wa(e,a){let t=typeof e==="string"?e.toLowerCase():void 0;if(t&&t in ne)return ne[t];if(a?.fallbackEffort)return ne[a.fallbackEffort];return}function oi(e){let a=wa(e.effort,{fallbackEffort:e.fallbackEffort});if(a===void 0)return;if(a<=0)return 0;let t=e.minimumBudget??1;if(e.maxBudget<t)return;let i=e.scaleTokens??e.maxBudget;return Math.min(Math.max(Math.floor(i*a),t),e.maxBudget)}var ii="medium",ne;var ci=w(()=>{ne={xhigh:0.95,high:0.8,medium:0.5,low:0.2,minimal:0.1,none:0}});function pi(e){return e instanceof Error?{name:e.name,message:e.message}:e}var ri;var si=w(()=>{ri={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","X-IS-MULTIROOT":"false","X-CLIENT-TYPE":"cline-sdk"}});var mi;var ui=w(()=>{mi={debug:()=>{},log:()=>{},error:()=>{}}});var Y;var li=w(()=>{Y=class Y extends Error{constructor(e,a){super(`${e} at position ${a}`);this.position=a}}});function di(e){return/^[0-9A-Fa-f]$/.test(e)}function X(e){return e>="0"&&e<="9"}function gi(e){return e>=" "}function xe(e){return`,:[]/{}()
|
|
5
|
+
+`.includes(e)}function Wa(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="_"||e==="$"}function ka(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="_"||e==="$"||e>="0"&&e<="9"}function Ta(e){return`,[]/{}
|
|
6
|
+
+`.includes(e)}function Da(e){return we(e)||x0.test(e)}function hi(e){return e===`
|
|
7
|
+
`||e==="\r"||e==="\t"||e==="\b"||e==="\f"}function Z(e,a){let t=e.charCodeAt(a);return t===32||t===10||t===9||t===13}function xi(e,a){let t=e.charCodeAt(a);return t===32||t===9||t===13}function wi(e,a){let t=e.charCodeAt(a);return t===160||t===6158||t>=8192&&t<=8203||t===8239||t===8287||t===12288||t===65279}function we(e){return Ra(e)||_e(e)}function Ra(e){return e==='"'||e==="“"||e==="”"}function ya(e){return e==='"'}function _e(e){return e==="'"||e==="‘"||e==="’"||e==="`"||e==="´"}function va(e){return e==="'"}function oe(e,a){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=e.lastIndexOf(a);return i!==-1?e.substring(0,i)+(t?"":e.substring(i+1)):e}function F(e,a){let t=e.length;if(!Z(e,t-1))return e+a;while(Z(e,t-1))t--;return e.substring(0,t)+a+e.substring(t)}function Wi(e,a,t){return e.substring(0,a)+e.substring(a+t)}function ki(e){return/[,\n][ \t\r]*$/.test(e)}var ba,fa,x0;var bi=w(()=>{ba=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,fa=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;x0=/^[[{\w-]$/});function Ga(e){let a=0,t="";if(u(["```","[```","{```"]),!o())Zo();u(["```","```]","```}"]);let n=M(",");if(n)c();if(Da(e[a])&&ki(t)){if(!n)t=F(t,",");J()}else if(n)t=oe(t,",");while(e[a]==="}"||e[a]==="]")a++,c();if(a>=e.length)return t;Yo();function o(){c();let g=E()||v()||S()||R()||Je()||ve(!1)||Ho();return c(),g}function c(){let g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,k=a,b=s(g);do if(b=d(),b)b=s(g);while(b);return a>k}function s(g){let k=g?Z:xi,b="";while(!0)if(k(e,a))b+=e[a],a++;else if(wi(e,a))b+=" ",a++;else break;if(b.length>0)return t+=b,!0;return!1}function d(){if(e[a]==="/"&&e[a+1]==="*"){while(a<e.length&&!k0(e,a))a++;return a+=2,!0}if(e[a]==="/"&&e[a+1]==="/"){while(a<e.length&&e[a]!==`
|
|
8
|
+
`)a++;return!0}return!1}function u(g){if(x(g)){if(Wa(e[a]))while(a<e.length&&ka(e[a]))a++;return c(),!0}return!1}function x(g){s(!0);for(let k of g){let b=a+k.length;if(e.slice(a,b)===k)return a=b,!0}return!1}function M(g){if(e[a]===g)return t+=e[a],a++,!0;return!1}function y(g){if(e[a]===g)return a++,!0;return!1}function B(){return y("\\")}function D(){if(c(),e[a]==="."&&e[a+1]==="."&&e[a+2]===".")return a+=3,c(),y(","),!0;return!1}function E(){if(e[a]==="{"){if(t+="{",a++,c(),y(","))c();let g=!0;while(a<e.length&&e[a]!=="}"){let k;if(!g){if(k=M(","),!k)t=F(t,",");c()}else k=!0,g=!1;if(D(),!(S()||ve(!0))){if(e[a]==="}"||e[a]==="{"||e[a]==="]"||e[a]==="["||e[a]===void 0)t=oe(t,",");else Xo();break}c();let Me=M(":"),U=a>=e.length;if(!Me)if(Da(e[a])||U)t=F(t,":");else Pt();if(!o())if(Me||U)t+="null";else Pt()}if(e[a]==="}")t+="}",a++;else t=F(t,"}");return!0}return!1}function v(){if(e[a]==="["){if(t+="[",a++,c(),y(","))c();let g=!0;while(a<e.length&&e[a]!=="]"){if(!g){if(!M(","))t=F(t,",")}else g=!1;if(D(),!o()){t=oe(t,",");break}}if(e[a]==="]")t+="]",a++;else t=F(t,"]");return!0}return!1}function J(){let g=!0,k=!0;while(k){if(!g){if(!M(","))t=F(t,",")}else g=!1;k=o()}if(!k)t=oe(t,",");t=`[
|
|
9
9
|
${t}
|
|
10
|
-
</file_content>`}import{z as s}from"zod";var uc=s.object({id:s.string(),temperature:s.number().optional(),isR1FormatRequired:s.boolean().optional(),maxTokens:s.number().optional(),contextWindow:s.number().optional(),inputPrice:s.number().optional(),outputPrice:s.number().optional(),supportsImages:s.boolean().optional()}),mc=s.object({models:s.array(uc).optional(),openAiBaseUrl:s.string().optional(),openAiHeaders:s.record(s.string(),s.string()).optional(),azureApiVersion:s.string().optional(),azureIdentity:s.boolean().optional()}),lc=s.object({id:s.string(),thinkingBudgetTokens:s.number().optional()}),dc=s.object({name:s.string(),baseModelId:s.string(),thinkingBudgetTokens:s.number().optional()}),gc=s.object({models:s.array(lc).optional(),customModels:s.array(dc).optional(),awsRegion:s.string().optional(),awsUseCrossRegionInference:s.boolean().optional(),awsUseGlobalInference:s.boolean().optional(),awsBedrockUsePromptCache:s.boolean().optional(),awsBedrockEndpoint:s.string().optional()}),xc=s.object({id:s.string()}),hc=s.object({models:s.array(xc).optional()}),Wc=s.object({id:s.string(),thinkingBudgetTokens:s.number().optional()}),wc=s.object({models:s.array(Wc).optional(),vertexProjectId:s.string().optional(),vertexRegion:s.string().optional()}),bc=s.object({id:s.string(),thinkingBudgetTokens:s.number().optional(),promptCachingEnabled:s.boolean().optional()}),kc=s.object({models:s.array(bc).optional(),baseUrl:s.string().optional()}),Dc=s.object({id:s.string(),thinkingBudgetTokens:s.number().optional()}),Tc=s.object({models:s.array(Dc).optional(),baseUrl:s.string().optional()}),pp=s.object({OpenAiCompatible:mc.optional(),AwsBedrock:gc.optional(),Cline:hc.optional(),Vertex:wc.optional(),LiteLLM:kc.optional(),Anthropic:Tc.optional()}),Rc=s.object({id:s.string()}),Mc=s.object({name:s.string(),url:s.string(),alwaysEnabled:s.boolean().optional(),headers:s.record(s.string(),s.string()).optional()}),I0=s.object({alwaysEnabled:s.boolean(),name:s.string(),contents:s.string()}),z0=s.object({bucket:s.string(),accessKeyId:s.string(),secretAccessKey:s.string(),region:s.string().optional(),endpoint:s.string().optional(),accountId:s.string().optional(),intervalMs:s.number().optional(),maxRetries:s.number().optional(),batchSize:s.number().optional(),maxQueueSize:s.number().optional(),maxFailedAgeMs:s.number().optional(),backfillEnabled:s.boolean().optional()}),Ac=s.object({enabled:s.boolean().optional(),type:s.union([s.literal("s3_access_keys"),s.literal("r2_access_keys")]).optional(),s3AccessSettings:z0.optional(),r2AccessSettings:z0.optional()}),fc=s.object({promptUploading:Ac.optional()}),sp=s.object({version:s.string(),providerSettings:pp.optional(),telemetryEnabled:s.boolean().optional(),kanbanEnabled:s.boolean().optional(),mcpMarketplaceEnabled:s.boolean().optional(),allowedMCPServers:s.array(Rc).optional(),remoteMCPServers:s.array(Mc).optional(),blockPersonalRemoteMCPServers:s.boolean().optional(),yoloModeAllowed:s.boolean().optional(),openTelemetryEnabled:s.boolean().optional(),openTelemetryMetricsExporter:s.string().optional(),openTelemetryLogsExporter:s.string().optional(),openTelemetryOtlpProtocol:s.string().optional(),openTelemetryOtlpEndpoint:s.string().optional(),openTelemetryOtlpHeaders:s.record(s.string(),s.string()).optional(),openTelemetryOtlpMetricsProtocol:s.string().optional(),openTelemetryOtlpMetricsEndpoint:s.string().optional(),openTelemetryOtlpMetricsHeaders:s.record(s.string(),s.string()).optional(),openTelemetryOtlpLogsProtocol:s.string().optional(),openTelemetryOtlpLogsEndpoint:s.string().optional(),openTelemetryOtlpLogsHeaders:s.record(s.string(),s.string()).optional(),openTelemetryMetricExportInterval:s.number().optional(),openTelemetryOtlpInsecure:s.boolean().optional(),openTelemetryLogBatchSize:s.number().optional(),openTelemetryLogBatchTimeout:s.number().optional(),openTelemetryLogMaxQueueSize:s.number().optional(),enterpriseTelemetry:fc.optional(),globalRules:s.array(I0).optional(),globalWorkflows:s.array(I0).optional()}),up=s.record(s.string(),s.string());import{nanoid as Zm}from"nanoid";Mt();A();import{z as l}from"zod";function _c(e){if(!e||typeof e!=="object")return!1;let t=e;return typeof t.provider==="object"&&typeof t.models==="object"}function mp(e,t){return t==="openai-compatible"||e==="openai-chat"||e==="openai-responses"||e==="openai-r1"}function Gc(e){let t={},a=e?.includeKnownModels??!1;for(let n of Object.values(Je)){if(!_c(n))continue;let i=n.provider;if(!mp(i.protocol,i.client)||!i.baseUrl)continue;t[i.id]={baseUrl:i.baseUrl,modelId:i.defaultModelId,knownModels:a?n.models:void 0,capabilities:i.capabilities}}return t}function en(){let e={};for(let t of Object.values(Je)){if(!_c(t))continue;e[t.provider.id]=t.provider.client}return e}var on="https://models.dev/api.json",lp=600000,dp=300000,gp=5000,Ec=new Map,tn=new Map,Pc=new Map,an=new Map,Sc;async function xp(){return Sc??=Promise.resolve().then(() => (A(),In)).then(({getGeneratedProviderModels:e})=>e()),Sc}async function hp(e,t={},a={},n={},i={}){let o=await xp(),c=Ft(e),r=Object.assign({},...c.map((p)=>o[p]??{}));return Qe({...r,...t,...a,...n,...i})}function vc(e){let t=e?.trim();return t&&t.length>0?t:""}function cn(e){let t=e.apiKey?.trim()||e.accessToken?.trim();return t&&t.length>0?t:void 0}function Wp(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 wp(e,t){return`${e}:${vc(t.baseUrl)}:${Wp(cn(t)??"")}`}async function rn(e,t,a=gp){return fetch(e,{...t,signal:AbortSignal.timeout(a)})}function nn(e,t,a){if(a&&!e.includes(t))e.push(t)}function pn(e,t){let a=["streaming","tools"];return nn(a,"images",Boolean(t.supportsImages)),nn(a,"prompt-cache",Boolean(t.supportsPromptCache)),nn(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 bp(e,t){let a=await rn("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 c of i){let r=c.id?.trim();if(!r)continue;if(r.includes("whisper")||r.includes("tts")||r.includes("embedding"))continue;let p=c.supported_features??[];o[r]=pn(r,{name:r,contextWindow:c.context_length,maxTokens:c.max_completion_tokens,supportsReasoning:p.includes("reasoning")||p.includes("reasoning_effort"),supportsImages:!1})}return o}async function kp(e,t){let a=await rn("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 c of i){let r=c.id?.trim();if(!r)continue;o[r]=pn(r,{name:r,contextWindow:128000,supportsImages:!0,supportsPromptCache:!0})}return o}function Dp(e){let t=vc(e);if(!t)return"http://localhost:4000";return t.endsWith("/v1")?t.slice(0,-3):t}async function Tp(e,t){let n=`${Dp(e.baseUrl)}/v1/model/info`,i=async(u)=>rn(n,{method:"GET",headers:{accept:"application/json",...u}}),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 r=(await o.json())?.data??[],p={};for(let u of r){let d=u.model_name?.trim(),k=u.litellm_params?.model?.trim()||d;if(!k)continue;let R=u.model_info,E=pn(k,{name:d??k,maxTokens:R?.max_output_tokens??R?.max_tokens,contextWindow:R?.max_input_tokens??R?.max_tokens,supportsImages:R?.supports_vision,supportsPromptCache:R?.supports_prompt_caching,supportsReasoning:R?.supports_reasoning});if(p[k]=E,d)p[d]={...E,id:d,name:d}}return p}async function Rp(e,t){let a=cn(t);if(!a)return{};let n=Lc[e];if(!n)return{};return n(t,a)}var Lc={baseten:bp,hicap:kp,litellm:Tp};function Mp(e,t,a){if(!a)return!1;if(!Lc[e])return!1;if(t?.loadPrivateOnAuth===!1)return!1;return Boolean(cn(a))}async function Ap(e,t,a){let n=t?.cacheTtlMs??dp,i=wp(e,a),o=Date.now(),c=Pc.get(i);if(c&&c.expiresAt>o)return c.data;let r=an.get(i);if(r)return r;let p=Rp(e,a).then((u)=>{return Pc.set(i,{data:u,expiresAt:o+n}),u}).finally(()=>{an.delete(i)});return an.set(i,p),p}async function fp(e){return Xn(e,N0)}async function sn(e={}){let t=e.url??on,a=e.cacheTtlMs??lp,n=Date.now(),i=Ec.get(t);if(i&&i.expiresAt>n)return i.data;let o=tn.get(t);if(o)return o;let c=fp(t).then((r)=>{return Ec.set(t,{data:r,expiresAt:n+a}),r}).finally(()=>{tn.delete(t)});return tn.set(t,c),c}function _p(e){return Object.fromEntries(Object.entries(e).map(([t,a])=>[t,{baseUrl:a.baseUrl,modelId:a.modelId,knownModels:a.knownModels,capabilities:a.capabilities}]))}var z=_p(Gc());function un(e){return z[e]}async function yt(e,t,a){let n=un(e);if(!n)return;try{let o=(t?.loadLatestOnInit?await sn(t):void 0)?.[e]??{},c=a&&Mp(e,t,a)?await Ap(e,t,a):{},r=await hp(e,n.knownModels,o,c,a?.knownModels);return{...n,knownModels:r}}catch(i){if(t?.failOnError)throw i;return n}}function Vt(e){return e in z}var mn=l.string().min(1).regex(/^[a-z0-9][a-z0-9-]*$/i),ln=l.object({apiKey:l.string().optional(),accessToken:l.string().optional(),refreshToken:l.string().optional(),expiresAt:l.number().int().positive().optional(),accountId:l.string().optional()}),Gp=l.enum(["none","low","medium","high","xhigh"]),dn=l.object({enabled:l.boolean().optional(),effort:Gp.optional(),budgetTokens:l.number().int().positive().optional()}),gn=l.object({accessKey:l.string().optional(),secretKey:l.string().optional(),sessionToken:l.string().optional(),region:l.string().optional(),profile:l.string().optional(),authentication:l.enum(["iam","api-key","profile"]).optional(),usePromptCache:l.boolean().optional(),useCrossRegionInference:l.boolean().optional(),useGlobalInference:l.boolean().optional(),endpoint:l.string().url().optional(),customModelBaseId:l.string().optional()}),xn=l.object({projectId:l.string().optional(),region:l.string().optional()}),hn=l.object({apiVersion:l.string().optional(),useIdentity:l.boolean().optional()}),Wn=l.object({clientId:l.string().optional(),clientSecret:l.string().optional(),tokenUrl:l.string().url().optional(),resourceGroup:l.string().optional(),deploymentId:l.string().optional(),useOrchestrationMode:l.boolean().optional(),api:l.enum(["orchestration","foundation-models"]).optional(),defaultSettings:l.record(l.string(),l.unknown()).optional()}),wn=l.object({mode:l.enum(["internal","external"]).optional(),usePromptCache:l.boolean().optional()}),bn=l.object({loadLatestOnInit:l.boolean().optional(),loadPrivateOnAuth:l.boolean().optional(),url:l.string().url().optional(),cacheTtlMs:l.number().int().positive().optional(),failOnError:l.boolean().optional()}),si=l.object({provider:mn,apiKey:l.string().optional(),auth:ln.optional(),model:l.string().optional(),maxTokens:l.number().int().positive().optional(),contextWindow:l.number().int().positive().optional(),baseUrl:l.string().url().optional(),headers:l.record(l.string(),l.string()).optional(),timeout:l.number().int().positive().optional(),reasoning:dn.optional(),aws:gn.optional(),gcp:xn.optional(),azure:hn.optional(),sap:Wn.optional(),oca:wn.optional(),region:l.string().optional(),apiLine:l.enum(["china","international"]).optional(),capabilities:l.array(l.enum(["reasoning","prompt-cache","streaming","tools","vision","computer-use","oauth"])).optional(),modelCatalog:bn.optional()});function kn(e){return si.parse(e)}function Dn(e){let t=e.provider,a=U(t),n=e.reasoning?.effort,i=n&&n!=="none"?n:void 0,o=z[a],c=Object.assign({},...Ft(a).map((d)=>m(d))),r=e.auth?.accessToken??e.apiKey??e.auth?.apiKey,p=e.baseUrl??(a==="oca"?e.oca?.mode==="internal"?pe:te:o?.baseUrl),u={providerId:t,modelId:e.model??o?.modelId??"default",knownModels:o?.knownModels??(Object.keys(c).length>0?c:void 0),apiKey:r,accessToken:e.auth?.accessToken,refreshToken:e.auth?.refreshToken,accountId:e.auth?.accountId,baseUrl:p,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(u).filter(([d,T])=>T!==void 0))}function Ie(e,t){return e.capabilities?.includes(t)??!1}function ge(e){return Boolean(e.thinkingConfig)||Ie(e,"reasoning")}function Tn(e){return e.pricing??{}}var Qp=["cline","anthropic","openai-native","gemini","openrouter"];function Cp(e){if(!e||typeof e!=="object")return!1;let t=e;return typeof t.provider==="object"&&typeof t.models==="object"}function qc(e){return[...new Set(e)]}function Bp(){let e={};for(let t of Object.values(Je)){if(!Cp(t))continue;let a=t.provider.id;e[a]=qc(t.provider.env??[])}return e}var Qc=Bp(),Cc=qc(Qp.flatMap((e)=>Qc[e]??[]));function Fp(e,t){let a=e[t];if(typeof a!=="string")return;let n=a.trim();return n.length>0?n:void 0}function Oc(e,t){for(let a of e){let n=Fp(t,a);if(n)return n}return}function Rn(e){return Qc[U(e)]??[]}function X(e,t,a=process.env){let n=U(e),i=t?.trim();if(i)return i;let o=Oc(Rn(n),a);if(o)return o;if(n==="lmstudio")return"noop";return Oc(Cc,a)}function Z(e){let t=[...new Set([...Rn(e),...Cc])],a=t.length>0?t.join(", "):"provider-specific API key env var";return`Missing API key for provider "${U(e)}". Set apiKey explicitly or one of: ${a}.`}var ze=new Map;function Bc(e,t){ze.set(e,{factory:t,isAsync:!1})}function Fc(e,t){ze.set(e,{factory:t,isAsync:!0})}function Ee(e){return ze.has(e)}function ui(e,t){let a=ze.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 mi(e,t){let a=ze.get(e);if(!a)return;if(a.isAsync)return a.factory(t);return a.factory(t)}function li(e){return ze.get(e)?.isAsync??!1}import{Anthropic as jp}from"@anthropic-ai/sdk";function I(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(j(a.path,a.content));continue}t.push(JSON.stringify(a))}return t.join(`
|
|
11
|
-
`)}function et(e,t=!1){let a=e.reduce((o,c,r)=>{if(c.role==="user")o.push(r);return o},[]),n=t?new Set(a.slice(-2)):new Set,i=[];for(let[o,c]of e.entries()){let r=Kp(c,n.has(o));if(r)i.push(r)}return i}function Kp(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=Np(n,t);if(i.length===0)return null;return{role:a,content:i}}function Np(e,t){let a=[];for(let n=0;n<e.length;n++){let i=e[n],o=n===e.length-1,c=yp(i,t&&o);if(c)a.push(c)}return a}function yp(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:j(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:I(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:j(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 xe(e){return e.map((t)=>({name:t.name,description:t.description,input_schema:t.inputSchema}))}var Mn={maxRetries:4,baseDelay:2000,maxDelay:15000};class Pe extends Error{retryAfterSeconds;constructor(e,t,a){super(e,a);this.retryAfterSeconds=t;this.name="RetriableError"}}function An(e){if(e instanceof Pe)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 fn(e,t={}){let{baseDelay:a=Mn.baseDelay,maxDelay:n=Mn.maxDelay}=t,i=2**e*a,o=Math.random()*0.25*i;return Math.min(i+o,n)}function _n(e){return new Promise((t)=>setTimeout(t,e))}async function*K(e,t={}){let{maxRetries:a=Mn.maxRetries,onRetryAttempt:n}=t;for(let i=0;i<=a;i++)try{yield*e();return}catch(o){if(!(i!==a&&An(o)))throw o;let p;if(o instanceof Pe&&o.retryAfterSeconds)p=o.retryAfterSeconds*1000;else p=fn(i,t);if(n)n(i+1,a,p,o);await _n(p)}throw Error("Retry logic exhausted without returning or throwing")}import{nanoid as Vp}from"nanoid";var Up={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","X-IS-MULTIROOT":"false","X-CLIENT-TYPE":"cline-sdk"},Kc=new WeakMap,Yp=0;function di(e){let t=Kc.get(e);if(!t)t=`abort_${++Yp}`,Kc.set(e,t);return t}function Gn(e){return e instanceof Error?{name:e.name,message:e.message}:e}class B{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:di(e),reason:Gn(t.reason)}),e.abort(t.reason);else{let a=++this.abortSignalSequence;t.addEventListener("abort",()=>{this.logAbort("warn","Provider request abort signal fired",{controllerId:di(e),signalId:a,reason:Gn(t.reason)}),e.abort(t.reason)},{once:!0}),this.logAbort("debug","Provider request attached abort signal",{controllerId:di(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?di(this.abortController):void 0,reason:Gn(e.reason)}),this.abortController?.abort(e.reason)}logAbort(e,t,a){this.config.logger?.[e]?.(t,{providerId:this.config.providerId,modelId:this.config.modelId,...a})}supportsPromptCache(e){let t=e??this.config.modelInfo??this.config.knownModels?.[this.config.modelId],a=t?.pricing;return t?.capabilities?.includes("prompt-cache")===!0||this.config.capabilities?.includes("prompt-cache")===!0||typeof a?.cacheRead==="number"||typeof a?.cacheWrite==="number"}calculateCost(e,t,a=0,n=0){let i=(this.config.modelInfo??this.config.knownModels?.[this.config.modelId])?.pricing;if(!i?.input||!i?.output)return;return e/1e6*i.input+t/1e6*i.output+(a>0?a/1e6*(i.cacheRead??0):0)+(n>0?n/1e6*(i.cacheWrite??i.input*1.25):0)}calculateCostFromInclusiveInput(e,t,a=0,n=0){return this.calculateCost(Math.max(0,e-a-n),t,a,n)}createResponseId(){return Vp()}withResponseId(e,t){return{...e,id:t}}*withResponseIdForAll(e,t){for(let a of e)yield{...a,id:t}}getRequestHeaders(){return{...Up,...this.config.headers??{}}}normalizeOpenAICompatibleBadRequest(e){let t=e;if((t?.status??t?.response?.status??t?.error?.code??(typeof t?.message==="string"&&t.message.includes("400")?400:void 0))!==400)return;let n=t?.error?.metadata?.raw,i=this.parseRawProviderError(n),o=i?.error?.message?.trim()||t?.error?.message?.trim()||t?.message?.trim()||"Provider returned error",c=t?.error?.metadata?.provider_name?.trim()||"Provider",r=i?.request_id?.trim(),p=this.rewriteProviderBadRequestDetail(o),u=r?` Request ID: ${r}.`:"";return Error(`${c} request was rejected (HTTP 400). ${p}${u}`,{cause:e instanceof Error?e:void 0})}parseRawProviderError(e){if(!e)return;try{return JSON.parse(e)}catch{return}}rewriteProviderBadRequestDetail(e){let t=e.match(/prompt is too long:\s*([\d,]+)\s*tokens?\s*>\s*([\d,]+)\s*maximum/i);if(t){let a=t[1],n=t[2];return`Prompt is too long: ${a} tokens exceeds the ${n} token limit.`}return e.endsWith(".")?e:`${e}.`}}var Xp=1024,$p="CLINE_DEBUG_THINKING";function Jp(){let e=process.env[$p];if(!e)return!1;let t=e.trim().toLowerCase();return t==="1"||t==="true"||t==="yes"}class Ut extends B{type="anthropic";client;ensureClient(){if(!this.client){let e=X(Q(this.config),this.config.apiKey);if(!e)throw Error(Z(Q(this.config)));this.client=new jp({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=this.supportsPromptCache(this.getModel().info);return et(t,a)}async*createMessage(e,t,a){yield*K(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let n=this.ensureClient(),i=this.getModel(),o=this.getAbortSignal(),c=this.createResponseId(),r=ge(i.info),p=this.config.thinkingBudgetTokens??(this.config.thinking?Xp:0),u=r&&p>0?p:0,d=a&&a.length>0,T=this.supportsPromptCache(i.info),k=r&&u>0,R=Jp(),E={},F=(L)=>{E[L]=(E[L]??0)+1};if(R)console.error(`[thinking-debug][anthropic][request] model=${i.id} thinkingFlag=${this.config.thinking===!0} supportsModelThinking=${r} requestedBudget=${p} effectiveBudget=${u} reasoningOn=${k} promptCache=${T}`);let h=this.getMessages(e,t),G=d?xe(a):void 0,b={signal:o},q={model:i.id,thinking:k?{type:"enabled",budget_tokens:u}:void 0,max_tokens:i.info.maxTokens??this.config.maxOutputTokens??128000,temperature:k?void 0:0,system:[T?{text:e,type:"text",cache_control:{type:"ephemeral"}}:{text:e,type:"text"}],messages:h,stream:!0,tools:G,tool_choice:d&&!k?{type:"auto"}:void 0},_=await n.messages.create(q,b),S={id:"",name:"",arguments:""},v={inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0},ee=null;for await(let L of _){if(R){if(F(`event:${L.type}`),L.type==="content_block_start")F(`content_block_start:${L.content_block?.type??"unknown"}`);else if(L.type==="content_block_delta")F(`content_block_delta:${L.delta?.type??"unknown"}`)}if(L.type==="message_delta")ee=L.delta?.stop_reason??ee;yield*this.withResponseIdForAll(this.processChunk(L,S,v,c),c)}if(R){let L=Object.entries(E).map(([Le,N])=>`${Le}=${N}`).sort().join(" ");console.error(`[thinking-debug][anthropic][stream] ${L}`)}yield{type:"done",success:!0,id:c,incompleteReason:ee==="max_tokens"?"max_tokens":void 0}}*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,a.cacheWriteTokens),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,a.cacheWriteTokens),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 gi extends B{type="fetch";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*K(()=>this.createMessageWithFetch(e,t))}}var Hp="https://api.asksage.ai/server",Zp="gpt-4o";class Yt extends gi{type="fetch";getDefaultBaseUrl(){return Hp}getModel(){let e=this.config.modelId?.trim()||Zp,t=this.config.modelInfo??this.config.knownModels?.[e]??{id:e,capabilities:["tools"]};return{id:e,info:{...t,id:e}}}getJsonHeaders(e){let t=X(Q(this.config),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((r)=>({user:r.role==="assistant"?"gpt":"me",message:this.serializeMessageContent(r.content)})),model:n,dataset:"none",usage:!0},o;try{o=await this.fetchJson("/query",{method:"POST",body:i})}catch(r){let p=r instanceof Error?r.message:String(r);throw Error(`AskSage request failed: ${p}`)}for(let r of o.tool_responses??[])yield{type:"text",text:`[Tool Response: ${JSON.stringify(r)}]
|
|
12
|
-
`,id:a};let c=o.message?.trim();if(!c)throw Error("AskSage request failed: no content in response");if(yield{type:"text",text:c,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 xi,hi;async function Ip(){if(xi)return xi;let e="@ai-sdk/amazon-bedrock",t=await import(e);if(!t.createAmazonBedrock)throw Error(`Failed to load createAmazonBedrock from ${e}`);return xi=t.createAmazonBedrock,xi}async function zp(){if(hi)return hi;let e="@aws-sdk/credential-providers",t=await import(e);if(!t.fromNodeProviderChain)throw Error(`Failed to load fromNodeProviderChain from ${e}`);return hi=t.fromNodeProviderChain,hi}async function Nc(e,t){let a=await Ip(),n=e.region??"us-east-1",i=e.aws?.authentication,o=Boolean(e.aws?.accessKey&&e.aws?.secretKey),c=i==="profile"||i==="iam"||!i&&!o&&!e.apiKey,r;if(c)r=(await zp())({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:r})}var yc=":1m",Wi,e2=1024,t2="medium";async function a2(){if(Wi)return Wi;return Wi=await import("ai"),Wi}class wi extends B{type="bedrock";clientFactory;async ensureClientFactory(){if(!this.clientFactory)this.clientFactory=await Nc(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 n2(e,t)}async*createMessage(e,t,a){yield*K(()=>this.createMessageInternal(e,t,a),{maxRetries:4})}async*createMessageInternal(e,t,a){let n=await a2(),i=await this.ensureClientFactory(),o=this.createResponseId(),c=this.getAbortSignal(),r=this.getModel(),p=r.id,u={},d={};if(p.endsWith(yc))p=p.slice(0,-yc.length),d.anthropicBeta=["context-1m-2025-08-07"];let T=ge(r.info),k=this.config.thinkingBudgetTokens??(this.config.thinking?e2:0),R=!1;if(T&&k>0&&p.includes("anthropic"))d.reasoningConfig={type:"enabled",budgetTokens:k},R=!0;else if(T&&p.includes("amazon.nova")){let h=this.config.reasoningEffort??(this.config.thinking?t2:void 0);if(h)d.reasoningConfig={type:"enabled",maxReasoningEffort:h},R=!0}if(Object.keys(d).length>0)u.bedrock=d;let E=n.streamText({model:i(p),messages:this.getMessages(e,t),tools:i2(a),maxTokens:r.info.maxTokens??this.config.maxOutputTokens??128000,temperature:R?void 0:r.info.temperature??0,providerOptions:Object.keys(u).length>0?u:void 0,abortSignal:c}),F=!1;if(E.fullStream)for await(let h of E.fullStream){let G=h.type;if(G==="text-delta"){let b=h.textDelta??h.delta;if(b)yield{type:"text",text:b,id:o};continue}if(G==="reasoning-delta"||G==="reasoning"){let b=h.textDelta??h.reasoning;if(b)yield{type:"reasoning",reasoning:b,id:o};continue}if(G==="tool-call"){let b=h.toolCallId??h.id,q=h.toolName??h.name,_=h.args??{};yield{type:"tool_calls",id:o,tool_call:{call_id:b,function:{name:q,arguments:_}}};continue}if(G==="error"){let b=h.error?.message??"Bedrock stream failed";throw Error(b)}if(G==="finish"){let b=h.usage??{},q=he(b.inputTokens),_=he(b.outputTokens),S=he(b.reasoningTokens),v=he(b.cachedInputTokens);yield{type:"usage",inputTokens:q,outputTokens:_,thoughtsTokenCount:S,cacheReadTokens:v,totalCost:this.calculateCostFromInclusiveInput(q,_,v),id:o},F=!0}}else if(E.textStream)for await(let h of E.textStream)yield{type:"text",text:h,id:o};if(!F&&E.usage){let h=await E.usage,G=he(h.inputTokens),b=he(h.outputTokens),q=he(h.reasoningTokens),_=he(h.cachedInputTokens);yield{type:"usage",inputTokens:G,outputTokens:b,thoughtsTokenCount:q,cacheReadTokens:_,totalCost:this.calculateCostFromInclusiveInput(G,b,_),id:o}}yield{type:"done",success:!0,id:o}}}function he(e){return typeof e==="number"&&Number.isFinite(e)?e:0}function i2(e){if(!e||e.length===0)return;let t=xe(e);return Object.fromEntries(t.map((a)=>[a.name,{description:a.description,inputSchema:a.input_schema}]))}function n2(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 c=[];for(let r of i.content){if(r.type==="text"){c.push({type:"text",text:r.text});continue}if(r.type==="tool_use")n.set(r.id,r.name),c.push({type:"tool-call",toolCallId:r.id,toolName:r.name,args:r.input})}if(c.length>0)a.push({role:"assistant",content:c});continue}let o=[];for(let c of i.content){if(c.type==="text"){o.push({type:"text",text:c.text});continue}if(c.type==="image"){o.push({type:"image",image:Buffer.from(c.data,"base64"),mediaType:c.mediaType});continue}if(c.type==="tool_result"){if(o.length>0)a.push({role:"user",content:o.splice(0,o.length)});a.push({role:"tool",content:[{type:"tool-result",toolCallId:c.tool_use_id,toolName:n.get(c.tool_use_id)??"tool",output:o2(c.content),isError:c.is_error??!1}]})}}if(o.length>0)a.push({role:"user",content:o})}return a}function o2(e){if(typeof e==="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}function We(e,t,a){let n=a??{assistantToolCallArgKey:"input"},i=new Map,o=[];for(let c of t){if(typeof c.content==="string"){o.push({role:c.role,content:c.content});continue}if(c.role==="assistant"){let p=[];for(let u of c.content){if(u.type==="text"){p.push({type:"text",text:u.text});continue}if(u.type==="file"){p.push({type:"text",text:j(u.path,u.content)});continue}if(u.type==="tool_use")i.set(u.id,u.name),p.push({type:"tool-call",toolCallId:u.id,toolName:u.name,input:I(u.input)})}if(p.length>0)o.push({role:"assistant",content:p});continue}let r=[];for(let p of c.content){if(p.type==="text"){r.push({type:"text",text:p.text});continue}if(p.type==="file"){r.push({type:"text",text:j(p.path,p.content)});continue}if(p.type==="image"){r.push({type:"image",image:p.data,mediaType:p.mediaType});continue}if(p.type==="tool_result"){if(r.length>0)o.push({role:"user",content:r.splice(0,r.length)});o.push({role:"tool",content:[{type:"tool-result",toolCallId:p.tool_use_id,toolName:i.get(p.tool_use_id)??"tool",output:ae(p.content),isError:p.is_error??!1}]})}}if(r.length>0)o.push({role:"user",content:r})}return F0(e,o,n)}var bi=null;async function tt(e){if(bi)return bi;return e?.beforeImport?.(),bi=await import("ai"),bi}function Y(e){return typeof e==="number"&&Number.isFinite(e)?e:0}function c2(e){return{inputTokens:Y(e.inputTokens),outputTokens:Y(e.outputTokens),thoughtsTokenCount:Y(e.reasoningTokens??e.thoughtsTokenCount),cacheReadTokens:Y(e.cachedInputTokens)}}async function*at(e,t){let a=t.resolveUsageMetrics??c2,n=new Set(t.reasoningTypes??["reasoning-delta"]),i=t.toolCallArgsOrder??["args","input"],o=t.responseId,c=!1,r=!1;if(e.fullStream)for await(let p of e.fullStream){let u=p.type;if(u==="text-delta"){let d=p.textDelta??p.text??p.delta;if(d)yield{type:"text",text:d,id:o},r=!0;continue}if(u&&n.has(u)){let d=p.textDelta??p.reasoning??p.text;if(d)yield{type:"reasoning",reasoning:d,id:o};continue}if(u==="tool-call"&&t.enableToolCalls){let d=p.toolCallId??p.id,T=p.toolName??p.name,k=i.map((R)=>p[R]).find((R)=>R!==void 0)??{};yield{type:"tool_calls",id:o,tool_call:{call_id:d,function:{id:t.toolCallFunctionIncludeId?d:void 0,name:T,arguments:k}}};continue}if(u==="error"){let d=p.error?.message??t.errorMessage;throw Error(d)}if(u==="finish"){let d=p.totalUsage??p.usage??{},T=a(d,p);yield{type:"usage",inputTokens:T.inputTokens,outputTokens:T.outputTokens,thoughtsTokenCount:T.thoughtsTokenCount,cacheReadTokens:T.cacheReadTokens,cacheWriteTokens:T.cacheWriteTokens,totalCost:t.calculateCost(T.inputTokens,T.outputTokens,T.cacheReadTokens,T.cacheWriteTokens),id:o},c=!0}}else if(e.textStream)for await(let p of e.textStream)yield{type:"text",text:p,id:o},r=!0;if(!r&&t.enableTextFallback&&e.text){let p=await e.text;if(typeof p==="string"&&p.length>0)yield{type:"text",text:p,id:o}}if(!c&&e.usage){let p=await e.usage,u=a(p);yield{type:"usage",inputTokens:u.inputTokens,outputTokens:u.outputTokens,thoughtsTokenCount:u.thoughtsTokenCount,cacheReadTokens:u.cacheReadTokens,cacheWriteTokens:u.cacheWriteTokens,totalCost:t.calculateCost(u.inputTokens,u.outputTokens,u.cacheReadTokens,u.cacheWriteTokens),id:o}}yield{type:"done",success:!0,id:o}}var Vc=new Map;function En(e,t){let a=e.modelId?.trim(),n=a&&a.length>0?a:t??"",o=(e.knownModels??{})[n]??{},c=e.modelInfo??o;return{id:n,info:{...c,id:n}}}async function r2(e){let t=Vc.get(e);if(t)return t;let a=await import(e);return Vc.set(e,a),a}class we extends B{type="ai-sdk-community";provider;providerPromise;getProviderCreateOptions(){return}async beforeLoadProviderModule(){}getProviderModelSettings(){return}getLoadAiSdkOptions(){return}getStreamErrorMessage(){return"AI SDK stream failed"}getEmitStreamOptions(){return{}}getAssistantToolCallArgKey(){return"input"}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 r2(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 En(this.config,this.getDefaultModelId())}getMessages(e,t){return We(e,t,{assistantToolCallArgKey:this.getAssistantToolCallArgKey()})}async*createMessage(e,t,a){yield*K(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let n=await tt(this.getLoadAiSdkOptions()),i=await this.ensureProvider(),{id:o,info:c}=this.getModel(),r=this.createResponseId(),p=n.streamText({model:i(this.normalizeModelId(o),this.getProviderModelSettings()),messages:this.getMessages(e,t),maxTokens:c.maxTokens??void 0,temperature:c.temperature??void 0,abortSignal:this.getAbortSignal()});yield*at(p,{responseId:r,errorMessage:this.getStreamErrorMessage(),calculateCost:(u,d,T,k)=>this.calculateCostFromInclusiveInput(u,d,T,k),...this.getEmitStreamOptions()})}}var Uc=!1;async function p2(){if(Uc)return;Uc=!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 s2(e){return e.startsWith("sk-")}function u2(){let e=process.env.AI_SDK_LOG_WARNINGS?.trim().toLowerCase();return e==="0"||e==="false"||e==="off"}function m2(e){if(e.includes("/"))return e;return`openai/${e}`}class jt extends we{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 p2()}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&&s2(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 Xt extends we{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(u2())globalThis.AI_SDK_LOG_WARNINGS=!1}}}getStreamErrorMessage(){return"Claude Code stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta"]}}}class $t extends we{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 m2(e)}getStreamErrorMessage(){return"OpenCode stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta","reasoning"],enableTextFallback:!0}}}class Jt extends we{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 Ht extends we{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 Zt extends we{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 h2,GoogleGenAI as Yc,ThinkingLevel as Ri}from"@google/genai";function Di(e){let t=new Map;return e.map((a)=>l2(a,t)).filter((a)=>a!==null)}function l2(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=d2(n,t);if(o.length===0)return null;return{role:i,parts:o}}function d2(e,t){let a=[];for(let n of e){if(n.type==="tool_use")t.set(n.id,n.name);let i=g2(n,t);if(i)a.push(i)}return a}function g2(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:j(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:I(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:pi(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}}var x2=new Set(["type","title","description","enum","properties","required","additionalProperties","format","minimum","maximum","items","prefixItems","minItems","maxItems"]);function ki(e){if(!e||typeof e!=="object"||Array.isArray(e))return e;let t=e,a={};for(let[n,i]of Object.entries(t)){if(!x2.has(n))continue;if(n==="properties"&&i&&typeof i==="object"){let o={};for(let[c,r]of Object.entries(i))o[c]=ki(r);a[n]=o}else if(n==="items"||n==="additionalProperties")a[n]=typeof i==="object"&&i!==null?ki(i):i;else if(n==="prefixItems"&&Array.isArray(i))a[n]=i.map((o)=>ki(o));else a[n]=i}if(t.exclusiveMinimum!==void 0&&a.minimum===void 0)a.minimum=t.exclusiveMinimum;if(t.exclusiveMaximum!==void 0&&a.maximum===void 0)a.maximum=t.exclusiveMaximum;return a}function Ti(e){return e.map((t)=>({name:t.name,description:t.description,parameters:ki(t.inputSchema)}))}var W2=1024,w2=128000,b2=8192;function jc(e){return e.toLowerCase().includes("gemini-3")}function k2(e){let t=e.toLowerCase();return jc(e)&&t.includes("flash")&&!t.includes("lite")}class Se extends B{type="gemini";client;ensureClient(){if(!this.client)if(this.config.gcp?.projectId)this.client=new Yc({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 Yc({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 Di(t)}async*createMessage(e,t,a){yield*K(()=>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(),c=this.getAbortSignal(),r=this.createResponseId(),p=this.getMessages(e,t),u=ge(o),d=this.config.thinking===!0||typeof this.config.thinkingBudgetTokens==="number"||typeof this.config.reasoningEffort==="string",T=0,k,R=o.thinkingConfig?.thinkingLevel!=null||jc(i);if(u&&d){let G=this.config.thinkingBudgetTokens??(d?W2:0);if(T=Math.min(Math.max(0,G),o.thinkingConfig?.maxBudget??24576),R){let b=this.config.reasoningEffort;if(b==="high"||b==="xhigh")k=Ri.HIGH;else if(b==="medium")k=Ri.MEDIUM;else if(b==="low")k=Ri.LOW;else if(this.config.thinking)k=Ri.MEDIUM}}let E=k2(i)?b2:w2,F=o.maxTokens??this.config.maxOutputTokens??E,h={httpOptions:this.config.baseUrl?{baseUrl:this.config.baseUrl,headers:this.getRequestHeaders()}:void 0,abortSignal:c,systemInstruction:e,temperature:o.temperature??1,maxOutputTokens:F};if(u&&d&&(R||T>0))h.thinkingConfig={thinkingBudget:R?void 0:T,thinkingLevel:k,includeThoughts:!0};if(a&&a.length>0){let G=Ti(a);h.tools=[{functionDeclarations:G}],h.toolConfig={functionCallingConfig:{mode:h2.AUTO}}}try{let G=await n.models.generateContentStream({model:i,contents:p,config:h}),b=0,q=0,_=0,S=0,v=0;for await(let L of G){let Le=L?.candidates?.[0]?.content?.parts??[];for(let N of Le){if(N.thought&&N.text)yield{type:"reasoning",reasoning:N.text||"",signature:N.thoughtSignature,id:r};else if(N.text)yield{type:"text",text:N.text,id:r,signature:N.thoughtSignature};if(N.functionCall){let ne=N.functionCall,ea=ne.id??`${r}_tool_${v++}`;if(ne.name)yield{type:"tool_calls",tool_call:{call_id:ea,function:{id:ea,name:ne.name,arguments:ne.args??{}}},id:r,signature:N.thoughtSignature}}}if(L.usageMetadata)b=L.usageMetadata.promptTokenCount??b,q=L.usageMetadata.candidatesTokenCount??q,S=L.usageMetadata.thoughtsTokenCount??S,_=L.usageMetadata.cachedContentTokenCount??_}let ee=this.calculateGeminiCost(b,q,S,_);yield{type:"usage",inputTokens:b,outputTokens:q,thoughtsTokenCount:S,cacheReadTokens:_,cacheWriteTokens:0,totalCost:ee,id:r},yield{type:"done",success:!0,id:r}}catch(G){if(G instanceof Error&&G.message.includes("429"))throw new Pe(G.message,void 0,{cause:G});throw G}}calculateGeminiCost(e,t,a,n){return this.calculateCost(e,t+a,n)}}import M2 from"openai";function Mi(e,t=!1){let a=t?e.map((n)=>n.role).lastIndexOf("user"):-1;return e.flatMap((n,i)=>D2(n,t&&i===a))}function D2(e,t){let{role:a,content:n}=e;if(typeof n==="string"){if(a!=="user"||!t)return[{role:a,content:n}];return[{role:a,content:[{type:"text",text:n,cache_control:{type:"ephemeral"}}]}]}if(a==="assistant")return[T2(n)];else return R2(n,t)}function T2(e){let t=[],a=[],n=[],i=[];for(let c of e)switch(c.type){case"text":t.push(c.text);break;case"tool_use":{let r=c;a.push({id:r.id,type:"function",function:{name:r.name,arguments:JSON.stringify(I(r.input))}});break}case"thinking":{let r=c;if(r.thinking)n.push(r.thinking);let p=Array.isArray(r.details)?r.details:Array.isArray(r.summary)?r.summary:[];if(p.length>0)i.push(...p);break}}let o={role:"assistant",content:t.length>0?t.join(`
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
`);if(!r)return;t.push({type:"message",role:o,content:[{type:o==="user"?"input_text":"output_text",text:r}]})},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 c=[],r=()=>{if(c.length===0)return;a(o.role,c),c=[]};for(let p of o.content){if(n(p)){c.push(p);continue}if(o.role==="assistant"&&p.type==="tool_use"){r();let u=p;t.push({type:"function_call",call_id:i(u),name:u.name,arguments:JSON.stringify(I(u.input))});continue}if(o.role==="user"&&p.type==="tool_result")r(),t.push({type:"function_call_output",call_id:p.tool_use_id,output:ae(p.content)})}r()}return t}class ve extends B{type="openai";client;ensureClient(){if(!this.client){let e=this.config.baseUrl;if(!e)throw Error("Base URL is required. Set baseUrl in config.");let t=X(Q(this.config),this.config.apiKey);if(!t)throw Error(Z(Q(this.config)));let a=this.getRequestHeaders(),n=Object.keys(a).some((i)=>i.toLowerCase()==="authorization");this.client=new L2({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 Q2(t)}async*createMessage(e,t,a){yield*K(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let n=this.ensureClient(),{id:i,info:o}=this.getModel(),c=this.getAbortSignal(),r=this.createResponseId(),p=Q(this.config),u,d=new Map,T=this.getMessages(e,t),k=q2(a,{stripFormat:p==="openai-codex"});if(!k?.length)throw Error("OpenAI Responses API requires tools to be provided. Enable native tool calling in settings.");let R=o.capabilities?.includes("reasoning")??!1,E=this.config.reasoningEffort??(this.config.thinking?O2:void 0),F=R&&E?{effort:E,summary:"auto"}:void 0,h=this.getRequestHeaders(),G=Object.keys(h).some((_)=>_.toLowerCase()==="authorization"),b=X(p,this.config.apiKey);if(!G&&b)h.Authorization=`Bearer ${b}`;if(p==="openai-codex"&&typeof this.config.accountId==="string"&&this.config.accountId.trim().length>0){let _=this.config.accountId.trim();h["chatgpt-account-id"]=_,h["openai-account-id"]=_}let q;try{q=await n.responses.create({model:i,instructions:e,input:T,store:p==="openai-codex"?!1:void 0,stream:!0,tools:k,reasoning:F},{signal:c,headers:h})}catch(_){let S=this.normalizeOpenAICompatibleBadRequest(_);if(S)throw S;if(p==="openai-codex"){let v=_;if((v?.status??v?.response?.status??(typeof v?.message==="string"&&v.message.includes("400")?400:void 0))===400){let L=v?.error?.detail??v?.error?.message??(typeof v?.message==="string"?v.message:"");throw Error(`OpenAI Codex request was rejected (HTTP 400). ${L?`Detail: ${L}`:"Re-run 'clite auth openai-codex', verify model access, and ensure accountId is present in provider settings."}`,{cause:_})}}throw _}for await(let _ of q){let S=this.getApiResponseId(_);if(S)u=S;yield*this.processResponseChunk(_,o,u??r,d)}}*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,c=i.output_tokens||0,r=i.input_tokens_details?.cached_tokens||0,p=0,u=this.calculateCostFromInclusiveInput(o,c,r,0);yield{type:"usage",inputTokens:o,outputTokens:c,cacheWriteTokens:0,cacheReadTokens:r,totalCost:u,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 Y5 from"openai";var C2="us-central1";function $c(e){return e.toLowerCase().includes("claude")}function B2(e){if(!e||e.length===0)return;let t=xe(e);return Object.fromEntries(t.map((a)=>[a.name,{description:a.description,inputSchema:a.input_schema}]))}function F2(e,t,a){let n=a?.promptCacheOn?[{type:"text",text:e,providerOptions:{anthropic:{cacheControl:{type:"ephemeral"}}}}]:e;return We(n,t,{assistantToolCallArgKey:"input"})}class zt extends B{type="vertex";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()??C2}ensureGeminiHandler(){if(!this.geminiHandler){let e=this.getProjectId(),t=this.getGeminiRegion();this.geminiHandler=new Se({...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 En(this.config)}getMessages(e,t){let a=this.getModel();if(!$c(a.id))return this.ensureGeminiHandler().getMessages(e,t);let n=this.supportsPromptCache(a.info);return et(t,n)}async*createMessage(e,t,a){yield*K(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let n=this.getModel();if(!$c(n.id)){yield*this.ensureGeminiHandler().createMessage(e,t,a);return}let i=await tt(),o=await this.ensureVertexAnthropicModelFactory(),c=this.createResponseId(),r=this.config.thinkingBudgetTokens??0,p=Ie(n.info,"reasoning")&&r>0,u=this.supportsPromptCache(n.info),d={};if(p)d.anthropic={thinking:{type:"enabled",budgetTokens:r}};let T=i.streamText({model:o(n.id),messages:F2(e,t,{promptCacheOn:u}),tools:B2(a),maxTokens:n.info.maxTokens??this.config.maxOutputTokens??128000,temperature:p?void 0:0,providerOptions:Object.keys(d).length>0?d:void 0,abortSignal:this.getAbortSignal()});yield*at(T,{responseId:c,errorMessage:"Vertex Anthropic stream failed",calculateCost:(k,R,E,F)=>this.calculateCost(k,R,E,F),reasoningTypes:["reasoning-delta"],enableToolCalls:!0,toolCallArgsOrder:["input","args"],toolCallFunctionIncludeId:!0,resolveUsageMetrics:(k,R)=>{let F=(R?.providerMetadata??{}).anthropic??{};return{inputTokens:Y(k.inputTokens),outputTokens:Y(k.outputTokens),thoughtsTokenCount:Y(k.reasoningTokens??k.thoughtsTokenCount),cacheReadTokens:Y(k.cachedInputTokens??F.cacheReadInputTokens),cacheWriteTokens:Y(F.cacheCreationInputTokens)}}})}}import{JSONParser as Od}from"@streamparser/json";Mt();function Jc(e){let t=U(e.providerId);if(t===e.providerId)return e;return{...e,providerId:t}}function ps(e,t){if(e.baseUrl)return e.baseUrl;if(e.oca?.mode==="internal")return pe;return t?.baseUrl??te}function ss(e){let t=e.modelId;return e.modelInfo?.apiFormat??(t?e.knownModels?.[t]?.apiFormat:void 0)}function us(e){if(ss(e)===oe.OPENAI_RESPONSES)return new ve(e);return new ie(e)}function Hc(e,t){return{...e,baseUrl:Q(e)==="oca"?ps(e,t):e.baseUrl??t.baseUrl,modelId:e.modelId??t.modelId,knownModels:e.knownModels??t.knownModels,capabilities:e.capabilities??t.capabilities}}var Sn;function ms(){if(!Sn)Sn=en();return Sn}var ls={"claude-code":(e)=>new Xt(e),"openai-codex":(e)=>new jt(e),opencode:(e)=>new $t(e),sapaicore:(e)=>new Jt(e),mistral:(e)=>new Ht(e),dify:(e)=>new Zt(e),asksage:(e)=>new Yt(e),oca:(e)=>us(e)},ds={anthropic:(e)=>new Ut(e),gemini:(e)=>new Se(e),vertex:(e)=>new zt(e),bedrock:(e)=>new wi(e),openai:(e)=>new ve(e),fetch:(e)=>new nt(e),"ai-sdk-community":(e)=>new nt(e),"openai-compatible":(e)=>new ie(e)};function vn(e){let t=Q(e),a=ls[t];if(a)return a(e);let n=ms()[t];if(n){let i=ds[n];if(i)return i(e)}return}function Zc(e){let t=Jc(e),{providerId:a}=t,n=Q(t);if(Ee(a)){if(li(a))throw Error(`Handler for "${a}" is registered as async. Use createHandlerAsync() instead.`);let o=ui(a,t);if(o)return o}let i=vn({...t,routingProviderId:n});if(i)return i;if(Vt(n)){if(t.modelCatalog?.loadLatestOnInit||t.modelCatalog?.loadPrivateOnAuth)throw Error(`Provider "${a}" has runtime model refresh enabled. Use createHandlerAsync() to allow async model refresh.`);let o=z[n],c=Hc({...t,routingProviderId:n},o);return vn(c)??new ie(c)}return t.baseUrl?new ie({...t,routingProviderId:n}):new ve({...t,routingProviderId:n,baseUrl:"https://api.openai.com/v1"})}async function gs(e){let t=Jc(e),{providerId:a}=t,n=Q(t);if(Ee(a)){let i=await mi(a,t);if(i)return i}if(Vt(n)){let i=await yt(n,t.modelCatalog,{...t,routingProviderId:n});if(i){let o=Hc({...t,routingProviderId:n},i);return vn(o)??new ie(o)}}return Zc(t)}var Ic=[...new Set([Ne.provider.id,"anthropic","asksage","bedrock","claude-code","opencode","mistral","dify","openai-native","gemini","vertex",...Object.keys(z)])],xs=new Set(Ic);function hs(e){let t=U(e);return xs.has(t)||Ee(t)||Ee(e)}export{Dn as toProviderConfig,ge as supportsModelThinking,yt as resolveProviderConfig,kn as parseSettings,U as normalizeProviderId,hs as isProviderSupported,Ie as hasModelCapability,Tn as getModelPricing,gs as createHandlerAsync,Zc as createHandler,si as ProviderSettingsSchema,z as OPENAI_COMPATIBLE_PROVIDERS,Ic as BUILT_IN_PROVIDERS};
|
|
10
|
+
]`}function S(){let g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,b=e[a]==="\\";if(b)a++,b=!0;if(we(e[a])){let Me=ya(e[a])?ya:va(e[a])?va:_e(e[a])?_e:Ra,U=a,de=t.length,P='"';a++;while(!0){if(a>=e.length){let A=Mt(a-1);if(!g&&xe(e.charAt(A)))return a=U,t=t.substring(0,de),S(!0);return P=F(P,'"'),t+=P,!0}if(a===k)return P=F(P,'"'),t+=P,!0;if(Me(e[a])){let A=a,je=P.length;if(P+='"',a++,t+=P,c(!1),g||a>=e.length||xe(e[a])||we(e[a])||X(e[a]))return te(),!0;let h=Mt(A-1),qt=e.charAt(h);if(qt===",")return a=U,t=t.substring(0,de),S(!1,h);if(xe(qt))return a=U,t=t.substring(0,de),S(!0);t=t.substring(0,de),a=A+1,P=`${P.substring(0,je)}\\${P.substring(je)}`}else if(g&&Ta(e[a])){if(e[a-1]===":"&&ba.test(e.substring(U+1,a+2)))while(a<e.length&&fa.test(e[a]))P+=e[a],a++;return P=F(P,'"'),t+=P,te(),!0}else if(e[a]==="\\"){let A=e.charAt(a+1);if(W0[A]!==void 0)P+=e.slice(a,a+2),a+=2;else if(A==="u"){let h=2;while(h<6&&di(e[a+h]))h++;if(h===6)P+=e.slice(a,a+6),a+=6;else if(a+h>=e.length)a=e.length;else Jo()}else P+=A,a+=2}else{let A=e.charAt(a);if(A==='"'&&e[a-1]!=="\\")P+=`\\${A}`,a++;else if(hi(A))P+=w0[A],a++;else{if(!gi(A))$o(A);P+=A,a++}}if(b)B()}}return!1}function te(){let g=!1;c();while(e[a]==="+"){g=!0,a++,c(),t=oe(t,'"',!0);let k=t.length;if(S())t=Wi(t,k,1);else t=F(t,'"')}return g}function R(){let g=a;if(e[a]==="-"){if(a++,Ge())return Ue(g),!0;if(!X(e[a]))return a=g,!1}while(X(e[a]))a++;if(e[a]==="."){if(a++,Ge())return Ue(g),!0;if(!X(e[a]))return a=g,!1;while(X(e[a]))a++}if(e[a]==="e"||e[a]==="E"){if(a++,e[a]==="-"||e[a]==="+")a++;if(Ge())return Ue(g),!0;if(!X(e[a]))return a=g,!1;while(X(e[a]))a++}if(!Ge())return a=g,!1;if(a>g){let k=e.slice(g,a),b=/^0\d/.test(k);return t+=b?`"${k}"`:k,!0}return!1}function Je(){return H("true","true")||H("false","false")||H("null","null")||H("True","true")||H("False","false")||H("None","null")}function H(g,k){if(e.slice(a,a+g.length)===g)return t+=k,a+=g.length,!0;return!1}function ve(g){let k=a;if(Wa(e[a])){while(a<e.length&&ka(e[a]))a++;let b=a;while(Z(e,b))b++;if(e[b]==="("){if(a=b+1,o(),e[a]===")"){if(a++,e[a]===";")a++}return!0}}while(a<e.length&&!Ta(e[a])&&!we(e[a])&&(!g||e[a]!==":"))a++;if(e[a-1]===":"&&ba.test(e.substring(k,a+2)))while(a<e.length&&fa.test(e[a]))a++;if(a>k){while(Z(e,a-1)&&a>0)a--;let b=e.slice(k,a);if(t+=b==="undefined"?"null":JSON.stringify(b),e[a]==='"')a++;return!0}}function Ho(){if(e[a]==="/"){let g=a;a++;while(a<e.length&&(e[a]!=="/"||e[a-1]==="\\"))a++;return a++,t+=JSON.stringify(e.substring(g,a)),!0}}function Mt(g){let k=g;while(k>0&&Z(e,k))k--;return k}function Ge(){return a>=e.length||xe(e[a])||Z(e,a)}function Ue(g){t+=`${e.slice(g,a)}0`}function $o(g){throw new Y(`Invalid character ${JSON.stringify(g)}`,a)}function Yo(){throw new Y(`Unexpected character ${JSON.stringify(e[a])}`,a)}function Zo(){throw new Y("Unexpected end of json string",e.length)}function Xo(){throw new Y("Object key expected",a)}function Pt(){throw new Y("Colon expected",a)}function Jo(){let g=e.slice(a,a+6);throw new Y(`Invalid unicode character "${g}"`,a)}}function k0(e,a){return e[a]==="*"&&e[a+1]==="/"}var w0,W0;var fi=w(()=>{li();bi();w0={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},W0={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
11
|
+
`,r:"\r",t:"\t"}});var Ti=w(()=>{fi()});function f0(e){let a=e.match(b0);if(!a)return;let[,t,i]=a,n=i.trim();if(!n)return;let o=n[0];if(o==='"'||o==="{"||o==="["||n==="true"||n==="false"||n==="null"||Number.isFinite(Number(n)))return;return JSON.parse(`{"${t}":${JSON.stringify(n)}}`)}function Di(e){if(typeof e!=="string")return e;let a=e.trimStart();if(a[0]!=="{"&&a[0]!=="[")return e;for(let t of T0)try{let i=t(a);if(i!==void 0)return i}catch{}return e}function Ri(e){let a=new WeakSet;try{return JSON.stringify(e,(i,n)=>{if(typeof n==="bigint")return n.toString();if(n&&typeof n==="object"){if(a.has(n))return"[Circular]";a.add(n)}return n})??"null"}catch{return String(e)}}function yi(e){try{return JSON.parse(e)}catch{return}}var b0,T0;var vi=w(()=>{Ti();b0=/^\{\s*"([A-Za-z0-9_.$-]+)"\s*:\s*([\s\S]+?)\s*\}$/;T0=[(e)=>JSON.parse(e),(e)=>JSON.parse(Ga(e)),f0]});function D0(e){let a=e.replaceAll("\\","/"),t=a.lastIndexOf("/");return(t>=0?a.slice(t+1):a).toLowerCase()}function Gi(e){return e==="win32"?"powershell":"/bin/bash"}function Mi(e,a){let t=D0(e);if(t==="powershell"||t==="powershell.exe"||t==="pwsh"||t==="pwsh.exe")return["-NoProfile","-NonInteractive","-Command",a];if(t==="cmd"||t==="cmd.exe")return["/d","/s","/c",a];return["-c",a]}function Pi(e){return e.toLowerCase().replace(/[^\w.-]+/g,"_")}function qi(e,a){if(e.length<=a)return e;return`${e.slice(0,a-1)}…`}function Bi(e){if(e.length<=8)return"****";return`${e.slice(0,4)}...${e.slice(-4)}`}function Ci(e){if(!e)return"(unknown-date)";let a=new Date(e);if(Number.isNaN(a.getTime()))return e;return a.toLocaleString("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!0})}import{z as Ai}from"zod";function Qi(e,a){let t=e.safeParse(a);if(!t.success)throw Error(Ai.prettifyError(t.error));return t.data}function Le(e){return Ai.toJSONSchema(e)}var Ma=()=>{};var Si=`You are Cline, an AI coding agent. Your primary goal is to assist users with various coding tasks by leveraging your knowledge and the tools at your disposal. Given the user's prompt, you should use the tools available to you to answer user's question.
|
|
12
|
+
|
|
13
|
+
Always gather all the necessary context before starting to work on a task. For example, if you are generating a unit test or new code, make sure you understand the requirement, the naming conventions, frameworks and libraries used and aligned in the current codebase, and the environment and commands used to run and test the code etc. Always validate the new unit test at the end including running the code if possible for live feedback.
|
|
14
|
+
Review each question carefully and answer it with detailed, accurate information.
|
|
15
|
+
If you need more information, use one of the available tools or ask for clarification instead of making assumptions or lies.
|
|
16
|
+
|
|
17
|
+
Environment you are running in:
|
|
18
|
+
<env>
|
|
19
|
+
1. Platform: {{PLATFORM_NAME}}
|
|
20
|
+
2. Date: {{CURRENT_DATE}}
|
|
21
|
+
3. IDE: {{IDE_NAME}}
|
|
22
|
+
4. Working Directory: {{CWD}}
|
|
23
|
+
</env>
|
|
24
|
+
|
|
25
|
+
Remember:
|
|
26
|
+
- Always adhere to existing code conventions and patterns.
|
|
27
|
+
- Use only libraries and frameworks that are confirmed to be in use in the current codebase.
|
|
28
|
+
- Provide complete and functional code without omissions or placeholders.
|
|
29
|
+
- Be explicit about any assumptions or limitations in your solution.
|
|
30
|
+
- Always show your planning process before executing any task. This will help ensure that you have a clear understanding of the requirements and that your approach aligns with the user's needs.
|
|
31
|
+
- Always use absolute paths when referring to files.
|
|
32
|
+
- Always verify the files you have edited or created at the end of the task to ensure they are completed and working as expected.
|
|
33
|
+
|
|
34
|
+
Begin by analyzing the user's input and gathering any necessary additional context. Then, present your plan at the start of your response along with tool calls before proceeding with the task. It's OK for this section to be quite long.
|
|
35
|
+
|
|
36
|
+
REMEMBER, be helpful and proactive! Don't ask for permission to do something when you can do it! Do not indicates you will be using a tool unless you are actually going to use it.
|
|
37
|
+
|
|
38
|
+
IMPORTANT: Always includes tool calls in your response until the task is completed. Response without tool calls will considered as completed with final answer.
|
|
39
|
+
|
|
40
|
+
When you have completed the task, please provide a summary of what you did and any relevant information that the user should know. This will help ensure that the user understands the changes made and can easily follow up if they have any questions or need further assistance. Do not indicate that you will perform an action without actually doing it. Always provide the final result in your response. Always validate your answer with checking the code and running it if possible.
|
|
41
|
+
|
|
42
|
+
If user asked a simple question without any coding context, answer it directly without using any tools.
|
|
43
|
+
{{CLINE_RULES}}
|
|
44
|
+
{{CLINE_METADATA}}`,_i=`You are Cline, a careful and helpful coding agent that works in the background.
|
|
45
|
+
You are tasked to solve an issue reported by the user who you cannot communicate with directly.
|
|
46
|
+
Your goal is to utilize the tools at your disposal to investigate and answer the question according to user's instructions with the aim to verify that the issue is resolved.
|
|
47
|
+
|
|
48
|
+
RULES:
|
|
49
|
+
- Always adhere to existing code conventions and patterns.
|
|
50
|
+
- Use only libraries and frameworks that are confirmed and compatible to be in use in the current codebase.
|
|
51
|
+
- Provide complete and functional code without omissions or placeholders.
|
|
52
|
+
- Always show your planning process before executing any task. This will help ensure that you have a clear understanding of the requirements and that your approach aligns with the user's request.
|
|
53
|
+
- Always use absolute paths when referring to files.
|
|
54
|
+
- Always verify the files you have edited or created at the end of the task to ensure they are completed and working as expected.
|
|
55
|
+
|
|
56
|
+
Environment you are running in:
|
|
57
|
+
<env>
|
|
58
|
+
1. Platform: {{PLATFORM_NAME}}
|
|
59
|
+
2. Date: {{CURRENT_DATE}}
|
|
60
|
+
3. IDE: {{IDE_NAME}}
|
|
61
|
+
4. Working Directory: {{CWD}}
|
|
62
|
+
</env>
|
|
63
|
+
|
|
64
|
+
IMPORTANT:
|
|
65
|
+
When the user describes a bug, unexpected behavior, or provides a bug report, your primary goal is to produce a correct fix in the source code that resolves the issue.
|
|
66
|
+
A correct fix means the underlying behavior is fixed — not just the symptoms addressed superficially.
|
|
67
|
+
After applying your fix, you must run the relevant test suite to confirm your changes actually resolve the problem. If tests fail, analyze the failures, revise your fix, and re-run until tests pass.
|
|
68
|
+
Do not consider the task complete until tests pass.
|
|
69
|
+
Always includes tool calls in your response until the task is completed. You should only end the task when all the requirements are met by calling the 'submit_and_exit' tool.
|
|
70
|
+
Response without the submit_and_exit tool call will considered not completed and the task will continue.
|
|
71
|
+
{{CLINE_RULES}}
|
|
72
|
+
{{CLINE_METADATA}}`;function Fi(e){return JSON.stringify({workspaces:{[e.rootPath]:{hint:e.hint,associatedRemoteUrls:e.associatedRemoteUrls,latestGitCommitHash:e.latestGitCommitHash,latestGitBranchName:e.latestGitBranchName}}},null,2)}function Li(e,a,t){if(t?.trim()?.includes(Pa))return t.trim();let i=t||JSON.stringify({workspaces:{[e]:{hint:a||e.split("/").at(-1)||e}}},null,2);return`
|
|
73
|
+
${Pa}
|
|
74
|
+
${i}`}function Ki(e){let{ide:a="Terminal Shell",mode:t,platform:i="unknown",workspaceName:n,metadata:o,rules:c,overridePrompt:s,providerId:d}=e,u=e.workspaceRoot??e.rootPath??"",x=d==="cline";if(s?.trim()){let y=s.trim();if(x&&o?.trim()&&!y.includes(Pa))return`${y}
|
|
75
|
+
|
|
76
|
+
${Li(u,n,o)}`.trim();return y}return(t==="yolo"?_i:Si).replace("{{PLATFORM_NAME}}",i).replace("{{CWD}}",u).replace("{{CURRENT_DATE}}",new Date().toLocaleDateString()).replace("{{IDE_NAME}}",a).replace("{{CLINE_METADATA}}",x?Li(u,n,o):"").replace("{{CLINE_RULES}}",c||"").trim()}var Pa="# Workspace Configuration";var Ni=()=>{};var Oi="remote://";import{z as r}from"zod";var qa,Ba,Ca,Aa,Qa,Sa,_a,La,Fa,Ka,Na,Oa,Ia,R0,Va,Ea,Fe,Ke,Ha,$a,Ii,Vi;var Ei=w(()=>{qa=r.object({id:r.string(),temperature:r.number().optional(),isR1FormatRequired:r.boolean().optional(),maxTokens:r.number().optional(),contextWindow:r.number().optional(),inputPrice:r.number().optional(),outputPrice:r.number().optional(),supportsImages:r.boolean().optional()}),Ba=r.object({models:r.array(qa).optional(),openAiBaseUrl:r.string().optional(),openAiHeaders:r.record(r.string(),r.string()).optional(),azureApiVersion:r.string().optional(),azureIdentity:r.boolean().optional()}),Ca=r.object({id:r.string(),thinkingBudgetTokens:r.number().optional()}),Aa=r.object({name:r.string(),baseModelId:r.string(),thinkingBudgetTokens:r.number().optional()}),Qa=r.object({models:r.array(Ca).optional(),customModels:r.array(Aa).optional(),awsRegion:r.string().optional(),awsUseCrossRegionInference:r.boolean().optional(),awsUseGlobalInference:r.boolean().optional(),awsBedrockUsePromptCache:r.boolean().optional(),awsBedrockEndpoint:r.string().optional()}),Sa=r.object({id:r.string()}),_a=r.object({models:r.array(Sa).optional()}),La=r.object({id:r.string(),thinkingBudgetTokens:r.number().optional()}),Fa=r.object({models:r.array(La).optional(),vertexProjectId:r.string().optional(),vertexRegion:r.string().optional()}),Ka=r.object({id:r.string(),thinkingBudgetTokens:r.number().optional(),promptCachingEnabled:r.boolean().optional()}),Na=r.object({models:r.array(Ka).optional(),baseUrl:r.string().optional()}),Oa=r.object({id:r.string(),thinkingBudgetTokens:r.number().optional()}),Ia=r.object({models:r.array(Oa).optional(),baseUrl:r.string().optional()}),R0=r.object({OpenAiCompatible:Ba.optional(),AwsBedrock:Qa.optional(),Cline:_a.optional(),Vertex:Fa.optional(),LiteLLM:Na.optional(),Anthropic:Ia.optional()}),Va=r.object({id:r.string()}),Ea=r.object({name:r.string(),url:r.string(),alwaysEnabled:r.boolean().optional(),headers:r.record(r.string(),r.string()).optional()}),Fe=r.object({alwaysEnabled:r.boolean(),name:r.string(),contents:r.string()}),Ke=r.object({bucket:r.string(),accessKeyId:r.string(),secretAccessKey:r.string(),region:r.string().optional(),endpoint:r.string().optional(),accountId:r.string().optional(),intervalMs:r.number().optional(),maxRetries:r.number().optional(),batchSize:r.number().optional(),maxQueueSize:r.number().optional(),maxFailedAgeMs:r.number().optional(),backfillEnabled:r.boolean().optional()}),Ha=r.object({enabled:r.boolean().optional(),type:r.union([r.literal("s3_access_keys"),r.literal("r2_access_keys")]).optional(),s3AccessSettings:Ke.optional(),r2AccessSettings:Ke.optional()}),$a=r.object({promptUploading:Ha.optional()}),Ii=r.object({version:r.string(),providerSettings:R0.optional(),telemetryEnabled:r.boolean().optional(),kanbanEnabled:r.boolean().optional(),mcpMarketplaceEnabled:r.boolean().optional(),allowedMCPServers:r.array(Va).optional(),remoteMCPServers:r.array(Ea).optional(),blockPersonalRemoteMCPServers:r.boolean().optional(),yoloModeAllowed:r.boolean().optional(),openTelemetryEnabled:r.boolean().optional(),openTelemetryMetricsExporter:r.string().optional(),openTelemetryLogsExporter:r.string().optional(),openTelemetryOtlpProtocol:r.string().optional(),openTelemetryOtlpEndpoint:r.string().optional(),openTelemetryOtlpHeaders:r.record(r.string(),r.string()).optional(),openTelemetryOtlpMetricsProtocol:r.string().optional(),openTelemetryOtlpMetricsEndpoint:r.string().optional(),openTelemetryOtlpMetricsHeaders:r.record(r.string(),r.string()).optional(),openTelemetryOtlpLogsProtocol:r.string().optional(),openTelemetryOtlpLogsEndpoint:r.string().optional(),openTelemetryOtlpLogsHeaders:r.record(r.string(),r.string()).optional(),openTelemetryMetricExportInterval:r.number().optional(),openTelemetryOtlpInsecure:r.boolean().optional(),openTelemetryLogBatchSize:r.number().optional(),openTelemetryLogBatchTimeout:r.number().optional(),openTelemetryLogMaxQueueSize:r.number().optional(),enterpriseTelemetry:$a.optional(),globalRules:r.array(Fe).optional(),globalWorkflows:r.array(Fe).optional()}),Vi=r.record(r.string(),r.string())});var Hi=4317,$i="127.0.0.1:4317";var Yi="runtime.team.progress.v1",Zi="runtime.team.lifecycle.v1";import{basename as y0}from"node:path";function Xi(e){let a=e?.trim().toLowerCase();if(a==="development"||a==="production")return a;return}function v0(e){for(let a=0;a<e.length;a+=1){let t=e[a]?.trim();if(!t)continue;if(t==="--conditions"&&e[a+1]?.trim()==="development")return!0;if(t.startsWith("--conditions=")&&t.slice(13).split(",").map((i)=>i.trim()).includes("development"))return!0}return!1}function G0(e){if(!e?.trim())return!1;let a=y0(e).toLowerCase();return a==="node"||a==="node.exe"||a==="bun"||a==="bun.exe"}function M0(e){return e.some((a)=>a==="--inspect"||a.startsWith("--inspect=")||a==="--inspect-brk"||a.startsWith("--inspect-brk="))}function P0(e){return e.some((a)=>a==="--enable-source-maps")}function q0(e){return e[Ya]?.trim()||"127.0.0.1"}function B0(e){let a=e[Za]?.trim(),t=a?Number.parseInt(a,10):9230;return Number.isInteger(t)&&t>0?t:9230}function C0(e){switch(e){case"rpc":return 0;case"hook-worker":return 1;case"plugin-sandbox":return 2;case"connector":return 3;case"sandbox":return 4;default:return 9}}function Ne(e={}){let a=e.env??process.env,t=e.execArgv??process.execArgv,i=Xi(a[We]);if(i)return i;let n=a.NODE_ENV?.trim().toLowerCase();if(n==="production")return"production";if(n==="development")return"development";return v0(t)?"development":"production"}function Ji(e=process.env,a={}){if(Xi(e[We]))return e;return{...e,[We]:Ne({env:e,execArgv:a.execArgv})}}function Ui(e,a={}){if(e.length===0||!G0(e[0]))return[...e];if(Ne(a)!=="development")return[...e];let t=a.env??process.env,i=[...t.NODE_OPTIONS?.split(/\s+/).filter(Boolean)??[],...e.slice(1)],n=[];if(!M0(i)){let o=q0(t),c=B0(t)+C0(a.debugRole);n.push(`--inspect=${o}:${c}`)}if(!P0(i))n.push("--enable-source-maps");return[e[0],...n,...e.slice(1)]}var We="CLINE_BUILD_ENV",Ya="CLINE_DEBUG_HOST",Za="CLINE_DEBUG_PORT_BASE";var ji=()=>{};function A0(){return{enabled:process?.env?.OTEL_TELEMETRY_ENABLED==="1"||process?.env?.OTEL_TELEMETRY_ENABLED==="true",metricsExporter:process?.env?.OTEL_METRICS_EXPORTER||"otlp",logsExporter:process?.env?.OTEL_LOGS_EXPORTER||"otlp",tracesExporter:process?.env?.OTEL_TRACES_EXPORTER,otlpProtocol:process?.env?.OTEL_EXPORTER_OTLP_PROTOCOL||"http/json",otlpEndpoint:process?.env?.OTEL_EXPORTER_OTLP_ENDPOINT,metricExportInterval:process?.env?.OTEL_METRIC_EXPORT_INTERVAL?Number.parseInt(process?.env?.OTEL_METRIC_EXPORT_INTERVAL,10):void 0,otlpHeaders:process?.env?.OTEL_EXPORTER_OTLP_HEADERS?Object.fromEntries(process?.env?.OTEL_EXPORTER_OTLP_HEADERS.split(",").map((e)=>{let[a,t]=e.split("=");return[a.trim(),t.trim()]})):void 0}}function Xa(e={}){return{extension_version:"unknown",cline_type:"unknown",platform:"terminal",platform_version:process?.version||"unknown",os_type:process?.platform||"unknown",os_version:process?.platform==="win32"?process?.env?.OS??"unknown":"unknown",...e}}function zi(e={}){return{...A0(),...e,metadata:Xa(e.metadata)}}function Oe(e){let a=e?.trim();return a?a:void 0}function en(e,a){if(!e)return;let t=typeof e==="function"?e(a):e;if(!t)return;let i=Oe(t.rootSessionId),n=Oe(t.hookLogPath);if(!i&&!n)return;return{rootSessionId:i,hookLogPath:n}}function an(e){return Oe(e?.rootSessionId)}function tn(e){return Oe(e?.hookLogPath)}import{nanoid as Q0}from"nanoid";function nn(e="",a=""){return`${e}${Date.now()}_${Q0(5)}${a}`}var on=()=>{};var cn;var rn=w(()=>{cn=["running","completed","failed","cancelled"]});import{z as O}from"zod";function S0(){return{workspaces:{}}}function _0(e,a){let t={...e,workspaces:{...e.workspaces,[a.rootPath]:a}};if(!t.currentWorkspacePath)t.currentWorkspacePath=a.rootPath;return sn.parse(t)}var pn,sn;var mn=w(()=>{pn=O.object({rootPath:O.string().min(1),hint:O.string().min(1).optional(),associatedRemoteUrls:O.array(O.string().min(1)).optional(),latestGitCommitHash:O.string().min(1).optional(),latestGitBranchName:O.string().min(1).optional()}),sn=O.object({currentWorkspacePath:O.string().min(1).optional(),workspaces:O.record(O.string().min(1),pn)})});import{z as m}from"zod";function f(e){return m.preprocess((a)=>a===null?void 0:a,e.optional())}var un,L0=3600000,F0=240,K0=400,N0,O0,I0,V0,E0,H0,$0,Y0,Z0,X0,J0,U0,j0,z0,ec,ac,tc,ic,nc,oc,cc;var ln=w(()=>{un=["current_state","boundary_analysis","interface_proposal"];N0=m.object({agentId:m.string().min(1).describe("Teammate identifier"),rolePrompt:m.string().min(1).describe("System prompt describing teammate role"),maxIterations:m.preprocess((e)=>e===null?void 0:e,m.number().int().min(1).optional()).describe("Max iterations per teammate run for spawn")}).strict(),O0=m.object({agentId:m.string().min(1).describe("Teammate identifier"),reason:f(m.string().min(1)).describe("Optional shutdown reason")}),I0=m.object({}),V0={create:["title","description","dependsOn","assignee"],list:["status","assignee","unassignedOnly","readyOnly"],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]},E0={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]},H0=m.object({action:m.enum(["create","list","claim","complete","block"]),title:f(m.string().min(1)).describe("Task title"),description:f(m.string().min(1)).describe("Task details"),dependsOn:f(m.array(m.string().describe("Dependency task ID"))).describe("Array of dependency task IDs"),assignee:f(m.string().min(1)).describe("Optional assignee"),status:f(m.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),unassignedOnly:f(m.boolean()).describe("Only include tasks without an assignee"),readyOnly:f(m.boolean()).describe("Only include tasks ready to claim now"),taskId:f(m.string()).describe("Task ID"),summary:f(m.string().min(1)).describe("Completion summary"),reason:f(m.string().min(1)).describe("Blocking reason")}).superRefine((e,a)=>{let t=new Set(["action",...V0[e.action]]);for(let[i,n]of Object.entries(e)){if(i==="action"||n===void 0||t.has(i))continue;a.addIssue({code:"custom",path:[i],message:`Field "${i}" is not allowed when action=${e.action}`})}for(let i of E0[e.action]){if(e[i]!==void 0)continue;a.addIssue({code:"custom",path:[i],message:`Field "${i}" is required when action=${e.action}`})}}),$0=m.object({agentId:m.string().describe("Teammate agent ID"),task:m.string().min(1).describe("Task instructions for the teammate"),taskId:f(m.string()).describe("Optional shared task list ID"),runMode:f(m.enum(["sync","async"])).describe("Execution mode: sync waits for result; async returns a runId immediately"),continueConversation:f(m.boolean()).describe("If true, continue the teammate conversation; otherwise start fresh")}),Y0=m.object({status:f(m.enum(["queued","running","completed","failed","cancelled","interrupted"])).describe("Optional run status filter. Omit to include all statuses."),agentId:f(m.string().min(1)).describe("Optional teammate ID filter. Omit to include all teammates."),includeCompleted:f(m.boolean()).describe("Include completed/failed runs (default true)")}),Z0=m.object({runId:m.string().min(1).describe("Run ID"),reason:f(m.string().min(1)).describe("Optional cancellation reason")}),X0=m.object({runId:m.string().min(1).describe("Async run ID to await")}),J0=m.object({}),U0=m.object({toAgentId:m.string().min(1).describe("Recipient agent ID"),subject:m.string().min(1).describe("Message subject"),body:m.string().min(1).describe("Message body"),taskId:f(m.string().min(1)).describe("Optional task ID context")}),j0=m.object({subject:m.string().min(1).describe("Message subject"),body:m.string().min(1).describe("Message body"),taskId:f(m.string().min(1)).describe("Optional task ID context"),includeLead:f(m.boolean()).describe("Include the lead agent in broadcast recipients")}),z0=m.object({unreadOnly:f(m.boolean()).describe("Only unread messages for read action (default true)"),limit:f(m.number().int().min(1).max(100)).describe("Optional max number of messages for read action")}),ec=m.object({kind:m.enum(["progress","handoff","blocked","decision","done","error"]),summary:m.string().min(1).describe("Update summary"),taskId:f(m.string().min(1)).describe("Optional task ID context"),evidence:f(m.array(m.string().min(1))).describe("Optional evidence links/snippets"),nextAction:f(m.string().min(1)).describe("Planned next step")}),ac=m.object({}),tc=m.object({title:m.string().describe("Outcome title"),requiredSections:m.array(m.string()).default(un).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),ic=m.object({outcomeId:m.string().describe("Outcome ID"),section:m.string().describe("Section name"),sourceRunId:f(m.string()).describe("Optional source run ID"),content:m.string().describe("Section fragment content")}),nc=m.object({fragmentId:m.string().describe("Fragment ID"),approved:m.boolean().describe("Review decision")}),oc=m.object({outcomeId:m.string().describe("Outcome ID")}),cc=m.object({})});var dn;var gn=w(()=>{((R)=>{R.TaskStart="task_start";R.TaskEnd="task_end";R.AgentEvent="agent_event";R.TeammateSpawned="teammate_spawned";R.TeammateShutdown="teammate_shutdown";R.TeamTaskUpdated="team_task_updated";R.TeamMessage="team_message";R.TeamMissionLog="team_mission_log";R.TeamTaskCompleted="team_task_completed";R.RunStarted="run_started";R.RunQueued="run_queued";R.RunProgress="run_progress";R.RunCompleted="run_completed";R.RunFailed="run_failed";R.RunCancelled="run_cancelled";R.RunInterrupted="run_interrupted";R.OutcomeCreated="outcome_created";R.OutcomeFragmentAttached="outcome_fragment_attached";R.OutcomeFragmentReviewed="outcome_fragment_reviewed";R.OutcomeFinalized="outcome_finalized"})(dn||={})});var hn=w(()=>{ln();gn()});import{z as rc}from"zod";function xn(e){let a=e.inputSchema instanceof rc.ZodType?Le(e.inputSchema):e.inputSchema;return{name:e.name,description:e.description,inputSchema:a,execute:e.execute,timeoutMs:e.timeoutMs??30000,retryable:e.retryable??!0,maxRetries:e.maxRetries??2}}var wn=w(()=>{Ma()});import{existsSync as pc,mkdirSync as sc,readFileSync as mc,writeFileSync as uc}from"node:fs";import{dirname as lc,resolve as dc}from"node:path";function xc(e){let a=e.toLowerCase();if(gc.has(a))return!0;for(let t of hc){if(a===t)return!0;if(a.endsWith(t)&&a.length>t.length){let i=a[a.length-t.length-1];if(i==="_"||i==="-")return!0;let n=e[e.length-t.length];if(n&&n===n.toUpperCase()&&n!==n.toLowerCase())return!0}if(a.endsWith(`_${t}`))return!0}return!1}function Wc(e){let a=e;for(let{pattern:t,replacement:i}of wc)a=a.replace(t,i);return a}function Ja(e){let a=e;for(let{pattern:t,replacement:i}of kc)a=a.replace(t,i);return a}function Ie(e){if(e===null||e===void 0)return e;if(typeof e==="string"){try{let a=JSON.parse(e);if(typeof a==="object"&&a!==null)return JSON.stringify(Ie(a))}catch{}return Wc(e)}if(Array.isArray(e))return e.map(Ie);if(typeof e==="object"){let a={};for(let[t,i]of Object.entries(e))if(xc(t)&&(typeof i==="string"||typeof i==="number"))a[t]="REDACTED";else a[t]=Ie(i);return a}return e}function bc(e){let a={...e};if(a.body)delete a.body;if(typeof a.path==="string")a.path=Ja(a.path);if(a.response!==void 0)a.response=Ie(a.response);return a}function Wn(e){try{let a=new URL(e),t=`${a.protocol}//${a.host}`,i=a.pathname+a.search;return{scope:t,path:i}}catch{return{scope:"",path:e}}}function kn(e){if(typeof e==="string")return e;if(e instanceof URL)return e.toString();if(e&&typeof e.url==="string")return e.url;return String(e)}function bn(e,a){if(a?.method)return a.method.toUpperCase();if(e&&typeof e.method==="string")return e.method.toUpperCase();return"GET"}function fc(e){if(!e)return null;if(!process.env.CLINE_VCR_CASSETTE)return process.stderr.write(`[VCR] No CLINE_VCR_CASSETTE: requests will not be recorded or played back.
|
|
77
|
+
`),null;if(e!=="record"&&e!=="playback")process.stderr.write(`[VCR] Invalid CLINE_VCR value: "${e}". Expected "record" or "playback".
|
|
78
|
+
`),process.exit(1);let a=dc(process.env.CLINE_VCR_CASSETTE),t=process.env.CLINE_VCR_FILTER??"";return{mode:e,cassettePath:a,filter:t}}function Tc(e,a){let t=[],i=[],n=globalThis.fetch;function o(u){if(u.finalized)return;u.finalized=!0;let x=new TextDecoder,M=u.chunks.map((B)=>x.decode(B,{stream:!0})).join("")+x.decode(),y;try{y=JSON.parse(M)}catch{y=M}t.push({scope:u.scope,method:u.method,path:u.path,body:u.body,status:u.status,response:y,responseIsBinary:!1,contentType:u.contentType})}globalThis.fetch=Object.assign(async(u,x)=>{let M=kn(u),y=bn(u,x),{scope:B,path:D}=Wn(M),E;if(x?.body)E=typeof x.body==="string"?x.body:x.body instanceof ArrayBuffer?new TextDecoder().decode(x.body):void 0;else if(u instanceof Request)try{E=await u.clone().text()}catch{}let v=await n(u,x);if(a&&!D.includes(a))return v;let J=v.headers.get("content-type")??void 0;if(!v.body)return t.push({scope:B,method:y,path:D,body:E??"",status:v.status,response:"",responseIsBinary:!1,contentType:J}),v;let S={scope:B,method:y,path:D,body:E??"",status:v.status,contentType:J,chunks:[],finalized:!1};i.push(S);let te=v.body,R=new TransformStream({transform(H,ve){S.chunks.push(H),ve.enqueue(H)},flush(){o(S)}}),Je=te.pipeThrough(R);return new Response(Je,{status:v.status,statusText:v.statusText,headers:v.headers})},{preconnect:(u)=>{}});let c=a?`matching path "*${a}*"`:"all paths";process.stderr.write(`[VCR] Recording HTTP requests (${c}). Cassette will be saved to: ${e}
|
|
79
|
+
`);let s=!1;qe(()=>{if(s)return;s=!0,globalThis.fetch=n;for(let M of i)o(M);if(t.length===0){process.stderr.write(`[VCR] No HTTP requests${a?` matching "${a}"`:""} were recorded.
|
|
80
|
+
`);return}let u=lc(e);sc(u,{recursive:!0});let x=t.map(bc);uc(e,JSON.stringify(x,null,2)),process.stderr.write(`[VCR] Saved ${x.length} recorded HTTP interaction(s) to ${e}
|
|
81
|
+
`)})}function Dc(e){let a=[],t=e.split(/\n\n/);for(let i of t){let n=i.trim();if(n)a.push(`${n}
|
|
82
|
+
|
|
83
|
+
`)}return a}function Rc(e,a){let t=new TextEncoder,i=0;return new ReadableStream({async pull(n){if(i>=e.length){n.close();return}if(i>0&&a>0)await new Promise((o)=>setTimeout(o,a));n.enqueue(t.encode(e[i])),i+=1}})}function yc(e,a){if(!pc(e))process.stderr.write(`[VCR] Cassette file not found: ${e}
|
|
84
|
+
`),process.exit(1);let t=JSON.parse(mc(e,"utf-8")),i=Number.parseInt(process.env.CLINE_VCR_SSE_DELAY??"100",10),n=Array(t.length).fill(!1),o=globalThis.fetch;globalThis.fetch=Object.assign(async(s,d)=>{let u=kn(s),x=bn(s,d),{path:M}=Wn(u),y=Ja(M);if(a&&!M.includes(a))return o(s,d);let B=t.findIndex((D,E)=>{if(n[E])return!1;let v=Ja(D.path);return D.method.toUpperCase()===x&&v===y});if(B>=0){n[B]=!0;let D=t[B],E=typeof D.response==="string"?D.response:JSON.stringify(D.response),v=new Headers;if(D.contentType)v.set("content-type",D.contentType);else if(typeof D.response==="string"&&D.response.trimStart().startsWith("data:"))v.set("content-type","text/event-stream");else if(typeof D.response==="object")v.set("content-type","application/json");let J=v.get("content-type")?.includes("text/event-stream")??!1;if(J)v.set("cache-control","no-cache"),v.set("connection","keep-alive");if(J&&typeof D.response==="string"){let S=Dc(D.response);if(S.length>1){let te=Rc(S,i);return new Response(te,{status:D.status,headers:v})}}return new Response(E,{status:D.status,headers:v})}if(!a)throw Error(`[VCR] No matching recording for ${x} ${u} (path: ${y}). ${t.length} recording(s) loaded from ${e}.`);return o(s,d)},{preconnect:(s)=>{}});let c=a?`(only paths matching "*${a}*", all other requests go through normally)`:"(all requests intercepted)";process.stderr.write(`[VCR] Playing back ${t.length} recorded HTTP interaction(s) from ${e} ${c}
|
|
85
|
+
`)}function fn(e){let a=fc(e);if(!a)return;if(a.mode==="record")Tc(a.cassettePath,a.filter);else yc(a.cassettePath,a.filter)}var gc,hc,wc,kc;var Tn=w(()=>{la();gc=new Set(["accesskeyid","secretaccesskey","idtoken","refreshtoken","accessToken","access_token","refresh_token","apikey","api_key","authorization","password","secret","token","email","displayname","display_name","userInfo"]),hc=["id","balance","cost","secret"];wc=[{pattern:/AKIA[A-Z0-9]{16}/g,replacement:"AKIA_REDACTED"},{pattern:/\/Users\/[A-Za-z0-9._-]+/g,replacement:"/Users/REDACTED_USER"},{pattern:/\/home\/[A-Za-z0-9._-]+/g,replacement:"/home/REDACTED_USER"}];kc=[{pattern:/tasks\/[A-Za-z0-9._-]+\/[A-Za-z0-9._-]+\/api_conversation_history/g,replacement:"tasks/usr-test/taskid/api_conversation_history"},{pattern:/\/(org|usr|mbr|ses|gen|req|msg|tsk|sch|exe|srv|cli|wkr|evt|sub|tkn)-[A-Za-z0-9]{10,}(?=[/?#]|$)/g,replacement:"/$1-REDACTED"}]});var Dn={};L(Dn,{zodToJsonSchema:()=>Le,xmlTagsRemoval:()=>ha,withResolvedClineBuildEnv:()=>Ji,validateWithZod:()=>Qi,upsertWorkspaceInfo:()=>_0,truncateStr:()=>qi,toAiSdkToolResultOutput:()=>xa,serializeAbortReason:()=>pi,sanitizeFileName:()=>Pi,safeJsonStringify:()=>Ri,safeJsonParse:()=>yi,resolveRootSessionId:()=>an,resolveReasoningEffortRatio:()=>wa,resolveReasoningBudgetFromRatio:()=>oi,resolveProviderModelCatalogKeys:()=>ie,resolveHookSessionContext:()=>en,resolveHookLogPath:()=>tn,resolveEffectiveReasoningEffort:()=>ni,resolveClineBuildEnv:()=>Ne,registerDisposable:()=>qe,processWorkspaceInfo:()=>Fi,parseJsonStream:()=>Di,normalizeUserInput:()=>zt,noopBasicLogger:()=>mi,maskSecret:()=>Bi,isOAuthProviderId:()=>ra,isLikelyAuthError:()=>Ft,initVcr:()=>fn,getShellArgs:()=>Mi,getDefaultShell:()=>Gi,formatUserInputBlock:()=>jt,formatMessagesForAiSdk:()=>Ae,formatHumanReadableDate:()=>Ci,formatFileContentBlock:()=>Ce,emptyWorkspaceManifest:()=>S0,disposeAll:()=>Ht,createTool:()=>xn,createSessionId:()=>nn,createContributionRegistry:()=>Yt,createClineTelemetryServiceMetadata:()=>Xa,createClineTelemetryServiceConfig:()=>zi,buildClineSystemPrompt:()=>Ki,augmentNodeCommandForDebug:()=>Ui,WorkspaceManifestSchema:()=>sn,WorkspaceInfoSchema:()=>pn,VertexSettingsSchema:()=>Fa,VertexModelSchema:()=>La,ToolContextSchema:()=>Ct,ToolCallRecordSchema:()=>Pe,ThinkingConfigSchema:()=>ia,TeamTaskInputSchema:()=>H0,TeamStatusInputSchema:()=>I0,TeamSpawnTeammateInputSchema:()=>N0,TeamShutdownTeammateInputSchema:()=>O0,TeamSendMessageInputSchema:()=>U0,TeamRunTaskInputSchema:()=>$0,TeamReviewOutcomeFragmentInputSchema:()=>nc,TeamReadMailboxInputSchema:()=>z0,TeamMessageType:()=>dn,TeamLogUpdateInputSchema:()=>ec,TeamListRunsInputSchema:()=>Y0,TeamListOutcomesInputSchema:()=>cc,TeamFinalizeOutcomeInputSchema:()=>oc,TeamCreateOutcomeInputSchema:()=>tc,TeamCleanupInputSchema:()=>ac,TeamCancelRunInputSchema:()=>Z0,TeamBroadcastInputSchema:()=>j0,TeamAwaitRunInputSchema:()=>X0,TeamAwaitAllRunsInputSchema:()=>J0,TeamAttachOutcomeFragmentInputSchema:()=>ic,TEAM_RUN_TEXT_PREVIEW_LIMIT:()=>K0,TEAM_RUN_MESSAGE_PREVIEW_LIMIT:()=>F0,TEAM_AWAIT_TIMEOUT_MS:()=>L0,SESSION_STATUS_VALUES:()=>cn,S3AccessKeySettingsSchema:()=>Ke,RemoteMCPServerSchema:()=>Ea,RemoteConfigSchema:()=>Ii,ReasoningEffortSchema:()=>St,RPC_TEAM_PROGRESS_EVENT_TYPE:()=>Yi,RPC_TEAM_LIFECYCLE_EVENT_TYPE:()=>Zi,REMOTE_URI_SCHEME:()=>Oi,REASONING_EFFORT_RATIOS:()=>ne,PromptUploadingSchema:()=>Ha,PLUGIN_FILE_EXTENSIONS:()=>Xt,OpenAiCompatibleSchema:()=>Ba,OpenAiCompatibleModelSchema:()=>qa,OAUTH_PROVIDER_IDS:()=>ca,ModelStatusSchema:()=>aa,ModelPricingSchema:()=>ta,ModelInfoSchema:()=>he,ModelCapabilitySchema:()=>ea,MODELS_DEV_PROVIDER_KEY_MAP:()=>Se,MODELS_DEV_PROVIDER_KEY_ENTRIES:()=>Qe,LiteLLMSchema:()=>Na,LiteLLMModelSchema:()=>Ka,HookEngine:()=>ga,GlobalInstructionsFileSchema:()=>Fe,EnterpriseTelemetrySchema:()=>$a,DEFAULT_REQUEST_HEADERS:()=>ri,DEFAULT_REASONING_EFFORT:()=>ii,DEFAULT_OUTCOME_REQUIRED_SECTIONS:()=>un,ContributionRegistry:()=>Be,ConnectorHookEventSchema:()=>It,ConnectorHookEventNameSchema:()=>sa,ConnectorEventContextSchema:()=>ua,ConnectorEventActorSchema:()=>ma,ConnectorAuthorizationRequestSchema:()=>Nt,ConnectorAuthorizationDecisionSchema:()=>Ot,ClineSettingsSchema:()=>_a,ClineModelSchema:()=>Sa,CLINE_DEFAULT_RPC_PORT:()=>Hi,CLINE_DEFAULT_RPC_ADDRESS:()=>$i,CLINE_DEBUG_PORT_BASE_ENV:()=>Za,CLINE_DEBUG_HOST_ENV:()=>Ya,CLINE_BUILD_ENV_ENV:()=>We,AwsBedrockSettingsSchema:()=>Qa,AwsBedrockModelSchema:()=>Ca,AwsBedrockCustomModelSchema:()=>Aa,ApiFormatSchema:()=>ze,ApiFormat:()=>Bt,AnthropicSchema:()=>Ia,AnthropicModelSchema:()=>Oa,AllowedMCPServerSchema:()=>Va,AgentUsageSchema:()=>Qt,AgentResultSchema:()=>a0,AgentFinishReasonSchema:()=>At,AgentConfigSchema:()=>t0,AUTH_ERROR_PATTERNS:()=>pa,APIKeySchema:()=>Vi});var ke=w(()=>{Kt();Vt();la();Zt();Jt();Ut();ei();ti();na();ci();si();oa();ui();vi();Ma();Ni();Ei();ji();on();rn();wn();Tn();Lt();mn();hn()});var Ve;var Rn=w(()=>{Ve={version:1775856416439,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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"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",family:"qwen"},"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",family:"minimax"},"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",family:"glm"},"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",family:"glm"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-05",family:"claude-opus"},"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","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-05",family:"claude-opus"},"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",family:"qwen"},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14",family:"gpt-codex"},"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",family:"minimax"},"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",family:"minimax"},"coding-glm-4.7":{id:"coding-glm-4.7",name:"Coding-GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.27,output:1.1,cacheRead:0.548,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"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",family:"glm"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.27,output:1.1,cacheRead:0.548,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"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",family:"glm"},"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",family:"deepseek"},"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",family:"deepseek"},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],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","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-11-19",family:"gemini-pro"},"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","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-11-19",family:"gemini-pro"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-15",family:"gpt"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-11-15",family:"gpt-codex"},"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","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-11-15",family:"gpt-codex"},"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","prompt-cache"],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","prompt-cache"],pricing:{input:1.1,output:5.5,cacheRead:0.11,cacheWrite:1.25},releaseDate:"2025-09-29",family:"claude-haiku"},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3.3,output:16.5,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"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",family:"qwen"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1e6,maxTokens:65000,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.075,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-09-15",family:"gemini-flash"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:2000000,maxTokens:65000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:5,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-09-15",family:"gemini-pro"},"gpt-5":{id:"gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:20,cacheRead:2.5,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt"},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5-Mini",contextWindow:200000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.5,output:6,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-mini"},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5-Nano",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.5,output:2,cacheRead:0.25,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-nano"},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5-Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:7,output:28,cacheRead:3.5,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-pro"},"Kimi-K2-0905":{id:"Kimi-K2-0905",name:"Kimi K2 0905",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:16.5,output:82.5,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"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",family:"qwen"},"qwen3-235b-a22b-instruct-2507":{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:0.28,output:1.12,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30",family:"qwen"},"qwen3-235b-a22b-thinking-2507":{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30",family:"qwen"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-nano"},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13",family:"gpt"}},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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"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","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"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","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-01",family:"claude-opus"},"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","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"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","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"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","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"claude-opus-4-0":{id:"claude-opus-4-0",name:"Claude Opus 4 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"claude-opus-4-20250514":{id:"claude-opus-4-20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"claude-sonnet-4-0":{id:"claude-sonnet-4-0",name:"Claude Sonnet 4 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"claude-sonnet-4-20250514":{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"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","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20",family:"claude-sonnet"},"claude-3-haiku-20240307":{id:"claude-3-haiku-20240307",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13",family:"claude-haiku"},"claude-3-sonnet-20240229":{id:"claude-3-sonnet-20240229",name:"Claude Sonnet 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:0.3},releaseDate:"2024-03-04",family:"claude-sonnet"},"claude-3-opus-20240229":{id:"claude-3-opus-20240229",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29",family:"claude-opus"}},baseten:{"nvidia/Nemotron-120B-A12B":{id:"nvidia/Nemotron-120B-A12B",name:"Nemotron 3 Super",contextWindow:262144,maxTokens:32678,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204000,maxTokens:10200,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"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",family:"glm"},"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",family:"kimi"},"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",family:"glm"},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:1e4,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-16",family:"glm"},"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",family:"deepseek"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"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",family:"deepseek"}},bedrock:{"minimax.minimax-m2.5":{id:"minimax.minimax-m2.5",name:"MiniMax M2.5",contextWindow:196608,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"zai.glm-5":{id:"zai.glm-5",name:"GLM-5",contextWindow:202752,maxTokens:101376,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18",family:"glm"},"nvidia.nemotron-super-3-120b":{id:"nvidia.nemotron-super-3-120b",name:"NVIDIA Nemotron 3 Super 120B A12B",contextWindow:262144,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.65,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"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",family:"devstral"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"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",family:"deepseek"},"moonshotai.kimi-k2.5":{id:"moonshotai.kimi-k2.5",name:"Kimi K2.5",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06",family:"kimi"},"qwen.qwen3-coder-next":{id:"qwen.qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06",family:"qwen"},"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","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"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","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"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","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"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","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"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",family:"glm-flash"},"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",family:"minimax"},"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",family:"nemotron"},"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",family:"glm"},"mistral.magistral-small-2509":{id:"mistral.magistral-small-2509",name:"Magistral Small 1.2",contextWindow:128000,maxTokens:40000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"magistral"},"mistral.ministral-3-3b-instruct":{id:"mistral.ministral-3-3b-instruct",name:"Ministral 3 3B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"ministral"},"mistral.mistral-large-3-675b-instruct":{id:"mistral.mistral-large-3-675b-instruct",name:"Mistral Large 3",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"mistral"},"moonshot.kimi-k2-thinking":{id:"moonshot.kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"kimi-thinking"},"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","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"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","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"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","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"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","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"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",family:"minimax"},"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","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"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","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"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","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"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","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"qwen.qwen3-vl-235b-a22b":{id:"qwen.qwen3-vl-235b-a22b",name:"Qwen/Qwen3-VL-235B-A22B-Instruct",contextWindow:262000,maxTokens:13100,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-04",family:"qwen"},"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","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"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","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"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","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"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","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"deepseek.v3-v1:0":{id:"deepseek.v3-v1:0",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:81920,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.58,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"deepseek"},"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","structured_output","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"qwen.qwen3-32b-v1:0":{id:"qwen.qwen3-32b-v1:0",name:"Qwen3 32B (dense)",contextWindow:16384,maxTokens:819,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"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","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"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","structured_output","temperature"],pricing:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"qwen.qwen3-next-80b-a3b":{id:"qwen.qwen3-next-80b-a3b",name:"Qwen/Qwen3-Next-80B-A3B-Instruct",contextWindow:262000,maxTokens:13100,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"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","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"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","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"google.gemma-3-27b-it":{id:"google.gemma-3-27b-it",name:"Google Gemma 3 27B Instruct",contextWindow:202752,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.12,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-27",family:"gemma"},"mistral.voxtral-small-24b-2507":{id:"mistral.voxtral-small-24b-2507",name:"Voxtral Small 24B 2507",contextWindow:32000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.35,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-01",family:"mistral"},"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","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"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",family:"palmyra"},"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",family:"palmyra"},"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",family:"mistral"},"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",family:"llama"},"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",family:"llama"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"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",family:"deepseek-thinking"},"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",family:"llama"},"amazon.nova-lite-v1:0":{id:"amazon.nova-lite-v1:0",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-lite"},"amazon.nova-micro-v1:0":{id:"amazon.nova-micro-v1:0",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-micro"},"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",family:"nova"},"amazon.nova-pro-v1:0":{id:"amazon.nova-pro-v1:0",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-pro"},"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",family:"nova"},"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",family:"gemma"},"mistral.ministral-3-14b-instruct":{id:"mistral.ministral-3-14b-instruct",name:"Ministral 14B 3.0",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"ministral"},"mistral.ministral-3-8b-instruct":{id:"mistral.ministral-3-8b-instruct",name:"Ministral 3 8B",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"ministral"},"mistral.voxtral-mini-3b-2507":{id:"mistral.voxtral-mini-3b-2507",name:"Voxtral Mini 3B 2507",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"mistral"},"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","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"nemotron"},"nvidia.nemotron-nano-9b-v2":{id:"nvidia.nemotron-nano-9b-v2",name:"NVIDIA Nemotron Nano 9B v2",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.06,output:0.23,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"nemotron"},"openai.gpt-oss-120b-1:0":{id:"openai.gpt-oss-120b-1:0",name:"gpt-oss-120b",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"openai.gpt-oss-20b-1:0":{id:"openai.gpt-oss-20b-1:0",name:"gpt-oss-20b",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"openai.gpt-oss-safeguard-120b":{id:"openai.gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"openai.gpt-oss-safeguard-20b":{id:"openai.gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"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","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"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",family:"llama"},"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",family:"llama"},"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",family:"llama"},"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",family:"llama"},"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",family:"llama"},"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",family:"llama"},"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",family:"llama"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20",family:"claude-sonnet"},"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",family:"claude-haiku"}},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",family:"gpt-oss"},"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",family:"qwen"},"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",family:"llama"}},deepseek:{"deepseek-chat":{id:"deepseek-chat",name:"DeepSeek Chat",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.28,output:0.42,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"deepseek-reasoner":{id:"deepseek-reasoner",name:"DeepSeek Reasoner",contextWindow:128000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.28,output:0.42,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek-thinking"}},fireworks:{"accounts/fireworks/models/qwen3p6-plus":{id:"accounts/fireworks/models/qwen3p6-plus",name:"Qwen 3.6 Plus",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-04-04",family:"qwen"},"accounts/fireworks/models/glm-5p1":{id:"accounts/fireworks/models/glm-5p1",name:"GLM 5.1",contextWindow:202800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"accounts/fireworks/models/minimax-m2p5":{id:"accounts/fireworks/models/minimax-m2p5",name:"MiniMax-M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"accounts/fireworks/models/glm-5":{id:"accounts/fireworks/models/glm-5",name:"GLM 5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"accounts/fireworks/models/kimi-k2p5":{id:"accounts/fireworks/models/kimi-k2p5",name:"Kimi K2.5",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi-thinking"},"accounts/fireworks/routers/kimi-k2p5-turbo":{id:"accounts/fireworks/routers/kimi-k2p5-turbo",name:"Kimi K2.5 Turbo (firepass)",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi-thinking"},"accounts/fireworks/models/minimax-m2p1":{id:"accounts/fireworks/models/minimax-m2p1",name:"MiniMax-M2.1",contextWindow:200000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"accounts/fireworks/models/glm-4p7":{id:"accounts/fireworks/models/glm-4p7",name:"GLM 4.7",contextWindow:198000,maxTokens:9900,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"accounts/fireworks/models/deepseek-v3p2":{id:"accounts/fireworks/models/deepseek-v3p2",name:"DeepSeek V3.2",contextWindow:160000,maxTokens:8000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.56,output:1.68,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"accounts/fireworks/models/kimi-k2-thinking":{id:"accounts/fireworks/models/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"accounts/fireworks/models/deepseek-v3p1":{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.56,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"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",family:"gpt-oss"},"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",family:"gpt-oss"},"accounts/fireworks/models/glm-4p5-air":{id:"accounts/fireworks/models/glm-4p5-air",name:"GLM 4.5 Air",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01",family:"glm-air"},"accounts/fireworks/models/glm-4p5":{id:"accounts/fireworks/models/glm-4p5",name:"GLM 4.5",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.55,output:2.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"glm"},"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",family:"kimi"}},gemini:{"gemma-4-26b-it":{id:"gemma-4-26b-it",name:"Gemma 4 26B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"gemma-4-31b-it":{id:"gemma-4-31b-it",name:"Gemma 4 31B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"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","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03",family:"gemini-flash-lite"},"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","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"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","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"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","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"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","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18",family:"gemini-pro"},"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","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"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","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash"},"gemini-flash-latest":{id:"gemini-flash-latest",name:"Gemini Flash Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash"},"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","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"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",family:"gemini-flash"},"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","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"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","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"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",family:"gemini-flash"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05",family:"gemini-pro"},"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","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-05-20",family:"gemini-flash"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06",family:"gemini-pro"},"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","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-04-17",family:"gemini-flash"},"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","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-flash"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"},"gemma-3-27b-it":{id:"gemma-3-27b-it",name:"Gemma 3 27B",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12",family:"gemma"},"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","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash"},"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",family:"gemini-flash-lite"},"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","prompt-cache"],pricing:{input:0.0375,output:0.15,cacheRead:0.01,cacheWrite:0},releaseDate:"2024-10-03",family:"gemini-flash"},"gemini-1.5-flash":{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.075,output:0.3,cacheRead:0.01875,cacheWrite:0},releaseDate:"2024-05-14",family:"gemini-flash"},"gemini-1.5-pro":{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:1.25,output:5,cacheRead:0.3125,cacheWrite:0},releaseDate:"2024-02-15",family:"gemini-pro"}},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",family:"kimi"},"groq/compound":{id:"groq/compound",name:"Compound",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04",family:"groq"},"groq/compound-mini":{id:"groq/compound-mini",name:"Compound Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04",family:"groq"},"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",family:"gpt-oss"},"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",family:"gpt-oss"},"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",family:"llama"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"Safety GPT OSS 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.075,output:0.3,cacheRead:0.037,cacheWrite:0},releaseDate:"2025-03-05",family:"gpt-oss"},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen3 32B",contextWindow:131072,maxTokens:40960,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:0.59,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-23",family:"qwen"},"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",family:"llama"},"llama-3.1-8b-instant":{id:"llama-3.1-8b-instant",name:"Llama 3.1 8B Instant",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"}},huggingface:{"zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-03",family:"glm"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"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",family:"qwen"},"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",family:"qwen"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-01",family:"kimi"},"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",family:"minimax"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"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",family:"mimo"},"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",family:"deepseek"},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"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",family:"qwen"},"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",family:"qwen"},"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",family:"kimi"},"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",family:"glm"},"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",family:"qwen"},"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",family:"qwen"},"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",family:"kimi"},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-28",family:"deepseek-thinking"}},kilo:{"z-ai/glm-5.1":{id:"z-ai/glm-5.1",name:"Z.ai: GLM 5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1.26,output:3.96,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-27"},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"MiniMax: MiniMax M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax-m2.7"},"kilo-auto/balanced":{id:"kilo-auto/balanced",name:"Kilo Auto Balanced",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/free":{id:"kilo-auto/free",name:"Kilo Auto Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/frontier":{id:"kilo-auto/frontier",name:"Kilo Auto Frontier",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/small":{id:"kilo-auto/small",name:"Kilo Auto Small",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo/auto-free":{id:"kilo/auto-free",name:"Deprecated Kilo Auto Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo/auto-small":{id:"kilo/auto-small",name:"Deprecated Kilo Auto Small",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"openrouter/auto":{id:"openrouter/auto",name:"Auto Router",contextWindow:2000000,maxTokens:32768,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"nvidia/nemotron-3-super-120b-a12b:free":{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"NVIDIA: Nemotron 3 Super (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-12"},"openrouter/healer-alpha":{id:"openrouter/healer-alpha",name:"Healer Alpha",contextWindow:262144,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-12"},"openrouter/hunter-alpha":{id:"openrouter/hunter-alpha",name:"Hunter Alpha",contextWindow:1048576,maxTokens:32000,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-12"},"x-ai/grok-4.20-beta":{id:"x-ai/grok-4.20-beta",name:"xAI: Grok 4.20 Beta",contextWindow:2000000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-12"},"bytedance-seed/seed-2.0-lite":{id:"bytedance-seed/seed-2.0-lite",name:"ByteDance Seed: Seed-2.0-Lite",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-10"},"qwen/qwen3.5-9b":{id:"qwen/qwen3.5-9b",name:"Qwen: Qwen3.5-9B",contextWindow:256000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.05,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-10"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"OpenAI: GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:2.5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-06"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"OpenAI: GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-06"},"openai/gpt-5.3-chat":{id:"openai/gpt-5.3-chat",name:"OpenAI: GPT-5.3 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools"],pricing:{input:1.75,output:14,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-04"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Google: Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-03"},"bytedance-seed/seed-2.0-mini":{id:"bytedance-seed/seed-2.0-mini",name:"ByteDance Seed: Seed-2.0-Mini",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-27"},"google/gemini-3.1-pro-preview-customtools":{id:"google/gemini-3.1-pro-preview-customtools",name:"Google: Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-122b-a10b":{id:"qwen/qwen3.5-122b-a10b",name:"Qwen: Qwen3.5-122B-A10B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:2.08,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-27b":{id:"qwen/qwen3.5-27b",name:"Qwen: Qwen3.5-27B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.195,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-35b-a3b":{id:"qwen/qwen3.5-35b-a3b",name:"Qwen: Qwen3.5-35B-A3B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1625,output:1.3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-flash-02-23":{id:"qwen/qwen3.5-flash-02-23",name:"Qwen: Qwen3.5-Flash",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"OpenAI: GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.75,output:14,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-25"},"inception/mercury-2":{id:"inception/mercury-2",name:"Inception: Mercury 2",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2026-02-24"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Google: Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","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:"Anthropic: Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-17"},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen: Qwen3.5 397B A17B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.39,output:2.34,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15"},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen: Qwen3.5 Plus 2026-02-15",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax: MiniMax M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:1.2,cacheRead:0.029,cacheWrite:0},releaseDate:"2026-02-12"},"z-ai/glm-5":{id:"z-ai/glm-5",name:"Z.ai: GLM 5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.72,output:2.3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Anthropic: Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"qwen/qwen3-coder-next":{id:"qwen/qwen3-coder-next",name:"Qwen: Qwen3 Coder Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.12,output:0.75,cacheRead:0.035,cacheWrite:0},releaseDate:"2026-02-02"},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",contextWindow:200000,maxTokens:32768,capabilities:["images","tools","reasoning","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:"StepFun: Step 3.5 Flash",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],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:"StepFun: Step 3.5 Flash (free)",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-29"},"arcee-ai/trinity-large-preview:free":{id:"arcee-ai/trinity-large-preview:free",name:"Arcee AI: Trinity Large Preview (free)",contextWindow:131000,maxTokens:26200,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"MoonshotAI: Kimi K2.5",contextWindow:262144,maxTokens:65535,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.45,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"upstage/solar-pro-3":{id:"upstage/solar-pro-3",name:"Upstage: Solar Pro 3",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"qwen/qwen3-max-thinking":{id:"qwen/qwen3-max-thinking",name:"Qwen: Qwen3 Max Thinking",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.78,output:3.9,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-23"},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"Z.ai: GLM 4.7 Flash",contextWindow:202752,maxTokens:40551,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.06,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2026-01-19"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"OpenAI: GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"allenai/olmo-3.1-32b-instruct":{id:"allenai/olmo-3.1-32b-instruct",name:"AllenAI: Olmo 3.1 32B Instruct",contextWindow:65536,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-07"},"mistralai/mistral-small-24b-instruct-2501":{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral: Mistral Small 3",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-29"},"bytedance-seed/seed-1.6-flash":{id:"bytedance-seed/seed-1.6-flash",name:"ByteDance Seed: Seed 1.6 Flash",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax: MiniMax M2.1",contextWindow:196608,maxTokens:39322,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.27,output:0.95,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-23"},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"Z.ai: GLM 4.7",contextWindow:202752,maxTokens:65535,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.38,output:1.98,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-12-22"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Google: Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0.083333},releaseDate:"2025-12-17"},"mistralai/mistral-small-creative":{id:"mistralai/mistral-small-creative",name:"Mistral: Mistral Small Creative",contextWindow:32768,maxTokens:1638,capabilities:["tools"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17"},"mistralai/ministral-14b-2512":{id:"mistralai/ministral-14b-2512",name:"Mistral: Ministral 3 14B 2512",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-16"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"Xiaomi: MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.09,output:0.29,cacheRead:0.045,cacheWrite:0},releaseDate:"2025-12-14"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"OpenAI: GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],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:"OpenAI: GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","prompt-cache"],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:"OpenAI: GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"relace/relace-search":{id:"relace/relace-search",name:"Relace: Relace Search",contextWindow:256000,maxTokens:128000,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"essentialai/rnj-1-instruct":{id:"essentialai/rnj-1-instruct",name:"EssentialAI: Rnj 1 Instruct",contextWindow:32768,maxTokens:6554,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-05"},"mistralai/ministral-3b-2512":{id:"mistralai/ministral-3b-2512",name:"Mistral: Ministral 3 3B 2512",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"mistralai/ministral-8b-2512":{id:"mistralai/ministral-8b-2512",name:"Mistral: Ministral 3 8B 2512",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"arcee-ai/trinity-mini":{id:"arcee-ai/trinity-mini",name:"Arcee AI: Trinity Mini",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.045,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12"},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek: DeepSeek V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.26,output:0.38,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-12-01"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"Prime Intellect: INTELLECT-3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Anthropic: Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],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:"xAI: Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Google: Gemini 3 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0.375},releaseDate:"2025-11-18"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"OpenAI: GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],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:"OpenAI: GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","prompt-cache"],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:"OpenAI: GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],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:"OpenAI: GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"OpenAI: GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"MoonshotAI: Kimi K2 Thinking",contextWindow:131072,maxTokens:65535,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.47,output:2,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-06"},"amazon/nova-premier-v1":{id:"amazon/nova-premier-v1",name:"Amazon: Nova Premier 1.0",contextWindow:1e6,maxTokens:32000,capabilities:["images","tools","temperature"],pricing:{input:2.5,output:12.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-01"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"OpenAI: gpt-oss-safeguard-20b",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.075,output:0.3,cacheRead:0.037,cacheWrite:0},releaseDate:"2025-10-29"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax: MiniMax M2",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.255,output:1,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-10-23"},"qwen/qwen3-vl-32b-instruct":{id:"qwen/qwen3-vl-32b-instruct",name:"Qwen: Qwen3 VL 32B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.104,output:0.416,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-21"},"openai/gpt-5-image-mini":{id:"openai/gpt-5-image-mini",name:"OpenAI: GPT-5 Image Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-16"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Anthropic: Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"qwen/qwen3-vl-8b-instruct":{id:"qwen/qwen3-vl-8b-instruct",name:"Qwen: Qwen3 VL 8B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.08,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-15"},"qwen/qwen3-vl-8b-thinking":{id:"qwen/qwen3-vl-8b-thinking",name:"Qwen: Qwen3 VL 8B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.117,output:1.365,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-15"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"OpenAI: GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:10,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-14"},"qwen/qwen3-vl-30b-a3b-thinking":{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen: Qwen3 VL 30B A3B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.13,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-11"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"OpenAI: GPT-5 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"qwen/qwen3-vl-30b-a3b-instruct":{id:"qwen/qwen3-vl-30b-a3b-instruct",name:"Qwen: Qwen3 VL 30B A3B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.13,output:0.52,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-05"},"kwaipilot/kat-coder-pro":{id:"kwaipilot/kat-coder-pro",name:"Kwaipilot: KAT-Coder-Pro V1",contextWindow:256000,maxTokens:128000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.207,output:0.828,cacheRead:0.0414,cacheWrite:0},releaseDate:"2025-09-30"},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"Z.ai: GLM 4.6",contextWindow:204800,maxTokens:10240,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.39,output:1.9,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-09-30"},"z-ai/glm-4.6v":{id:"z-ai/glm-4.6v",name:"Z.ai: GLM 4.6V",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Anthropic: Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],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:"Google: Gemini 2.5 Flash Lite Preview 09-2025",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0.083333},releaseDate:"2025-09-25"},"qwen/qwen3-vl-235b-a22b-thinking":{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen: Qwen3 VL 235B A22B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:2.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24"},"qwen/qwen3-vl-235b-a22b-instruct":{id:"qwen/qwen3-vl-235b-a22b-instruct",name:"Qwen: Qwen3 VL 235B A22B Instruct",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.88,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-23"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek: DeepSeek V3.1 Terminus",contextWindow:163840,maxTokens:32768,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.21,output:0.79,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-09-22"},"alibaba/tongyi-deepresearch-30b-a3b":{id:"alibaba/tongyi-deepresearch-30b-a3b",name:"Tongyi DeepResearch 30B A3B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.09,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"OpenAI: GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Mistral: Devstral 2 2512",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-12"},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen: Qwen3 Next 80B A3B Instruct",contextWindow:131072,maxTokens:52429,capabilities:["tools","temperature"],pricing:{input:0.09,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen: Qwen3 Next 80B A3B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.0975,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen-plus-2025-07-28":{id:"qwen/qwen-plus-2025-07-28",name:"Qwen: Qwen Plus 0728",contextWindow:1e6,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.26,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-09"},"qwen/qwen-plus-2025-07-28:thinking":{id:"qwen/qwen-plus-2025-07-28:thinking",name:"Qwen: Qwen Plus 0728 (thinking)",contextWindow:1e6,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.26,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-09"},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"MoonshotAI: Kimi K2 0905",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-09-05"},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen: Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-09-05"},"bytedance-seed/seed-1.6":{id:"bytedance-seed/seed-1.6",name:"ByteDance Seed: Seed 1.6",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09"},"meituan/longcat-flash-chat":{id:"meituan/longcat-flash-chat",name:"Meituan: LongCat Flash Chat",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.8,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-08-30"},"corethink:free":{id:"corethink:free",name:"CoreThink (free)",contextWindow:78000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-27"},"giga-potato":{id:"giga-potato",name:"Giga Potato (free)",contextWindow:256000,maxTokens:32000,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-27"},"giga-potato-thinking":{id:"giga-potato-thinking",name:"Giga Potato Thinking (free)",contextWindow:256000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-27"},"morph-warp-grep-v2":{id:"morph-warp-grep-v2",name:"Morph: WarpGrep V2",contextWindow:256000,maxTokens:32000,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-27"},"x-ai/grok-code-fast-1:optimized:free":{id:"x-ai/grok-code-fast-1:optimized:free",name:"xAI: Grok Code Fast 1 Optimized (experimental, free)",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-27"},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"xAI: Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-26"},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek: DeepSeek V3.1",contextWindow:32768,maxTokens:7168,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"xAI: Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-08-19"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"NVIDIA: Nemotron Nano 9B V2",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18"},"openai/gpt-4o-audio-preview":{id:"openai/gpt-4o-audio-preview",name:"OpenAI: GPT-4o Audio",contextWindow:128000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-15"},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral: Mistral Medium 3.1",contextWindow:131072,maxTokens:26215,capabilities:["images","tools","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:"Z.ai: GLM 4.5V",contextWindow:65536,maxTokens:16384,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:1.8,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-08-11"},"ai21/jamba-large-1.7":{id:"ai21/jamba-large-1.7",name:"AI21: Jamba Large 1.7",contextWindow:256000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:2,output:8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-09"},"openai/gpt-5":{id:"openai/gpt-5",name:"OpenAI: GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"OpenAI: GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],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:"OpenAI: GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Anthropic: Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],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:"OpenAI: gpt-oss-120b",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.039,output:0.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"OpenAI: gpt-oss-20b",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.03,output:0.14,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Mistral: Codestral 2508",contextWindow:256000,maxTokens:51200,capabilities:["tools","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:"Qwen: Qwen3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:32768,capabilities:["tools","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:"Qwen: Qwen3 30B A3B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.09,output:0.3,cacheRead:0.04,cacheWrite:0},releaseDate:"2025-07-29"},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen: Qwen3 30B A3B Thinking 2507",contextWindow:32768,maxTokens:6554,capabilities:["tools","reasoning","temperature"],pricing:{input:0.051,output:0.34,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"Z.ai: GLM 4.5",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-07-28"},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"Z.ai: GLM 4.5 Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.13,output:0.85,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-07-28"},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen: Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.11,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"z-ai/glm-4-32b":{id:"z-ai/glm-4-32b",name:"Z.ai: GLM 4 32B ",contextWindow:128000,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen: Qwen3 Coder 480B A35B",contextWindow:262144,maxTokens:52429,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.22,output:1,cacheRead:0.022,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen: Qwen3 Coder Flash",contextWindow:1e6,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.195,output:0.975,cacheRead:0.06,cacheWrite:0},releaseDate:"2025-07-23"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Google: Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.083333},releaseDate:"2025-07-17"},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"MoonshotAI: Kimi K2 0711",contextWindow:131000,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"mistralai/devstral-medium":{id:"mistralai/devstral-medium",name:"Mistral: Devstral Medium",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10"},"x-ai/grok-4":{id:"x-ai/grok-4",name:"xAI: Grok 4",contextWindow:256000,maxTokens:51200,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09"},"tngtech/deepseek-r1t2-chimera":{id:"tngtech/deepseek-r1t2-chimera",name:"TNG: DeepSeek R1T2 Chimera",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:0.85,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-07-08"},"mistralai/voxtral-small-24b-2507":{id:"mistralai/voxtral-small-24b-2507",name:"Mistral: Voxtral Small 24B 2507",contextWindow:32000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-01"},"qwen/qwen3-coder-plus":{id:"qwen/qwen3-coder-plus",name:"Qwen: Qwen3 Coder Plus",contextWindow:1e6,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.65,output:3.25,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-07-01"},"baidu/ernie-4.5-21b-a3b":{id:"baidu/ernie-4.5-21b-a3b",name:"Baidu: ERNIE 4.5 21B A3B",contextWindow:120000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.28,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-30"},"baidu/ernie-4.5-vl-28b-a3b":{id:"baidu/ernie-4.5-vl-28b-a3b",name:"Baidu: ERNIE 4.5 VL 28B A3B",contextWindow:30000,maxTokens:8000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.14,output:0.56,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-30"},"inception/mercury":{id:"inception/mercury",name:"Inception: Mercury",contextWindow:128000,maxTokens:32000,capabilities:["tools","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-26"},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral: Mistral Small 3.2 24B",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.06,output:0.18,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-06-20"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Google: Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0.083333},releaseDate:"2025-06-17"},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax: MiniMax M1",contextWindow:1e6,maxTokens:40000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.4,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17"},"google/gemini-2.5-pro-preview":{id:"google/gemini-2.5-pro-preview",name:"Google: Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-06-05"},"deepseek/deepseek-r1-0528":{id:"deepseek/deepseek-r1-0528",name:"DeepSeek: R1 0528",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.45,output:2.15,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-05-28"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Anthropic: Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],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:"Anthropic: Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"mistralai/devstral-small":{id:"mistralai/devstral-small",name:"Mistral: Devstral Small 1.1",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral: Mistral Medium 3",contextWindow:131072,maxTokens:26215,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"arcee-ai/virtuoso-large":{id:"arcee-ai/virtuoso-large",name:"Arcee AI: Virtuoso Large",contextWindow:131072,maxTokens:64000,capabilities:["tools","temperature"],pricing:{input:0.75,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-06"},"google/gemini-2.5-pro-preview-05-06":{id:"google/gemini-2.5-pro-preview-05-06",name:"Google: Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-05-06"},"openai/o4-mini-high":{id:"openai/o4-mini-high",name:"OpenAI: o4 Mini High",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:1.1,output:4.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-17"},"openai/o3":{id:"openai/o3",name:"OpenAI: o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o3-pro":{id:"openai/o3-pro",name:"OpenAI: 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:"OpenAI: o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"OpenAI: GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","temperature","prompt-cache"],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:"OpenAI: GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","temperature","prompt-cache"],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:"OpenAI: GPT-4.1 Nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04-14"},"meta-llama/llama-4-maverick":{id:"meta-llama/llama-4-maverick",name:"Meta: Llama 4 Maverick",contextWindow:1048576,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta-llama/llama-4-scout":{id:"meta-llama/llama-4-scout",name:"Meta: Llama 4 Scout",contextWindow:327680,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.08,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"qwen/qwen3-14b":{id:"qwen/qwen3-14b",name:"Qwen: Qwen3 14B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-235b-a22b-2507":{id:"qwen/qwen3-235b-a22b-2507",name:"Qwen: Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:52429,capabilities:["tools","reasoning","temperature"],pricing:{input:0.071,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-30b-a3b":{id:"qwen/qwen3-30b-a3b",name:"Qwen: Qwen3 30B A3B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.08,output:0.28,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-8b":{id:"qwen/qwen3-8b",name:"Qwen: Qwen3 8B",contextWindow:40960,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-04"},"deepseek/deepseek-chat-v3-0324":{id:"deepseek/deepseek-chat-v3-0324",name:"DeepSeek: DeepSeek V3 0324",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.77,cacheRead:0.095,cacheWrite:0},releaseDate:"2025-03-24"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Google: Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-03-20"},"nvidia/llama-3.3-nemotron-super-49b-v1.5":{id:"nvidia/llama-3.3-nemotron-super-49b-v1.5",name:"NVIDIA: Llama 3.3 Nemotron Super 49B V1.5",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-16"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Google: Gemma 3 27B",contextWindow:128000,maxTokens:65536,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.03,output:0.11,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-03-12"},"inception/mercury-coder":{id:"inception/mercury-coder",name:"Inception: Mercury Coder",contextWindow:128000,maxTokens:32000,capabilities:["tools","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-26"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"anthropic/claude-3.7-sonnet:thinking":{id:"anthropic/claude-3.7-sonnet:thinking",name:"Anthropic: Claude 3.7 Sonnet (thinking)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"mistralai/mistral-saba":{id:"mistralai/mistral-saba",name:"Mistral: Saba",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3":{id:"x-ai/grok-3",name:"xAI: Grok 3",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"xAI: Grok 3 Beta",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-mini":{id:"x-ai/grok-3-mini",name:"xAI: Grok 3 Mini",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-mini-beta":{id:"x-ai/grok-3-mini-beta",name:"xAI: Grok 3 Mini Beta",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"openai/o3-mini-high":{id:"openai/o3-mini-high",name:"OpenAI: o3 Mini High",contextWindow:200000,maxTokens:1e5,capabilities:["files","tools","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2025-01-31"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek: R1",contextWindow:64000,maxTokens:16000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.7,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek: DeepSeek V3.2 Exp",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"},"nex-agi/deepseek-v3.1-nex-n1":{id:"nex-agi/deepseek-v3.1-nex-n1",name:"Nex AGI: DeepSeek V3.1 Nex N1",contextWindow:131072,maxTokens:163840,capabilities:["tools","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"},"openai/o3-mini":{id:"openai/o3-mini",name:"OpenAI: o3 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["files","tools","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20"},"google/gemini-2.0-flash-001":{id:"google/gemini-2.0-flash-001",name:"Google: Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0.083333},releaseDate:"2024-12-11"},"google/gemini-2.0-flash-lite-001":{id:"google/gemini-2.0-flash-lite-001",name:"Google: Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"amazon/nova-lite-v1":{id:"amazon/nova-lite-v1",name:"Amazon: Nova Lite 1.0",contextWindow:300000,maxTokens:5120,capabilities:["images","tools","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"amazon/nova-micro-v1":{id:"amazon/nova-micro-v1",name:"Amazon: Nova Micro 1.0",contextWindow:128000,maxTokens:5120,capabilities:["tools","temperature"],pricing:{input:0.035,output:0.14,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"openai/o1":{id:"openai/o1",name:"OpenAI: o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","prompt-cache"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05"},"amazon/nova-pro-v1":{id:"amazon/nova-pro-v1",name:"Amazon: Nova Pro 1.0",contextWindow:300000,maxTokens:5120,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-03"},"amazon/nova-2-lite-v1":{id:"amazon/nova-2-lite-v1",name:"Amazon: Nova 2 Lite",contextWindow:1e6,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"deepseek/deepseek-chat":{id:"deepseek/deepseek-chat",name:"DeepSeek: DeepSeek V3",contextWindow:163840,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.32,output:0.89,cacheRead:0.15,cacheWrite:0},releaseDate:"2024-12-01"},"nvidia/nemotron-3-nano-30b-a3b":{id:"nvidia/nemotron-3-nano-30b-a3b",name:"NVIDIA: Nemotron 3 Nano 30B A3B",contextWindow:262144,maxTokens:52429,capabilities:["tools","reasoning","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12"},"qwen/qwen3-235b-a22b":{id:"qwen/qwen3-235b-a22b",name:"Qwen: Qwen3 235B A22B",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.455,output:1.82,cacheRead:0.15,cacheWrite:0},releaseDate:"2024-12-01"},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen: Qwen3 32B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.08,output:0.24,cacheRead:0.04,cacheWrite:0},releaseDate:"2024-12-01"},"qwen/qwq-32b":{id:"qwen/qwq-32b",name:"Qwen: QwQ 32B",contextWindow:32768,maxTokens:1638,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-28"},"openai/gpt-4o-2024-11-20":{id:"openai/gpt-4o-2024-11-20",name:"OpenAI: GPT-4o (2024-11-20)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-11-20"},"mistralai/mistral-large-2407":{id:"mistralai/mistral-large-2407",name:"Mistral Large 2407",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-19"},"mistralai/pixtral-large-2411":{id:"mistralai/pixtral-large-2411",name:"Mistral: Pixtral Large 2411",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-19"},"thedrummer/unslopnemo-12b":{id:"thedrummer/unslopnemo-12b",name:"TheDrummer: UnslopNemo 12B",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-09"},"mistralai/mistral-large-2512":{id:"mistralai/mistral-large-2512",name:"Mistral: Mistral Large 3 2512",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-01"},"qwen/qwen-turbo":{id:"qwen/qwen-turbo",name:"Qwen: Qwen-Turbo",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.0325,output:0.13,cacheRead:0.01,cacheWrite:0},releaseDate:"2024-11-01"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Anthropic: Claude 3.5 Haiku",contextWindow:200000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],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:"Anthropic: Claude 3.5 Sonnet",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:6,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-22"},"nvidia/llama-3.1-nemotron-70b-instruct":{id:"nvidia/llama-3.1-nemotron-70b-instruct",name:"NVIDIA: Llama 3.1 Nemotron 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1.2,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-12"},"thedrummer/rocinante-12b":{id:"thedrummer/rocinante-12b",name:"TheDrummer: Rocinante 12B",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.17,output:0.43,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-30"},"qwen/qwen-2.5-72b-instruct":{id:"qwen/qwen-2.5-72b-instruct",name:"Qwen2.5 72B Instruct",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.12,output:0.39,cacheRead:0,cacheWrite:0},releaseDate:"2024-09"},"qwen/qwen-2.5-7b-instruct":{id:"qwen/qwen-2.5-7b-instruct",name:"Qwen: Qwen2.5 7B Instruct",contextWindow:32768,maxTokens:6554,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-09"},"cohere/command-r-08-2024":{id:"cohere/command-r-08-2024",name:"Cohere: Command R (08-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-30"},"cohere/command-r-plus-08-2024":{id:"cohere/command-r-plus-08-2024",name:"Cohere: Command R+ (08-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-30"},"sao10k/l3.1-euryale-70b":{id:"sao10k/l3.1-euryale-70b",name:"Sao10K: Llama 3.1 Euryale 70B v2.2",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.85,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-28"},"openai/gpt-4o-2024-08-06":{id:"openai/gpt-4o-2024-08-06",name:"OpenAI: GPT-4o (2024-08-06)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-08-06"},"meta-llama/llama-3.3-70b-instruct":{id:"meta-llama/llama-3.3-70b-instruct",name:"Meta: Llama 3.3 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.32,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-01"},"mistralai/mistral-large":{id:"mistralai/mistral-large",name:"Mistral Large",contextWindow:128000,maxTokens:25600,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-24"},"mistralai/mistral-large-2411":{id:"mistralai/mistral-large-2411",name:"Mistral Large 2411",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-24"},"meta-llama/llama-3.1-8b-instruct":{id:"meta-llama/llama-3.1-8b-instruct",name:"Meta: Llama 3.1 8B Instruct",contextWindow:16384,maxTokens:819,capabilities:["tools","temperature"],pricing:{input:0.02,output:0.05,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"OpenAI: GPT-4o-mini",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},releaseDate:"2024-07-18"},"openai/gpt-4o-mini-2024-07-18":{id:"openai/gpt-4o-mini-2024-07-18",name:"OpenAI: GPT-4o-mini (2024-07-18)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-18"},"meta-llama/llama-3.1-70b-instruct":{id:"meta-llama/llama-3.1-70b-instruct",name:"Meta: Llama 3.1 70B Instruct",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-16"},"mistralai/mistral-nemo":{id:"mistralai/mistral-nemo",name:"Mistral: Mistral Nemo",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.02,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-01"},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"OpenAI: o3 Deep Research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26"},"openai/o4-mini-deep-research":{id:"openai/o4-mini-deep-research",name:"OpenAI: o4 Mini Deep Research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2024-06-26"},"sao10k/l3-euryale-70b":{id:"sao10k/l3-euryale-70b",name:"Sao10k: Llama 3 Euryale 70B v2.1",contextWindow:8192,maxTokens:409,capabilities:["tools","temperature"],pricing:{input:1.48,output:1.48,cacheRead:0,cacheWrite:0},releaseDate:"2024-06-18"},"kilo/auto":{id:"kilo/auto",name:"Kilo: Auto",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0,cacheWrite:0},releaseDate:"2024-06-01"},"openai/gpt-4o":{id:"openai/gpt-4o",name:"OpenAI: GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"},"openai/gpt-4o-2024-05-13":{id:"openai/gpt-4o-2024-05-13",name:"OpenAI: GPT-4o (2024-05-13)",contextWindow:128000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-13"},"openai/gpt-4o:extended":{id:"openai/gpt-4o:extended",name:"OpenAI: GPT-4o (extended)",contextWindow:128000,maxTokens:64000,capabilities:["images","files","tools","temperature"],pricing:{input:6,output:18,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-13"},"meta-llama/llama-3-8b-instruct":{id:"meta-llama/llama-3-8b-instruct",name:"Meta: Llama 3 8B Instruct",contextWindow:8192,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.03,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-25"},"mistralai/mixtral-8x22b-instruct":{id:"mistralai/mixtral-8x22b-instruct",name:"Mistral: Mixtral 8x22B Instruct",contextWindow:65536,maxTokens:13108,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-17"},"qwen/qwen-vl-max":{id:"qwen/qwen-vl-max",name:"Qwen: Qwen VL Max",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-08"},"qwen/qwen-max":{id:"qwen/qwen-max",name:"Qwen: Qwen-Max ",contextWindow:32768,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:1.04,output:4.16,cacheRead:0.32,cacheWrite:0},releaseDate:"2024-04-03"},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Anthropic: Claude 3 Haiku",contextWindow:200000,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-07"},"cohere/command-r7b-12-2024":{id:"cohere/command-r7b-12-2024",name:"Cohere: Command R7B (12-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:0.0375,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-02-27"},"openai/gpt-4-turbo-preview":{id:"openai/gpt-4-turbo-preview",name:"OpenAI: GPT-4 Turbo Preview",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2024-01-25"},"qwen/qwen-plus":{id:"qwen/qwen-plus",name:"Qwen: Qwen-Plus",contextWindow:1e6,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.2,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-01-25"},"mistralai/mixtral-8x7b-instruct":{id:"mistralai/mixtral-8x7b-instruct",name:"Mistral: Mixtral 8x7B Instruct",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.54,output:0.54,cacheRead:0,cacheWrite:0},releaseDate:"2023-12-10"},"openai/gpt-4-1106-preview":{id:"openai/gpt-4-1106-preview",name:"OpenAI: GPT-4 Turbo (older v1106)",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"OpenAI: GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-09-13"},"openai/gpt-3.5-turbo-16k":{id:"openai/gpt-3.5-turbo-16k",name:"OpenAI: GPT-3.5 Turbo 16k",contextWindow:16385,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:3,output:4,cacheRead:0,cacheWrite:0},releaseDate:"2023-08-28"},"openai/gpt-3.5-turbo-0613":{id:"openai/gpt-3.5-turbo-0613",name:"OpenAI: GPT-3.5 Turbo (older v0613)",contextWindow:4095,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:1,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2023-06-13"},"openai/gpt-4-0314":{id:"openai/gpt-4-0314",name:"OpenAI: GPT-4 (older v0314)",contextWindow:8191,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-05-28"},"openai/gpt-4":{id:"openai/gpt-4",name:"OpenAI: GPT-4",contextWindow:8191,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-03-14"},"openai/gpt-3.5-turbo":{id:"openai/gpt-3.5-turbo",name:"OpenAI: GPT-3.5 Turbo",contextWindow:16385,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2023-03-01"}},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",family:"gpt-oss"},"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",family:"qwen"},"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",family:"qwen"}},minimax:{"MiniMax-M2.7":{id:"MiniMax-M2.7",name:"MiniMax-M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"MiniMax-M2.7-highspeed":{id:"MiniMax-M2.7-highspeed",name:"MiniMax-M2.7-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"MiniMax-M2.5-highspeed":{id:"MiniMax-M2.5-highspeed",name:"MiniMax-M2.5-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-02-13",family:"minimax"},"MiniMax-M2.5":{id:"MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12",family:"minimax"},"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",family:"minimax"},"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",family:"minimax"}},moonshot:{"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01",family:"kimi"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"kimi-k2-thinking-turbo":{id:"kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"kimi-k2-0905-preview":{id:"kimi-k2-0905-preview",name:"Kimi K2 0905",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"kimi-k2-turbo-preview":{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2.4,output:10,cacheRead:0.6,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"kimi-k2-0711-preview":{id:"kimi-k2-0711-preview",name:"Kimi K2 0711",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-07-14",family:"kimi"}},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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15",family:"kimi"},"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","prompt-cache"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15",family:"kimi"},"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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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",family:"qwen"},"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",family:"qwen"},"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",family:"qwen"},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek-V3-0324",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],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",family:"deepseek"},"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","prompt-cache"],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","prompt-cache"],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","prompt-cache"],pricing:{input:0.03,output:0.09,cacheRead:0.003,cacheWrite:0.03},releaseDate:"2024-07-23"}},ollama:{"gemma4:31b":{id:"gemma4:31b",name:"gemma4:31b",contextWindow:262144,maxTokens:8192,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"glm-5.1":{id:"glm-5.1",name:"glm-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"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",family:"minimax"},"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",family:"nemotron"},"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",family:"qwen"},"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",family:"minimax"},"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",family:"glm"},"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",family:"qwen"},"kimi-k2.5":{id:"kimi-k2.5",name:"kimi-k2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"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",family:"minimax"},"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",family:"glm"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"gemini-3-flash-preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"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",family:"nemotron"},"devstral-2:123b":{id:"devstral-2:123b",name:"devstral-2:123b",contextWindow:262144,maxTokens:13107,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09",family:"devstral"},"devstral-small-2:24b":{id:"devstral-small-2:24b",name:"devstral-small-2:24b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09",family:"devstral"},"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",family:"rnj"},"mistral-large-3:675b":{id:"mistral-large-3:675b",name:"mistral-large-3:675b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"mistral-large"},"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",family:"cogito"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"kimi-k2-thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"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",family:"minimax"},"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",family:"glm"},"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",family:"qwen"},"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",family:"qwen"},"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",family:"qwen"},"deepseek-v3.1:671b":{id:"deepseek-v3.1:671b",name:"deepseek-v3.1:671b",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"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",family:"gpt-oss"},"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",family:"gpt-oss"},"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",family:"qwen"},"kimi-k2:1t":{id:"kimi-k2:1t",name:"kimi-k2:1t",contextWindow:262144,maxTokens:13107,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11",family:"kimi"},"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",family:"deepseek"},"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",family:"ministral"},"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",family:"ministral"},"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",family:"ministral"}},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","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-mini"},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-nano"},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"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",family:"gpt-pro"},"gpt-5.3-chat-latest":{id:"gpt-5.3-chat-latest",name:"GPT-5.3 Chat (latest)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-03-03",family:"gpt"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05",family:"gpt-codex"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05",family:"gpt-codex-spark"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"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",family:"gpt-pro"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"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","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"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",family:"gpt-pro"},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"gpt-5":{id:"gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"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",family:"o-pro"},"codex-mini-latest":{id:"codex-mini-latest",name:"Codex Mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","prompt-cache"],pricing:{input:1.5,output:6,cacheRead:0.375,cacheWrite:0},releaseDate:"2025-05-16",family:"gpt-codex-mini"},o3:{id:"o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16",family:"o"},"o4-mini":{id:"o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-nano"},"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",family:"o-pro"},"o3-mini":{id:"o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20",family:"o-mini"},o1:{id:"o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05",family:"o"},"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","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-11-20",family:"gpt"},"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","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-08-06",family:"gpt"},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"},"o3-deep-research":{id:"o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26",family:"o"},"o4-mini-deep-research":{id:"o4-mini-deep-research",name:"o4-mini-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2024-06-26",family:"o-mini"},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13",family:"gpt"},"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",family:"gpt"},"gpt-4":{id:"gpt-4",name:"GPT-4",contextWindow:8192,maxTokens:409,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06",family:"gpt"},"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",family:"gpt"}},openrouter:{"z-ai/glm-5.1":{id:"z-ai/glm-5.1",name:"GLM-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-04-07",family:"glm"},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-03",family:"gemma"},"google/gemma-4-26b-a4b-it:free":{id:"google/gemma-4-26b-a4b-it:free",name:"Gemma 4 26B A4B (free)",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-03",family:"gemma"},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Gemma 4 31B",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.14,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"google/gemma-4-31b-it:free":{id:"google/gemma-4-31b-it:free",name:"Gemma 4 31B (free)",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"qwen/qwen3.6-plus":{id:"qwen/qwen3.6-plus",name:"Qwen3.6 Plus",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.325,output:1.95,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"qwen"},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Trinity Large Thinking",contextWindow:262144,maxTokens:80000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-01",family:"trinity"},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"MiniMax M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"xiaomi/mimo-v2-omni":{id:"xiaomi/mimo-v2-omni",name:"MiMo-V2-Omni",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"MiMo-V2-Pro",contextWindow:1048576,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"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","prompt-cache"],pricing:{input:0.00000075,output:0.0000045,cacheRead:0.000000075,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-mini"},"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","prompt-cache"],pricing:{input:0.0000002,output:0.00000125,cacheRead:0.00000002,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-nano"},"mistralai/mistral-small-2603":{id:"mistralai/mistral-small-2603",name:"Mistral Small 4",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-16",family:"mistral-small"},"z-ai/glm-5-turbo":{id:"z-ai/glm-5-turbo",name:"GLM-5-Turbo",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.96,output:3.2,cacheRead:0.192,cacheWrite:0},releaseDate:"2026-03-16",family:"glm"},"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","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-12",family:"grok"},"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"nvidia/nemotron-3-super-120b-a12b:free":{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"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","prompt-cache"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt-pro"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2026-03-04",family:"mercury"},"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","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:0.083},releaseDate:"2026-03-03",family:"gemini-flash-lite"},"qwen/qwen3.5-flash-02-23":{id:"qwen/qwen3.5-flash-02-23",name:"Qwen: Qwen3.5-Flash",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.065,output:0.26,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-25",family:"qwen"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24",family:"gpt-codex"},"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",family:"gemini-pro"},"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",family:"gemini-pro"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"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",family:"qwen"},"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",family:"qwen"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"minimax/minimax-m2.5:free":{id:"minimax/minimax-m2.5:free",name:"MiniMax M2.5 (free)",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"z-ai/glm-5":{id:"z-ai/glm-5",name:"GLM-5",contextWindow:202752,maxTokens:131000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12",family:"glm"},"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","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"Step 3.5 Flash",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-01-29",family:"step"},"stepfun/step-3.5-flash:free":{id:"stepfun/step-3.5-flash:free",name:"Step 3.5 Flash (free)",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-29",family:"step"},"arcee-ai/trinity-large-preview:free":{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28",family:"trinity"},"arcee-ai/trinity-mini:free":{id:"arcee-ai/trinity-mini:free",name:"Trinity Mini",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28",family:"trinity-mini"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"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",family:"glm"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14",family:"gpt-codex"},"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",family:"minimax"},"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","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"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","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"nvidia/nemotron-3-nano-30b-a3b:free":{id:"nvidia/nemotron-3-nano-30b-a3b:free",name:"Nemotron 3 Nano 30B A3B (free)",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-14",family:"nemotron"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-12-14",family:"mimo"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"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",family:"gpt-pro"},"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",family:"deepseek"},"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",family:"deepseek"},"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","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"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","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-11-19",family:"grok"},"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",family:"gemini-pro"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"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","prompt-cache"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"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","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"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",family:"gpt-oss"},"nvidia/nemotron-nano-12b-v2-vl:free":{id:"nvidia/nemotron-nano-12b-v2-vl:free",name:"Nemotron Nano 12B 2 VL (free)",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-28",family:"nemotron"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:196600,maxTokens:118000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.28,output:1.15,cacheRead:0.28,cacheWrite:1.15},releaseDate:"2025-10-23",family:"minimax"},"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","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"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","prompt-cache"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14",family:"gpt"},"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",family:"gpt-pro"},"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","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"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","prompt-cache"],pricing:{input:0.6,output:1.9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"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","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.031,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash"},"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",family:"deepseek"},"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",family:"deepseek"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Devstral 2 2512",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12",family:"devstral"},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"qwen/qwen3-next-80b-a3b-instruct:free":{id:"qwen/qwen3-next-80b-a3b-instruct:free",name:"Qwen3 Next 80B A3B Instruct (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"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",family:"kimi"},"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",family:"kimi"},"nvidia/nemotron-nano-9b-v2:free":{id:"nvidia/nemotron-nano-9b-v2:free",name:"Nemotron Nano 9B V2 (free)",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"nemotron"},"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",family:"qwen"},"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","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-26",family:"grok"},"nousresearch/hermes-4-405b":{id:"nousresearch/hermes-4-405b",name:"Hermes 4 405B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25",family:"hermes"},"nousresearch/hermes-4-70b":{id:"nousresearch/hermes-4-70b",name:"Hermes 4 70B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25",family:"hermes"},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"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","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-08-19",family:"grok"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"nvidia-nemotron-nano-9b-v2",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18",family:"nemotron"},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral Medium 3.1",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-12",family:"mistral-medium"},"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",family:"glm"},"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",family:"gpt"},"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",family:"gpt-mini"},"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",family:"gpt-nano"},"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","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"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",family:"gpt-oss"},"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",family:"gpt-oss"},"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",family:"gpt-oss"},"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",family:"gpt-oss"},"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",family:"gpt-oss"},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Codestral 2508",contextWindow:256000,maxTokens:12800,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01",family:"codestral"},"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",family:"qwen"},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen3 30B A3B Instruct 2507",contextWindow:262000,maxTokens:13100,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"qwen"},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen3 30B A3B Thinking 2507",contextWindow:262000,maxTokens:13100,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"qwen"},"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",family:"glm"},"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",family:"glm-air"},"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",family:"qwen"},"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",family:"qwen"},"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",family:"qwen"},"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",family:"qwen"},"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",family:"qwen"},"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","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-07-17",family:"gemini-flash"},"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",family:"kimi"},"moonshotai/kimi-k2:free":{id:"moonshotai/kimi-k2:free",name:"Kimi K2 (free)",contextWindow:32800,maxTokens:1640,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11",family:"kimi"},"mistralai/devstral-medium-2507":{id:"mistralai/devstral-medium-2507",name:"Devstral Medium",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10",family:"devstral"},"mistralai/devstral-small-2507":{id:"mistralai/devstral-small-2507",name:"Devstral Small 1.1",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10",family:"devstral"},"x-ai/grok-4":{id:"x-ai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-07-09",family:"grok"},"inception/mercury":{id:"inception/mercury",name:"Mercury",contextWindow:128000,maxTokens:32000,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-26",family:"mercury"},"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",family:"mistral-small"},"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","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"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",family:"minimax"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05",family:"gemini-pro"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"mistralai/devstral-small-2505":{id:"mistralai/devstral-small-2505",name:"Devstral Small",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.06,output:0.12,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"devstral"},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral Medium 3",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"mistral-medium"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06",family:"gemini-pro"},"inception/mercury-coder":{id:"inception/mercury-coder",name:"Mercury Coder",contextWindow:128000,maxTokens:32000,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04-30",family:"mercury"},"qwen/qwen3-4b:free":{id:"qwen/qwen3-4b:free",name:"Qwen3 4B (free)",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-30",family:"qwen"},"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",family:"qwen"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"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","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"},"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",family:"mistral-small"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma 3 27B",contextWindow:96000,maxTokens:4800,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.04,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12",family:"gemma"},"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",family:"gemma"},"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","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"x-ai/grok-3":{id:"x-ai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17",family:"grok"},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"Grok 3 Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17",family:"grok"},"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","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17",family:"grok"},"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","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17",family:"grok"},"minimax/minimax-01":{id:"minimax/minimax-01",name:"MiniMax-01",contextWindow:1e6,maxTokens:50000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15",family:"minimax"},"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",family:"glm"},"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","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash"},"meta-llama/llama-3.3-70b-instruct:free":{id:"meta-llama/llama-3.3-70b-instruct:free",name:"Llama 3.3 70B Instruct (free)",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"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","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o-mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"}},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","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"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","prompt-cache"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt-pro"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24",family:"gpt-codex"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14",family:"gpt-codex"},"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","prompt-cache"],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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"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",family:"gpt-pro"},"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","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"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","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:4.5},releaseDate:"2025-11-18",family:"gemini-pro"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"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","prompt-cache"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"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","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"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","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"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","prompt-cache"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14",family:"gpt"},"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",family:"gpt-pro"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"xai/grok-4-fast":{id:"xai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.2},releaseDate:"2025-09-19",family:"grok"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:3},releaseDate:"2025-09-09",family:"grok"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:16000,maxTokens:4000,capabilities:["tools","reasoning","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"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","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"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","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0.55},releaseDate:"2025-06-17",family:"gemini-flash"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:2.375},releaseDate:"2025-06-17",family:"gemini-pro"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o Mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"}},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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"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","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"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","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"gpt-5":{id:"gpt-5",name:"gpt-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"gpt-5-mini":{id:"gpt-5-mini",name:"gpt-5-mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"gpt-5-nano":{id:"gpt-5-nano",name:"gpt-5-nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"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","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"anthropic--claude-4-opus":{id:"anthropic--claude-4-opus",name:"anthropic--claude-4-opus",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic--claude-4-sonnet":{id:"anthropic--claude-4-sonnet",name:"anthropic--claude-4-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"gpt-4.1":{id:"gpt-4.1",name:"gpt-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"gpt-4.1-mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"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","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-25",family:"gemini-flash"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-25",family:"gemini-pro"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-24",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"anthropic--claude-3-haiku":{id:"anthropic--claude-3-haiku",name:"anthropic--claude-3-haiku",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13",family:"claude-haiku"},"anthropic--claude-3-sonnet":{id:"anthropic--claude-3-sonnet",name:"anthropic--claude-3-sonnet",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-03-04",family:"claude-sonnet"},"anthropic--claude-3-opus":{id:"anthropic--claude-3-opus",name:"anthropic--claude-3-opus",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29",family:"claude-opus"}},together:{"google/gemma-4-31B-it":{id:"google/gemma-4-31B-it",name:"Gemma 4 31B Instruct",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-07",family:"gemma"},"zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1.4,output:4.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-07",family:"glm"},"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",family:"qwen"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"Qwen/Qwen3-Coder-Next-FP8":{id:"Qwen/Qwen3-Coder-Next-FP8",name:"Qwen3 Coder Next FP8",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03",family:"qwen"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"essentialai/Rnj-1-Instruct":{id:"essentialai/Rnj-1-Instruct",name:"Rnj-1 Instruct",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-05",family:"rnj"},"deepseek-ai/DeepSeek-V3-1":{id:"deepseek-ai/DeepSeek-V3-1",name:"DeepSeek V3.1",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:1.7,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"Qwen/Qwen3-235B-A22B-Instruct-2507-tput":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507-tput",name:"Qwen3 235B A22B Instruct 2507 FP8",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:1.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20",family:"deepseek"},"meta-llama/Llama-3.3-70B-Instruct-Turbo":{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:0.88,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"}},"vercel-ai-gateway":{"alibaba/qwen3.6-plus":{id:"alibaba/qwen3.6-plus",name:"Qwen 3.6 Plus",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.09999999999999999,cacheWrite:0.625},releaseDate:"2026-04-02",family:"qwen"},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B IT",contextWindow:262144,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.13,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Gemma 4 31B IT",contextWindow:262144,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.14,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Trinity Large Thinking",contextWindow:262100,maxTokens:80000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.8999999999999999,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-01",family:"trinity"},"zai/glm-5v-turbo":{id:"zai/glm-5v-turbo",name:"GLM 5V Turbo",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"kwaipilot/kat-coder-pro-v2":{id:"kwaipilot/kat-coder-pro-v2",name:"Kat Coder Pro V2",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-27",family:"kat-coder"},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"Minimax M2.7",contextWindow:204800,maxTokens:131000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"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","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"MiMo V2 Pro",contextWindow:1e6,maxTokens:128000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"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","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt"},"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","prompt-cache"],pricing:{input:0.19999999999999998,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt"},"mistral/mistral-small":{id:"mistral/mistral-small",name:"Mistral Small (latest)",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-16",family:"mistral-small"},"zai/glm-5-turbo":{id:"zai/glm-5-turbo",name:"GLM 5 Turbo",contextWindow:202800,maxTokens:131100,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-15",family:"glm"},"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",family:"glm"},"xai/grok-4.20-multi-agent-beta":{id:"xai/grok-4.20-multi-agent-beta",name:"Grok 4.20 Multi Agent Beta",contextWindow:2000000,maxTokens:1e5,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11",family:"grok"},"xai/grok-4.20-non-reasoning-beta":{id:"xai/grok-4.20-non-reasoning-beta",name:"Grok 4.20 Beta Non-Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11",family:"grok"},"xai/grok-4.20-reasoning-beta":{id:"xai/grok-4.20-reasoning-beta",name:"Grok 4.20 Beta Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11",family:"grok"},"xai/grok-4.20-multi-agent":{id:"xai/grok-4.20-multi-agent",name:"Grok 4.20 Multi-Agent",contextWindow:2000000,maxTokens:1e5,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"xai/grok-4.20-non-reasoning":{id:"xai/grok-4.20-non-reasoning",name:"Grok 4.20 Non-Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"xai/grok-4.20-reasoning":{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT 5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"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",family:"gpt"},"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","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03",family:"gemini"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-03-03",family:"gpt"},"alibaba/qwen3.5-flash":{id:"alibaba/qwen3.5-flash",name:"Qwen 3.5 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.001,cacheWrite:0.125},releaseDate:"2026-02-24",family:"qwen"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.024999999999999998,cacheWrite:0},releaseDate:"2026-02-24",family:"mercury"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24",family:"gpt"},"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","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"alibaba/qwen3.5-plus":{id:"alibaba/qwen3.5-plus",name:"Qwen 3.5 Plus",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2.4,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2026-02-16",family:"qwen"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12",family:"minimax"},"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","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12",family:"minimax"},"zai/glm-5":{id:"zai/glm-5",name:"GLM-5",contextWindow:202800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12",family:"glm"},"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","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02",family:"claude-opus"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-26",family:"kimi"},"zai/glm-4.7":{id:"zai/glm-4.7",name:"GLM 4.7",contextWindow:202752,maxTokens:120000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.43,output:1.75,cacheRead:0.08,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"google/gemini-3-flash":{id:"google/gemini-3-flash",name:"Gemini 3 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"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",family:"mimo"},"mistral/devstral-2":{id:"mistral/devstral-2",name:"Devstral 2",contextWindow:256000,maxTokens:12800,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09",family:"devstral"},"deepseek/deepseek-v3.2-thinking":{id:"deepseek/deepseek-v3.2-thinking",name:"DeepSeek V3.2 Thinking",contextWindow:128000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.28,output:0.42,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek-thinking"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12",family:"gpt-codex"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"INTELLECT 3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26",family:"intellect"},"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","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:18.75},releaseDate:"2025-11-24",family:"claude-opus"},"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","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18",family:"gemini-pro"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:216144,maxTokens:10807,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.47,output:2,cacheRead:0.14,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"moonshotai/kimi-k2-thinking-turbo":{id:"moonshotai/kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262114,maxTokens:13105,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:262114,maxTokens:13105,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.27,output:1.15,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27",family:"minimax"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27",family:"minimax"},"minimax/minimax-m2.1-lightning":{id:"minimax/minimax-m2.1-lightning",name:"MiniMax M2.1 Lightning",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:2.4,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27",family:"minimax"},"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","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"bytedance/seed-1.8":{id:"bytedance/seed-1.8",name:"Seed 1.8",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-10",family:"seed"},"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",family:"glm"},"zai/glm-4.6v":{id:"zai/glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.9,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"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",family:"glm"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek V3.2 Exp",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29",family:"deepseek"},"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","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"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","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.383},releaseDate:"2025-09-25",family:"gemini-flash"},"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",family:"qwen"},"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",family:"qwen"},"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",family:"qwen"},"alibaba/qwen3-max-preview":{id:"alibaba/qwen3-max-preview",name:"Qwen3 Max Preview",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-09-23",family:"qwen"},"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",family:"longcat"},"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",family:"deepseek"},"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","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19",family:"grok"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"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",family:"qwen"},"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",family:"qwen"},"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",family:"kimi"},"bytedance/seed-1.6":{id:"bytedance/seed-1.6",name:"Seed 1.6",contextWindow:256000,maxTokens:32000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09",family:"seed"},"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",family:"longcat"},"xai/grok-code-fast-1":{id:"xai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28",family:"grok"},"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",family:"deepseek"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"Nvidia Nemotron Nano 9B V2",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18",family:"nemotron"},"zai/glm-4.5v":{id:"zai/glm-4.5v",name:"GLM 4.5V",contextWindow:66000,maxTokens:3300,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11",family:"glm"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-chat":{id:"openai/gpt-5-chat",name:"GPT-5 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"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",family:"gpt"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"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","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"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",family:"gpt"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"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",family:"gpt-oss"},"zai/glm-4.5":{id:"zai/glm-4.5",name:"GLM 4.5",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm"},"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",family:"glm-air"},"alibaba/qwen3-coder-plus":{id:"alibaba/qwen3-coder-plus",name:"Qwen3 Coder Plus",contextWindow:1e6,maxTokens:50000,capabilities:["tools","temperature"],pricing:{input:1,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"alibaba/qwen3-coder-next":{id:"alibaba/qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22",family:"qwen"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"xai/grok-4-fast-reasoning":{id:"xai/grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning",contextWindow:2000000,maxTokens:256000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"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","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"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","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"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","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"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",family:"v0"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"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","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"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",family:"v0"},"openai/codex-mini":{id:"openai/codex-mini",name:"Codex Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.5,output:6,cacheRead:0.38,cacheWrite:0},releaseDate:"2025-05-16",family:"gpt-codex-mini"},"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","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-05-16",family:"gpt"},"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",family:"devstral"},"mistral/devstral-small-2":{id:"mistral/devstral-small-2",name:"Devstral Small 2",contextWindow:256000,maxTokens:12800,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"devstral"},"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",family:"mistral-medium"},"openai/o3":{id:"openai/o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16",family:"o"},"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",family:"o-pro"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"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","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-nano"},"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",family:"llama"},"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",family:"llama"},"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",family:"qwen"},"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",family:"qwen"},"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",family:"qwen"},"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",family:"qwen"},"alibaba/qwen3-235b-a22b-thinking":{id:"alibaba/qwen3-235b-a22b-thinking",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262114,maxTokens:13105,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"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",family:"qwen"},"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",family:"qwen"},"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","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-flash"},"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","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"},"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",family:"magistral-medium"},"mistral/magistral-small":{id:"mistral/magistral-small",name:"Magistral Small",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17",family:"magistral-small"},"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",family:"command"},"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",family:"mercury"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"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",family:"sonar"},"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",family:"sonar-pro"},"xai/grok-3":{id:"xai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"xai/grok-3-fast":{id:"xai/grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"xai/grok-3-mini":{id:"xai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"xai/grok-3-mini-fast":{id:"xai/grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"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",family:"deepseek-thinking"},"alibaba/qwen3-max-thinking":{id:"alibaba/qwen3-max-thinking",name:"Qwen 3 Max Thinking",contextWindow:256000,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-01",family:"qwen"},"arcee-ai/trinity-large-preview":{id:"arcee-ai/trinity-large-preview",name:"Trinity Large Preview",contextWindow:131000,maxTokens:6550,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01",family:"trinity"},"zai/glm-4.7-flashx":{id:"zai/glm-4.7-flashx",name:"GLM 4.7 FlashX",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.06,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-01",family:"glm-flash"},"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",family:"deepseek"},"openai/o3-mini":{id:"openai/o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20",family:"o-mini"},"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","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash"},"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",family:"gemini-flash-lite"},"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",family:"llama"},"openai/o1":{id:"openai/o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05",family:"o"},"amazon/nova-lite":{id:"amazon/nova-lite",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-lite"},"amazon/nova-micro":{id:"amazon/nova-micro",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-micro"},"amazon/nova-pro":{id:"amazon/nova-pro",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-pro"},"nvidia/nemotron-nano-12b-v2-vl":{id:"nvidia/nemotron-nano-12b-v2-vl",name:"Nvidia Nemotron Nano 12B V2 VL",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12",family:"nemotron"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"gpt-oss-safeguard-20b",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.08,output:0.3,cacheRead:0.04,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"mistral/pixtral-large":{id:"mistral/pixtral-large",name:"Pixtral Large (latest)",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-01",family:"pixtral"},"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","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"mistral/ministral-3b":{id:"mistral/ministral-3b",name:"Ministral 3B (latest)",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01",family:"ministral"},"mistral/ministral-8b":{id:"mistral/ministral-8b",name:"Ministral 8B (latest)",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01",family:"ministral"},"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",family:"llama"},"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",family:"llama"},"mistral/pixtral-12b":{id:"mistral/pixtral-12b",name:"Pixtral 12B",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-01",family:"pixtral"},"xai/grok-2-vision":{id:"xai/grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"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",family:"llama"},"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",family:"llama"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"},"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",family:"mistral-nemo"},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26",family:"o"},"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",family:"claude-sonnet"},"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",family:"codestral"},"openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13",family:"gpt"},"mistral/mixtral-8x22b-instruct":{id:"mistral/mixtral-8x22b-instruct",name:"Mixtral 8x22B",contextWindow:64000,maxTokens:3200,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-17",family:"mixtral"},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13",family:"claude-haiku"},"anthropic/claude-3-opus":{id:"anthropic/claude-3-opus",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29",family:"claude-opus"},"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",family:"gpt"}},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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"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","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"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","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"claude-opus-4@20250514":{id:"claude-opus-4@20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"claude-sonnet-4@20250514":{id:"claude-sonnet-4@20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"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","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"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","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"}},wandb:{"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8":{id:"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8",name:"NVIDIA Nemotron 3 Super 120B",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"zai-org/GLM-5-FP8":{id:"zai-org/GLM-5-FP8",name:"GLM 5",contextWindow:200000,maxTokens:1e4,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:2.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:161000,maxTokens:8050,capabilities:["tools","structured_output","temperature"],pricing:{input:0.55,output:1.65,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"gpt-oss-120b",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"gpt-oss-20b",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3 30B A3B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"qwen"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"OpenPipe/Qwen3-14B-Instruct":{id:"OpenPipe/Qwen3-14B-Instruct",name:"OpenPipe Qwen3 14B Instruct",contextWindow:32768,maxTokens:1638,capabilities:["tools","structured_output","temperature"],pricing:{input:0.05,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-29",family:"qwen"},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28",family:"qwen"},"meta-llama/Llama-4-Scout-17B-16E-Instruct":{id:"meta-llama/Llama-4-Scout-17B-16E-Instruct",name:"Llama 4 Scout 17B 16E Instruct",contextWindow:64000,maxTokens:3200,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-31",family:"llama"},"microsoft/Phi-4-mini-instruct":{id:"microsoft/Phi-4-mini-instruct",name:"Phi-4-mini-instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.08,output:0.35,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11",family:"phi"},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.71,output:0.71,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"meta-llama/Llama-3.1-70B-Instruct":{id:"meta-llama/Llama-3.1-70B-Instruct",name:"Llama 3.1 70B",contextWindow:128000,maxTokens:6400,capabilities:["tools","structured_output","temperature"],pricing:{input:0.8,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"meta-llama/Llama-3.1-8B-Instruct":{id:"meta-llama/Llama-3.1-8B-Instruct",name:"Meta-Llama-3.1-8B-Instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"}},xai:{"grok-4.20-0309-non-reasoning":{id:"grok-4.20-0309-non-reasoning",name:"Grok 4.20 (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"grok-4.20-0309-reasoning":{id:"grok-4.20-0309-reasoning",name:"Grok 4.20 (Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"grok-4-1-fast":{id:"grok-4-1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19",family:"grok"},"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","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19",family:"grok"},"grok-4-fast":{id:"grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19",family:"grok"},"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","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19",family:"grok"},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28",family:"grok"},"grok-4":{id:"grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"grok-3":{id:"grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-fast":{id:"grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-fast-latest":{id:"grok-3-fast-latest",name:"Grok 3 Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-latest":{id:"grok-3-latest",name:"Grok 3 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini":{id:"grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini-fast":{id:"grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"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","prompt-cache"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini-latest":{id:"grok-3-mini-latest",name:"Grok 3 Mini Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-2-1212":{id:"grok-2-1212",name:"Grok 2 (1212)",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-12-12",family:"grok"},"grok-beta":{id:"grok-beta",name:"Grok Beta",contextWindow:131072,maxTokens:4096,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01",family:"grok-beta"},"grok-vision-beta":{id:"grok-vision-beta",name:"Grok Vision Beta",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01",family:"grok-vision"},"grok-2":{id:"grok-2",name:"Grok 2",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-latest":{id:"grok-2-latest",name:"Grok 2 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-vision":{id:"grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-vision-1212":{id:"grok-2-vision-1212",name:"Grok 2 Vision (1212)",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-vision-latest":{id:"grok-2-vision-latest",name:"Grok 2 Vision Latest",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"}},xiaomi:{"mimo-v2-omni":{id:"mimo-v2-omni",name:"MiMo-V2-Omni",contextWindow:256000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"mimo-v2-pro":{id:"mimo-v2-pro",name:"MiMo-V2-Pro",contextWindow:1e6,maxTokens:128000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"mimo-v2-flash":{id:"mimo-v2-flash",name:"MiMo-V2-Flash",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-12-16",family:"mimo"}},zai:{"glm-5v-turbo":{id:"glm-5v-turbo",name:"glm-5v-turbo",contextWindow:200000,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"glm-5.1":{id:"glm-5.1",name:"GLM-5.1",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"glm-5-turbo":{id:"glm-5-turbo",name:"GLM-5-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-16",family:"glm"},"glm-5":{id:"glm-5",name:"GLM-5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"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",family:"glm-flash"},"glm-4.7-flashx":{id:"glm-4.7-flashx",name:"GLM-4.7-FlashX",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.07,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2026-01-19",family:"glm-flash"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"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",family:"glm"},"glm-4.6":{id:"glm-4.6",name:"GLM-4.6",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"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",family:"glm"},"glm-4.5":{id:"glm-4.5",name:"GLM-4.5",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-07-28",family:"glm"},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM-4.5-Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.1,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-air"},"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",family:"glm-flash"}}}}});function yn(e){if(!e)return Number.NEGATIVE_INFINITY;let a=Date.parse(e);return Number.isNaN(a)?Number.NEGATIVE_INFINITY:a}function ce(e){return Object.fromEntries(Object.entries(e).sort(([a,t],[i,n])=>{let o=yn(t.releaseDate),c=yn(n.releaseDate);if(o!==c)return c-o;return a.localeCompare(i)}))}function vc(e){let a=[];if(e.modalities?.input?.includes("image"))a.push("images");if(e.modalities?.input?.includes("pdf"))a.push("files");if(e.tool_call===!0)a.push("tools");if(e.reasoning===!0)a.push("reasoning");if(e.structured_output===!0)a.push("structured_output");if(e.temperature===!0)a.push("temperature");if((e.cost?.cache_read??0)>0)a.push("prompt-cache");return a}function Gc(e){if(e==="active"||e==="preview"||e==="deprecated"||e==="legacy")return e;return}function Mc(e,a){let t=a.limit?.context??4096,i=a.limit?.output??4096,n=t===i?i*0.05:i;return{id:e,name:a.name||e,contextWindow:t,maxTokens:Math.floor(n),capabilities:vc(a),pricing:{input:a.cost?.input??0,output:a.cost?.output??0,cacheRead:a.cost?.cache_read??0,cacheWrite:a.cost?.cache_write??0},status:Gc(a.status),releaseDate:a.release_date,family:a.family}}function Pc(e){return e.status==="deprecated"}function qc(e,a){let t={};for(let[i,n]of Object.entries(a)){let o=e[i];if(!o?.models)continue;let c={};for(let[s,d]of Object.entries(o.models)){if(d.tool_call!==!0||Pc(d))continue;c[s]=Mc(s,d)}if(Object.keys(c).length>0)t[n]=ce(c)}return t}async function vn(e,a,t=fetch){let i=await t(e);if(!i.ok)throw Error(`Failed to load model catalog from ${e}: HTTP ${i.status}`);let n=await i.json();return qc(n,a)}var Pn={};L(Pn,{getGeneratedProviderModels:()=>Bc,getGeneratedModelsVersion:()=>Cc,getGeneratedModelsForProvider:()=>be});function Bc(){return Gn??=Object.fromEntries(Object.entries(Ve.providers).map(([e,a])=>[e,ce(a)])),Gn}function Cc(){return Ve.version}function be(e){let a=Mn.get(e);if(a)return a;let t=ce(Ve.providers[e]??{});return Mn.set(e,t),t}var Gn,Mn;var Ee=w(()=>{Rn();Mn=new Map});function q(e){let a=e.trim();return gr[a]??a}var He,gr,On;var $e=w(()=>{((h)=>{h.ANTHROPIC="anthropic";h.CLAUDE_CODE="claude-code";h.CLINE="cline";h.OPENAI_NATIVE="openai-native";h.OPENAI_CODEX="openai-codex";h.OPENCODE="opencode";h.BEDROCK="bedrock";h.VERTEX="vertex";h.GEMINI="gemini";h.OLLAMA="ollama";h.LMSTUDIO="lmstudio";h.DEEPSEEK="deepseek";h.XAI="xai";h.TOGETHER="together";h.FIREWORKS="fireworks";h.GROQ="groq";h.CEREBRAS="cerebras";h.SAMBANOVA="sambanova";h.NEBIUS="nebius";h.BASETEN="baseten";h.REQUESTY="requesty";h.LITELLM="litellm";h.HUGGINGFACE="huggingface";h.VERCEL_AI_GATEWAY="vercel-ai-gateway";h.AIHUBMIX="aihubmix";h.HICAP="hicap";h.NOUS_RESEARCH="nousResearch";h.HUAWEI_CLOUD_MAAS="huawei-cloud-maas";h.WANDB="wandb";h.XIAOMI="xiaomi";h.KILO="kilo";h.QWEN="qwen";h.QWEN_CODE="qwen-code";h.DOUBAO="doubao";h.MISTRAL="mistral";h.MOONSHOT="moonshot";h.ASKSAGE="asksage";h.ZAI="zai";h.MINIMAX="minimax";h.DIFY="dify";h.OCA="oca";h.SAPAICORE="sapaicore";h.OPENROUTER="openrouter"})(He||={});gr={openai:"openai-native",togetherai:"together","sap-ai-core":"sapaicore"},On=Object.values(He)});var io={};L(io,{resetLangfuseTelemetryForTests:()=>fr,hasLangfuseTelemetryConfig:()=>ao,ensureLangfuseTelemetry:()=>wr,disposeLangfuseTelemetry:()=>to,debugLangfuse:()=>I});function eo(){let e=process?.env,a=e?.LANGFUSE_BASE_URL?.trim(),t=e?.LANGFUSE_PUBLIC_KEY?.trim(),i=e?.LANGFUSE_SECRET_KEY?.trim();if(!a||!t||!i)return;return{baseUrl:a,publicKey:t,secretKey:i}}function ao(){return eo()!==void 0}async function wr(e){if(!ao())return!1;if(j!==void 0)return I(`cached readiness=${String(j)}`),j;if(!Ze)Ze=Wr();return j=await Ze,I(`initialized readiness=${String(j)}`),j}async function Wr(){let{registerDisposable:e}=await Promise.resolve().then(() => (ke(),Dn));e(to);let a=eo();if(!a)return!1;try{let[{LangfuseSpanProcessor:t},{trace:i},{NodeTracerProvider:n}]=await Promise.all([import("@langfuse/otel"),import("@opentelemetry/api"),import("@opentelemetry/sdk-trace-node")]),o=new t({baseUrl:a.baseUrl,publicKey:a.publicKey,secretKey:a.secretKey});I(`creating span processor baseUrl=${a.baseUrl}`);let c=i.getTracerProvider();if(typeof c?.addSpanProcessor==="function"){c.addSpanProcessor(o);let x=zn(i);return I(`attached processor to existing tracer provider delegateReady=${String(x)}`),x}let s=c?.constructor?.name;if(s&&s!=="ProxyTracerProvider"&&s!=="NoopTracerProvider")return!1;new n({spanProcessors:[o]}).register();let u=zn(i);return I(`registered NodeTracerProvider delegateReady=${String(u)}`),u}catch(t){return I(`initialization failed error=${t instanceof Error?t.message:String(t)}`),!1}}function zn(e){let i=e.getTracerProvider().getDelegate?.()?.constructor?.name;return Boolean(i&&i!=="NoopTracerProvider")}async function kr(){try{let{trace:e}=await import("@opentelemetry/api");await e.getTracerProvider().getDelegate?.()?.forceFlush?.(),I("forceFlush completed")}catch(e){I(`forceFlush failed error=${e instanceof Error?e.message:String(e)}`)}}async function to(){try{await kr();let{trace:e}=await import("@opentelemetry/api");await e.getTracerProvider().getDelegate?.()?.shutdown?.(),I("shutdown completed")}catch(e){I(`shutdown failed error=${e instanceof Error?e.message:String(e)}`)}}function I(e){if(!br())return;console.warn(`[langfuse-debug] ${e}`)}function br(){let e=process.env.CLINE_DEBUG_LANGFUSE;if(!e)return!1;let a=e.trim().toLowerCase();return a==="1"||a==="true"||a==="yes"}function fr(){j=void 0,Ze=void 0}var j,Ze;async function Q(e){let a=e.apiKey?.trim();if(a)return a;let i=(await e.apiKeyResolver?.())?.trim();if(i)return i;for(let n of e.apiKeyEnv??[]){let o=Dr(n);if(o)return o}return}function no(e,a){let t=q(e),i=a?.filter((o)=>o.trim().length>0)??[],n=i.length>0?i.join(", "):"provider-specific API key env var";return`Missing API key for provider "${t}". Set apiKey explicitly or one of: ${n}.`}function Tr(e){if(!e)return!1;for(let[a,t]of Object.entries(e))if(a.toLowerCase()==="authorization"&&String(t).trim())return!0;return!1}function oo(e,a){if(Tr(a.headers))return!0;return q(e)==="lmstudio"}function Dr(e){let a=globalThis.process?.env;if(!a)return;let t=a[e];if(typeof t!=="string")return;let i=t.trim();return i.length>0?i:void 0}var $=w(()=>{$e()});var co={};L(co,{createOpenAIProviderModule:()=>yr});import{createOpenAI as Rr}from"@ai-sdk/openai";async function yr(e,a){let t=await Q(e),i=Rr({apiKey:t,headers:e.headers,fetch:e.fetch,name:a.provider.id});return{model:(n)=>i.responses(n)}}var ro=w(()=>{$()});var po={};L(po,{createOpenAICompatibleProviderModule:()=>Gr});import{createOpenAICompatible as vr}from"@ai-sdk/openai-compatible";async function Gr(e,a){let t=await Q(e);if(!t&&!oo(a.provider.id,e))throw Error(no(a.provider.id,a.provider.apiKeyEnv));let i=vr({name:a.provider.id,apiKey:t,...e.baseUrl?{baseURL:e.baseUrl}:{},...e.headers?{headers:e.headers}:{},...e.fetch?{fetch:e.fetch}:{},includeUsage:!0});return{model:(n)=>i(n)}}var so=w(()=>{$()});var mo={};L(mo,{createAnthropicProviderModule:()=>Pr});import{createAnthropic as Mr}from"@ai-sdk/anthropic";async function Pr(e,a){let t=await Q(e),i=Mr({apiKey:t,headers:e.headers,fetch:e.fetch,name:a.provider.id});return{model:(n)=>i(n)}}var uo=w(()=>{$()});var lo={};L(lo,{createGoogleProviderModule:()=>Br});import{createGoogleGenerativeAI as qr}from"@ai-sdk/google";async function Br(e,a){let t=await Q(e),i=qr({apiKey:t,headers:e.headers,fetch:e.fetch,name:a.provider.id});return{model:(n)=>i(n)}}var go=w(()=>{$()});var ho={};L(ho,{createVertexProviderModule:()=>Qr});import{createVertex as Cr}from"@ai-sdk/google-vertex";import{createVertexAnthropic as Ar}from"@ai-sdk/google-vertex/anthropic";async function Qr(e,a){let t=String(e.options?.project??e.options?.projectId??""),i=String(e.options?.location??e.options?.region??"us-central1");if(a.model.id.toLowerCase().includes("claude")){let o=Ar({project:t,location:i,baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch});return{model:(c)=>o(c)}}let n=Cr({project:t,location:i,apiKey:await Q(e),baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch});return{model:(o)=>n(o)}}var xo=w(()=>{$()});var wo={};L(wo,{createBedrockProviderModule:()=>_r});import{createAmazonBedrock as Sr}from"@ai-sdk/amazon-bedrock";async function _r(e){let a=typeof e.options?.credentialProvider==="function"?e.options.credentialProvider:void 0,t=Sr({region:e.options?.region,apiKey:await Q(e),accessKeyId:e.options?.accessKeyId,secretAccessKey:e.options?.secretAccessKey,sessionToken:e.options?.sessionToken,baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch,credentialProvider:a});return{model:(i)=>t(i)}}var Wo=w(()=>{$()});var ko={};L(ko,{createMistralProviderModule:()=>Fr});import{createMistral as Lr}from"@ai-sdk/mistral";async function Fr(e){let a=Lr({apiKey:await Q(e),baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch});return{model:(t)=>a(t)}}var bo=w(()=>{$()});var Te={};L(Te,{createOpenCodeProviderModule:()=>Hr,createOpenAICodexProviderModule:()=>Er,createDifyProviderModule:()=>$r,createClaudeCodeProviderModule:()=>Vr});import{createClaudeCode as Kr}from"ai-sdk-provider-claude-code";import{createCodexExec as Nr}from"ai-sdk-provider-codex-cli";import{createOpencode as Or}from"ai-sdk-provider-opencode-sdk";import{createDifyProvider as Ir}from"dify-ai-provider";function Xe(e){return e.options??{}}async function Vr(e){let a=Kr(Xe(e));return{model:(t)=>a(t)}}async function Er(e){let a=Nr(Xe(e));return{model:(t)=>a(t)}}async function Hr(e){let a=Or(Xe(e));return{model:(t)=>a(t)}}async function $r(e){let a=await Q(e),t=Ir({baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch,...Xe(e)});return{model:(i)=>t(i,{apiKey:a})}}var De=w(()=>{$()});var N={};L(N,{createVertexProvider:()=>dt,createOpenCodeProvider:()=>Wt,createOpenAIProvider:()=>st,createOpenAICompatibleProvider:()=>mt,createOpenAICodexProvider:()=>wt,createMistralProvider:()=>ht,createGoogleProvider:()=>lt,createDifyProvider:()=>kt,createClaudeCodeProvider:()=>xt,createBedrockProvider:()=>gt,createAnthropicProvider:()=>ut});import{streamText as Yr}from"ai";import{nanoid as Zr}from"nanoid";import{z as Xr}from"zod";function z(e){let a=e.model.metadata?.family;return typeof a==="string"?a:void 0}function se(e){if(typeof e.family==="string")return e.family.toLowerCase().includes("claude");return Jr(e.modelId)}function Jr(e){if(!e)return!1;let a=e.toLowerCase();return a.startsWith("anthropic/")||a.startsWith("claude-")||a.includes("/claude-")}function yo(e){return e.replace(/-([a-z0-9])/gi,(a,t)=>t.toUpperCase())}function pe(){return{cache_control:{type:"ephemeral"}}}function fo(e,a){let t={openaiCompatible:pe(),[e]:pe()},i=yo(e);if(i!==e)t[i]=pe();if(a)t.anthropic=pe();return t}function Ur(e,a,t){if(!e)return;let i=e.content;if(typeof i==="string"){e.content=[{type:"text",text:i,providerOptions:fo(a,t)}];return}if(!Array.isArray(i))return;for(let n=i.length-1;n>=0;n--){let o=i[n];if(o&&typeof o==="object"&&o.type==="text"){i[n]={...o,providerOptions:fo(a,t)};return}}}function jr(e,a,t){let i=Go(e.messages,t),n=se({modelId:e.modelId,family:z(a)});for(let o=i.length-1;o>=0;o--)if(i[o]?.role==="user"){Ur(i[o],e.providerId,n);break}return i}function zr(e,a){return se({modelId:e.modelId,family:z(a)})}function vo(e){if(typeof e.explicitBudgetTokens==="number"&&e.explicitBudgetTokens>0)return e.explicitBudgetTokens;if(!e.modelId&&!e.family||!se({modelId:e.modelId,family:e.family})||!e.effort||typeof e.maxTokens!=="number"||e.maxTokens<=1024)return;let t={low:0.2,medium:0.5,high:0.8}[e.effort];if(!t)return;let i=Math.min(e.maxTokens-1,128000);return Math.max(1024,Math.floor(i*t))}function ep(e,a){if(!se({modelId:e.modelId,family:z(a)})||!e.reasoning?.enabled&&!e.reasoning?.effort&&typeof e.reasoning?.budgetTokens!=="number")return;let t=vo({modelId:e.modelId,family:z(a),effort:e.reasoning?.effort,maxTokens:e.maxTokens,explicitBudgetTokens:e.reasoning?.budgetTokens}),i={};if(e.reasoning?.enabled===!0)i.enabled=!0;if(typeof t==="number"&&t>=0)i.max_tokens=t;else if(e.reasoning?.effort)i.effort=e.reasoning.effort;else if(e.reasoning?.budgetTokens===0)i.max_tokens=0;return Object.keys(i).length>0?i:void 0}function ap(e,a){if(!e.reasoning?.enabled&&!e.reasoning?.effort&&typeof e.reasoning?.budgetTokens!=="number")return;let t=se({modelId:e.modelId,family:z(a)})?vo({modelId:e.modelId,family:z(a),effort:e.reasoning?.effort,maxTokens:e.maxTokens,explicitBudgetTokens:e.reasoning?.budgetTokens}):e.reasoning?.budgetTokens,i={...e.reasoning?.enabled===!0||e.reasoning?.effort?{enabled:!0}:{},...e.reasoning?.effort?{effort:e.reasoning.effort}:{}};if(typeof t==="number"&&t>=0)i.max_tokens=t;return Object.keys(i).length>0?i:void 0}async function tp(e){try{return(await Promise.resolve().then(() => io)).ensureLangfuseTelemetry(e)}catch{return!1}}function Go(e,a){let t=[];for(let i of e){let n=[];for(let o of i.content){if(o.type==="text"){n.push({type:"text",text:o.text});continue}if(o.type==="reasoning"){let c=o.metadata?.signature,s=o.metadata?.redactedData;n.push({type:"reasoning",text:o.text,...typeof c==="string"||typeof s==="string"?{providerOptions:{anthropic:{...typeof c==="string"?{signature:c}:{},...typeof s==="string"?{redactedData:s}:{}}}}:{}});continue}if(o.type==="file"){n.push({type:"file",path:o.path,content:o.content});continue}if(o.type==="tool-call"){let c=o.metadata?.thoughtSignature??o.metadata?.thought_signature;n.push({type:"tool-call",toolCallId:o.toolCallId,toolName:o.toolName,input:o.input,...typeof c==="string"?{providerOptions:{google:{thoughtSignature:c}}}:{}});continue}if(o.type==="tool-result")n.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:o.output,isError:o.isError??!1})}if(n.length>0)t.push({role:i.role,content:n});else if(i.role==="user"||i.role==="assistant")t.push({role:i.role,content:""})}return Ae(a,t,{assistantToolCallArgKey:"input"})}function ip(e){if(!e.tools?.length)return;return Object.fromEntries(e.tools.map((a)=>[a.name,{description:a.description,inputSchema:Xr.fromJSONSchema(a.inputSchema)}]))}function np(e,a){let t=yo(e.providerId),i=se({modelId:e.modelId,family:z(a)}),n=ep(e,a),o=ap(e,a),s={...e.reasoning?.enabled===!0||typeof e.reasoning?.effort==="string"?{thinking:{type:"adaptive"}}:{},...e.reasoning?.effort?{effort:e.reasoning.effort}:{},...pe()},d={...e.reasoning?.enabled===!0?{thinking:{type:"adaptive"}}:{},...e.reasoning?.effort?{effort:e.reasoning.effort}:{},...e.reasoning?.effort?{reasoningEffort:e.reasoning.effort}:{},...e.reasoning?.effort&&!i?{reasoningSummary:"auto"}:{},...n?{reasoning:n}:{},...pe()},u=e.reasoning?.effort?{thinkingConfig:{thinkingLevel:e.reasoning.effort,includeThoughts:!0}}:void 0,x={anthropic:s,openaiCompatible:d};if(e.providerId!=="anthropic")x[e.providerId]={...d,...e.providerId==="cline"&&o?{reasoning:o}:{}};if(e.providerId==="google"||e.providerId==="gemini")x.google=u;if(t!==e.providerId&&t!=="anthropic")x[t]=d;return x}function op(e,a){if(e==="tool-calls"||e==="tool_calls"||a)return"tool-calls";if(e==="length"||e==="max_tokens")return"max-tokens";if(e==="error")return"error";return"stop"}function re(e,...a){for(let t of a){let i=e[t];if(typeof i==="number"&&Number.isFinite(i))return i;if(typeof i==="string"&&i.trim().length>0&&Number.isFinite(Number(i)))return Number(i)}return 0}function pt(e,...a){return a.some((t)=>K(e[t])!==void 0)}function K(e){if(typeof e==="number"&&Number.isFinite(e))return e;if(typeof e==="string"&&e.trim().length>0&&Number.isFinite(Number(e)))return Number(e);return}function To(e,...a){let t=e;for(let i of a){if(!t||typeof t!=="object")return 0;t=t[i]}return typeof t==="number"&&Number.isFinite(t)?t:0}function cp(e){if(!e||typeof e!=="object")return;let a=e;for(let t of Object.values(a)){if(!t||typeof t!=="object")continue;let i=t;if(i.usage&&typeof i.usage==="object")return i.usage}return}function rp(e,a){if(!a||typeof a!=="object")return;let t=a,i=K(t.input),n=K(t.output);if(i===void 0||n===void 0)return;let o=K(t.cacheRead)??0,c=K(t.cacheWrite)??i*1.25;return Math.max(0,e.inputTokens-e.cacheReadTokens-e.cacheWriteTokens)/1e6*i+e.outputTokens/1e6*n+e.cacheReadTokens/1e6*o+e.cacheWriteTokens/1e6*c}function Do(e,a,t){let i=e&&typeof e==="object"?e:{},n=cp(a),o=a&&typeof a==="object"?a:{},c=o.gateway&&typeof o.gateway==="object"?o.gateway:{},s=K(i.cost_details?.upstream_inference_cost),d=pt(i,"market_cost","marketCost","cost")||pt(c,"marketCost","cost")||s!==void 0||pt(i,"upstream_inference_cost"),u=K(i.market_cost)??K(i.marketCost)??K(c.marketCost)??K(i.cost)??K(c.cost)??s??K(i.upstream_inference_cost),x={inputTokens:re(i,"inputTokens","input_tokens","prompt_tokens"),outputTokens:re(i,"outputTokens","output_tokens","completion_tokens"),cacheReadTokens:To(i,"inputTokenDetails","cacheReadTokens")||re(i,"cachedInputTokens","cacheReadTokens","cache_read_tokens","cache_read_input_tokens")||To(i,"prompt_tokens_details","cached_tokens")||re(n??{},"cachedInputTokens","cacheReadTokens","cache_read_tokens","cache_read_input_tokens"),cacheWriteTokens:re(i,"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")||re(n??{},"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")},M=u!==void 0?u:d?void 0:rp(x,t);return{...x,...typeof M==="number"?{totalCost:M}:{}}}function pp(e){if(!e)return;let a=()=>{};if(e.usage&&typeof e.usage.catch==="function")e.usage.catch(a);if(e.text&&typeof e.text.catch==="function")e.text.catch(a);for(let t of Object.keys(e)){let i=e[t];if(i&&typeof i==="object"&&typeof i.catch==="function")i.catch(a)}}function Mo(e){if(e instanceof Error){if(e.name==="AI_MissingToolResultsError"||e.message.includes("Tool result is missing for tool call"))return"A previous turn left an unfinished tool call in the conversation history. The runtime will need to resume from a repaired history state before sending more user content.";if(e.name==="AI_NoOutputGeneratedError"||e.message.includes("No output generated. Check the stream for errors."))return"The model stream ended without producing output. This usually means an earlier tool-call or prompt-formatting error interrupted the turn."}if(e&&typeof e==="object"&&"statusCode"in e&&"responseBody"in e){let a=e,t=typeof a.statusCode==="number"?a.statusCode:void 0;if(typeof a.responseBody==="string")try{let i=JSON.parse(a.responseBody),n=typeof i.error==="string"?i.error:typeof i.error?.message==="string"?i.error.message:void 0;if(n)return t?`${t} ${n}`:n}catch{}if(typeof a.message==="string"&&a.message.trim())return t?`${t} ${a.message}`:a.message}if(e&&typeof e==="object"&&"cause"in e&&e.cause)return Mo(e.cause);if(e instanceof Error&&e.message.trim())return e.message;return String(e)}function Ro(e){let a={};if(typeof e.thoughtSignature==="string")a.thoughtSignature=e.thoughtSignature;if(typeof e.thought_signature==="string")a.thought_signature=e.thought_signature;let t=e.providerMetadata&&typeof e.providerMetadata==="object"?e.providerMetadata:void 0,i=t?.google&&typeof t.google==="object"?t.google:void 0;if(typeof a.thoughtSignature!=="string"&&typeof i?.thoughtSignature==="string")a.thoughtSignature=i.thoughtSignature;if(typeof a.thought_signature!=="string"&&typeof i?.thought_signature==="string")a.thought_signature=i.thought_signature;return Object.keys(a).length>0?a:void 0}async function*sp(e,a){let t=!1,i;if(e.fullStream)for await(let n of e.fullStream){if(n.type==="text-delta"){let o=n.textDelta??n.text??n.delta;if(o)yield{type:"text-delta",text:o};continue}if(n.type==="reasoning-delta"||n.type==="reasoning"){let o=n.textDelta??n.text??n.reasoning;if(o)yield{type:"reasoning-delta",text:o,metadata:Ro(n)};continue}if(n.type==="tool-call"){t=!0;let o=n.input??n.args??{},c=typeof o==="string"?o:JSON.stringify(o);yield{type:"tool-call-delta",toolCallId:n.toolCallId??n.id??`tool_${Zr()}`,toolName:n.toolName??n.name??"tool",input:typeof o==="string"?void 0:o,inputText:c,metadata:Ro(n)};continue}if(n.type==="finish")yield{type:"usage",usage:Do(n.usage??n.totalUsage??{},n.providerMetadata,a)},i=n.finishReason??n.reason}else if(e.textStream)for await(let n of e.textStream)yield{type:"text-delta",text:n};if(e.usage){let n=await e.usage;yield{type:"usage",usage:Do(n,void 0,a)}}yield{type:"finish",reason:op(i,t)}}async function mp(e,a,t){switch(e){case"openai":{let{createOpenAIProviderModule:i}=await Promise.resolve().then(() => (ro(),co));return i(a,t)}case"openai-compatible":{let{createOpenAICompatibleProviderModule:i}=await Promise.resolve().then(() => (so(),po));return i(a,t)}case"anthropic":{let{createAnthropicProviderModule:i}=await Promise.resolve().then(() => (uo(),mo));return i(a,t)}case"google":{let{createGoogleProviderModule:i}=await Promise.resolve().then(() => (go(),lo));return i(a,t)}case"vertex":{let{createVertexProviderModule:i}=await Promise.resolve().then(() => (xo(),ho));return i(a,t)}case"bedrock":{let{createBedrockProviderModule:i}=await Promise.resolve().then(() => (Wo(),wo));return i(a)}case"mistral":{let{createMistralProviderModule:i}=await Promise.resolve().then(() => (bo(),ko));return i(a)}case"claude-code":{let{createClaudeCodeProviderModule:i}=await Promise.resolve().then(() => (De(),Te));return i(a)}case"openai-codex":{let{createOpenAICodexProviderModule:i}=await Promise.resolve().then(() => (De(),Te));return i(a)}case"opencode":{let{createOpenCodeProviderModule:i}=await Promise.resolve().then(() => (De(),Te));return i(a)}case"dify":{let{createDifyProviderModule:i}=await Promise.resolve().then(() => (De(),Te));return i(a)}}}function V(e){return async(a)=>({async*stream(t,i){let n;try{let o=await mp(e,a,i),c=await tp(a.providerId);n=Yr({model:o.model(i.model.id),messages:zr(t,i)?jr(t,i,t.systemPrompt):Go(t.messages,t.systemPrompt),tools:ip(t),temperature:t.temperature,maxOutputTokens:t.maxTokens,abortSignal:t.signal,experimental_telemetry:{isEnabled:c},providerOptions:np(t,i),onError:()=>{}}),yield*sp(n,i.model.metadata?.pricing)}catch(o){pp(n),yield{type:"finish",reason:"error",error:Mo(o)}}}})}var st,mt,ut,lt,dt,gt,ht,xt,wt,Wt,kt;var _=w(()=>{ke();st=V("openai"),mt=V("openai-compatible"),ut=V("anthropic"),lt=V("google"),dt=V("vertex"),gt=V("bedrock"),ht=V("mistral"),xt=V("claude-code"),wt=V("openai-codex"),Wt=V("opencode"),kt=V("dify")});ke();Ee();var qn="https://code-internal.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm",ja="https://code.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm";function Ac(e){return Object.fromEntries(Object.entries(e).map(([a,t])=>[a,{...t}]))}function za(e){return Ac(be(e))}function Ua(e){let a=Object.entries(za("anthropic")).find(([t])=>e(t));if(a)return a[1];return{id:"sonnet",name:"Claude Sonnet",capabilities:["streaming","reasoning"]}}function Qc(){function e(a){return{...a==="opus"?Ua((i)=>i.includes("opus")):a==="haiku"?Ua((i)=>i.includes("haiku")):Ua((i)=>i.includes("sonnet")),id:a,name:`Claude ${a.charAt(0).toUpperCase()}${a.slice(1)}`}}return{opus:e("opus"),sonnet:e("sonnet"),haiku:e("haiku")}}function Sc(e){if(!e.capabilities?.includes("tools"))return e;return{...e,capabilities:e.capabilities.filter((a)=>a!=="tools")}}function _c(){return Object.fromEntries(Object.entries(za("openai")).map(([e,a])=>[e,Sc(a)]))}function Lc(e,a){let t=new Set(["text"]);for(let n of a.capabilities??[])switch(n){case"tools":t.add("tools");break;case"reasoning":t.add("reasoning");break;case"images":t.add("images");break;case"structured_output":t.add("structured-output");break}let i={};if(a.family)i.family=a.family;if(a.pricing)i.pricing=a.pricing;if(a.status)i.status=a.status;if(a.releaseDate)i.releaseDate=a.releaseDate;return{id:a.id,name:a.name??a.id,providerId:e,description:a.description,contextWindow:a.contextWindow,maxOutputTokens:a.maxTokens,capabilities:[...t],metadata:Object.keys(i).length>0?i:void 0}}function Fc(e){switch(e.family){case"openai":return"openai-responses";case"anthropic":case"bedrock":return"anthropic";case"google":case"vertex":return"gemini";default:return"openai-chat"}}function Kc(e){switch(e.family){case"openai":return"openai";case"anthropic":return"anthropic";case"google":return"gemini";case"vertex":return"vertex";case"bedrock":return"bedrock";case"mistral":case"claude-code":case"openai-codex":case"opencode":case"dify":return"ai-sdk-community";default:return"openai-compatible"}}var Nc=[{id:"cline",name:"Cline",description:"Cline API endpoint",family:"openai-compatible",capabilities:["reasoning","prompt-cache","tools","oauth"],modelsProviderId:"vercel-ai-gateway",defaultModelId:"anthropic/claude-sonnet-4.6",apiKeyEnv:["CLINE_API_KEY"],defaults:{baseUrl:"https://api.cline.bot/api/v1"}},{id:"deepseek",name:"DeepSeek",description:"Advanced AI models with reasoning capabilities",family:"openai-compatible",capabilities:["reasoning","prompt-cache"],defaultModelId:"deepseek-chat",apiKeyEnv:["DEEPSEEK_API_KEY"],defaults:{baseUrl:"https://api.deepseek.com/v1"}},{id:"xai",name:"xAI",description:"Creator of Grok AI assistant",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"grok-4.20-0309-non-reasoning",apiKeyEnv:["XAI_API_KEY"],defaults:{baseUrl:"https://api.x.ai/v1"}},{id:"together",name:"Together AI",description:"Fast inference for open-source models",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"Qwen/Qwen3.5-397B-A17B",apiKeyEnv:["TOGETHER_API_KEY"],defaults:{baseUrl:"https://api.together.xyz/v1"}},{id:"fireworks",name:"Fireworks AI",description:"High-performance inference platform",family:"openai-compatible",defaultModelId:"accounts/fireworks/models/minimax-m2p5",apiKeyEnv:["FIREWORKS_API_KEY"],defaults:{baseUrl:"https://api.fireworks.ai/inference/v1"}},{id:"groq",name:"Groq",description:"Ultra-fast LPU inference",family:"openai-compatible",defaultModelId:"moonshotai/kimi-k2-instruct-0905",apiKeyEnv:["GROQ_API_KEY"],defaults:{baseUrl:"https://api.groq.com/openai/v1"}},{id:"cerebras",name:"Cerebras",description:"Fast inference on Cerebras wafer-scale chips",family:"openai-compatible",defaultModelId:"zai-glm-4.7",apiKeyEnv:["CEREBRAS_API_KEY"],defaults:{baseUrl:"https://api.cerebras.ai/v1"}},{id:"sambanova",name:"SambaNova",description:"High-performance AI inference",family:"openai-compatible",apiKeyEnv:["SAMBANOVA_API_KEY"],modelsProviderId:"sambanova",defaults:{baseUrl:"https://api.sambanova.ai/v1"}},{id:"nebius",name:"Nebius",description:"European cloud AI infrastructure",family:"openai-compatible",defaultModelId:"nvidia/nemotron-3-super-120b-a12b",apiKeyEnv:["NEBIUS_API_KEY"],defaults:{baseUrl:"https://api.studio.nebius.ai/v1"}},{id:"baseten",name:"Baseten",description:"ML inference platform",family:"openai-compatible",apiKeyEnv:["BASETEN_API_KEY"],modelsProviderId:"baseten",defaults:{baseUrl:"https://model-api.baseten.co/v1"}},{id:"requesty",name:"Requesty",description:"AI router with multiple provider support",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"openai/gpt-5.4",apiKeyEnv:["REQUESTY_API_KEY"],modelsProviderId:"requesty",defaults:{baseUrl:"https://router.requesty.ai/v1"}},{id:"litellm",name:"LiteLLM",description:"Self-hosted LLM proxy",family:"openai-compatible",protocol:"openai-responses",capabilities:["prompt-cache"],defaultModelId:"gpt-5.4",apiKeyEnv:["LITELLM_API_KEY"],defaults:{baseUrl:"http://localhost:4000/v1"}},{id:"huggingface",name:"Hugging Face",description:"Hugging Face inference API",family:"openai-compatible",defaultModelId:"MiniMaxAI/MiniMax-M2.5",apiKeyEnv:["HF_TOKEN"],modelsProviderId:"huggingface",defaults:{baseUrl:"https://api-inference.huggingface.co/v1"}},{id:"vercel-ai-gateway",name:"Vercel AI Gateway",description:"Vercel's AI gateway service",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"alibaba/qwen3.6-plus",apiKeyEnv:["AI_GATEWAY_API_KEY"],modelsProviderId:"vercel-ai-gateway",defaults:{baseUrl:"https://ai-gateway.vercel.sh/v1"}},{id:"aihubmix",name:"AI Hub Mix",description:"AI model aggregator",family:"openai-compatible",defaultModelId:"gpt-4o",apiKeyEnv:["AIHUBMIX_API_KEY"],modelsProviderId:"aihubmix",defaults:{baseUrl:"https://api.aihubmix.com/v1"}},{id:"hicap",name:"HiCap",description:"HiCap AI platform",family:"openai-compatible",defaultModelId:"hicap-pro",apiKeyEnv:["HICAP_API_KEY"],defaults:{baseUrl:"https://api.hicap.ai/v1"}},{id:"nousResearch",name:"Nous Research",description:"Open-source AI research lab",family:"openai-compatible",defaultModelId:"DeepHermes-3-Llama-3-3-70B-Preview",apiKeyEnv:["NOUS_RESEARCH_API_KEY","NOUSRESEARCH_API_KEY"],modelsProviderId:"nousResearch",defaults:{baseUrl:"https://inference-api.nousresearch.com/v1"}},{id:"huawei-cloud-maas",name:"Huawei Cloud MaaS",description:"Huawei's model-as-a-service platform",family:"openai-compatible",defaultModelId:"DeepSeek-R1",apiKeyEnv:["HUAWEI_CLOUD_MAAS_API_KEY"],defaults:{baseUrl:"https://infer-modelarts.cn-southwest-2.myhuaweicloud.com/v1"}},{id:"qwen",name:"Qwen Plus Latest",description:"Alibaba Qwen platform models",family:"openai-compatible",capabilities:["tools","reasoning"],defaultModelId:"qwen-plus-latest",apiKeyEnv:["QWEN_API_KEY"],modelsProviderId:"qwen",defaults:{baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1"}},{id:"qwen-code",name:"Qwen3 Coder Plus",description:"Qwen OAuth coding models",family:"openai-compatible",capabilities:["tools","reasoning"],defaultModelId:"qwen3-coder-plus",modelsProviderId:"qwen-code",defaults:{baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1"}},{id:"doubao",name:"Doubao",description:"Volcengine Ark platform models",family:"openai-compatible",capabilities:["tools"],defaultModelId:"doubao-1-5-pro-256k-250115",apiKeyEnv:["DOUBAO_API_KEY"],modelsProviderId:"doubao",defaults:{baseUrl:"https://ark.cn-beijing.volces.com/api/v3"}},{id:"zai",name:"Z.AI",description:"Z.AI's family of LLMs",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"glm-5v-turbo",apiKeyEnv:["ZHIPU_API_KEY"],modelsProviderId:"zai",defaults:{baseUrl:"https://api.z.ai/api/paas/v4"}},{id:"moonshot",name:"Moonshot",description:"Moonshot AI Studio models",family:"openai-compatible",capabilities:["tools","reasoning"],defaultModelId:"kimi-k2-0905-preview",apiKeyEnv:["MOONSHOT_API_KEY"],modelsProviderId:"moonshot",defaults:{baseUrl:"https://api.moonshot.ai/v1"}},{id:"wandb",name:"W&B by CoreWeave",description:"Weights & Biases",family:"openai-compatible",capabilities:["reasoning","prompt-cache","tools"],defaultModelId:"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8",apiKeyEnv:["WANDB_API_KEY"],modelsProviderId:"wandb",defaults:{baseUrl:"https://api.inference.wandb.ai/v1"}},{id:"xiaomi",name:"Xiaomi",description:"Xiaomi",family:"openai-compatible",protocol:"openai-responses",capabilities:["prompt-cache","tools","reasoning"],defaultModelId:"mimo-v2-omni",apiKeyEnv:["XIAOMI_API_KEY"],modelsProviderId:"xiaomi",defaults:{baseUrl:"https://api.xiaomimimo.com/v1"}},{id:"kilo",name:"Kilo Gateway",description:"Kilo Gateway",family:"openai-compatible",protocol:"openai-responses",capabilities:["prompt-cache","reasoning","tools"],defaultModelId:"gpt-4o",apiKeyEnv:["KILO_GATEWAY_API_KEY"],modelsProviderId:"kilo",defaults:{baseUrl:"https://api.kilo.ai/api/gateway"}},{id:"openrouter",name:"OpenRouter",description:"OpenRouter AI platform",family:"openai-compatible",capabilities:["reasoning","prompt-cache"],defaultModelId:"anthropic/claude-sonnet-4.6",apiKeyEnv:["OPENROUTER_API_KEY"],modelsProviderId:"openrouter",docsUrl:"https://openrouter.ai/models",defaults:{baseUrl:"https://openrouter.ai/api/v1"}},{id:"ollama",name:"Ollama",description:"Ollama Cloud and local LLM hosting",family:"openai-compatible",defaultModelId:"",apiKeyEnv:["OLLAMA_API_KEY"],defaults:{baseUrl:"http://localhost:11434/v1"}},{id:"lmstudio",name:"LM Studio",description:"Local model inference with LM Studio",family:"openai-compatible",defaultModelId:"",apiKeyEnv:["LMSTUDIO_API_KEY"],modelsProviderId:"lmstudio",defaults:{baseUrl:"http://localhost:1234/v1"}},{id:"oca",name:"Oracle Code Assist",description:"Oracle Code Assist (OCA) LiteLLM gateway",family:"openai-compatible",capabilities:["reasoning","prompt-cache","tools"],defaultModelId:"anthropic/claude-3-7-sonnet-20250219",apiKeyEnv:["OCA_API_KEY"],modelsProviderId:"oca",defaults:{baseUrl:ja}},{id:"asksage",name:"AskSage",description:"AskSage platform",family:"openai-compatible",client:"fetch",capabilities:["tools"],defaultModelId:"gpt-4o",apiKeyEnv:["ASKSAGE_API_KEY"],modelsFactory:()=>({}),defaults:{baseUrl:"https://api.asksage.ai/server"}},{id:"sapaicore",name:"SAP AI Core",description:"SAP AI Core inference and orchestration platform",family:"openai-compatible",client:"ai-sdk-community",capabilities:["tools","reasoning","prompt-cache"],defaultModelId:"anthropic--claude-3.5-sonnet",apiKeyEnv:["AICORE_SERVICE_KEY","VCAP_SERVICES"],modelsProviderId:"sapaicore"}],et=[{id:"openai-native",name:"OpenAI",description:"Creator of GPT and ChatGPT",family:"openai",capabilities:["reasoning"],modelsProviderId:"openai",defaultModelId:"gpt-5.4-mini",apiKeyEnv:["OPENAI_API_KEY"],defaults:{baseUrl:"https://api.openai.com/v1"}},{id:"openai-codex",name:"OpenAI Codex",description:"OpenAI Codex via the local Codex CLI provider",family:"openai-codex",capabilities:["reasoning","oauth"],defaultModelId:"gpt-5.4-mini",modelsFactory:_c,defaults:{baseUrl:"https://chatgpt.com/backend-api/codex"}},{id:"anthropic",name:"Anthropic",description:"Creator of Claude, the AI assistant",family:"anthropic",capabilities:["reasoning","prompt-cache"],defaultModelId:"claude-sonnet-4-6",apiKeyEnv:["ANTHROPIC_API_KEY"],modelsProviderId:"anthropic",defaults:{baseUrl:"https://api.anthropic.com/v1"}},{id:"claude-code",name:"Claude Code",description:"Use Claude Code SDK with Claude Pro/Max subscription",family:"claude-code",capabilities:["reasoning"],defaultModelId:"sonnet",modelsFactory:Qc,defaults:{baseUrl:""}},{id:"gemini",name:"Google Gemini",description:"Google Gemini API",family:"google",capabilities:["reasoning","prompt-cache"],defaultModelId:"gemma-4-26b",apiKeyEnv:["GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"],modelsProviderId:"gemini",defaults:{baseUrl:"https://generativelanguage.googleapis.com/v1beta"}},{id:"vertex",name:"Google Vertex AI",description:"Google Cloud Vertex AI (Gemini and partner models)",family:"vertex",capabilities:["reasoning","prompt-cache"],defaultModelId:"claude-sonnet-4-6@default",apiKeyEnv:["GCP_PROJECT_ID","GOOGLE_CLOUD_PROJECT","GOOGLE_APPLICATION_CREDENTIALS","GEMINI_API_KEY","GOOGLE_API_KEY"],modelsProviderId:"vertex"},{id:"bedrock",name:"AWS Bedrock",description:"Amazon Bedrock managed foundation models",family:"bedrock",capabilities:["reasoning","prompt-cache"],defaultModelId:"minimax.minimax-m2.5",apiKeyEnv:["AWS_REGION","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN"],modelsProviderId:"bedrock"},{id:"mistral",name:"Mistral",description:"Mistral AI models via AI SDK provider",family:"mistral",capabilities:["reasoning"],defaultModelId:"mistral-medium-latest",apiKeyEnv:["MISTRAL_API_KEY"],modelsFactory:()=>({}),defaults:{baseUrl:"https://api.mistral.ai/v1"}},{id:"minimax",name:"MiniMax",description:"MiniMax models via Anthropic-compatible API",family:"anthropic",capabilities:["tools","reasoning","prompt-cache"],defaultModelId:"MiniMax-M2.5",apiKeyEnv:["MINIMAX_API_KEY"],modelsProviderId:"minimax",defaults:{baseUrl:"https://api.minimax.io/anthropic"}},{id:"opencode",name:"OpenCode",description:"OpenCode SDK multi-provider runtime",family:"opencode",capabilities:["reasoning","oauth"],defaultModelId:"openai/gpt-5.3-codex",modelsProviderId:"opencode",defaults:{baseUrl:""}},{id:"dify",name:"Dify",description:"Dify workflow/application provider via AI SDK",family:"dify",defaultModelId:"default",apiKeyEnv:["DIFY_API_KEY"],modelsFactory:()=>({})},...Nc];function Oc(e){if(e.modelsFactory)return e.modelsFactory();if(e.modelsProviderId)return za(e.modelsProviderId);return{}}function Bn(e){let a=Oc(e),t=Object.keys(a).length>0?a:e.defaultModelId?{[e.defaultModelId]:{id:e.defaultModelId,name:e.defaultModelId}}:{},i=Object.keys(t),n=e.defaultModelId||i[0]||"default";return{provider:{id:e.id,name:e.name,description:e.description,protocol:e.protocol??Fc(e),baseUrl:e.defaults?.baseUrl,defaultModelId:n,capabilities:e.capabilities,env:e.apiKeyEnv?[...e.apiKeyEnv]:void 0,client:e.client??Kc(e)},models:t}}function Cn(e){let a=Bn(e),t=Object.values(a.models).map((n)=>Lc(e.id,n)),i=t.length>0?t:[{id:a.provider.defaultModelId||"default",name:a.provider.defaultModelId||"Default",providerId:e.id,capabilities:["text"]}];return{id:e.id,name:e.name,description:e.description,defaultModelId:a.provider.defaultModelId||i[0]?.id||"default",models:i,env:e.env??["browser","node"],api:e.defaults?.baseUrl,apiKeyEnv:e.apiKeyEnv,docsUrl:e.docsUrl}}var fe=et.map(Bn),Ic=Object.fromEntries(fe.map((e)=>[e.provider.id,e])),Rm=Ic["openai-codex"];function Vc(e){return Object.fromEntries(Object.entries(e).map(([a,t])=>[a,{...t}]))}function Ec(e){if(e.baseUrl.length===0)return!1;switch(e.client){case"openai-compatible":case"openai":case"openai-r1":case"fetch":return!0;default:return e.protocol==="openai-chat"}}var Hc=fe.map((e)=>({id:e.provider.id,baseUrl:e.provider.baseUrl??"",modelId:e.provider.defaultModelId,knownModels:Vc(e.models),capabilities:e.provider.capabilities?[...e.provider.capabilities]:void 0,env:e.provider.env?[...e.provider.env]:void 0,client:e.provider.client,protocol:e.provider.protocol})),_n=Object.fromEntries(Hc.map((e)=>[e.id,e]));function $c(e){return _n[e]}function Yc(){return Object.fromEntries(Object.entries(_n).filter(([,e])=>Ec(e)))}function Ln(e=[]){let a=e.flatMap((t)=>{switch(t){case"reasoning":case"prompt-cache":case"tools":case"oauth":return[t];default:return[]}});return a.length>0?a:void 0}var Zc="https://models.dev/api.json",Xc=600000,Jc=300000,Uc=5000,An=new Map,at=new Map,Qn=new Map,tt=new Map,Sn;async function jc(){return Sn??=Promise.resolve().then(() => (Ee(),Pn)).then(({getGeneratedProviderModels:e})=>e()),Sn}async function zc(e,a={},t={},i={},n={}){let o=await jc(),c=ie(e),s=Object.assign({},...c.map((d)=>o[d]??{}));return ce({...s,...a,...t,...i,...n})}function Fn(e){let a=e?.trim();return a&&a.length>0?a:""}function nt(e){let a=e.apiKey?.trim()||e.accessToken?.trim();return a&&a.length>0?a:void 0}function er(e){let a=2166136261;for(let t=0;t<e.length;t+=1)a^=e.charCodeAt(t),a+=(a<<1)+(a<<4)+(a<<7)+(a<<8)+(a<<24);return(a>>>0).toString(16)}function ar(e,a){return`${e}:${Fn(a.baseUrl)}:${er(nt(a)??"")}`}async function ot(e,a,t=Uc){let i=new AbortController,n=setTimeout(()=>i.abort(),t);try{return await fetch(e,{...a,signal:i.signal})}finally{clearTimeout(n)}}function it(e,a,t){if(t&&!e.includes(a))e.push(a)}function ct(e,a){let t=["streaming","tools"];return it(t,"images",Boolean(a.supportsImages)),it(t,"prompt-cache",Boolean(a.supportsPromptCache)),it(t,"reasoning",Boolean(a.supportsReasoning)),{id:e,name:a.name??e,contextWindow:a.contextWindow,maxTokens:a.maxTokens,capabilities:t,releaseDate:a.releaseDate,status:"active"}}async function tr(e,a){let t=await ot("https://inference.baseten.co/v1/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"}});if(!t.ok)throw Error(`Baseten model refresh failed: HTTP ${t.status}`);let n=(await t.json())?.data??[],o={};for(let c of n){let s=c.id?.trim();if(!s)continue;if(s.includes("whisper")||s.includes("tts")||s.includes("embedding"))continue;let d=c.supported_features??[];o[s]=ct(s,{name:s,contextWindow:c.context_length,maxTokens:c.max_completion_tokens,supportsReasoning:d.includes("reasoning")||d.includes("reasoning_effort"),supportsImages:!1})}return o}async function ir(e,a){let t=await ot("https://api.hicap.ai/v2/openai/models",{method:"GET",headers:{"api-key":a}});if(!t.ok)throw Error(`Hicap model refresh failed: HTTP ${t.status}`);let n=(await t.json())?.data??[],o={};for(let c of n){let s=c.id?.trim();if(!s)continue;o[s]=ct(s,{name:s,contextWindow:128000,supportsImages:!0,supportsPromptCache:!0})}return o}function nr(e){let a=Fn(e);if(!a)return"http://localhost:4000";return a.endsWith("/v1")?a.slice(0,-3):a}async function or(e,a){let i=`${nr(e.baseUrl)}/v1/model/info`,n=async(u)=>ot(i,{method:"GET",headers:{accept:"application/json",...u}}),o=await n({"x-litellm-api-key":a});if(!o.ok)o=await n({Authorization:`Bearer ${a}`});if(!o.ok)throw Error(`LiteLLM model refresh failed: HTTP ${o.status}`);let s=(await o.json())?.data??[],d={};for(let u of s){let x=u.model_name?.trim(),y=u.litellm_params?.model?.trim()||x;if(!y)continue;let B=u.model_info,D=ct(y,{name:x??y,maxTokens:B?.max_output_tokens??B?.max_tokens,contextWindow:B?.max_input_tokens??B?.max_tokens,supportsImages:B?.supports_vision,supportsPromptCache:B?.supports_prompt_caching,supportsReasoning:B?.supports_reasoning});if(d[y]=D,x)d[x]={...D,id:x,name:x}}return d}async function cr(e,a){let t=nt(a);if(!t)return{};let i=Kn[e];if(!i)return{};return i(a,t)}var Kn={baseten:tr,hicap:ir,litellm:or};function rr(e,a,t){if(!t)return!1;if(!Kn[e])return!1;if(a?.loadPrivateOnAuth===!1)return!1;return Boolean(nt(t))}async function pr(e,a,t){let i=a?.cacheTtlMs??Jc,n=ar(e,t),o=Date.now(),c=Qn.get(n);if(c&&c.expiresAt>o)return c.data;let s=tt.get(n);if(s)return s;let d=cr(e,t).then((u)=>{return Qn.set(n,{data:u,expiresAt:o+i}),u}).finally(()=>{tt.delete(n)});return tt.set(n,d),d}async function sr(e){return vn(e,Se)}async function mr(e={}){let a=e.url??Zc,t=e.cacheTtlMs??Xc,i=Date.now(),n=An.get(a);if(n&&n.expiresAt>i)return n.data;let o=at.get(a);if(o)return o;let c=sr(a).then((s)=>{return An.set(a,{data:s,expiresAt:i+t}),s}).finally(()=>{at.delete(a)});return at.set(a,c),c}function ur(e){return Object.fromEntries(Object.entries(e).map(([a,t])=>[a,{baseUrl:t.baseUrl,modelId:t.modelId,capabilities:Ln(t.capabilities)}]))}var Nn=ur(Yc());function lr(e){let a=$c(e);if(!a||!a.baseUrl)return;return{baseUrl:a.baseUrl,modelId:a.modelId,knownModels:a.knownModels,capabilities:Ln(a.capabilities)}}async function dr(e,a,t){let i=lr(e);if(!i)return;try{let o=(a?.loadLatestOnInit?await mr(a):void 0)?.[e]??{},c=t&&rr(e,a,t)?await pr(e,a,t):{},s=await zc(e,i.knownModels,o,c,t?.knownModels);return{...i,knownModels:s}}catch(n){if(a?.failOnError)throw n;return i}}$e();function Ye(e){return q(e.routingProviderId??e.providerId)}ke();import{z as l}from"zod";Ee();$e();var In=l.string().min(1).regex(/^[a-z0-9][a-z0-9-]*$/i),Vn=l.object({apiKey:l.string().optional(),accessToken:l.string().optional(),refreshToken:l.string().optional(),expiresAt:l.number().int().positive().optional(),accountId:l.string().optional()}),xr=l.enum(["none","low","medium","high","xhigh"]),En=l.object({enabled:l.boolean().optional(),effort:xr.optional(),budgetTokens:l.number().int().positive().optional()}),Hn=l.object({accessKey:l.string().optional(),secretKey:l.string().optional(),sessionToken:l.string().optional(),region:l.string().optional(),profile:l.string().optional(),authentication:l.enum(["iam","api-key","profile"]).optional(),usePromptCache:l.boolean().optional(),useCrossRegionInference:l.boolean().optional(),useGlobalInference:l.boolean().optional(),endpoint:l.string().url().optional(),customModelBaseId:l.string().optional()}),$n=l.object({projectId:l.string().optional(),region:l.string().optional()}),Yn=l.object({apiVersion:l.string().optional(),useIdentity:l.boolean().optional()}),Zn=l.object({clientId:l.string().optional(),clientSecret:l.string().optional(),tokenUrl:l.string().url().optional(),resourceGroup:l.string().optional(),deploymentId:l.string().optional(),useOrchestrationMode:l.boolean().optional(),api:l.enum(["orchestration","foundation-models"]).optional(),defaultSettings:l.record(l.string(),l.unknown()).optional()}),Xn=l.object({mode:l.enum(["internal","external"]).optional(),usePromptCache:l.boolean().optional()}),Jn=l.object({loadLatestOnInit:l.boolean().optional(),loadPrivateOnAuth:l.boolean().optional(),url:l.string().url().optional(),cacheTtlMs:l.number().int().positive().optional(),failOnError:l.boolean().optional()}),rt=l.object({provider:In,apiKey:l.string().optional(),auth:Vn.optional(),model:l.string().optional(),maxTokens:l.number().int().positive().optional(),contextWindow:l.number().int().positive().optional(),baseUrl:l.string().url().optional(),headers:l.record(l.string(),l.string()).optional(),timeout:l.number().int().positive().optional(),reasoning:En.optional(),aws:Hn.optional(),gcp:$n.optional(),azure:Yn.optional(),sap:Zn.optional(),oca:Xn.optional(),region:l.string().optional(),apiLine:l.enum(["china","international"]).optional(),capabilities:l.array(l.enum(["reasoning","prompt-cache","streaming","tools","vision","computer-use","oauth"])).optional(),modelCatalog:Jn.optional()});function Un(e){return rt.parse(e)}function jn(e){let a=e.provider,t=q(a),i=e.reasoning?.effort,n=i&&i!=="none"?i:void 0,o=Nn[t],c=Object.assign({},...ie(t).map((x)=>be(x))),s=e.auth?.accessToken??e.apiKey??e.auth?.apiKey,d=e.baseUrl??(t==="oca"?e.oca?.mode==="internal"?qn:ja:o?.baseUrl),u={providerId:a,modelId:e.model??o?.modelId??"default",knownModels:o?.knownModels??(Object.keys(c).length>0?c:void 0),apiKey:s,accessToken:e.auth?.accessToken,refreshToken:e.auth?.refreshToken,accountId:e.auth?.accountId,baseUrl:d,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(u).filter(([x,M])=>M!==void 0))}import{nanoid as So}from"nanoid";_();var Po=new Map;async function up(e){let a=Po.get(e);if(a)return a;let t=(async()=>{switch(e){case"openai":return(await Promise.resolve().then(() => (_(),N))).createOpenAIProvider;case"openai-compatible":return(await Promise.resolve().then(() => (_(),N))).createOpenAICompatibleProvider;case"anthropic":return(await Promise.resolve().then(() => (_(),N))).createAnthropicProvider;case"google":return(await Promise.resolve().then(() => (_(),N))).createGoogleProvider;case"vertex":return(await Promise.resolve().then(() => (_(),N))).createVertexProvider;case"bedrock":return(await Promise.resolve().then(() => (_(),N))).createBedrockProvider;case"mistral":return(await Promise.resolve().then(() => (_(),N))).createMistralProvider;case"claude-code":return(await Promise.resolve().then(() => (_(),N))).createClaudeCodeProvider;case"openai-codex":return(await Promise.resolve().then(() => (_(),N))).createOpenAICodexProvider;case"opencode":return(await Promise.resolve().then(() => (_(),N))).createOpenCodeProvider;case"dify":return(await Promise.resolve().then(() => (_(),N))).createDifyProvider}})();return Po.set(e,t),t}var Re=et.map((e)=>({manifest:Cn(e),defaults:{...e.defaults,apiKeyEnv:e.apiKeyEnv,baseUrl:e.defaults?.baseUrl},loadProvider:async()=>({createProvider:await up(e.family)})}));async function*qo(e){for await(let a of e)yield a}function Bo(e){return{...e,models:e.models.map((a)=>({...a})),env:e.env?[...e.env]:void 0,api:e.api,apiKeyEnv:e.apiKeyEnv?[...e.apiKeyEnv]:void 0,docsUrl:e.docsUrl,metadata:e.metadata?{...e.metadata}:void 0}}function lp(e,a){let t=new Map;for(let i of e.models)t.set(i.id,{...i});for(let i of a?.models??[])t.set(i.id,{...i,providerId:e.id});return Array.from(t.values())}function dp(e,a){return{id:a,name:a,providerId:e.id}}class bt{providers=new Map;providerConfigs=new Map;fallbackFetch;constructor(e){this.fallbackFetch=e}registerProvider(e){if(!e.createProvider&&!e.loadProvider)throw Error(`Provider "${e.manifest.id}" must include createProvider or loadProvider.`);this.providers.set(e.manifest.id,{manifest:Bo(e.manifest),defaults:e.defaults?{providerId:e.manifest.id,apiKey:e.defaults.apiKey,apiKeyResolver:e.defaults.apiKeyResolver,apiKeyEnv:e.defaults.apiKeyEnv,baseUrl:e.defaults.baseUrl,headers:e.defaults.headers?{...e.defaults.headers}:void 0,timeoutMs:e.defaults.timeoutMs,fetch:e.defaults.fetch,options:e.defaults.options?{...e.defaults.options}:void 0}:void 0,createProvider:e.createProvider,loadProvider:e.loadProvider})}configureProvider(e){this.providerConfigs.set(e.providerId,{providerId:e.providerId,apiKey:e.apiKey,apiKeyResolver:e.apiKeyResolver,apiKeyEnv:e.apiKeyEnv,baseUrl:e.baseUrl,headers:e.headers?{...e.headers}:void 0,timeoutMs:e.timeoutMs,fetch:e.fetch,options:e.options?{...e.options}:void 0,enabled:e.enabled??!0,defaultModelId:e.defaultModelId,models:e.models?.map((a)=>({...a}))})}listProviders(){return Array.from(this.providers.values()).map((e)=>this.getManifest(e.manifest.id)).filter((e)=>e!==void 0)}listModels(e){if(e)return[...this.getManifest(e)?.models??[]];return this.listProviders().flatMap((a)=>a.models.map((t)=>({...t})))}getManifest(e){let a=this.providers.get(e);if(!a)return;let t=this.providerConfigs.get(e);if(t&&!t.enabled)return;let i=lp(a.manifest,t),n=t?.defaultModelId??a.manifest.defaultModelId??i[0]?.id;if(!n)return;return{...Bo(a.manifest),defaultModelId:n,models:i}}resolveModel(e){let a=this.getManifest(e.providerId);if(!a)throw Error(`Unknown or disabled provider "${e.providerId}".`);let t=e.modelId??a.defaultModelId,i=a.models.find((n)=>n.id===t)??dp(a,t);return{provider:a,model:i}}async createProvider(e){let a=this.providers.get(e);if(!a)throw Error(`Unknown provider "${e}".`);if(!a.createProvider){let n=await a.loadProvider?.();if(!n?.createProvider)throw Error(`Provider "${e}" could not be loaded.`);a.createProvider=n.createProvider}let t=this.getManifest(e);if(!t)throw Error(`Provider "${e}" is disabled.`);let i=this.providerConfigs.get(e);return{manifest:t,config:{providerId:e,apiKey:i?.apiKey??a.defaults?.apiKey,apiKeyResolver:i?.apiKeyResolver??a.defaults?.apiKeyResolver,apiKeyEnv:i?.apiKeyEnv??a.defaults?.apiKeyEnv,baseUrl:i?.baseUrl??a.defaults?.baseUrl,headers:{...a.defaults?.headers??{},...i?.headers??{}},timeoutMs:i?.timeoutMs??a.defaults?.timeoutMs,fetch:i?.fetch??a.defaults?.fetch??this.fallbackFetch,options:{...a.defaults?.options??{},...i?.options??{}}},createProvider:a.createProvider}}}class Co{gateway;selection;defaults;constructor(e,a,t){this.gateway=e;this.selection=a;this.defaults=t}stream(e){return this.gateway.stream({providerId:this.selection.providerId,modelId:this.selection.modelId??"",systemPrompt:e.systemPrompt,messages:e.messages,tools:this.defaults?.tools??e.tools,temperature:e.options?.temperature??this.defaults?.temperature,maxTokens:e.options?.maxTokens??this.defaults?.maxTokens,metadata:e.options?.metadata??this.defaults?.metadata,reasoning:e.options?.reasoning??this.defaults?.reasoning,signal:e.signal??this.defaults?.signal})}}class Ao{registry;constructor(e={}){if(this.registry=new bt(e.fetch),e.builtins!==!1){let a=new Set(e.builtins??Re.map((t)=>t.manifest.id));for(let t of Re)if(a.has(t.manifest.id))this.registry.registerProvider(t)}for(let a of e.providers??[])this.registry.registerProvider(a);for(let a of e.providerConfigs??[])this.registry.configureProvider(a)}registerProvider(e){return this.registry.registerProvider(e),this}configureProvider(e){return this.registry.configureProvider(e),this}listProviders(){return this.registry.listProviders()}listModels(e){return this.registry.listModels(e)}createAgentModel(e,a){return new Co(this,e,a)}async stream(e){let a=this.registry.resolveModel({providerId:e.providerId,modelId:e.modelId||void 0}),t=await this.registry.createProvider(e.providerId),n=await(await t.createProvider(t.config)).stream({...e,modelId:a.model.id,providerId:a.provider.id},{provider:a.provider,model:a.model,config:t.config,signal:e.signal});return qo(n)}}function ft(e){return new Ao(e)}function gp(){let e=new Map;for(let a of fe)e.set(a.provider.id,{provider:{...a.provider},models:Object.fromEntries(Object.entries(a.models).map(([t,i])=>[t,{...i}]))});return e}var ye=gp(),me=new Map,ae=new Map;function ee(e){return ae.get(e)??ye.get(e)}function Qo(){let e=Array.from(ye.keys()),a=Array.from(ae.keys()).filter((t)=>!ye.has(t));return[...e,...a]}function Bu(e){return ye.has(e)||ae.has(e)}async function Cu(e){return ee(e)?.provider}function Tt(e){return ee(e)}async function Dt(e){return ee(e)}async function Au(e){let t=ee(e)?.models??{},i=me.get(e);if(i)return{...t,...Object.fromEntries(i)};return t}async function Qu(){return Qo().map((e)=>ee(e)?.provider).filter((e)=>e!==void 0)}function Su(e){ae.set(e.provider.id,e)}function _u(e,a,t){if(!me.has(e))me.set(e,new Map);me.get(e)?.set(a,{...t,id:a})}function Lu(e){return me.delete(e),ae.delete(e)}function Fu(){me.clear(),ae.clear()}var Ku=new Proxy({},{get(e,a){return ee(a)},has(e,a){return ye.has(a)||ae.has(a)},ownKeys(){return Qo()},getOwnPropertyDescriptor(e,a){let t=ee(a);if(t===void 0)return;return{configurable:!0,enumerable:!0,value:t}}});var ue=new Map(Re.map((e)=>[e.manifest.id,e]));function hp(e){if(!e?.length)return;let a=new Set;for(let t of e)switch(t){case"tools":case"reasoning":case"images":case"audio":a.add(t);break;case"files":case"streaming":case"temperature":case"prompt-cache":case"reasoning-effort":case"computer-use":case"global-endpoint":a.add("text");break;case"structured_output":a.add("structured-output");break;default:a.add("text")}return a.add("text"),[...a]}function yt(e,a){return{id:a.id,name:a.name??a.id,description:a.description,providerId:e,contextWindow:a.contextWindow,maxOutputTokens:a.maxTokens,capabilities:hp(a.capabilities),metadata:{family:a.family,pricing:a.pricing,status:a.status,releaseDate:a.releaseDate}}}function _o(e){switch(q(e)){case"openai-native":return st;case"anthropic":case"minimax":return ut;case"gemini":return lt;case"vertex":return dt;case"bedrock":return gt;case"mistral":return ht;case"claude-code":return xt;case"openai-codex":return wt;case"opencode":return Wt;case"dify":return kt;default:return mt}}async function xp(e){let a=q(e.providerId),t=q(Ye(e));if(ue.get(a)&&a===t)return;let n=await Dt(a)??(a!==t?await Dt(t):void 0);if(!n){let c=ue.get(t);if(!c||a===t)return;return{manifest:{...c.manifest,id:a,name:c.manifest.name,models:c.manifest.models.map((s)=>({...s,providerId:a}))},defaults:c.defaults,createProvider:c.createProvider,loadProvider:c.loadProvider}}let o=ue.get(t);return{manifest:{id:a,name:n.provider.name,description:n.provider.description,defaultModelId:n.provider.defaultModelId,models:Object.values(n.models).map((c)=>yt(a,c)),api:n.provider.baseUrl,apiKeyEnv:n.provider.env},defaults:{...o?.defaults??{},baseUrl:n.provider.baseUrl??o?.defaults?.baseUrl,apiKeyEnv:n.provider.env??o?.defaults?.apiKeyEnv},createProvider:o?.createProvider??_o(t),loadProvider:o?.loadProvider}}function wp(e){let a=q(e.providerId),t=q(Ye(e));if(ue.get(a)&&a===t)return;let n=Tt(a)??(a!==t?Tt(t):void 0);if(!n){let c=ue.get(t);if(!c||a===t)return;return{manifest:{...c.manifest,id:a,models:c.manifest.models.map((s)=>({...s,providerId:a}))},defaults:c.defaults,createProvider:c.createProvider,loadProvider:c.loadProvider}}let o=ue.get(t);return{manifest:{id:a,name:n.provider.name,description:n.provider.description,defaultModelId:n.provider.defaultModelId,models:Object.values(n.models).map((c)=>yt(a,c)),api:n.provider.baseUrl,apiKeyEnv:n.provider.env},defaults:{...o?.defaults??{},baseUrl:n.provider.baseUrl??o?.defaults?.baseUrl,apiKeyEnv:n.provider.env??o?.defaults?.apiKeyEnv},createProvider:o?.createProvider??_o(t),loadProvider:o?.loadProvider}}function Wp(e){let a=new Map;for(let t of e){if(!Array.isArray(t.content))continue;for(let i of t.content)if(i.type==="tool_use"){if(a.set(i.id,i.name),i.call_id)a.set(i.call_id,i.name)}}return e.map((t)=>{let i=typeof t.content==="string"?[{type:"text",text:t.content}]:t.content.flatMap((n)=>{switch(n.type){case"text":return[{type:"text",text:n.text}];case"thinking":return[{type:"reasoning",text:n.thinking,metadata:n.signature||n.call_id?{signature:n.signature,callId:n.call_id,details:n.details}:void 0}];case"tool_use":return[{type:"tool-call",toolCallId:n.call_id??n.id,toolName:n.name,input:n.input,metadata:n.signature?{thoughtSignature:n.signature}:void 0}];case"tool_result":return[{type:"tool-result",toolCallId:n.tool_use_id,toolName:a.get(n.tool_use_id)??"tool",output:typeof n.content==="string"?n.content:n.content.map((o)=>o.type==="text"?o.text:o.type==="file"?o.content:"").join(`
|
|
86
|
+
`),isError:n.is_error??!1}];case"image":return[{type:"image",image:`data:${n.mediaType};base64,${n.data}`,mediaType:n.mediaType}];case"file":return[{type:"text",text:n.content}];case"redacted_thinking":return[];default:return[]}});return{role:t.role,content:i}})}function kp(e){return e?.map((a)=>({name:a.name,description:a.description,inputSchema:a.inputSchema}))}function Rt(e,a,t,i,n){return{providerId:q(e.providerId),modelId:e.modelId,systemPrompt:a,messages:Wp(t),tools:kp(i),maxTokens:e.maxOutputTokens,reasoning:e.thinking||e.reasoningEffort||e.thinkingBudgetTokens?{enabled:e.thinking,effort:e.reasoningEffort==="xhigh"?"high":e.reasoningEffort==="low"||e.reasoningEffort==="medium"||e.reasoningEffort==="high"?e.reasoningEffort:void 0,budgetTokens:e.thinkingBudgetTokens}:void 0,signal:n}}function Lo(e){let a=q(e.providerId);return{providerId:a,apiKey:e.apiKey??e.accessToken,baseUrl:e.baseUrl,headers:e.headers,timeoutMs:e.timeoutMs,defaultModelId:e.modelId,models:e.knownModels?Object.values(e.knownModels).map((t)=>{let i=yt(a,t),{providerId:n,...o}=i;return o}):void 0,options:{region:e.region??e.gcp?.region,project:e.gcp?.projectId,projectId:e.gcp?.projectId,location:e.region??e.gcp?.region,accessKeyId:e.aws?.accessKey,secretAccessKey:e.aws?.secretKey,sessionToken:e.aws?.sessionToken,credentialProvider:e.aws?.profile,authentication:e.aws?.authentication,endpoint:e.aws?.endpoint,customModelBaseId:e.aws?.customModelBaseId,apiVersion:e.azure?.apiVersion,useIdentity:e.azure?.useIdentity,mode:e.oca?.mode,usePromptCache:e.aws?.usePromptCache??e.oca?.usePromptCache,...e.codex,...e.claudeCode,...e.opencode,...e.sap}}}function Fo(e,a){switch(a.type){case"text-delta":return{type:"text",id:e,text:a.text};case"reasoning-delta":return{type:"reasoning",id:e,reasoning:a.text,signature:typeof a.metadata?.thoughtSignature==="string"?a.metadata.thoughtSignature:typeof a.metadata?.signature==="string"?a.metadata.signature:void 0,details:a.metadata?.details};case"tool-call-delta":{let t=typeof a.inputText==="string"||a.input===void 0?a.inputText:a.input;return{type:"tool_calls",id:e,signature:typeof a.metadata?.thoughtSignature==="string"?a.metadata.thoughtSignature:void 0,tool_call:{call_id:a.toolCallId,function:{id:a.toolCallId,name:a.toolName,arguments:t}}}}case"usage":return{type:"usage",id:e,inputTokens:a.usage.inputTokens,outputTokens:a.usage.outputTokens,cacheReadTokens:a.usage.cacheReadTokens,cacheWriteTokens:a.usage.cacheWriteTokens,totalCost:a.usage.totalCost};case"finish":return{type:"done",id:e,success:a.reason!=="error",error:a.error,incompleteReason:a.reason==="max-tokens"?"max_tokens":void 0}}}function bp(e){return e.modelInfo??(e.modelId?e.knownModels?.[e.modelId]:void 0)??{id:e.modelId,name:e.modelId,capabilities:["streaming"]}}class vt{config;abortSignal;constructor(e){this.config=e;this.abortSignal=e.abortSignal}getMessages(e,a){return Rt(this.config,e,a,void 0,this.abortSignal)}createMessage(e,a,t){let i=ft({providerConfigs:[Lo(this.config)]}),n=wp(this.config);if(n)i.registerProvider(n);let o=Rt(this.config,e,a,t,this.abortSignal),c=`gw_${So(10)}`,s=async function*(){for await(let d of await i.stream(o))yield Fo(c,d)}();return s.id=c,s}getModel(){return{id:this.config.modelId,info:bp(this.config)}}abort(){}setAbortSignal(e){this.abortSignal=e}}function Ko(e){return new vt(e)}async function No(e){let a=ft({providerConfigs:[Lo(e)]}),t=await xp(e);if(t)a.registerProvider(t);return new class extends vt{createMessage(i,n,o){let c=Rt(e,i,n,o,e.abortSignal),s=`gw_${So(10)}`,d=async function*(){for await(let u of await a.stream(c))yield Fo(s,u)}();return d.id=s,d}}(e)}var le=new Map;function Xu(e,a){le.set(e,{factory:a,isAsync:!1})}function Ju(e,a){le.set(e,{factory:a,isAsync:!0})}function Gt(e){return le.has(e)}function Oo(e,a){let t=le.get(e);if(!t)return;if(t.isAsync)throw Error(`Handler for "${e}" is registered as async. Use getRegisteredHandlerAsync() or createHandlerAsync() instead.`);return t.factory(a)}async function Io(e,a){let t=le.get(e);if(!t)return;if(t.isAsync)return t.factory(a);return t.factory(a)}function Vo(e){return le.get(e)?.isAsync??!1}function Eo(e){let a=q(e.providerId),t=e.routingProviderId?q(e.routingProviderId):void 0;if(a===e.providerId&&t===e.routingProviderId)return e;return{...e,providerId:a,routingProviderId:t}}function a2(e){let a=Eo(e),{providerId:t}=a;if(Gt(t)){if(Vo(t))throw Error(`Handler for "${t}" is registered as async. Use createHandlerAsync() instead.`);let i=Oo(t,a);if(i)return i}return Ko(a)}async function t2(e){let a=Eo(e),{providerId:t}=a;if(Gt(t)){let i=await Io(t,a);if(i)return i}return No(a)}export{jn as toProviderConfig,dr as resolveProviderConfig,Un as parseSettings,q as normalizeProviderId,t2 as createHandlerAsync,a2 as createHandler,rt as ProviderSettingsSchema};
|