Documentation
¶
Index ¶
Constants ¶
View Source
const ( ProviderAnthropic ModelProvider = "anthropic" // Models Claude35Sonnet ModelID = "claude-3.5-sonnet" Claude3Haiku ModelID = "claude-3-haiku" Claude37Sonnet ModelID = "claude-3.7-sonnet" Claude35Haiku ModelID = "claude-3.5-haiku" Claude3Opus ModelID = "claude-3-opus" Claude4Opus ModelID = "claude-4-opus" Claude4Sonnet ModelID = "claude-4-sonnet" Claude45Sonnet1M ModelID = "claude-4-5-sonnet[1m]" Claude45Opus ModelID = "claude-4.5-opus" Claude46Opus ModelID = "claude-4.6-opus" Claude46Sonnet ModelID = "claude-4.6-sonnet" )
View Source
const ( ProviderDeepSeek ModelProvider = "deepseek" DeepSeekChat ModelID = "deepseek-chat" DeepSeekReasoner ModelID = "deepseek-reasoner" )
View Source
const ( ProviderGemini ModelProvider = "gemini" // Models Gemini20Flash ModelID = "gemini-2.0-flash" Gemini20FlashLite ModelID = "gemini-2.0-flash-lite" Gemini25Flash ModelID = "gemini-2.5-flash" Gemini25 ModelID = "gemini-2.5" Gemini30Pro ModelID = "gemini-3.0-pro" Gemini30Flash ModelID = "gemini-3.0-flash" Gemini31ProPreview ModelID = "gemini-3.1-pro-preview" Gemini31FlashPreview ModelID = "gemini-3.1-flash-preview" )
View Source
const ( ProviderGroq ModelProvider = "groq" // GROQ QWENQwq ModelID = "qwen-qwq" // GROQ preview models Llama4Scout ModelID = "meta-llama/llama-4-scout-17b-16e-instruct" Llama4Maverick ModelID = "meta-llama/llama-4-maverick-17b-128e-instruct" Llama3_3_70BVersatile ModelID = "llama-3.3-70b-versatile" DeepSeekR1DistillLlama70b ModelID = "deepseek-r1-distill-llama-70b" Kimi_K2_0905 ModelID = "moonshotai/kimi-k2-instruct-0905" )
View Source
const ( ProviderKilo ModelProvider = "kilo" // Model IDs for Kilo Gateway models KiloAutoFree ModelID = "kilo.auto-free" KiloMiniMaxM2_5Free ModelID = "kilo.minimax-m2.5-free" KiloZaiGLM5Free ModelID = "kilo.zai-glm-5-free" KiloArceeTrinityLargePreviewFree ModelID = "kilo.arcee-trinity-large-preview-free" KiloArceeTrinityMiniFree ModelID = "kilo.arcee-trinity-mini-free" KiloAuroraAlphaFree ModelID = "kilo.aurora-alpha-free" KiloDeepSeekR1_0528Free ModelID = "kilo.deepseek-r1-0528-free" KiloGoogleGemma3_12BFree ModelID = "kilo.google-gemma-3-12b-free" KiloGoogleGemma3_27BFree ModelID = "kilo.google-gemma-3-27b-free" KiloGoogleGemma3_4BFree ModelID = "kilo.google-gemma-3-4b-free" KiloGoogleGemma3n_2BFree ModelID = "kilo.google-gemma-3n-2b-free" KiloGoogleGemma3n_4BFree ModelID = "kilo.google-gemma-3n-4b-free" KiloLiquidLFM2_5_1_2BFree ModelID = "kilo.liquid-lfm-2.5-1.2b-free" KiloLiquidLFM2_5_1_2BThinkingFree ModelID = "kilo.liquid-lfm-2.5-1.2b-thinking-free" KiloMetaLlama3_2_3BFree ModelID = "kilo.meta-llama-3.2-3b-free" KiloMetaLlama3_3_70BFree ModelID = "kilo.meta-llama-3.3-70b-free" KiloMistralSmall3_1_24BFree ModelID = "kilo.mistral-small-3.1-24b-free" KiloNousHermes3_405BFree ModelID = "kilo.nous-hermes-3-405b-free" KiloNvidiaNemotron3Nano30BFree ModelID = "kilo.nvidia-nemotron-3-nano-30b-free" KiloNvidiaNemotronNano12BV2Free ModelID = "kilo.nvidia-nemotron-nano-12b-v2-free" KiloNvidiaNemotronNano9BV2Free ModelID = "kilo.nvidia-nemotron-nano-9b-v2-free" KiloOpenAIGPTOSS_120BFree ModelID = "kilo.openai-gpt-oss-120b-free" KiloOpenAIGPTOSS_20BFree ModelID = "kilo.openai-gpt-oss-20b-free" KiloQwen3_235BThinking ModelID = "kilo.qwen3-235b-thinking" KiloQwen3_4BFree ModelID = "kilo.qwen3-4b-free" KiloQwen3Coder480BFree ModelID = "kilo.qwen3-coder-480b-free" KiloQwen3Next80BFree ModelID = "kilo.qwen3-next-80b-free" KiloQwen3VL235BThinking ModelID = "kilo.qwen3-vl-235b-thinking" KiloQwen3VL30BThinking ModelID = "kilo.qwen3-vl-30b-thinking" KiloStepFun3_5FlashFree ModelID = "kilo.stepfun-3.5-flash-free" KiloVeniceUncensoredFree ModelID = "kilo.venice-uncensored-free" KiloZaiGLM4_5AirFree ModelID = "kilo.zai-glm-4.5-air-free" KiloNousDeepHermes3Mistral24B ModelID = "kilo.nous-deephermes-3-mistral-24b" )
View Source
const ( ProviderMistral ModelProvider = "mistral" MistralGPT4O ModelID = "mistral.gpt-4o" )
View Source
const ( // Provider Constants ProviderBedrock ModelProvider = "bedrock" // ForTests ProviderMock ModelProvider = "__mock" BedrockClaude45Sonnet ModelID = "bedrock.claude-4.5-sonnet" )
View Source
const ( ProviderOpenAI ModelProvider = "openai" GPT41 ModelID = "gpt-4.1" GPT41Mini ModelID = "gpt-4.1-mini" GPT41Nano ModelID = "gpt-4.1-nano" GPT45Preview ModelID = "gpt-4.5-preview" GPT4o ModelID = "gpt-4o" GPT4oMini ModelID = "gpt-4o-mini" O1 ModelID = "o1" O1Pro ModelID = "o1-pro" O1Mini ModelID = "o1-mini" O3 ModelID = "o3" O3Mini ModelID = "o3-mini" O4Mini ModelID = "o4-mini" GPT5 ModelID = "gpt-5" )
View Source
const ( ProviderOpenRouter ModelProvider = "openrouter" OpenRouterFree ModelID = "openrouter.free" OpenRouterGPT41 ModelID = "openrouter.gpt-4.1" OpenRouterGPT41Mini ModelID = "openrouter.gpt-4.1-mini" OpenRouterGPT41Nano ModelID = "openrouter.gpt-4.1-nano" OpenRouterGPT45Preview ModelID = "openrouter.gpt-4.5-preview" OpenRouterGPT4o ModelID = "openrouter.gpt-4o" OpenRouterGPT4oMini ModelID = "openrouter.gpt-4o-mini" OpenRouterO1 ModelID = "openrouter.o1" OpenRouterO1Pro ModelID = "openrouter.o1-pro" OpenRouterO1Mini ModelID = "openrouter.o1-mini" OpenRouterO3 ModelID = "openrouter.o3" OpenRouterO3Mini ModelID = "openrouter.o3-mini" OpenRouterO4Mini ModelID = "openrouter.o4-mini" OpenRouterGemini25Flash ModelID = "openrouter.gemini-2.5-flash" OpenRouterGemini25 ModelID = "openrouter.gemini-2.5" OpenRouterGemini3Flash ModelID = "openrouter.gemini-3-flash-preview" OpenRouterGemini3 ModelID = "openrouter.gemini-3-pro-preview" OpenRouterClaude35Sonnet ModelID = "openrouter.claude-3.5-sonnet" OpenRouterClaude3Haiku ModelID = "openrouter.claude-3-haiku" OpenRouterClaude37Sonnet ModelID = "openrouter.claude-3.7-sonnet" OpenRouterClaude35Haiku ModelID = "openrouter.claude-3.5-haiku" OpenRouterClaude3Opus ModelID = "openrouter.claude-3-opus" OpenRouterKimiK2 ModelID = "openrouter.kimi-k2" OpenRouterNemotron3Nano ModelID = "openrouter.nemotron-3-nano" OpenRouterGLM47Flash ModelID = "openrouter.glm-4.7-flash" OpenRouterGPT52 ModelID = "openrouter.gpt-5.2" OpenRouterGPT52Codex ModelID = "openrouter.gpt-5.2-codex" OpenRouterDeepSeekR1Free ModelID = "openrouter.deepseek-r1-free" OpenRouterDeepSeekV32 ModelID = "openrouter.deepseek-v3.2" OpenRouterDevstral2 ModelID = "openrouter.devstral-2" OpenRouterMiMoV2 ModelID = "openrouter.mimo-v2" OpenRouterMiMoV2Flash ModelID = "openrouter.mimo-v2-flash" OpenRouterGrok4Fast ModelID = "openrouter.grok-4-fast" OpenRouterGrok4FastFree ModelID = "openrouter.grok-4-fast:free" OpenRouterGrok41Fast ModelID = "openrouter.grok-4.1-fast" OpenRouterMiniMax01 ModelID = "openrouter.minimax-01" OpenRouterMiniMaxM1 ModelID = "openrouter.minimax-m1" OpenRouterMiniMaxM2 ModelID = "openrouter.minimax-m2" OpenRouterMiniMaxM21 ModelID = "openrouter.minimax-m2.1" OpenRouterMiniMaxM25 ModelID = "openrouter.minimax-m2.5" OpenRouterTrinityLarge ModelID = "openrouter.trinity-large-preview:free" )
View Source
const ( ProviderVertexAI ModelProvider = "vertexai" // Models VertexAIGemini30Flash ModelID = "vertexai.gemini-3.0-flash" VertexAIGemini30Pro ModelID = "vertexai.gemini-3.0-pro" VertexAISonnet45M ModelID = "vertexai.claude-sonnet-4-5-m" VertexAIOpus45 ModelID = "vertexai.claude-opus-4-5" VertexAIOpus46 ModelID = "vertexai.claude-opus-4-6" VertexAISonnet46 ModelID = "vertexai.claude-sonnet-4-6" )
View Source
const ( ProviderXAI ModelProvider = "xai" XAIGrok41FastReasoning ModelID = "grok-4-1-fast-reasoning" XAIGrok41FastNonReasoning ModelID = "grok-4-1-fast-non-reasoning" XAIGrokCodeFast1 ModelID = "grok-code-fast-1" XAIGrok4FastReasoning ModelID = "grok-4-fast-reasoning" XAIGrok4FastNonReasoning ModelID = "grok-4-fast-non-reasoning" XAIGrok40709 ModelID = "grok-4-0709" )
Variables ¶
View Source
var AnthropicModels = map[ModelID]Model{ Claude35Sonnet: { ID: Claude35Sonnet, Name: "Claude 3.5 Sonnet", Provider: ProviderAnthropic, APIModel: "claude-3-5-sonnet-latest", CostPer1MIn: 3.0, CostPer1MInCached: 3.75, CostPer1MOutCached: 0.30, CostPer1MOut: 15.0, ContextWindow: 200000, DefaultMaxTokens: 5000, SupportsAttachments: true, }, Claude3Haiku: { ID: Claude3Haiku, Name: "Claude 3 Haiku", Provider: ProviderAnthropic, APIModel: "claude-3-haiku-20240307", CostPer1MIn: 0.25, CostPer1MInCached: 0.30, CostPer1MOutCached: 0.03, CostPer1MOut: 1.25, ContextWindow: 200000, DefaultMaxTokens: 4096, SupportsAttachments: true, }, Claude37Sonnet: { ID: Claude37Sonnet, Name: "Claude 3.7 Sonnet", Provider: ProviderAnthropic, APIModel: "claude-3-7-sonnet-latest", CostPer1MIn: 3.0, CostPer1MInCached: 3.75, CostPer1MOutCached: 0.30, CostPer1MOut: 15.0, ContextWindow: 200000, DefaultMaxTokens: 50000, CanReason: true, SupportsAttachments: true, }, Claude35Haiku: { ID: Claude35Haiku, Name: "Claude 3.5 Haiku", Provider: ProviderAnthropic, APIModel: "claude-3-5-haiku-latest", CostPer1MIn: 0.80, CostPer1MInCached: 1.0, CostPer1MOutCached: 0.08, CostPer1MOut: 4.0, ContextWindow: 200000, DefaultMaxTokens: 4096, SupportsAttachments: true, }, Claude3Opus: { ID: Claude3Opus, Name: "Claude 3 Opus", Provider: ProviderAnthropic, APIModel: "claude-3-opus-latest", CostPer1MIn: 15.0, CostPer1MInCached: 18.75, CostPer1MOutCached: 1.50, CostPer1MOut: 75.0, ContextWindow: 200000, DefaultMaxTokens: 4096, SupportsAttachments: true, }, Claude4Sonnet: { ID: Claude4Sonnet, Name: "Claude 4 Sonnet", Provider: ProviderAnthropic, APIModel: "claude-sonnet-4-20250514", CostPer1MIn: 3.0, CostPer1MInCached: 3.75, CostPer1MOutCached: 0.30, CostPer1MOut: 15.0, ContextWindow: 200000, DefaultMaxTokens: 50000, CanReason: true, SupportsAttachments: true, }, Claude4Opus: { ID: Claude4Opus, Name: "Claude 4 Opus", Provider: ProviderAnthropic, APIModel: "claude-opus-4-20250514", CostPer1MIn: 15.0, CostPer1MInCached: 18.75, CostPer1MOutCached: 1.50, CostPer1MOut: 75.0, ContextWindow: 200000, DefaultMaxTokens: 4096, SupportsAttachments: true, }, Claude45Sonnet1M: { ID: Claude45Sonnet1M, Name: "Claude 4.5 Sonnet", Provider: ProviderAnthropic, APIModel: "claude-sonnet-4-5", CostPer1MIn: 3.0, CostPer1MInCached: 3.75, CostPer1MOutCached: 0.30, CostPer1MOut: 15.0, ContextWindow: 1000000, DefaultMaxTokens: 64000, CanReason: true, SupportsAttachments: true, }, Claude45Opus: { ID: Claude45Opus, Name: "Claude 4.5 Opus", Provider: ProviderAnthropic, APIModel: "claude-opus-4-5-20251101", CostPer1MIn: 5.0, CostPer1MInCached: 6.75, CostPer1MOutCached: 0.50, CostPer1MOut: 25.0, ContextWindow: 200000, DefaultMaxTokens: 32000, CanReason: true, SupportsAttachments: true, }, Claude46Opus: { ID: Claude46Opus, Name: "Claude 4.6 Opus", Provider: ProviderAnthropic, APIModel: "claude-opus-4-6", CostPer1MIn: 5.0, CostPer1MInCached: 6.25, CostPer1MOutCached: 0.50, CostPer1MOut: 25.0, ContextWindow: 1000000, DefaultMaxTokens: 128000, CanReason: true, SupportsAdaptiveThinking: true, SupportsMaximumThinking: true, SupportsAttachments: true, }, Claude46Sonnet: { ID: Claude46Sonnet, Name: "Claude 4.6 Sonnet", Provider: ProviderAnthropic, APIModel: "claude-sonnet-4-6", CostPer1MIn: 3.0, CostPer1MInCached: 3.75, CostPer1MOutCached: 0.30, CostPer1MOut: 15.0, ContextWindow: 1000000, DefaultMaxTokens: 128000, CanReason: true, SupportsAttachments: true, }, }
https://docs.anthropic.com/en/docs/about-claude/models/all-models
View Source
var DeepSeekModels = map[ModelID]Model{ DeepSeekChat: { ID: DeepSeekChat, Name: "DeepSeek Chat", Provider: ProviderDeepSeek, APIModel: "deepseek-chat", CostPer1MIn: 0.28, CostPer1MInCached: 0.028, CostPer1MOut: 0.42, ContextWindow: 131_072, DefaultMaxTokens: 8192, SupportsAttachments: true, }, DeepSeekReasoner: { ID: DeepSeekReasoner, Name: "DeepSeek Reasoner", Provider: ProviderDeepSeek, APIModel: "deepseek-reasoner", CostPer1MIn: 0.28, CostPer1MInCached: 0.028, CostPer1MOut: 0.42, ContextWindow: 131072, DefaultMaxTokens: 65536, CanReason: true, SupportsAttachments: true, }, }
View Source
var GeminiModels = map[ModelID]Model{ Gemini20Flash: { ID: Gemini20Flash, Name: "Gemini 2.0 Flash", Provider: ProviderGemini, APIModel: "gemini-2.0-flash", CostPer1MIn: 0.10, CostPer1MInCached: 0, CostPer1MOutCached: 0, CostPer1MOut: 0.40, ContextWindow: 1000000, DefaultMaxTokens: 6000, SupportsAttachments: true, }, Gemini20FlashLite: { ID: Gemini20FlashLite, Name: "Gemini 2.0 Flash Lite", Provider: ProviderGemini, APIModel: "gemini-2.0-flash-lite", CostPer1MIn: 0.05, CostPer1MInCached: 0, CostPer1MOutCached: 0, CostPer1MOut: 0.30, ContextWindow: 1000000, DefaultMaxTokens: 6000, SupportsAttachments: true, }, Gemini25Flash: { ID: Gemini25Flash, Name: "Gemini 2.5 Flash", Provider: ProviderGemini, APIModel: "gemini-2.5-flash-preview-04-17", CostPer1MIn: 0.15, CostPer1MInCached: 0, CostPer1MOutCached: 0, CostPer1MOut: 0.60, ContextWindow: 1000000, DefaultMaxTokens: 50000, SupportsAttachments: true, }, Gemini25: { ID: Gemini25, Name: "Gemini 2.5 Pro", Provider: ProviderGemini, APIModel: "gemini-2.5-pro-preview-05-06", CostPer1MIn: 1.25, CostPer1MInCached: 0, CostPer1MOutCached: 0, CostPer1MOut: 10, ContextWindow: 1000000, DefaultMaxTokens: 50000, SupportsAttachments: true, }, Gemini30Pro: { ID: Gemini30Pro, Name: "Gemini 3.0 Pro", Provider: ProviderGemini, APIModel: "gemini-3-pro-preview", CostPer1MIn: 2, CostPer1MInCached: 0.2, CostPer1MOutCached: 0.3833, CostPer1MOut: 12, ContextWindow: 1048576, DefaultMaxTokens: 65535, SupportsAttachments: true, SupportsAdaptiveThinking: true, CanReason: true, }, Gemini30Flash: { ID: Gemini30Flash, Name: "Gemini 3.0 Flash", Provider: ProviderGemini, APIModel: "gemini-3-flash-preview", CostPer1MIn: 0.5, CostPer1MInCached: 0.05, CostPer1MOutCached: 0.3833, CostPer1MOut: 3, ContextWindow: 1048576, DefaultMaxTokens: 65535, SupportsAttachments: true, SupportsAdaptiveThinking: true, CanReason: true, }, Gemini31ProPreview: { ID: Gemini31ProPreview, Name: "Gemini 3.1 Pro Preview", Provider: ProviderGemini, APIModel: "gemini-3.1-pro-preview", CostPer1MIn: 2, CostPer1MInCached: 0.2, CostPer1MOutCached: 0.3833, CostPer1MOut: 12, ContextWindow: 1048576, DefaultMaxTokens: 65535, SupportsAttachments: true, SupportsAdaptiveThinking: true, CanReason: true, }, Gemini31FlashPreview: { ID: Gemini31FlashPreview, Name: "Gemini 3.1 Flash Preview", Provider: ProviderGemini, APIModel: "gemini-3.1-flash-preview", CostPer1MIn: 0.5, CostPer1MInCached: 0.05, CostPer1MOutCached: 0.3833, CostPer1MOut: 3, ContextWindow: 1048576, DefaultMaxTokens: 65535, SupportsAttachments: true, SupportsAdaptiveThinking: true, CanReason: true, }, }
View Source
var GroqModels = map[ModelID]Model{ QWENQwq: { ID: QWENQwq, Name: "Qwen Qwq", Provider: ProviderGroq, APIModel: "qwen-qwq-32b", CostPer1MIn: 0.29, CostPer1MInCached: 0.275, CostPer1MOutCached: 0.0, CostPer1MOut: 0.39, ContextWindow: 128_000, DefaultMaxTokens: 50000, CanReason: false, SupportsAttachments: false, }, Llama4Scout: { ID: Llama4Scout, Name: "Llama4Scout", Provider: ProviderGroq, APIModel: "meta-llama/llama-4-scout-17b-16e-instruct", CostPer1MIn: 0.11, CostPer1MInCached: 0, CostPer1MOutCached: 0, CostPer1MOut: 0.34, ContextWindow: 128_000, SupportsAttachments: true, }, Llama4Maverick: { ID: Llama4Maverick, Name: "Llama4Maverick", Provider: ProviderGroq, APIModel: "meta-llama/llama-4-maverick-17b-128e-instruct", CostPer1MIn: 0.20, CostPer1MInCached: 0, CostPer1MOutCached: 0, CostPer1MOut: 0.20, ContextWindow: 128_000, SupportsAttachments: true, }, Llama3_3_70BVersatile: { ID: Llama3_3_70BVersatile, Name: "Llama3_3_70BVersatile", Provider: ProviderGroq, APIModel: "llama-3.3-70b-versatile", CostPer1MIn: 0.59, CostPer1MInCached: 0, CostPer1MOutCached: 0, CostPer1MOut: 0.79, ContextWindow: 128_000, SupportsAttachments: false, }, DeepSeekR1DistillLlama70b: { ID: DeepSeekR1DistillLlama70b, Name: "DeepSeekR1DistillLlama70b", Provider: ProviderGroq, APIModel: "deepseek-r1-distill-llama-70b", CostPer1MIn: 0.75, CostPer1MInCached: 0, CostPer1MOutCached: 0, CostPer1MOut: 0.99, ContextWindow: 128_000, CanReason: true, SupportsAttachments: false, }, Kimi_K2_0905: { ID: Kimi_K2_0905, Name: "Kimi K2 0905", Provider: ProviderGroq, APIModel: "moonshotai/kimi-k2-instruct-0905", CostPer1MIn: 1, CostPer1MInCached: 0, CostPer1MOutCached: 0, CostPer1MOut: 3, ContextWindow: 131_072, DefaultMaxTokens: 16_384, SupportsAttachments: true, }, }
View Source
var KiloModels = map[ModelID]Model{ KiloAutoFree: { ID: KiloAutoFree, Name: "Kilo Auto (free)", Provider: ProviderKilo, APIModel: "kilo/auto-free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 204800, DefaultMaxTokens: 131072, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: false, }, KiloMiniMaxM2_5Free: { ID: KiloMiniMaxM2_5Free, Name: "MiniMax M2.5 (free)", Provider: ProviderKilo, APIModel: "minimax/minimax-m2.5:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 204800, DefaultMaxTokens: 131072, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloZaiGLM5Free: { ID: KiloZaiGLM5Free, Name: "Z.ai GLM 5 (free)", Provider: ProviderKilo, APIModel: "z-ai/glm-5:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 202800, DefaultMaxTokens: 131072, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloArceeTrinityLargePreviewFree: { ID: KiloArceeTrinityLargePreviewFree, Name: "Arcee AI: Trinity Large Preview (free)", Provider: ProviderKilo, APIModel: "arcee-ai/trinity-large-preview:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 131000, DefaultMaxTokens: 26200, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloArceeTrinityMiniFree: { ID: KiloArceeTrinityMiniFree, Name: "Arcee AI: Trinity Mini (free)", Provider: ProviderKilo, APIModel: "arcee-ai/trinity-mini:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 131072, DefaultMaxTokens: 26215, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloAuroraAlphaFree: { ID: KiloAuroraAlphaFree, Name: "Aurora Alpha (free)", Provider: ProviderKilo, APIModel: "openrouter/aurora-alpha", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 128000, DefaultMaxTokens: 50000, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloDeepSeekR1_0528Free: { ID: KiloDeepSeekR1_0528Free, Name: "DeepSeek: R1 0528 (free)", Provider: ProviderKilo, APIModel: "deepseek/deepseek-r1-0528:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 163840, DefaultMaxTokens: 163840, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: false, }, KiloGoogleGemma3_12BFree: { ID: KiloGoogleGemma3_12BFree, Name: "Google: Gemma 3 12B (free)", Provider: ProviderKilo, APIModel: "google/gemma-3-12b-it:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 32768, DefaultMaxTokens: 8192, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: false, }, KiloGoogleGemma3_27BFree: { ID: KiloGoogleGemma3_27BFree, Name: "Google: Gemma 3 27B (free)", Provider: ProviderKilo, APIModel: "google/gemma-3-27b-it:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 131072, DefaultMaxTokens: 8192, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloGoogleGemma3_4BFree: { ID: KiloGoogleGemma3_4BFree, Name: "Google: Gemma 3 4B (free)", Provider: ProviderKilo, APIModel: "google/gemma-3-4b-it:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 32768, DefaultMaxTokens: 8192, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: false, }, KiloGoogleGemma3n_2BFree: { ID: KiloGoogleGemma3n_2BFree, Name: "Google: Gemma 3n 2B (free)", Provider: ProviderKilo, APIModel: "google/gemma-3n-e2b-it:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 8192, DefaultMaxTokens: 2048, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: false, }, KiloGoogleGemma3n_4BFree: { ID: KiloGoogleGemma3n_4BFree, Name: "Google: Gemma 3n 4B (free)", Provider: ProviderKilo, APIModel: "google/gemma-3n-e4b-it:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 8192, DefaultMaxTokens: 2048, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: false, }, KiloLiquidLFM2_5_1_2BFree: { ID: KiloLiquidLFM2_5_1_2BFree, Name: "LiquidAI: LFM2.5-1.2B-Instruct (free)", Provider: ProviderKilo, APIModel: "liquid/lfm-2.5-1.2b-instruct:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 32768, DefaultMaxTokens: 6554, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: false, }, KiloLiquidLFM2_5_1_2BThinkingFree: { ID: KiloLiquidLFM2_5_1_2BThinkingFree, Name: "LiquidAI: LFM2.5-1.2B-Thinking (free)", Provider: ProviderKilo, APIModel: "liquid/lfm-2.5-1.2b-thinking:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 32768, DefaultMaxTokens: 6554, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: false, }, KiloMetaLlama3_2_3BFree: { ID: KiloMetaLlama3_2_3BFree, Name: "Meta: Llama 3.2 3B Instruct (free)", Provider: ProviderKilo, APIModel: "meta-llama/llama-3.2-3b-instruct:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 131072, DefaultMaxTokens: 26215, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: false, }, KiloMetaLlama3_3_70BFree: { ID: KiloMetaLlama3_3_70BFree, Name: "Meta: Llama 3.3 70B Instruct (free)", Provider: ProviderKilo, APIModel: "meta-llama/llama-3.3-70b-instruct:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 128000, DefaultMaxTokens: 128000, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloMistralSmall3_1_24BFree: { ID: KiloMistralSmall3_1_24BFree, Name: "Mistral: Mistral Small 3.1 24B (free)", Provider: ProviderKilo, APIModel: "mistralai/mistral-small-3.1-24b-instruct:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 128000, DefaultMaxTokens: 25600, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloNousHermes3_405BFree: { ID: KiloNousHermes3_405BFree, Name: "Nous: Hermes 3 405B Instruct (free)", Provider: ProviderKilo, APIModel: "nousresearch/hermes-3-llama-3.1-405b:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 131072, DefaultMaxTokens: 26215, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: false, }, KiloNvidiaNemotron3Nano30BFree: { ID: KiloNvidiaNemotron3Nano30BFree, Name: "NVIDIA: Nemotron 3 Nano 30B A3B (free)", Provider: ProviderKilo, APIModel: "nvidia/nemotron-3-nano-30b-a3b:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 256000, DefaultMaxTokens: 51200, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloNvidiaNemotronNano12BV2Free: { ID: KiloNvidiaNemotronNano12BV2Free, Name: "NVIDIA: Nemotron Nano 12B 2 VL (free)", Provider: ProviderKilo, APIModel: "nvidia/nemotron-nano-12b-v2-vl:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 128000, DefaultMaxTokens: 128000, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloNvidiaNemotronNano9BV2Free: { ID: KiloNvidiaNemotronNano9BV2Free, Name: "NVIDIA: Nemotron Nano 9B V2 (free)", Provider: ProviderKilo, APIModel: "nvidia/nemotron-nano-9b-v2:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 128000, DefaultMaxTokens: 25600, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloOpenAIGPTOSS_120BFree: { ID: KiloOpenAIGPTOSS_120BFree, Name: "OpenAI: gpt-oss-120b (free)", Provider: ProviderKilo, APIModel: "openai/gpt-oss-120b:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 131072, DefaultMaxTokens: 131072, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloOpenAIGPTOSS_20BFree: { ID: KiloOpenAIGPTOSS_20BFree, Name: "OpenAI: gpt-oss-20b (free)", Provider: ProviderKilo, APIModel: "openai/gpt-oss-20b:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 131072, DefaultMaxTokens: 131072, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloQwen3_235BThinking: { ID: KiloQwen3_235BThinking, Name: "Qwen: Qwen3 235B A22B Thinking 2507", Provider: ProviderKilo, APIModel: "qwen/qwen3-235b-a22b-thinking-2507", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 131072, DefaultMaxTokens: 26215, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloQwen3_4BFree: { ID: KiloQwen3_4BFree, Name: "Qwen: Qwen3 4B (free)", Provider: ProviderKilo, APIModel: "qwen/qwen3-4b:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 40960, DefaultMaxTokens: 8192, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloQwen3Coder480BFree: { ID: KiloQwen3Coder480BFree, Name: "Qwen: Qwen3 Coder 480B A35B (free)", Provider: ProviderKilo, APIModel: "qwen/qwen3-coder:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 262000, DefaultMaxTokens: 262000, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloQwen3Next80BFree: { ID: KiloQwen3Next80BFree, Name: "Qwen: Qwen3 Next 80B A3B Instruct (free)", Provider: ProviderKilo, APIModel: "qwen/qwen3-next-80b-a3b-instruct:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 40960, DefaultMaxTokens: 8192, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloQwen3VL235BThinking: { ID: KiloQwen3VL235BThinking, Name: "Qwen: Qwen3 VL 235B A22B Thinking", Provider: ProviderKilo, APIModel: "qwen/qwen3-vl-235b-a22b-thinking", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 40960, DefaultMaxTokens: 8192, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloQwen3VL30BThinking: { ID: KiloQwen3VL30BThinking, Name: "Qwen: Qwen3 VL 30B A3B Thinking", Provider: ProviderKilo, APIModel: "qwen/qwen3-vl-30b-a3b-thinking", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 40960, DefaultMaxTokens: 8192, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloStepFun3_5FlashFree: { ID: KiloStepFun3_5FlashFree, Name: "StepFun: StepFun 3.5 Flash (free)", Provider: ProviderKilo, APIModel: "stepfun/stepfun-3.5-flash:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 131072, DefaultMaxTokens: 16384, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloVeniceUncensoredFree: { ID: KiloVeniceUncensoredFree, Name: "Venice AI: Venice Uncensored (free)", Provider: ProviderKilo, APIModel: "veniceai/venice-uncensored:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 65536, DefaultMaxTokens: 16384, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloZaiGLM4_5AirFree: { ID: KiloZaiGLM4_5AirFree, Name: "Z.ai GLM 4.5 Air (free)", Provider: ProviderKilo, APIModel: "z-ai/glm-4.5-air:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 32768, DefaultMaxTokens: 32768, CanReason: true, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, KiloNousDeepHermes3Mistral24B: { ID: KiloNousDeepHermes3Mistral24B, Name: "Nous: DeepHermes 3 Mistral 24B", Provider: ProviderKilo, APIModel: "nousresearch/deephermes-3-mistral-24b-preview:free", CostPer1MIn: 0.0, CostPer1MInCached: 0.0, CostPer1MOut: 0.0, CostPer1MOutCached: 0.0, ContextWindow: 32768, DefaultMaxTokens: 32768, CanReason: false, SupportsAdaptiveThinking: false, SupportsMaximumThinking: false, SupportsAttachments: true, }, }
View Source
var MistralModels = map[ModelID]Model{ MistralGPT4O: { ID: MistralGPT4O, Name: "GPT-4o (via Mistral)", Provider: ProviderMistral, APIModel: "openai/gpt-4o", CostPer1MIn: 0.20, CostPer1MInCached: 0.05, CostPer1MOut: 0.50, CostPer1MOutCached: 0, ContextWindow: 128000, DefaultMaxTokens: 16384, }, }
View Source
var OpenAIModels = map[ModelID]Model{ GPT41: { ID: GPT41, Name: "GPT 4.1", Provider: ProviderOpenAI, APIModel: "gpt-4.1", CostPer1MIn: 2.00, CostPer1MInCached: 0.50, CostPer1MOutCached: 0.0, CostPer1MOut: 8.00, ContextWindow: 1_047_576, DefaultMaxTokens: 20000, SupportsAttachments: true, }, GPT41Mini: { ID: GPT41Mini, Name: "GPT 4.1 mini", Provider: ProviderOpenAI, APIModel: "gpt-4.1", CostPer1MIn: 0.40, CostPer1MInCached: 0.10, CostPer1MOutCached: 0.0, CostPer1MOut: 1.60, ContextWindow: 200_000, DefaultMaxTokens: 20000, SupportsAttachments: true, }, GPT41Nano: { ID: GPT41Nano, Name: "GPT 4.1 nano", Provider: ProviderOpenAI, APIModel: "gpt-4.1-nano", CostPer1MIn: 0.10, CostPer1MInCached: 0.025, CostPer1MOutCached: 0.0, CostPer1MOut: 0.40, ContextWindow: 1_047_576, DefaultMaxTokens: 20000, SupportsAttachments: true, }, GPT45Preview: { ID: GPT45Preview, Name: "GPT 4.5 preview", Provider: ProviderOpenAI, APIModel: "gpt-4.5-preview", CostPer1MIn: 75.00, CostPer1MInCached: 37.50, CostPer1MOutCached: 0.0, CostPer1MOut: 150.00, ContextWindow: 128_000, DefaultMaxTokens: 15000, SupportsAttachments: true, }, GPT4o: { ID: GPT4o, Name: "GPT 4o", Provider: ProviderOpenAI, APIModel: "gpt-4o", CostPer1MIn: 2.50, CostPer1MInCached: 1.25, CostPer1MOutCached: 0.0, CostPer1MOut: 10.00, ContextWindow: 128_000, DefaultMaxTokens: 4096, SupportsAttachments: true, }, GPT4oMini: { ID: GPT4oMini, Name: "GPT 4o mini", Provider: ProviderOpenAI, APIModel: "gpt-4o-mini", CostPer1MIn: 0.15, CostPer1MInCached: 0.075, CostPer1MOutCached: 0.0, CostPer1MOut: 0.60, ContextWindow: 128_000, SupportsAttachments: true, }, O1: { ID: O1, Name: "O1", Provider: ProviderOpenAI, APIModel: "o1", CostPer1MIn: 15.00, CostPer1MInCached: 7.50, CostPer1MOutCached: 0.0, CostPer1MOut: 60.00, ContextWindow: 200_000, DefaultMaxTokens: 50000, CanReason: true, SupportsAttachments: true, }, O1Pro: { ID: O1Pro, Name: "o1 pro", Provider: ProviderOpenAI, APIModel: "o1-pro", CostPer1MIn: 150.00, CostPer1MInCached: 0.0, CostPer1MOutCached: 0.0, CostPer1MOut: 600.00, ContextWindow: 200_000, DefaultMaxTokens: 50000, CanReason: true, SupportsAttachments: true, }, O1Mini: { ID: O1Mini, Name: "o1 mini", Provider: ProviderOpenAI, APIModel: "o1-mini", CostPer1MIn: 1.10, CostPer1MInCached: 0.55, CostPer1MOutCached: 0.0, CostPer1MOut: 4.40, ContextWindow: 128_000, DefaultMaxTokens: 50000, CanReason: true, SupportsAttachments: true, }, O3: { ID: O3, Name: "o3", Provider: ProviderOpenAI, APIModel: "o3", CostPer1MIn: 10.00, CostPer1MInCached: 2.50, CostPer1MOutCached: 0.0, CostPer1MOut: 40.00, ContextWindow: 200_000, CanReason: true, SupportsAttachments: true, }, O3Mini: { ID: O3Mini, Name: "o3 mini", Provider: ProviderOpenAI, APIModel: "o3-mini", CostPer1MIn: 1.10, CostPer1MInCached: 0.55, CostPer1MOutCached: 0.0, CostPer1MOut: 4.40, ContextWindow: 200_000, DefaultMaxTokens: 50000, CanReason: true, SupportsAttachments: false, }, O4Mini: { ID: O4Mini, Name: "o4 mini", Provider: ProviderOpenAI, APIModel: "o4-mini", CostPer1MIn: 1.10, CostPer1MInCached: 0.275, CostPer1MOutCached: 0.0, CostPer1MOut: 4.40, ContextWindow: 128_000, DefaultMaxTokens: 50000, CanReason: true, SupportsAttachments: true, }, GPT5: { ID: GPT5, Name: "GPT 5", Provider: ProviderOpenAI, APIModel: "gpt-5", CostPer1MIn: 1.25, CostPer1MInCached: 0.125, CostPer1MOutCached: 0.0, CostPer1MOut: 10, ContextWindow: 400_000, DefaultMaxTokens: 128_000, CanReason: true, SupportsAttachments: true, }, }
View Source
var OpenRouterModels = map[ModelID]Model{ OpenRouterFree: { ID: OpenRouterFree, Name: "OpenRouter - Free Models Router", Provider: ProviderOpenRouter, APIModel: "openrouter/free", CostPer1MIn: 0, CostPer1MInCached: 0, CostPer1MOut: 0, CostPer1MOutCached: 0, ContextWindow: 200_000, DefaultMaxTokens: 50000, SupportsAttachments: true, CanReason: true, }, OpenRouterGPT41: { ID: OpenRouterGPT41, Name: "OpenRouter - GPT 4.1", Provider: ProviderOpenRouter, APIModel: "openai/gpt-4.1", CostPer1MIn: OpenAIModels[GPT41].CostPer1MIn, CostPer1MInCached: OpenAIModels[GPT41].CostPer1MInCached, CostPer1MOut: OpenAIModels[GPT41].CostPer1MOut, CostPer1MOutCached: OpenAIModels[GPT41].CostPer1MOutCached, ContextWindow: OpenAIModels[GPT41].ContextWindow, DefaultMaxTokens: OpenAIModels[GPT41].DefaultMaxTokens, }, OpenRouterGPT41Mini: { ID: OpenRouterGPT41Mini, Name: "OpenRouter - GPT 4.1 mini", Provider: ProviderOpenRouter, APIModel: "openai/gpt-4.1-mini", CostPer1MIn: OpenAIModels[GPT41Mini].CostPer1MIn, CostPer1MInCached: OpenAIModels[GPT41Mini].CostPer1MInCached, CostPer1MOut: OpenAIModels[GPT41Mini].CostPer1MOut, CostPer1MOutCached: OpenAIModels[GPT41Mini].CostPer1MOutCached, ContextWindow: OpenAIModels[GPT41Mini].ContextWindow, DefaultMaxTokens: OpenAIModels[GPT41Mini].DefaultMaxTokens, }, OpenRouterGPT41Nano: { ID: OpenRouterGPT41Nano, Name: "OpenRouter - GPT 4.1 nano", Provider: ProviderOpenRouter, APIModel: "openai/gpt-4.1-nano", CostPer1MIn: OpenAIModels[GPT41Nano].CostPer1MIn, CostPer1MInCached: OpenAIModels[GPT41Nano].CostPer1MInCached, CostPer1MOut: OpenAIModels[GPT41Nano].CostPer1MOut, CostPer1MOutCached: OpenAIModels[GPT41Nano].CostPer1MOutCached, ContextWindow: OpenAIModels[GPT41Nano].ContextWindow, DefaultMaxTokens: OpenAIModels[GPT41Nano].DefaultMaxTokens, }, OpenRouterGPT45Preview: { ID: OpenRouterGPT45Preview, Name: "OpenRouter - GPT 4.5 preview", Provider: ProviderOpenRouter, APIModel: "openai/gpt-4.5-preview", CostPer1MIn: OpenAIModels[GPT45Preview].CostPer1MIn, CostPer1MInCached: OpenAIModels[GPT45Preview].CostPer1MInCached, CostPer1MOut: OpenAIModels[GPT45Preview].CostPer1MOut, CostPer1MOutCached: OpenAIModels[GPT45Preview].CostPer1MOutCached, ContextWindow: OpenAIModels[GPT45Preview].ContextWindow, DefaultMaxTokens: OpenAIModels[GPT45Preview].DefaultMaxTokens, }, OpenRouterGPT4o: { ID: OpenRouterGPT4o, Name: "OpenRouter - GPT 4o", Provider: ProviderOpenRouter, APIModel: "openai/gpt-4o", CostPer1MIn: OpenAIModels[GPT4o].CostPer1MIn, CostPer1MInCached: OpenAIModels[GPT4o].CostPer1MInCached, CostPer1MOut: OpenAIModels[GPT4o].CostPer1MOut, CostPer1MOutCached: OpenAIModels[GPT4o].CostPer1MOutCached, ContextWindow: OpenAIModels[GPT4o].ContextWindow, DefaultMaxTokens: OpenAIModels[GPT4o].DefaultMaxTokens, }, OpenRouterGPT4oMini: { ID: OpenRouterGPT4oMini, Name: "OpenRouter - GPT 4o mini", Provider: ProviderOpenRouter, APIModel: "openai/gpt-4o-mini", CostPer1MIn: OpenAIModels[GPT4oMini].CostPer1MIn, CostPer1MInCached: OpenAIModels[GPT4oMini].CostPer1MInCached, CostPer1MOut: OpenAIModels[GPT4oMini].CostPer1MOut, CostPer1MOutCached: OpenAIModels[GPT4oMini].CostPer1MOutCached, ContextWindow: OpenAIModels[GPT4oMini].ContextWindow, }, OpenRouterO1: { ID: OpenRouterO1, Name: "OpenRouter - O1", Provider: ProviderOpenRouter, APIModel: "openai/o1", CostPer1MIn: OpenAIModels[O1].CostPer1MIn, CostPer1MInCached: OpenAIModels[O1].CostPer1MInCached, CostPer1MOut: OpenAIModels[O1].CostPer1MOut, CostPer1MOutCached: OpenAIModels[O1].CostPer1MOutCached, ContextWindow: OpenAIModels[O1].ContextWindow, DefaultMaxTokens: OpenAIModels[O1].DefaultMaxTokens, CanReason: OpenAIModels[O1].CanReason, }, OpenRouterO1Pro: { ID: OpenRouterO1Pro, Name: "OpenRouter - o1 pro", Provider: ProviderOpenRouter, APIModel: "openai/o1-pro", CostPer1MIn: OpenAIModels[O1Pro].CostPer1MIn, CostPer1MInCached: OpenAIModels[O1Pro].CostPer1MInCached, CostPer1MOut: OpenAIModels[O1Pro].CostPer1MOut, CostPer1MOutCached: OpenAIModels[O1Pro].CostPer1MOutCached, ContextWindow: OpenAIModels[O1Pro].ContextWindow, DefaultMaxTokens: OpenAIModels[O1Pro].DefaultMaxTokens, CanReason: OpenAIModels[O1Pro].CanReason, }, OpenRouterO1Mini: { ID: OpenRouterO1Mini, Name: "OpenRouter - o1 mini", Provider: ProviderOpenRouter, APIModel: "openai/o1-mini", CostPer1MIn: OpenAIModels[O1Mini].CostPer1MIn, CostPer1MInCached: OpenAIModels[O1Mini].CostPer1MInCached, CostPer1MOut: OpenAIModels[O1Mini].CostPer1MOut, CostPer1MOutCached: OpenAIModels[O1Mini].CostPer1MOutCached, ContextWindow: OpenAIModels[O1Mini].ContextWindow, DefaultMaxTokens: OpenAIModels[O1Mini].DefaultMaxTokens, CanReason: OpenAIModels[O1Mini].CanReason, }, OpenRouterO3: { ID: OpenRouterO3, Name: "OpenRouter - o3", Provider: ProviderOpenRouter, APIModel: "openai/o3", CostPer1MIn: OpenAIModels[O3].CostPer1MIn, CostPer1MInCached: OpenAIModels[O3].CostPer1MInCached, CostPer1MOut: OpenAIModels[O3].CostPer1MOut, CostPer1MOutCached: OpenAIModels[O3].CostPer1MOutCached, ContextWindow: OpenAIModels[O3].ContextWindow, DefaultMaxTokens: OpenAIModels[O3].DefaultMaxTokens, CanReason: OpenAIModels[O3].CanReason, }, OpenRouterO3Mini: { ID: OpenRouterO3Mini, Name: "OpenRouter - o3 mini", Provider: ProviderOpenRouter, APIModel: "openai/o3-mini-high", CostPer1MIn: OpenAIModels[O3Mini].CostPer1MIn, CostPer1MInCached: OpenAIModels[O3Mini].CostPer1MInCached, CostPer1MOut: OpenAIModels[O3Mini].CostPer1MOut, CostPer1MOutCached: OpenAIModels[O3Mini].CostPer1MOutCached, ContextWindow: OpenAIModels[O3Mini].ContextWindow, DefaultMaxTokens: OpenAIModels[O3Mini].DefaultMaxTokens, CanReason: OpenAIModels[O3Mini].CanReason, }, OpenRouterO4Mini: { ID: OpenRouterO4Mini, Name: "OpenRouter - o4 mini", Provider: ProviderOpenRouter, APIModel: "openai/o4-mini-high", CostPer1MIn: OpenAIModels[O4Mini].CostPer1MIn, CostPer1MInCached: OpenAIModels[O4Mini].CostPer1MInCached, CostPer1MOut: OpenAIModels[O4Mini].CostPer1MOut, CostPer1MOutCached: OpenAIModels[O4Mini].CostPer1MOutCached, ContextWindow: OpenAIModels[O4Mini].ContextWindow, DefaultMaxTokens: OpenAIModels[O4Mini].DefaultMaxTokens, CanReason: OpenAIModels[O4Mini].CanReason, }, OpenRouterGemini25Flash: { ID: OpenRouterGemini25Flash, Name: "OpenRouter - Gemini 2.5 Flash", Provider: ProviderOpenRouter, APIModel: "google/gemini-2.5-flash-preview:thinking", CostPer1MIn: GeminiModels[Gemini25Flash].CostPer1MIn, CostPer1MInCached: GeminiModels[Gemini25Flash].CostPer1MInCached, CostPer1MOut: GeminiModels[Gemini25Flash].CostPer1MOut, CostPer1MOutCached: GeminiModels[Gemini25Flash].CostPer1MOutCached, ContextWindow: GeminiModels[Gemini25Flash].ContextWindow, DefaultMaxTokens: GeminiModels[Gemini25Flash].DefaultMaxTokens, SupportsAttachments: GeminiModels[Gemini25Flash].SupportsAttachments, SupportsAdaptiveThinking: GeminiModels[Gemini25Flash].SupportsAdaptiveThinking, CanReason: GeminiModels[Gemini25Flash].CanReason, }, OpenRouterGemini25: { ID: OpenRouterGemini25, Name: "OpenRouter - Gemini 2.5 Pro", Provider: ProviderOpenRouter, APIModel: "google/gemini-2.5-pro-preview-03-25", CostPer1MIn: GeminiModels[Gemini25].CostPer1MIn, CostPer1MInCached: GeminiModels[Gemini25].CostPer1MInCached, CostPer1MOut: GeminiModels[Gemini25].CostPer1MOut, CostPer1MOutCached: GeminiModels[Gemini25].CostPer1MOutCached, ContextWindow: GeminiModels[Gemini25].ContextWindow, DefaultMaxTokens: GeminiModels[Gemini25].DefaultMaxTokens, SupportsAttachments: GeminiModels[Gemini25].SupportsAttachments, SupportsAdaptiveThinking: GeminiModels[Gemini25].SupportsAdaptiveThinking, CanReason: GeminiModels[Gemini25].CanReason, }, OpenRouterGemini3Flash: { ID: OpenRouterGemini3, Name: "OpenRouter - Gemini 3 Flash Preview", Provider: ProviderOpenRouter, APIModel: "google/gemini-3-flash-preview", CostPer1MIn: GeminiModels[Gemini30Flash].CostPer1MIn, CostPer1MInCached: GeminiModels[Gemini30Flash].CostPer1MInCached, CostPer1MOut: GeminiModels[Gemini30Flash].CostPer1MOut, CostPer1MOutCached: GeminiModels[Gemini30Flash].CostPer1MOutCached, ContextWindow: GeminiModels[Gemini30Flash].ContextWindow, DefaultMaxTokens: GeminiModels[Gemini30Flash].DefaultMaxTokens, SupportsAttachments: GeminiModels[Gemini30Flash].SupportsAttachments, SupportsAdaptiveThinking: GeminiModels[Gemini30Flash].SupportsAdaptiveThinking, CanReason: GeminiModels[Gemini30Flash].CanReason, }, OpenRouterGemini3: { ID: OpenRouterGemini3, Name: "OpenRouter - Gemini 3 Pro Preview", Provider: ProviderOpenRouter, APIModel: "google/gemini-3-pro-preview", CostPer1MIn: GeminiModels[Gemini30Pro].CostPer1MIn, CostPer1MInCached: GeminiModels[Gemini30Pro].CostPer1MInCached, CostPer1MOut: GeminiModels[Gemini30Pro].CostPer1MOut, CostPer1MOutCached: GeminiModels[Gemini30Pro].CostPer1MOutCached, ContextWindow: GeminiModels[Gemini30Pro].ContextWindow, DefaultMaxTokens: GeminiModels[Gemini30Pro].DefaultMaxTokens, SupportsAttachments: GeminiModels[Gemini30Pro].SupportsAttachments, SupportsAdaptiveThinking: GeminiModels[Gemini30Pro].SupportsAdaptiveThinking, CanReason: GeminiModels[Gemini30Pro].CanReason, }, OpenRouterClaude35Sonnet: { ID: OpenRouterClaude35Sonnet, Name: "OpenRouter - Claude 3.5 Sonnet", Provider: ProviderOpenRouter, APIModel: "anthropic/claude-3.5-sonnet", CostPer1MIn: AnthropicModels[Claude35Sonnet].CostPer1MIn, CostPer1MInCached: AnthropicModels[Claude35Sonnet].CostPer1MInCached, CostPer1MOut: AnthropicModels[Claude35Sonnet].CostPer1MOut, CostPer1MOutCached: AnthropicModels[Claude35Sonnet].CostPer1MOutCached, ContextWindow: AnthropicModels[Claude35Sonnet].ContextWindow, DefaultMaxTokens: AnthropicModels[Claude35Sonnet].DefaultMaxTokens, }, OpenRouterClaude3Haiku: { ID: OpenRouterClaude3Haiku, Name: "OpenRouter - Claude 3 Haiku", Provider: ProviderOpenRouter, APIModel: "anthropic/claude-3-haiku", CostPer1MIn: AnthropicModels[Claude3Haiku].CostPer1MIn, CostPer1MInCached: AnthropicModels[Claude3Haiku].CostPer1MInCached, CostPer1MOut: AnthropicModels[Claude3Haiku].CostPer1MOut, CostPer1MOutCached: AnthropicModels[Claude3Haiku].CostPer1MOutCached, ContextWindow: AnthropicModels[Claude3Haiku].ContextWindow, DefaultMaxTokens: AnthropicModels[Claude3Haiku].DefaultMaxTokens, }, OpenRouterClaude37Sonnet: { ID: OpenRouterClaude37Sonnet, Name: "OpenRouter - Claude 3.7 Sonnet", Provider: ProviderOpenRouter, APIModel: "anthropic/claude-3.7-sonnet", CostPer1MIn: AnthropicModels[Claude37Sonnet].CostPer1MIn, CostPer1MInCached: AnthropicModels[Claude37Sonnet].CostPer1MInCached, CostPer1MOut: AnthropicModels[Claude37Sonnet].CostPer1MOut, CostPer1MOutCached: AnthropicModels[Claude37Sonnet].CostPer1MOutCached, ContextWindow: AnthropicModels[Claude37Sonnet].ContextWindow, DefaultMaxTokens: AnthropicModels[Claude37Sonnet].DefaultMaxTokens, CanReason: AnthropicModels[Claude37Sonnet].CanReason, }, OpenRouterClaude35Haiku: { ID: OpenRouterClaude35Haiku, Name: "OpenRouter - Claude 3.5 Haiku", Provider: ProviderOpenRouter, APIModel: "anthropic/claude-3.5-haiku", CostPer1MIn: AnthropicModels[Claude35Haiku].CostPer1MIn, CostPer1MInCached: AnthropicModels[Claude35Haiku].CostPer1MInCached, CostPer1MOut: AnthropicModels[Claude35Haiku].CostPer1MOut, CostPer1MOutCached: AnthropicModels[Claude35Haiku].CostPer1MOutCached, ContextWindow: AnthropicModels[Claude35Haiku].ContextWindow, DefaultMaxTokens: AnthropicModels[Claude35Haiku].DefaultMaxTokens, }, OpenRouterClaude3Opus: { ID: OpenRouterClaude3Opus, Name: "OpenRouter - Claude 3 Opus", Provider: ProviderOpenRouter, APIModel: "anthropic/claude-3-opus", CostPer1MIn: AnthropicModels[Claude3Opus].CostPer1MIn, CostPer1MInCached: AnthropicModels[Claude3Opus].CostPer1MInCached, CostPer1MOut: AnthropicModels[Claude3Opus].CostPer1MOut, CostPer1MOutCached: AnthropicModels[Claude3Opus].CostPer1MOutCached, ContextWindow: AnthropicModels[Claude3Opus].ContextWindow, DefaultMaxTokens: AnthropicModels[Claude3Opus].DefaultMaxTokens, }, OpenRouterKimiK2: { ID: OpenRouterKimiK2, Name: "OpenRouter - Kimi K2", Provider: ProviderOpenRouter, APIModel: "moonshotai/kimi-k2", CostPer1MIn: 0, CostPer1MInCached: 0, CostPer1MOut: 0, CostPer1MOutCached: 0, ContextWindow: 200000, DefaultMaxTokens: 4096, }, OpenRouterNemotron3Nano: { ID: OpenRouterNemotron3Nano, Name: "OpenRouter - Nemotron 3 Nano 30B A3B", Provider: ProviderOpenRouter, APIModel: "nvidia/nemotron-3-nano-30b-a3b", CostPer1MIn: 0.06, CostPer1MInCached: 0, CostPer1MOut: 0.24, CostPer1MOutCached: 0, ContextWindow: 262144, DefaultMaxTokens: 128000, }, OpenRouterGLM47Flash: { ID: OpenRouterGLM47Flash, Name: "OpenRouter - Z.AI: GLM 4.7 Flash", Provider: ProviderOpenRouter, APIModel: "z-ai/glm-4.7-flash", CostPer1MIn: 0.07, CostPer1MInCached: 0, CostPer1MOut: 0.40, CostPer1MOutCached: 0, ContextWindow: 200000, DefaultMaxTokens: 131000, }, OpenRouterGPT52: { ID: OpenRouterGPT52, Name: "OpenRouter - GPT 5.2", Provider: ProviderOpenRouter, APIModel: "openai/gpt-5.2", CostPer1MIn: 10.0, CostPer1MInCached: 5.0, CostPer1MOut: 40.0, CostPer1MOutCached: 0, ContextWindow: 400000, DefaultMaxTokens: 20000, }, OpenRouterGPT52Codex: { ID: OpenRouterGPT52Codex, Name: "OpenRouter - GPT 5.2 Codex", Provider: ProviderOpenRouter, APIModel: "openai/gpt-5.2-codex", CostPer1MIn: 8.0, CostPer1MInCached: 4.0, CostPer1MOut: 32.0, CostPer1MOutCached: 0, ContextWindow: 256000, DefaultMaxTokens: 16384, }, OpenRouterDeepSeekR1Free: { ID: OpenRouterDeepSeekR1Free, Name: "OpenRouter - DeepSeek R1 0528 (free)", Provider: ProviderOpenRouter, APIModel: "deepseek/deepseek-r1-0528:free", CostPer1MIn: 0, CostPer1MInCached: 0, CostPer1MOut: 0, CostPer1MOutCached: 0, ContextWindow: 163840, DefaultMaxTokens: 10000, }, OpenRouterDeepSeekV32: { ID: OpenRouterDeepSeekV32, Name: "OpenRouter - DeepSeek V3.2", Provider: ProviderOpenRouter, APIModel: "deepseek/deepseek-v3.2", CostPer1MIn: 0.14, CostPer1MInCached: 0.07, CostPer1MOut: 0.28, CostPer1MOutCached: 0, ContextWindow: 128000, DefaultMaxTokens: 8192, }, OpenRouterDevstral2: { ID: OpenRouterDevstral2, Name: "OpenRouter - Devstral 2 2512", Provider: ProviderOpenRouter, APIModel: "mistralai/devstral-2-2512", CostPer1MIn: 0.30, CostPer1MInCached: 0.15, CostPer1MOut: 0.90, CostPer1MOutCached: 0, ContextWindow: 256000, DefaultMaxTokens: 32768, }, OpenRouterMiMoV2: { ID: OpenRouterMiMoV2Flash, Name: "OpenRouter - MiMo-V2", Provider: ProviderOpenRouter, APIModel: "xiaomi/mimo-v2", CostPer1MIn: 0.05, CostPer1MInCached: 0, CostPer1MOut: 0.20, CostPer1MOutCached: 0, ContextWindow: 256000, DefaultMaxTokens: 16384, }, OpenRouterMiMoV2Flash: { ID: OpenRouterMiMoV2Flash, Name: "OpenRouter - MiMo-V2-Flash", Provider: ProviderOpenRouter, APIModel: "xiaomi/mimo-v2-flash", CostPer1MIn: 0.05, CostPer1MInCached: 0, CostPer1MOut: 0.20, CostPer1MOutCached: 0, ContextWindow: 256000, DefaultMaxTokens: 16384, }, OpenRouterGrok4Fast: { ID: OpenRouterGrok4Fast, Name: "OpenRouter - Grok 4 Fast", Provider: ProviderOpenRouter, APIModel: "x-ai/grok-4-fast", CostPer1MIn: 0.20, CostPer1MInCached: 0, CostPer1MOut: 0.50, CostPer1MOutCached: 0.05, ContextWindow: 2048000, DefaultMaxTokens: 32768, CanReason: true, }, OpenRouterGrok4FastFree: { ID: OpenRouterGrok4FastFree, Name: "OpenRouter - Grok 4 Fast (Free)", Provider: ProviderOpenRouter, APIModel: "x-ai/grok-4-fast:free", CostPer1MIn: 0.20, CostPer1MInCached: 0, CostPer1MOut: 0.50, CostPer1MOutCached: 0.05, ContextWindow: 2048000, DefaultMaxTokens: 32768, CanReason: true, }, OpenRouterGrok41Fast: { ID: OpenRouterGrok41Fast, Name: "OpenRouter - Grok 4.1 Fast", Provider: ProviderOpenRouter, APIModel: "x-ai/grok-4.1-fast", CostPer1MIn: 0.20, CostPer1MInCached: 0, CostPer1MOut: 0.50, CostPer1MOutCached: 0.05, ContextWindow: 2048000, DefaultMaxTokens: 32768, CanReason: true, }, OpenRouterMiniMax01: { ID: OpenRouterMiniMax01, Name: "OpenRouter - MiniMax 01", Provider: ProviderOpenRouter, APIModel: "minimax/minimax-01", CostPer1MIn: 0.20, CostPer1MInCached: 0, CostPer1MOut: 1.10, CostPer1MOutCached: 0, ContextWindow: 1024000, DefaultMaxTokens: 1024000, CanReason: false, }, OpenRouterMiniMaxM1: { ID: OpenRouterMiniMaxM1, Name: "OpenRouter - MiniMax M1", Provider: ProviderOpenRouter, APIModel: "minimax/minimax-m1", CostPer1MIn: 0.40, CostPer1MInCached: 0, CostPer1MOut: 2.20, CostPer1MOutCached: 0, ContextWindow: 1024000, DefaultMaxTokens: 40000, CanReason: false, }, OpenRouterMiniMaxM2: { ID: OpenRouterMiniMaxM2, Name: "OpenRouter - MiniMax M2", Provider: ProviderOpenRouter, APIModel: "minimax/minimax-m2", CostPer1MIn: 0.225, CostPer1MInCached: 0, CostPer1MOut: 1.02, CostPer1MOutCached: 0, ContextWindow: 204800, DefaultMaxTokens: 131100, CanReason: false, }, OpenRouterMiniMaxM21: { ID: OpenRouterMiniMaxM21, Name: "OpenRouter - MiniMax M2.1", Provider: ProviderOpenRouter, APIModel: "minimax/minimax-m2.1", CostPer1MIn: 0.30, CostPer1MInCached: 0.03, CostPer1MOut: 0, CostPer1MOutCached: 1.20, ContextWindow: 204800, DefaultMaxTokens: 131100, CanReason: false, }, OpenRouterMiniMaxM25: { ID: OpenRouterMiniMaxM25, Name: "OpenRouter - MiniMax M2.5", Provider: ProviderOpenRouter, APIModel: "minimax/minimax-m2.5", CostPer1MIn: 0.30, CostPer1MInCached: 0, CostPer1MOut: 1.20, CostPer1MOutCached: 0.03, ContextWindow: 196600, DefaultMaxTokens: 204800, CanReason: false, }, OpenRouterTrinityLarge: { ID: OpenRouterTrinityLarge, Name: "OpenRouter - Trinity Large Preview (free)", Provider: ProviderOpenRouter, APIModel: "arcee-ai/trinity-large-preview:free", CostPer1MIn: 0, CostPer1MInCached: 0, CostPer1MOut: 0, CostPer1MOutCached: 0, ContextWindow: 131000, DefaultMaxTokens: 131000, CanReason: false, }, }
View Source
var ProviderPopularity = map[ModelProvider]int{ ProviderVertexAI: 1, ProviderAnthropic: 2, ProviderOpenAI: 3, ProviderGemini: 4, ProviderGroq: 5, ProviderXAI: 6, ProviderKilo: 7, ProviderMistral: 8, ProviderOpenRouter: 9, ProviderDeepSeek: 10, ProviderBedrock: 11, ProviderLocal: 12, }
Providers in order of popularity
View Source
var SupportedModels = map[ModelID]Model{ BedrockClaude45Sonnet: { ID: BedrockClaude45Sonnet, Name: "Bedrock: Claude 4.5 Sonnet", Provider: ProviderBedrock, APIModel: "eu.anthropic.claude-sonnet-4-5-20250929-v1:0", CostPer1MIn: 3.0, CostPer1MInCached: 3.75, CostPer1MOutCached: 0.30, CostPer1MOut: 15.0, }, }
View Source
var VertexAIAnthropicModels = map[ModelID]Model{ VertexAISonnet45M: { ID: VertexAISonnet45M, Name: "VertexAI: Claude Sonnet 4.5 [1m]", Provider: ProviderVertexAI, APIModel: "claude-sonnet-4-5@20250929", CostPer1MIn: AnthropicModels[Claude45Sonnet1M].CostPer1MIn, CostPer1MInCached: AnthropicModels[Claude45Sonnet1M].CostPer1MInCached, CostPer1MOut: AnthropicModels[Claude45Sonnet1M].CostPer1MOut, CostPer1MOutCached: AnthropicModels[Claude45Sonnet1M].CostPer1MOutCached, ContextWindow: AnthropicModels[Claude45Sonnet1M].ContextWindow, DefaultMaxTokens: AnthropicModels[Claude45Sonnet1M].DefaultMaxTokens, SupportsAttachments: AnthropicModels[Claude45Sonnet1M].SupportsAttachments, CanReason: AnthropicModels[Claude45Sonnet1M].CanReason, }, VertexAIOpus45: { ID: VertexAIOpus45, Name: "VertexAI: Claude Opus 4.5", Provider: ProviderVertexAI, APIModel: "claude-opus-4-5@20251101", CostPer1MIn: AnthropicModels[Claude45Opus].CostPer1MIn, CostPer1MInCached: AnthropicModels[Claude45Opus].CostPer1MInCached, CostPer1MOut: AnthropicModels[Claude45Opus].CostPer1MOut, CostPer1MOutCached: AnthropicModels[Claude45Opus].CostPer1MOutCached, ContextWindow: AnthropicModels[Claude45Opus].ContextWindow, DefaultMaxTokens: AnthropicModels[Claude45Opus].DefaultMaxTokens, SupportsAttachments: AnthropicModels[Claude45Opus].SupportsAttachments, CanReason: AnthropicModels[Claude45Opus].CanReason, }, VertexAIOpus46: { ID: VertexAIOpus46, Name: "VertexAI: Claude Opus 4.6", Provider: ProviderVertexAI, APIModel: "claude-opus-4-6", CostPer1MIn: AnthropicModels[Claude46Opus].CostPer1MIn, CostPer1MInCached: AnthropicModels[Claude46Opus].CostPer1MInCached, CostPer1MOut: AnthropicModels[Claude46Opus].CostPer1MOut, CostPer1MOutCached: AnthropicModels[Claude46Opus].CostPer1MOutCached, ContextWindow: AnthropicModels[Claude46Opus].ContextWindow, DefaultMaxTokens: AnthropicModels[Claude46Opus].DefaultMaxTokens, SupportsAttachments: AnthropicModels[Claude46Opus].SupportsAttachments, CanReason: AnthropicModels[Claude46Opus].CanReason, SupportsAdaptiveThinking: AnthropicModels[Claude46Opus].SupportsAdaptiveThinking, SupportsMaximumThinking: AnthropicModels[Claude46Opus].SupportsMaximumThinking, }, VertexAISonnet46: { ID: VertexAISonnet46, Name: "VertexAI: Claude Sonnet 4.6", Provider: ProviderVertexAI, APIModel: "claude-sonnet-4-6", CostPer1MIn: AnthropicModels[Claude46Sonnet].CostPer1MIn, CostPer1MInCached: AnthropicModels[Claude46Sonnet].CostPer1MInCached, CostPer1MOut: AnthropicModels[Claude46Sonnet].CostPer1MOut, CostPer1MOutCached: AnthropicModels[Claude46Sonnet].CostPer1MOutCached, ContextWindow: AnthropicModels[Claude46Sonnet].ContextWindow, DefaultMaxTokens: AnthropicModels[Claude46Sonnet].DefaultMaxTokens, SupportsAttachments: AnthropicModels[Claude46Sonnet].SupportsAttachments, CanReason: AnthropicModels[Claude46Sonnet].CanReason, }, }
View Source
var VertexAIGeminiModels = map[ModelID]Model{ VertexAIGemini30Pro: { ID: VertexAIGemini30Pro, Name: "VertexAI: Gemini 3.0 Pro", Provider: ProviderVertexAI, APIModel: "gemini-3-pro-preview", CostPer1MIn: GeminiModels[Gemini30Pro].CostPer1MIn, CostPer1MInCached: GeminiModels[Gemini30Pro].CostPer1MInCached, CostPer1MOut: GeminiModels[Gemini30Pro].CostPer1MOut, CostPer1MOutCached: GeminiModels[Gemini30Pro].CostPer1MOutCached, ContextWindow: GeminiModels[Gemini30Pro].ContextWindow, DefaultMaxTokens: GeminiModels[Gemini30Pro].DefaultMaxTokens, SupportsAttachments: true, CanReason: true, }, VertexAIGemini30Flash: { ID: VertexAIGemini30Flash, Name: "VertexAI: Gemini 3.0 Flash", Provider: ProviderVertexAI, APIModel: "gemini-3-flash-preview", CostPer1MIn: GeminiModels[Gemini30Flash].CostPer1MIn, CostPer1MInCached: GeminiModels[Gemini30Flash].CostPer1MInCached, CostPer1MOut: GeminiModels[Gemini30Flash].CostPer1MOut, CostPer1MOutCached: GeminiModels[Gemini30Flash].CostPer1MOutCached, ContextWindow: GeminiModels[Gemini30Flash].ContextWindow, DefaultMaxTokens: GeminiModels[Gemini30Flash].DefaultMaxTokens, SupportsAttachments: true, CanReason: true, }, }
View Source
var XAIModels = map[ModelID]Model{ XAIGrok41FastReasoning: { ID: XAIGrok41FastReasoning, Name: "Grok 4.1 Fast Reasoning", Provider: ProviderXAI, APIModel: "grok-4-1-fast-reasoning", CostPer1MIn: 0.20, CostPer1MInCached: 0.05, CostPer1MOut: 0.50, CostPer1MOutCached: 0, ContextWindow: 2_000_000, DefaultMaxTokens: 64_000, }, XAIGrok41FastNonReasoning: { ID: XAIGrok41FastNonReasoning, Name: "Grok 4.1 Fast Non-Reasoning", Provider: ProviderXAI, APIModel: "grok-4-1-fast-non-reasoning", CostPer1MIn: 0.20, CostPer1MInCached: 0.05, CostPer1MOut: 0.50, CostPer1MOutCached: 0, ContextWindow: 2_000_000, DefaultMaxTokens: 16_000, }, XAIGrokCodeFast1: { ID: XAIGrokCodeFast1, Name: "Grok Code Fast 1", Provider: ProviderXAI, APIModel: "grok-code-fast-1", CostPer1MIn: 0.20, CostPer1MInCached: 0.02, CostPer1MOut: 1.50, CostPer1MOutCached: 0, ContextWindow: 256_000, DefaultMaxTokens: 32_000, }, XAIGrok4FastReasoning: { ID: XAIGrok4FastReasoning, Name: "Grok 4 Fast Reasoning", Provider: ProviderXAI, APIModel: "grok-4-fast-reasoning", CostPer1MIn: 0.20, CostPer1MInCached: 0.05, CostPer1MOut: 0.50, CostPer1MOutCached: 0, ContextWindow: 2_000_000, DefaultMaxTokens: 64_000, }, XAIGrok4FastNonReasoning: { ID: XAIGrok4FastNonReasoning, Name: "Grok 4 Fast Non-Reasoning", Provider: ProviderXAI, APIModel: "grok-4-fast-non-reasoning", CostPer1MIn: 0.20, CostPer1MInCached: 0.05, CostPer1MOut: 0.50, CostPer1MOutCached: 0, ContextWindow: 2_000_000, DefaultMaxTokens: 16_000, }, XAIGrok40709: { ID: XAIGrok40709, Name: "Grok 4 0709", Provider: ProviderXAI, APIModel: "grok-4-0709", CostPer1MIn: 3.0, CostPer1MInCached: 0.75, CostPer1MOut: 15.0, CostPer1MOutCached: 0.75, ContextWindow: 256_000, DefaultMaxTokens: 20_000, }, }
Functions ¶
This section is empty.
Types ¶
type Model ¶
type Model struct {
ID ModelID `json:"id"`
Name string `json:"name"`
Provider ModelProvider `json:"provider"`
APIModel string `json:"api_model"`
CostPer1MIn float64 `json:"cost_per_1m_in"`
CostPer1MOut float64 `json:"cost_per_1m_out"`
CostPer1MInCached float64 `json:"cost_per_1m_in_cached"`
CostPer1MOutCached float64 `json:"cost_per_1m_out_cached"`
ContextWindow int64 `json:"context_window"`
DefaultMaxTokens int64 `json:"default_max_tokens"`
CanReason bool `json:"can_reason"`
SupportsAdaptiveThinking bool `json:"supports_adaptive_thinking"`
SupportsMaximumThinking bool `json:"supports_maximum_thinking"`
SupportsAttachments bool `json:"supports_attachments"`
}
Click to show internal directories.
Click to hide internal directories.