baikai-0.1.0.0: src/Baikai/Models/Generated.hs
-- AUTO-GENERATED by baikai-gen-models. Do not edit by hand.
-- Regenerate with: cabal run baikai-gen-models
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -Wno-missing-export-lists #-}
{-# OPTIONS_GHC -Wno-unused-imports #-}
module Baikai.Models.Generated where
import Baikai.Api (Api (..))
import Baikai.Compat
( AnthropicMessagesCompat (..)
, CacheControlFormat (..)
, MaxTokensField (..)
, OpenAICompletionsCompat (..)
, ThinkingFormat (..)
)
import Baikai.Model
( Compat (..)
, InputModality (..)
, Model (..)
, ModelCost (..)
)
import Data.Map.Strict qualified as Map
import Data.Ratio ((%))
anthropic_claude_haiku_4_5 :: Model
anthropic_claude_haiku_4_5 =
Model
{ modelId = "claude-haiku-4-5"
, name = "Claude Haiku 4.5"
, api = AnthropicMessages
, provider = "anthropic"
, baseUrl = "https://api.anthropic.com"
, reasoning = False
, input = [InputText, InputImage]
, cost = ModelCost
{ inputCost = 4 % 5
, outputCost = 4 % 1
, cacheReadCost = 2 % 25
, cacheWriteCost = 1 % 1
}
, contextWindow = 200000
, maxOutputTokens = 8192
, headers = Map.empty
, compat = CompatNone
}
anthropic_claude_haiku_4_5_20251001 :: Model
anthropic_claude_haiku_4_5_20251001 =
Model
{ modelId = "claude-haiku-4-5-20251001"
, name = "Claude Haiku 4.5 (2025-10-01)"
, api = AnthropicMessages
, provider = "anthropic"
, baseUrl = "https://api.anthropic.com"
, reasoning = False
, input = [InputText, InputImage]
, cost = ModelCost
{ inputCost = 4 % 5
, outputCost = 4 % 1
, cacheReadCost = 2 % 25
, cacheWriteCost = 1 % 1
}
, contextWindow = 200000
, maxOutputTokens = 8192
, headers = Map.empty
, compat = CompatNone
}
anthropic_claude_opus_4_7 :: Model
anthropic_claude_opus_4_7 =
Model
{ modelId = "claude-opus-4-7"
, name = "Claude Opus 4.7"
, api = AnthropicMessages
, provider = "anthropic"
, baseUrl = "https://api.anthropic.com"
, reasoning = True
, input = [InputText, InputImage]
, cost = ModelCost
{ inputCost = 15 % 1
, outputCost = 75 % 1
, cacheReadCost = 3 % 2
, cacheWriteCost = 75 % 4
}
, contextWindow = 200000
, maxOutputTokens = 8192
, headers = Map.empty
, compat = CompatNone
}
anthropic_claude_sonnet_4_6 :: Model
anthropic_claude_sonnet_4_6 =
Model
{ modelId = "claude-sonnet-4-6"
, name = "Claude Sonnet 4.6"
, api = AnthropicMessages
, provider = "anthropic"
, baseUrl = "https://api.anthropic.com"
, reasoning = False
, input = [InputText, InputImage]
, cost = ModelCost
{ inputCost = 3 % 1
, outputCost = 15 % 1
, cacheReadCost = 3 % 10
, cacheWriteCost = 15 % 4
}
, contextWindow = 200000
, maxOutputTokens = 8192
, headers = Map.empty
, compat = CompatNone
}
deepseek_deepseek_chat :: Model
deepseek_deepseek_chat =
Model
{ modelId = "deepseek-chat"
, name = "DeepSeek Chat"
, api = OpenAIChatCompletions
, provider = "deepseek"
, baseUrl = "https://api.deepseek.com"
, reasoning = False
, input = [InputText]
, cost = ModelCost
{ inputCost = 27 % 100
, outputCost = 11 % 10
, cacheReadCost = 7 % 100
, cacheWriteCost = 0 % 1
}
, contextWindow = 64000
, maxOutputTokens = 8192
, headers = Map.empty
, compat = CompatNone
}
deepseek_deepseek_reasoner :: Model
deepseek_deepseek_reasoner =
Model
{ modelId = "deepseek-reasoner"
, name = "DeepSeek Reasoner"
, api = OpenAIChatCompletions
, provider = "deepseek"
, baseUrl = "https://api.deepseek.com"
, reasoning = True
, input = [InputText]
, cost = ModelCost
{ inputCost = 11 % 20
, outputCost = 219 % 100
, cacheReadCost = 7 % 50
, cacheWriteCost = 0 % 1
}
, contextWindow = 64000
, maxOutputTokens = 8192
, headers = Map.empty
, compat = CompatNone
}
openai_gpt_4o :: Model
openai_gpt_4o =
Model
{ modelId = "gpt-4o"
, name = "GPT-4o"
, api = OpenAIChatCompletions
, provider = "openai"
, baseUrl = "https://api.openai.com"
, reasoning = False
, input = [InputText, InputImage]
, cost = ModelCost
{ inputCost = 5 % 2
, outputCost = 10 % 1
, cacheReadCost = 5 % 4
, cacheWriteCost = 0 % 1
}
, contextWindow = 128000
, maxOutputTokens = 16384
, headers = Map.empty
, compat = CompatNone
}
openai_gpt_4o_mini :: Model
openai_gpt_4o_mini =
Model
{ modelId = "gpt-4o-mini"
, name = "GPT-4o mini"
, api = OpenAIChatCompletions
, provider = "openai"
, baseUrl = "https://api.openai.com"
, reasoning = False
, input = [InputText, InputImage]
, cost = ModelCost
{ inputCost = 3 % 20
, outputCost = 3 % 5
, cacheReadCost = 3 % 40
, cacheWriteCost = 0 % 1
}
, contextWindow = 128000
, maxOutputTokens = 16384
, headers = Map.empty
, compat = CompatNone
}
openai_o1 :: Model
openai_o1 =
Model
{ modelId = "o1"
, name = "OpenAI o1"
, api = OpenAIChatCompletions
, provider = "openai"
, baseUrl = "https://api.openai.com"
, reasoning = True
, input = [InputText, InputImage]
, cost = ModelCost
{ inputCost = 15 % 1
, outputCost = 60 % 1
, cacheReadCost = 15 % 2
, cacheWriteCost = 0 % 1
}
, contextWindow = 200000
, maxOutputTokens = 100000
, headers = Map.empty
, compat = CompatNone
}
openai_o1_mini :: Model
openai_o1_mini =
Model
{ modelId = "o1-mini"
, name = "OpenAI o1-mini"
, api = OpenAIChatCompletions
, provider = "openai"
, baseUrl = "https://api.openai.com"
, reasoning = True
, input = [InputText]
, cost = ModelCost
{ inputCost = 3 % 1
, outputCost = 12 % 1
, cacheReadCost = 3 % 2
, cacheWriteCost = 0 % 1
}
, contextWindow = 128000
, maxOutputTokens = 65536
, headers = Map.empty
, compat = CompatNone
}
openrouter_anthropic_claude_sonnet_4 :: Model
openrouter_anthropic_claude_sonnet_4 =
Model
{ modelId = "anthropic/claude-sonnet-4"
, name = "Claude Sonnet 4 via OpenRouter"
, api = OpenAIChatCompletions
, provider = "openrouter"
, baseUrl = "https://openrouter.ai/api"
, reasoning = False
, input = [InputText, InputImage]
, cost = ModelCost
{ inputCost = 3 % 1
, outputCost = 15 % 1
, cacheReadCost = 3 % 10
, cacheWriteCost = 15 % 4
}
, contextWindow = 200000
, maxOutputTokens = 8192
, headers = Map.empty
, compat = CompatNone
}
openrouter_openai_gpt_4o_mini :: Model
openrouter_openai_gpt_4o_mini =
Model
{ modelId = "openai/gpt-4o-mini"
, name = "GPT-4o mini via OpenRouter"
, api = OpenAIChatCompletions
, provider = "openrouter"
, baseUrl = "https://openrouter.ai/api"
, reasoning = False
, input = [InputText, InputImage]
, cost = ModelCost
{ inputCost = 3 % 20
, outputCost = 3 % 5
, cacheReadCost = 3 % 40
, cacheWriteCost = 0 % 1
}
, contextWindow = 128000
, maxOutputTokens = 16384
, headers = Map.empty
, compat = CompatNone
}