| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327 |
- package models
- const (
- ProviderOpenRouter ModelProvider = "openrouter"
- 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"
- 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"
- OpenRouterQwen235B ModelID = "openrouter.qwen-3-235b"
- OpenRouterQwen32B ModelID = "openrouter.qwen-3-32b"
- OpenRouterQwen30B ModelID = "openrouter.qwen-3-30b"
- OpenRouterQwen14B ModelID = "openrouter.qwen-3-14b"
- OpenRouterQwen8B ModelID = "openrouter.qwen-3-8b"
- )
- var OpenRouterModels = map[ModelID]Model{
- 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,
- },
- 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,
- },
- 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,
- },
- OpenRouterQwen235B: {
- ID: OpenRouterQwen235B,
- Name: "OpenRouter: Qwen3 235B A22B",
- Provider: ProviderOpenRouter,
- APIModel: "qwen/qwen3-235b-a22b",
- CostPer1MIn: 0.1,
- CostPer1MInCached: 0.1,
- CostPer1MOut: 0.1,
- CostPer1MOutCached: 0.1,
- ContextWindow: 40960,
- DefaultMaxTokens: 4096,
- },
- OpenRouterQwen32B: {
- ID: OpenRouterQwen32B,
- Name: "OpenRouter: Qwen3 32B",
- Provider: ProviderOpenRouter,
- APIModel: "qwen/qwen3-32b",
- CostPer1MIn: 0.1,
- CostPer1MInCached: 0.1,
- CostPer1MOut: 0.3,
- CostPer1MOutCached: 0.3,
- ContextWindow: 40960,
- DefaultMaxTokens: 4096,
- },
- OpenRouterQwen30B: {
- ID: OpenRouterQwen30B,
- Name: "OpenRouter: Qwen3 30B A3B",
- Provider: ProviderOpenRouter,
- APIModel: "qwen/qwen3-30b-a3b",
- CostPer1MIn: 0.1,
- CostPer1MInCached: 0.1,
- CostPer1MOut: 0.3,
- CostPer1MOutCached: 0.3,
- ContextWindow: 40960,
- DefaultMaxTokens: 4096,
- },
- OpenRouterQwen14B: {
- ID: OpenRouterQwen14B,
- Name: "OpenRouter: Qwen3 14B",
- Provider: ProviderOpenRouter,
- APIModel: "qwen/qwen3-14b",
- CostPer1MIn: 0.7,
- CostPer1MInCached: 0.7,
- CostPer1MOut: 0.24,
- CostPer1MOutCached: 0.24,
- ContextWindow: 40960,
- DefaultMaxTokens: 4096,
- },
- OpenRouterQwen8B: {
- ID: OpenRouterQwen8B,
- Name: "OpenRouter: Qwen3 8B",
- Provider: ProviderOpenRouter,
- APIModel: "qwen/qwen3-8b",
- CostPer1MIn: 0.35,
- CostPer1MInCached: 0.35,
- CostPer1MOut: 0.138,
- CostPer1MOutCached: 0.138,
- ContextWindow: 128000,
- DefaultMaxTokens: 4096,
- },
- }
|