mirror of
https://github.com/mark3labs/kit.git
synced 2026-06-14 03:30:26 +00:00
16100 lines
361 KiB
Go
16100 lines
361 KiB
Go
// Code generated by go generate; DO NOT EDIT.
|
|
// Generated at: 2025-10-16T16:35:39+03:00
|
|
|
|
package models
|
|
|
|
// ModelInfo represents information about a specific model.
|
|
// It contains comprehensive metadata about a model's capabilities,
|
|
// pricing, and limitations sourced from models.dev.
|
|
type ModelInfo struct {
|
|
// ID is the unique identifier for the model
|
|
// Example: "claude-3-sonnet-20240620" or "gpt-4"
|
|
ID string
|
|
|
|
// Name is the human-readable name of the model
|
|
// Example: "Claude 3 Sonnet" or "GPT-4"
|
|
Name string
|
|
|
|
// Attachment indicates whether the model supports file attachments
|
|
Attachment bool
|
|
|
|
// Reasoning indicates whether this is a reasoning/chain-of-thought model
|
|
// Example: OpenAI's o1 models have this set to true
|
|
Reasoning bool
|
|
|
|
// Temperature indicates whether the model supports temperature parameter
|
|
Temperature bool
|
|
|
|
// Cost contains the pricing information for input/output tokens
|
|
Cost Cost
|
|
|
|
// Limit contains the context window and output token limits
|
|
Limit Limit
|
|
}
|
|
|
|
// Cost represents the pricing information for a model.
|
|
// Prices are typically in USD per million tokens.
|
|
type Cost struct {
|
|
// Input is the cost per million input tokens
|
|
Input float64
|
|
|
|
// Output is the cost per million output tokens
|
|
Output float64
|
|
|
|
// CacheRead is the cost per million cached read tokens (optional)
|
|
// Only applicable for models that support prompt caching
|
|
CacheRead *float64
|
|
|
|
// CacheWrite is the cost per million cached write tokens (optional)
|
|
// Only applicable for models that support prompt caching
|
|
CacheWrite *float64
|
|
}
|
|
|
|
// Limit represents the context and output limits for a model.
|
|
// These define the maximum number of tokens the model can process
|
|
// and generate in a single interaction.
|
|
type Limit struct {
|
|
// Context is the maximum number of input tokens (context window size)
|
|
Context int
|
|
|
|
// Output is the maximum number of output tokens that can be generated
|
|
Output int
|
|
}
|
|
|
|
// ProviderInfo represents information about a model provider.
|
|
// It contains metadata about the provider and all models it offers.
|
|
type ProviderInfo struct {
|
|
// ID is the unique identifier for the provider
|
|
// Example: "anthropic", "openai", "google"
|
|
ID string
|
|
|
|
// Env lists the environment variables checked for API credentials
|
|
// Example: ["ANTHROPIC_API_KEY"] or ["OPENAI_API_KEY"]
|
|
Env []string
|
|
|
|
// NPM is the NPM package name used by the provider (for reference)
|
|
NPM string
|
|
|
|
// Name is the human-readable name of the provider
|
|
// Example: "Anthropic", "OpenAI", "Google"
|
|
Name string
|
|
|
|
// Models maps model IDs to their detailed information
|
|
Models map[string]ModelInfo
|
|
}
|
|
|
|
// GetModelsData returns the static models data from models.dev.
|
|
// This data is automatically generated from the models.dev API
|
|
// and provides comprehensive information about all supported
|
|
// LLM providers and their models.
|
|
//
|
|
// The data includes:
|
|
// - Provider information (ID, name, environment variables)
|
|
// - Model capabilities (reasoning, attachments, temperature support)
|
|
// - Pricing information (input/output costs, cache costs)
|
|
// - Token limits (context window, max output tokens)
|
|
//
|
|
// Returns:
|
|
// - map[string]ProviderInfo: A map of provider IDs to their information
|
|
func GetModelsData() map[string]ProviderInfo {
|
|
return map[string]ProviderInfo{
|
|
"alibaba": {
|
|
ID: "alibaba",
|
|
Env: []string{"DASHSCOPE_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Alibaba",
|
|
Models: map[string]ModelInfo{
|
|
"qvq-max": {
|
|
ID: "qvq-max",
|
|
Name: "QVQ Max",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.2,
|
|
Output: 4.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-flash": {
|
|
ID: "qwen-flash",
|
|
Name: "Qwen Flash",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen-max": {
|
|
ID: "qwen-max",
|
|
Name: "Qwen Max",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.6,
|
|
Output: 6.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-mt-plus": {
|
|
ID: "qwen-mt-plus",
|
|
Name: "Qwen-MT Plus",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2.46,
|
|
Output: 7.37,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16384,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-mt-turbo": {
|
|
ID: "qwen-mt-turbo",
|
|
Name: "Qwen-MT Turbo",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.16,
|
|
Output: 0.49,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16384,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-omni-turbo": {
|
|
ID: "qwen-omni-turbo",
|
|
Name: "Qwen-Omni Turbo",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.07,
|
|
Output: 0.27,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"qwen-omni-turbo-realtime": {
|
|
ID: "qwen-omni-turbo-realtime",
|
|
Name: "Qwen-Omni Turbo Realtime",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.27,
|
|
Output: 1.07,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"qwen-plus": {
|
|
ID: "qwen-plus",
|
|
Name: "Qwen Plus",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 1.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen-plus-character-ja": {
|
|
ID: "qwen-plus-character-ja",
|
|
Name: "Qwen Plus Character (Japanese)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 1.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 512,
|
|
},
|
|
},
|
|
"qwen-turbo": {
|
|
ID: "qwen-turbo",
|
|
Name: "Qwen Turbo",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"qwen-vl-max": {
|
|
ID: "qwen-vl-max",
|
|
Name: "Qwen-VL Max",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 3.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-vl-ocr": {
|
|
ID: "qwen-vl-ocr",
|
|
Name: "Qwen-VL OCR",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.72,
|
|
Output: 0.72,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 34096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"qwen-vl-plus": {
|
|
ID: "qwen-vl-plus",
|
|
Name: "Qwen-VL Plus",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.21,
|
|
Output: 0.63,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen2-5-14b-instruct": {
|
|
ID: "qwen2-5-14b-instruct",
|
|
Name: "Qwen2.5 14B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.35,
|
|
Output: 1.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen2-5-32b-instruct": {
|
|
ID: "qwen2-5-32b-instruct",
|
|
Name: "Qwen2.5 32B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.7,
|
|
Output: 2.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen2-5-72b-instruct": {
|
|
ID: "qwen2-5-72b-instruct",
|
|
Name: "Qwen2.5 72B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.4,
|
|
Output: 5.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen2-5-7b-instruct": {
|
|
ID: "qwen2-5-7b-instruct",
|
|
Name: "Qwen2.5 7B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.175,
|
|
Output: 0.7,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen2-5-omni-7b": {
|
|
ID: "qwen2-5-omni-7b",
|
|
Name: "Qwen2.5-Omni 7B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"qwen2-5-vl-72b-instruct": {
|
|
ID: "qwen2-5-vl-72b-instruct",
|
|
Name: "Qwen2.5-VL 72B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2.8,
|
|
Output: 8.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen2-5-vl-7b-instruct": {
|
|
ID: "qwen2-5-vl-7b-instruct",
|
|
Name: "Qwen2.5-VL 7B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.35,
|
|
Output: 1.05,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen3-14b": {
|
|
ID: "qwen3-14b",
|
|
Name: "Qwen3 14B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.35,
|
|
Output: 1.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen3-235b-a22b": {
|
|
ID: "qwen3-235b-a22b",
|
|
Name: "Qwen3 235B-A22B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.7,
|
|
Output: 2.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"qwen3-32b": {
|
|
ID: "qwen3-32b",
|
|
Name: "Qwen3 32B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.7,
|
|
Output: 2.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"qwen3-8b": {
|
|
ID: "qwen3-8b",
|
|
Name: "Qwen3 8B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.18,
|
|
Output: 0.7,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen3-asr-flash": {
|
|
ID: "qwen3-asr-flash",
|
|
Name: "Qwen3-ASR Flash",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.035,
|
|
Output: 0.035,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 53248,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"qwen3-coder-30b-a3b-instruct": {
|
|
ID: "qwen3-coder-30b-a3b-instruct",
|
|
Name: "Qwen3-Coder 30B-A3B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.45,
|
|
Output: 2.25,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"qwen3-coder-480b-a35b-instruct": {
|
|
ID: "qwen3-coder-480b-a35b-instruct",
|
|
Name: "Qwen3-Coder 480B-A35B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.5,
|
|
Output: 7.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"qwen3-coder-flash": {
|
|
ID: "qwen3-coder-flash",
|
|
Name: "Qwen3 Coder Flash",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 1.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"qwen3-coder-plus": {
|
|
ID: "qwen3-coder-plus",
|
|
Name: "Qwen3 Coder Plus",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"qwen3-livetranslate-flash-realtime": {
|
|
ID: "qwen3-livetranslate-flash-realtime",
|
|
Name: "Qwen3-LiveTranslate Flash Realtime",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 10,
|
|
Output: 10,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 53248,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"qwen3-max": {
|
|
ID: "qwen3-max",
|
|
Name: "Qwen3 Max",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.2,
|
|
Output: 6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"qwen3-next-80b-a3b-instruct": {
|
|
ID: "qwen3-next-80b-a3b-instruct",
|
|
Name: "Qwen3-Next 80B-A3B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen3-next-80b-a3b-thinking": {
|
|
ID: "qwen3-next-80b-a3b-thinking",
|
|
Name: "Qwen3-Next 80B-A3B (Thinking)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen3-omni-flash": {
|
|
ID: "qwen3-omni-flash",
|
|
Name: "Qwen3-Omni Flash",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.43,
|
|
Output: 1.66,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 65536,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"qwen3-omni-flash-realtime": {
|
|
ID: "qwen3-omni-flash-realtime",
|
|
Name: "Qwen3-Omni Flash Realtime",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.52,
|
|
Output: 1.99,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 65536,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"qwen3-vl-235b-a22b": {
|
|
ID: "qwen3-vl-235b-a22b",
|
|
Name: "Qwen3-VL 235B-A22B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.7,
|
|
Output: 2.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen3-vl-30b-a3b": {
|
|
ID: "qwen3-vl-30b-a3b",
|
|
Name: "Qwen3-VL 30B-A3B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen3-vl-plus": {
|
|
ID: "qwen3-vl-plus",
|
|
Name: "Qwen3-VL Plus",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 1.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwq-plus": {
|
|
ID: "qwq-plus",
|
|
Name: "QwQ Plus",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 2.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"alibaba-cn": {
|
|
ID: "alibaba-cn",
|
|
Env: []string{"DASHSCOPE_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Alibaba (China)",
|
|
Models: map[string]ModelInfo{
|
|
"deepseek-r1": {
|
|
ID: "deepseek-r1",
|
|
Name: "DeepSeek R1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.574,
|
|
Output: 2.294,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"deepseek-r1-0528": {
|
|
ID: "deepseek-r1-0528",
|
|
Name: "DeepSeek R1 0528",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.574,
|
|
Output: 2.294,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"deepseek-r1-distill-llama-70b": {
|
|
ID: "deepseek-r1-distill-llama-70b",
|
|
Name: "DeepSeek R1 Distill Llama 70B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.287,
|
|
Output: 0.861,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"deepseek-r1-distill-llama-8b": {
|
|
ID: "deepseek-r1-distill-llama-8b",
|
|
Name: "DeepSeek R1 Distill Llama 8B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"deepseek-r1-distill-qwen-1-5b": {
|
|
ID: "deepseek-r1-distill-qwen-1-5b",
|
|
Name: "DeepSeek R1 Distill Qwen 1.5B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"deepseek-r1-distill-qwen-14b": {
|
|
ID: "deepseek-r1-distill-qwen-14b",
|
|
Name: "DeepSeek R1 Distill Qwen 14B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.144,
|
|
Output: 0.431,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"deepseek-r1-distill-qwen-32b": {
|
|
ID: "deepseek-r1-distill-qwen-32b",
|
|
Name: "DeepSeek R1 Distill Qwen 32B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.287,
|
|
Output: 0.861,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"deepseek-r1-distill-qwen-7b": {
|
|
ID: "deepseek-r1-distill-qwen-7b",
|
|
Name: "DeepSeek R1 Distill Qwen 7B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.072,
|
|
Output: 0.144,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"deepseek-v3": {
|
|
ID: "deepseek-v3",
|
|
Name: "DeepSeek V3",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.287,
|
|
Output: 1.147,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 65536,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"deepseek-v3-1": {
|
|
ID: "deepseek-v3-1",
|
|
Name: "DeepSeek V3.1",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.574,
|
|
Output: 1.721,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"deepseek-v3-2-exp": {
|
|
ID: "deepseek-v3-2-exp",
|
|
Name: "DeepSeek V3.2 Exp",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.287,
|
|
Output: 0.431,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"moonshot-kimi-k2-instruct": {
|
|
ID: "moonshot-kimi-k2-instruct",
|
|
Name: "Moonshot Kimi K2 Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.574,
|
|
Output: 2.294,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"qvq-max": {
|
|
ID: "qvq-max",
|
|
Name: "QVQ Max",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.147,
|
|
Output: 4.588,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-deep-research": {
|
|
ID: "qwen-deep-research",
|
|
Name: "Qwen Deep Research",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 7.742,
|
|
Output: 23.367,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen-doc-turbo": {
|
|
ID: "qwen-doc-turbo",
|
|
Name: "Qwen Doc Turbo",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.087,
|
|
Output: 0.144,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-flash": {
|
|
ID: "qwen-flash",
|
|
Name: "Qwen Flash",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.022,
|
|
Output: 0.216,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen-long": {
|
|
ID: "qwen-long",
|
|
Name: "Qwen Long",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.072,
|
|
Output: 0.287,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 10000000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-math-plus": {
|
|
ID: "qwen-math-plus",
|
|
Name: "Qwen Math Plus",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.574,
|
|
Output: 1.721,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 3072,
|
|
},
|
|
},
|
|
"qwen-math-turbo": {
|
|
ID: "qwen-math-turbo",
|
|
Name: "Qwen Math Turbo",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.287,
|
|
Output: 0.861,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 3072,
|
|
},
|
|
},
|
|
"qwen-max": {
|
|
ID: "qwen-max",
|
|
Name: "Qwen Max",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.345,
|
|
Output: 1.377,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-mt-plus": {
|
|
ID: "qwen-mt-plus",
|
|
Name: "Qwen-MT Plus",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.259,
|
|
Output: 0.775,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16384,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-mt-turbo": {
|
|
ID: "qwen-mt-turbo",
|
|
Name: "Qwen-MT Turbo",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.101,
|
|
Output: 0.28,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16384,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-omni-turbo": {
|
|
ID: "qwen-omni-turbo",
|
|
Name: "Qwen-Omni Turbo",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.058,
|
|
Output: 0.23,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"qwen-omni-turbo-realtime": {
|
|
ID: "qwen-omni-turbo-realtime",
|
|
Name: "Qwen-Omni Turbo Realtime",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.23,
|
|
Output: 0.918,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"qwen-plus": {
|
|
ID: "qwen-plus",
|
|
Name: "Qwen Plus",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.115,
|
|
Output: 0.287,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen-plus-character": {
|
|
ID: "qwen-plus-character",
|
|
Name: "Qwen Plus Character",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.115,
|
|
Output: 0.287,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"qwen-turbo": {
|
|
ID: "qwen-turbo",
|
|
Name: "Qwen Turbo",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.044,
|
|
Output: 0.087,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"qwen-vl-max": {
|
|
ID: "qwen-vl-max",
|
|
Name: "Qwen-VL Max",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.23,
|
|
Output: 0.574,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-vl-ocr": {
|
|
ID: "qwen-vl-ocr",
|
|
Name: "Qwen-VL OCR",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.717,
|
|
Output: 0.717,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 34096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"qwen-vl-plus": {
|
|
ID: "qwen-vl-plus",
|
|
Name: "Qwen-VL Plus",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.115,
|
|
Output: 0.287,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen2-5-14b-instruct": {
|
|
ID: "qwen2-5-14b-instruct",
|
|
Name: "Qwen2.5 14B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.144,
|
|
Output: 0.431,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen2-5-32b-instruct": {
|
|
ID: "qwen2-5-32b-instruct",
|
|
Name: "Qwen2.5 32B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.287,
|
|
Output: 0.861,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen2-5-72b-instruct": {
|
|
ID: "qwen2-5-72b-instruct",
|
|
Name: "Qwen2.5 72B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.574,
|
|
Output: 1.721,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen2-5-7b-instruct": {
|
|
ID: "qwen2-5-7b-instruct",
|
|
Name: "Qwen2.5 7B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.072,
|
|
Output: 0.144,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen2-5-coder-32b-instruct": {
|
|
ID: "qwen2-5-coder-32b-instruct",
|
|
Name: "Qwen2.5-Coder 32B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.287,
|
|
Output: 0.861,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen2-5-coder-7b-instruct": {
|
|
ID: "qwen2-5-coder-7b-instruct",
|
|
Name: "Qwen2.5-Coder 7B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.144,
|
|
Output: 0.287,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen2-5-math-72b-instruct": {
|
|
ID: "qwen2-5-math-72b-instruct",
|
|
Name: "Qwen2.5-Math 72B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.574,
|
|
Output: 1.721,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 3072,
|
|
},
|
|
},
|
|
"qwen2-5-math-7b-instruct": {
|
|
ID: "qwen2-5-math-7b-instruct",
|
|
Name: "Qwen2.5-Math 7B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.144,
|
|
Output: 0.287,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 3072,
|
|
},
|
|
},
|
|
"qwen2-5-omni-7b": {
|
|
ID: "qwen2-5-omni-7b",
|
|
Name: "Qwen2.5-Omni 7B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.087,
|
|
Output: 0.345,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"qwen2-5-vl-72b-instruct": {
|
|
ID: "qwen2-5-vl-72b-instruct",
|
|
Name: "Qwen2.5-VL 72B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2.294,
|
|
Output: 6.881,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen2-5-vl-7b-instruct": {
|
|
ID: "qwen2-5-vl-7b-instruct",
|
|
Name: "Qwen2.5-VL 7B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.287,
|
|
Output: 0.717,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen3-14b": {
|
|
ID: "qwen3-14b",
|
|
Name: "Qwen3 14B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.144,
|
|
Output: 0.574,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen3-235b-a22b": {
|
|
ID: "qwen3-235b-a22b",
|
|
Name: "Qwen3 235B-A22B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.287,
|
|
Output: 1.147,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"qwen3-32b": {
|
|
ID: "qwen3-32b",
|
|
Name: "Qwen3 32B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.287,
|
|
Output: 1.147,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"qwen3-8b": {
|
|
ID: "qwen3-8b",
|
|
Name: "Qwen3 8B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.072,
|
|
Output: 0.287,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen3-asr-flash": {
|
|
ID: "qwen3-asr-flash",
|
|
Name: "Qwen3-ASR Flash",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.032,
|
|
Output: 0.032,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 53248,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"qwen3-coder-30b-a3b-instruct": {
|
|
ID: "qwen3-coder-30b-a3b-instruct",
|
|
Name: "Qwen3-Coder 30B-A3B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.216,
|
|
Output: 0.861,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"qwen3-coder-480b-a35b-instruct": {
|
|
ID: "qwen3-coder-480b-a35b-instruct",
|
|
Name: "Qwen3-Coder 480B-A35B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.861,
|
|
Output: 3.441,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"qwen3-coder-flash": {
|
|
ID: "qwen3-coder-flash",
|
|
Name: "Qwen3 Coder Flash",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.144,
|
|
Output: 0.574,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"qwen3-coder-plus": {
|
|
ID: "qwen3-coder-plus",
|
|
Name: "Qwen3 Coder Plus",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"qwen3-max": {
|
|
ID: "qwen3-max",
|
|
Name: "Qwen3 Max",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.861,
|
|
Output: 3.441,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"qwen3-next-80b-a3b-instruct": {
|
|
ID: "qwen3-next-80b-a3b-instruct",
|
|
Name: "Qwen3-Next 80B-A3B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.144,
|
|
Output: 0.574,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen3-next-80b-a3b-thinking": {
|
|
ID: "qwen3-next-80b-a3b-thinking",
|
|
Name: "Qwen3-Next 80B-A3B (Thinking)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.144,
|
|
Output: 1.434,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen3-omni-flash": {
|
|
ID: "qwen3-omni-flash",
|
|
Name: "Qwen3-Omni Flash",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.058,
|
|
Output: 0.23,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 65536,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"qwen3-omni-flash-realtime": {
|
|
ID: "qwen3-omni-flash-realtime",
|
|
Name: "Qwen3-Omni Flash Realtime",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.23,
|
|
Output: 0.918,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 65536,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"qwen3-vl-235b-a22b": {
|
|
ID: "qwen3-vl-235b-a22b",
|
|
Name: "Qwen3-VL 235B-A22B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.286705,
|
|
Output: 1.14682,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen3-vl-30b-a3b": {
|
|
ID: "qwen3-vl-30b-a3b",
|
|
Name: "Qwen3-VL 30B-A3B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.108,
|
|
Output: 0.431,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen3-vl-plus": {
|
|
ID: "qwen3-vl-plus",
|
|
Name: "Qwen3-VL Plus",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.143353,
|
|
Output: 1.433525,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwq-32b": {
|
|
ID: "qwq-32b",
|
|
Name: "QwQ 32B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.287,
|
|
Output: 0.861,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwq-plus": {
|
|
ID: "qwq-plus",
|
|
Name: "QwQ Plus",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.23,
|
|
Output: 0.574,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"tongyi-intent-detect-v3": {
|
|
ID: "tongyi-intent-detect-v3",
|
|
Name: "Tongyi Intent Detect V3",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.058,
|
|
Output: 0.144,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 1024,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"amazon-bedrock": {
|
|
ID: "amazon-bedrock",
|
|
Env: []string{"AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_REGION"},
|
|
NPM: "@ai-sdk/amazon-bedrock",
|
|
Name: "Amazon Bedrock",
|
|
Models: map[string]ModelInfo{
|
|
"ai21.jamba-1-5-large-v1:0": {
|
|
ID: "ai21.jamba-1-5-large-v1:0",
|
|
Name: "Jamba 1.5 Large",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"ai21.jamba-1-5-mini-v1:0": {
|
|
ID: "ai21.jamba-1-5-mini-v1:0",
|
|
Name: "Jamba 1.5 Mini",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"amazon.nova-lite-v1:0": {
|
|
ID: "amazon.nova-lite-v1:0",
|
|
Name: "Nova Lite",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.06,
|
|
Output: 0.24,
|
|
CacheRead: &[]float64{0.015}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 300000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"amazon.nova-micro-v1:0": {
|
|
ID: "amazon.nova-micro-v1:0",
|
|
Name: "Nova Micro",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.035,
|
|
Output: 0.14,
|
|
CacheRead: &[]float64{0.00875}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"amazon.nova-premier-v1:0": {
|
|
ID: "amazon.nova-premier-v1:0",
|
|
Name: "Nova Premier",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2.5,
|
|
Output: 12.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"amazon.nova-pro-v1:0": {
|
|
ID: "amazon.nova-pro-v1:0",
|
|
Name: "Nova Pro",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 3.2,
|
|
CacheRead: &[]float64{0.2}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 300000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"anthropic.claude-3-5-haiku-20241022-v1:0": {
|
|
ID: "anthropic.claude-3-5-haiku-20241022-v1:0",
|
|
Name: "Claude Haiku 3.5",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 4,
|
|
CacheRead: &[]float64{0.08}[0],
|
|
CacheWrite: &[]float64{1}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"anthropic.claude-3-5-sonnet-20240620-v1:0": {
|
|
ID: "anthropic.claude-3-5-sonnet-20240620-v1:0",
|
|
Name: "Claude Sonnet 3.5",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"anthropic.claude-3-5-sonnet-20241022-v2:0": {
|
|
ID: "anthropic.claude-3-5-sonnet-20241022-v2:0",
|
|
Name: "Claude Sonnet 3.5 v2",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"anthropic.claude-3-7-sonnet-20250219-v1:0": {
|
|
ID: "anthropic.claude-3-7-sonnet-20250219-v1:0",
|
|
Name: "Claude Sonnet 3.7",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"anthropic.claude-3-haiku-20240307-v1:0": {
|
|
ID: "anthropic.claude-3-haiku-20240307-v1:0",
|
|
Name: "Claude Haiku 3",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 1.25,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"anthropic.claude-3-opus-20240229-v1:0": {
|
|
ID: "anthropic.claude-3-opus-20240229-v1:0",
|
|
Name: "Claude Opus 3",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"anthropic.claude-3-sonnet-20240229-v1:0": {
|
|
ID: "anthropic.claude-3-sonnet-20240229-v1:0",
|
|
Name: "Claude Sonnet 3",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"anthropic.claude-haiku-4-5-20251001-v1:0": {
|
|
ID: "anthropic.claude-haiku-4-5-20251001-v1:0",
|
|
Name: "Claude Haiku 4.5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 5,
|
|
CacheRead: &[]float64{0.1}[0],
|
|
CacheWrite: &[]float64{1.25}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"anthropic.claude-instant-v1": {
|
|
ID: "anthropic.claude-instant-v1",
|
|
Name: "Claude Instant",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 2.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 100000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"anthropic.claude-opus-4-1-20250805-v1:0": {
|
|
ID: "anthropic.claude-opus-4-1-20250805-v1:0",
|
|
Name: "Claude Opus 4.1",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"anthropic.claude-opus-4-20250514-v1:0": {
|
|
ID: "anthropic.claude-opus-4-20250514-v1:0",
|
|
Name: "Claude Opus 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"anthropic.claude-sonnet-4-20250514-v1:0": {
|
|
ID: "anthropic.claude-sonnet-4-20250514-v1:0",
|
|
Name: "Claude Sonnet 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"anthropic.claude-sonnet-4-5-20250929-v1:0": {
|
|
ID: "anthropic.claude-sonnet-4-5-20250929-v1:0",
|
|
Name: "Claude Sonnet 4.5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"anthropic.claude-v2": {
|
|
ID: "anthropic.claude-v2",
|
|
Name: "Claude 2",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 8,
|
|
Output: 24,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 100000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"anthropic.claude-v2:1": {
|
|
ID: "anthropic.claude-v2:1",
|
|
Name: "Claude 2.1",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 8,
|
|
Output: 24,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"cohere.command-light-text-v14": {
|
|
ID: "cohere.command-light-text-v14",
|
|
Name: "Command Light",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 0.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"cohere.command-r-plus-v1:0": {
|
|
ID: "cohere.command-r-plus-v1:0",
|
|
Name: "Command R+",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"cohere.command-r-v1:0": {
|
|
ID: "cohere.command-r-v1:0",
|
|
Name: "Command R",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 1.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"cohere.command-text-v14": {
|
|
ID: "cohere.command-text-v14",
|
|
Name: "Command",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.5,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"deepseek.r1-v1:0": {
|
|
ID: "deepseek.r1-v1:0",
|
|
Name: "DeepSeek-R1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.35,
|
|
Output: 5.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"meta.llama3-1-70b-instruct-v1:0": {
|
|
ID: "meta.llama3-1-70b-instruct-v1:0",
|
|
Name: "Llama 3.1 70B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.72,
|
|
Output: 0.72,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"meta.llama3-1-8b-instruct-v1:0": {
|
|
ID: "meta.llama3-1-8b-instruct-v1:0",
|
|
Name: "Llama 3.1 8B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.22,
|
|
Output: 0.22,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"meta.llama3-2-11b-instruct-v1:0": {
|
|
ID: "meta.llama3-2-11b-instruct-v1:0",
|
|
Name: "Llama 3.2 11B Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.16,
|
|
Output: 0.16,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"meta.llama3-2-1b-instruct-v1:0": {
|
|
ID: "meta.llama3-2-1b-instruct-v1:0",
|
|
Name: "Llama 3.2 1B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"meta.llama3-2-3b-instruct-v1:0": {
|
|
ID: "meta.llama3-2-3b-instruct-v1:0",
|
|
Name: "Llama 3.2 3B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"meta.llama3-2-90b-instruct-v1:0": {
|
|
ID: "meta.llama3-2-90b-instruct-v1:0",
|
|
Name: "Llama 3.2 90B Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.72,
|
|
Output: 0.72,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"meta.llama3-3-70b-instruct-v1:0": {
|
|
ID: "meta.llama3-3-70b-instruct-v1:0",
|
|
Name: "Llama 3.3 70B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.72,
|
|
Output: 0.72,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"meta.llama3-70b-instruct-v1:0": {
|
|
ID: "meta.llama3-70b-instruct-v1:0",
|
|
Name: "Llama 3 70B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2.65,
|
|
Output: 3.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"meta.llama3-8b-instruct-v1:0": {
|
|
ID: "meta.llama3-8b-instruct-v1:0",
|
|
Name: "Llama 3 8B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 0.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"meta.llama4-maverick-17b-instruct-v1:0": {
|
|
ID: "meta.llama4-maverick-17b-instruct-v1:0",
|
|
Name: "Llama 4 Maverick 17B Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.24,
|
|
Output: 0.97,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"meta.llama4-scout-17b-instruct-v1:0": {
|
|
ID: "meta.llama4-scout-17b-instruct-v1:0",
|
|
Name: "Llama 4 Scout 17B Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.17,
|
|
Output: 0.66,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 3500000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"anthropic": {
|
|
ID: "anthropic",
|
|
Env: []string{"ANTHROPIC_API_KEY"},
|
|
NPM: "@ai-sdk/anthropic",
|
|
Name: "Anthropic",
|
|
Models: map[string]ModelInfo{
|
|
"claude-3-5-haiku-20241022": {
|
|
ID: "claude-3-5-haiku-20241022",
|
|
Name: "Claude Haiku 3.5",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 4,
|
|
CacheRead: &[]float64{0.08}[0],
|
|
CacheWrite: &[]float64{1}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"claude-3-5-haiku-latest": {
|
|
ID: "claude-3-5-haiku-latest",
|
|
Name: "Claude Haiku 3.5",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 4,
|
|
CacheRead: &[]float64{0.08}[0],
|
|
CacheWrite: &[]float64{1}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"claude-3-5-sonnet-20240620": {
|
|
ID: "claude-3-5-sonnet-20240620",
|
|
Name: "Claude Sonnet 3.5",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"claude-3-5-sonnet-20241022": {
|
|
ID: "claude-3-5-sonnet-20241022",
|
|
Name: "Claude Sonnet 3.5 v2",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"claude-3-7-sonnet-20250219": {
|
|
ID: "claude-3-7-sonnet-20250219",
|
|
Name: "Claude Sonnet 3.7",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"claude-3-7-sonnet-latest": {
|
|
ID: "claude-3-7-sonnet-latest",
|
|
Name: "Claude Sonnet 3.7",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"claude-3-haiku-20240307": {
|
|
ID: "claude-3-haiku-20240307",
|
|
Name: "Claude Haiku 3",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 1.25,
|
|
CacheRead: &[]float64{0.03}[0],
|
|
CacheWrite: &[]float64{0.3}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"claude-3-opus-20240229": {
|
|
ID: "claude-3-opus-20240229",
|
|
Name: "Claude Opus 3",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"claude-3-sonnet-20240229": {
|
|
ID: "claude-3-sonnet-20240229",
|
|
Name: "Claude Sonnet 3",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{0.3}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"claude-haiku-4-5": {
|
|
ID: "claude-haiku-4-5",
|
|
Name: "Claude Haiku 4.5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 5,
|
|
CacheRead: &[]float64{0.1}[0],
|
|
CacheWrite: &[]float64{1.25}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"claude-haiku-4-5-20251001": {
|
|
ID: "claude-haiku-4-5-20251001",
|
|
Name: "Claude Haiku 4.5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 5,
|
|
CacheRead: &[]float64{0.1}[0],
|
|
CacheWrite: &[]float64{1.25}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"claude-opus-4-0": {
|
|
ID: "claude-opus-4-0",
|
|
Name: "Claude Opus 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"claude-opus-4-1": {
|
|
ID: "claude-opus-4-1",
|
|
Name: "Claude Opus 4.1",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"claude-opus-4-1-20250805": {
|
|
ID: "claude-opus-4-1-20250805",
|
|
Name: "Claude Opus 4.1",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"claude-opus-4-20250514": {
|
|
ID: "claude-opus-4-20250514",
|
|
Name: "Claude Opus 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"claude-sonnet-4-0": {
|
|
ID: "claude-sonnet-4-0",
|
|
Name: "Claude Sonnet 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"claude-sonnet-4-20250514": {
|
|
ID: "claude-sonnet-4-20250514",
|
|
Name: "Claude Sonnet 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"claude-sonnet-4-5": {
|
|
ID: "claude-sonnet-4-5",
|
|
Name: "Claude Sonnet 4.5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"claude-sonnet-4-5-20250929": {
|
|
ID: "claude-sonnet-4-5-20250929",
|
|
Name: "Claude Sonnet 4.5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"azure": {
|
|
ID: "azure",
|
|
Env: []string{"AZURE_RESOURCE_NAME", "AZURE_API_KEY"},
|
|
NPM: "@ai-sdk/azure",
|
|
Name: "Azure",
|
|
Models: map[string]ModelInfo{
|
|
"codex-mini": {
|
|
ID: "codex-mini",
|
|
Name: "Codex Mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.5,
|
|
Output: 6,
|
|
CacheRead: &[]float64{0.375}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"gpt-3.5-turbo-0125": {
|
|
ID: "gpt-3.5-turbo-0125",
|
|
Name: "GPT-3.5 Turbo 0125",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 1.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16384,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"gpt-3.5-turbo-0301": {
|
|
ID: "gpt-3.5-turbo-0301",
|
|
Name: "GPT-3.5 Turbo 0301",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.5,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"gpt-3.5-turbo-0613": {
|
|
ID: "gpt-3.5-turbo-0613",
|
|
Name: "GPT-3.5 Turbo 0613",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16384,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"gpt-3.5-turbo-1106": {
|
|
ID: "gpt-3.5-turbo-1106",
|
|
Name: "GPT-3.5 Turbo 1106",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16384,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"gpt-3.5-turbo-instruct": {
|
|
ID: "gpt-3.5-turbo-instruct",
|
|
Name: "GPT-3.5 Turbo Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.5,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"gpt-4": {
|
|
ID: "gpt-4",
|
|
Name: "GPT-4",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 60,
|
|
Output: 120,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"gpt-4-32k": {
|
|
ID: "gpt-4-32k",
|
|
Name: "GPT-4 32K",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 60,
|
|
Output: 120,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"gpt-4-turbo": {
|
|
ID: "gpt-4-turbo",
|
|
Name: "GPT-4 Turbo",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 10,
|
|
Output: 30,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"gpt-4-turbo-vision": {
|
|
ID: "gpt-4-turbo-vision",
|
|
Name: "GPT-4 Turbo Vision",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 10,
|
|
Output: 30,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"gpt-4.1": {
|
|
ID: "gpt-4.1",
|
|
Name: "GPT-4.1",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 8,
|
|
CacheRead: &[]float64{0.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"gpt-4.1-mini": {
|
|
ID: "gpt-4.1-mini",
|
|
Name: "GPT-4.1 mini",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 1.6,
|
|
CacheRead: &[]float64{0.1}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"gpt-4.1-nano": {
|
|
ID: "gpt-4.1-nano",
|
|
Name: "GPT-4.1 nano",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.03}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"gpt-4o": {
|
|
ID: "gpt-4o",
|
|
Name: "GPT-4o",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2.5,
|
|
Output: 10,
|
|
CacheRead: &[]float64{1.25}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"gpt-4o-mini": {
|
|
ID: "gpt-4o-mini",
|
|
Name: "GPT-4o mini",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: &[]float64{0.08}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"gpt-5": {
|
|
ID: "gpt-5",
|
|
Name: "GPT-5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.13}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 272000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"gpt-5-chat": {
|
|
ID: "gpt-5-chat",
|
|
Name: "GPT-5 Chat",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.13}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"gpt-5-codex": {
|
|
ID: "gpt-5-codex",
|
|
Name: "GPT-5-Codex",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"gpt-5-mini": {
|
|
ID: "gpt-5-mini",
|
|
Name: "GPT-5 Mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 2,
|
|
CacheRead: &[]float64{0.03}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 272000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"gpt-5-nano": {
|
|
ID: "gpt-5-nano",
|
|
Name: "GPT-5 Nano",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.01}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 272000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"o1": {
|
|
ID: "o1",
|
|
Name: "o1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 60,
|
|
CacheRead: &[]float64{7.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"o1-mini": {
|
|
ID: "o1-mini",
|
|
Name: "o1-mini",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.1,
|
|
Output: 4.4,
|
|
CacheRead: &[]float64{0.55}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"o1-preview": {
|
|
ID: "o1-preview",
|
|
Name: "o1-preview",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 16.5,
|
|
Output: 66,
|
|
CacheRead: &[]float64{8.25}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"o3": {
|
|
ID: "o3",
|
|
Name: "o3",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 8,
|
|
CacheRead: &[]float64{0.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"o3-mini": {
|
|
ID: "o3-mini",
|
|
Name: "o3-mini",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.1,
|
|
Output: 4.4,
|
|
CacheRead: &[]float64{0.55}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"o4-mini": {
|
|
ID: "o4-mini",
|
|
Name: "o4-mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.1,
|
|
Output: 4.4,
|
|
CacheRead: &[]float64{0.28}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"baseten": {
|
|
ID: "baseten",
|
|
Env: []string{"BASETEN_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Baseten",
|
|
Models: map[string]ModelInfo{
|
|
"Qwen3/Qwen3-Coder-480B-A35B-Instruct": {
|
|
ID: "Qwen3/Qwen3-Coder-480B-A35B-Instruct",
|
|
Name: "Qwen3 Coder 480B A35B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.38,
|
|
Output: 1.53,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 66536,
|
|
},
|
|
},
|
|
"moonshotai/Kimi-K2-Instruct-0905": {
|
|
ID: "moonshotai/Kimi-K2-Instruct-0905",
|
|
Name: "Kimi K2 Instruct 0905",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"cerebras": {
|
|
ID: "cerebras",
|
|
Env: []string{"CEREBRAS_API_KEY"},
|
|
NPM: "@ai-sdk/cerebras",
|
|
Name: "Cerebras",
|
|
Models: map[string]ModelInfo{
|
|
"gpt-oss-120b": {
|
|
ID: "gpt-oss-120b",
|
|
Name: "GPT OSS 120B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 0.69,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen-3-235b-a22b-instruct-2507": {
|
|
ID: "qwen-3-235b-a22b-instruct-2507",
|
|
Name: "Qwen 3 235B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 1.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"qwen-3-coder-480b": {
|
|
ID: "qwen-3-coder-480b",
|
|
Name: "Qwen 3 Coder 480B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"chutes": {
|
|
ID: "chutes",
|
|
Env: []string{"CHUTES_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Chutes",
|
|
Models: map[string]ModelInfo{
|
|
"Qwen/Qwen3-235B-A22B-Instruct-2507": {
|
|
ID: "Qwen/Qwen3-235B-A22B-Instruct-2507",
|
|
Name: "Qwen3 235B A22B Instruct 2507",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.078,
|
|
Output: 0.312,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-235B-A22B-Thinking-2507": {
|
|
ID: "Qwen/Qwen3-235B-A22B-Thinking-2507",
|
|
Name: "Qwen3-235B-A22B-Thinking-2507",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.078,
|
|
Output: 0.312,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-30B-A3B": {
|
|
ID: "Qwen/Qwen3-30B-A3B",
|
|
Name: "Qwen3 30B A3B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.02,
|
|
Output: 0.08,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 40960,
|
|
Output: 40960,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-30B-A3B-Instruct-2507": {
|
|
ID: "Qwen/Qwen3-30B-A3B-Instruct-2507",
|
|
Name: "Qwen3 30B A3B Instruct 2507",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-30B-A3B-Thinking-2507": {
|
|
ID: "Qwen/Qwen3-30B-A3B-Thinking-2507",
|
|
Name: "Qwen3 30B A3B Thinking 2507",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.08,
|
|
Output: 0.29,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-Coder-30B-A3B-Instruct": {
|
|
ID: "Qwen/Qwen3-Coder-30B-A3B-Instruct",
|
|
Name: "Qwen3 Coder 30B A3B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": {
|
|
ID: "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
|
|
Name: "Qwen3 Coder 480B A35B Instruct (FP8)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-Next-80B-A3B-Instruct": {
|
|
ID: "Qwen/Qwen3-Next-80B-A3B-Instruct",
|
|
Name: "Qwen3 Next 80B A3B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-Next-80B-A3B-Thinking": {
|
|
ID: "Qwen/Qwen3-Next-80B-A3B-Thinking",
|
|
Name: "Qwen3 Next 80B A3B Thinking",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"chutesai/Devstral-Small-2505": {
|
|
ID: "chutesai/Devstral-Small-2505",
|
|
Name: "Devstral Small (2505)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.02,
|
|
Output: 0.08,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"chutesai/Mistral-Small-3.2-24B-Instruct-2506": {
|
|
ID: "chutesai/Mistral-Small-3.2-24B-Instruct-2506",
|
|
Name: "Mistral Small 3.2 24B Instruct (2506)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.02,
|
|
Output: 0.08,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-R1-0528": {
|
|
ID: "deepseek-ai/DeepSeek-R1-0528",
|
|
Name: "DeepSeek R1 (0528)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.18,
|
|
Output: 0.72,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 75000,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-R1-0528-Qwen3-8B": {
|
|
ID: "deepseek-ai/DeepSeek-R1-0528-Qwen3-8B",
|
|
Name: "DeepSeek R1 0528 Qwen3 8B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.02,
|
|
Output: 0.07,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-R1-Distill-Llama-70B": {
|
|
ID: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
|
|
Name: "DeepSeek R1 Distill Llama 70B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.03,
|
|
Output: 0.14,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-V3-0324": {
|
|
ID: "deepseek-ai/DeepSeek-V3-0324",
|
|
Name: "DeepSeek V3 (0324)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.18,
|
|
Output: 0.72,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 75000,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-V3.1": {
|
|
ID: "deepseek-ai/DeepSeek-V3.1",
|
|
Name: "DeepSeek V3.1",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163840,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-V3.1-Terminus": {
|
|
ID: "deepseek-ai/DeepSeek-V3.1-Terminus",
|
|
Name: "DeepSeek V3.1 Terminus",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-V3.1-turbo": {
|
|
ID: "deepseek-ai/DeepSeek-V3.1-turbo",
|
|
Name: "DeepSeek V3.1 Turbo",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-V3.1:THINKING": {
|
|
ID: "deepseek-ai/DeepSeek-V3.1:THINKING",
|
|
Name: "DeepSeek V3.1 Reasoning",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163840,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-V3.2-Exp": {
|
|
ID: "deepseek-ai/DeepSeek-V3.2-Exp",
|
|
Name: "DeepSeek V3.2 Exp",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 0.35,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"meituan-longcat/LongCat-Flash-Chat-FP8": {
|
|
ID: "meituan-longcat/LongCat-Flash-Chat-FP8",
|
|
Name: "LongCat Flash Chat FP8",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"moonshotai/Kimi-Dev-72B": {
|
|
ID: "moonshotai/Kimi-Dev-72B",
|
|
Name: "Kimi Dev 72B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.06664,
|
|
Output: 0.266688,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"moonshotai/Kimi-K2-Instruct-0905": {
|
|
ID: "moonshotai/Kimi-K2-Instruct-0905",
|
|
Name: "Kimi K2 Instruct 0905",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.296176,
|
|
Output: 1.18528,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"moonshotai/Kimi-K2-Instruct-75k": {
|
|
ID: "moonshotai/Kimi-K2-Instruct-75k",
|
|
Name: "Kimi K2 Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.59,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 75000,
|
|
Output: 75000,
|
|
},
|
|
},
|
|
"moonshotai/Kimi-VL-A3B-Thinking": {
|
|
ID: "moonshotai/Kimi-VL-A3B-Thinking",
|
|
Name: "Kimi VL A3B Thinking",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.02499,
|
|
Output: 0.100008,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"openai/gpt-oss-120b": {
|
|
ID: "openai/gpt-oss-120b",
|
|
Name: "GPT OSS 120B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.41,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"tngtech/DeepSeek-R1T-Chimera": {
|
|
ID: "tngtech/DeepSeek-R1T-Chimera",
|
|
Name: "DeepSeek R1T Chimera",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.18,
|
|
Output: 0.72,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163840,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"tngtech/DeepSeek-TNG-R1T2-Chimera": {
|
|
ID: "tngtech/DeepSeek-TNG-R1T2-Chimera",
|
|
Name: "DeepSeek TNG R1T2 Chimera",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163840,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"zai-org/GLM-4.5-Air": {
|
|
ID: "zai-org/GLM-4.5-Air",
|
|
Name: "GLM 4.5 Air",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
"zai-org/GLM-4.5-FP8": {
|
|
ID: "zai-org/GLM-4.5-FP8",
|
|
Name: "GLM 4.5 FP8",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"zai-org/GLM-4.5-turbo": {
|
|
ID: "zai-org/GLM-4.5-turbo",
|
|
Name: "GLM 4.5 Turbo",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"zai-org/GLM-4.6-FP8": {
|
|
ID: "zai-org/GLM-4.6-FP8",
|
|
Name: "GLM 4.6 FP8",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.39,
|
|
Output: 1.55,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 204800,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"zai-org/GLM-4.6-turbo": {
|
|
ID: "zai-org/GLM-4.6-turbo",
|
|
Name: "GLM 4.6 Turbo",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.15,
|
|
Output: 3.25,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 204800,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"cloudflare-workers-ai": {
|
|
ID: "cloudflare-workers-ai",
|
|
Env: []string{"CLOUDFLARE_ACCOUNT_ID", "CLOUDFLARE_API_KEY"},
|
|
NPM: "workers-ai-provider",
|
|
Name: "Cloudflare Workers AI",
|
|
Models: map[string]ModelInfo{
|
|
"aura-1": {
|
|
ID: "aura-1",
|
|
Name: "@cf/deepgram/aura-1",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.015,
|
|
Output: 0.015,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"bart-large-cnn": {
|
|
ID: "bart-large-cnn",
|
|
Name: "@cf/facebook/bart-large-cnn",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"deepseek-coder-6.7b-base-awq": {
|
|
ID: "deepseek-coder-6.7b-base-awq",
|
|
Name: "@hf/thebloke/deepseek-coder-6.7b-base-awq",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"deepseek-coder-6.7b-instruct-awq": {
|
|
ID: "deepseek-coder-6.7b-instruct-awq",
|
|
Name: "@hf/thebloke/deepseek-coder-6.7b-instruct-awq",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"deepseek-math-7b-instruct": {
|
|
ID: "deepseek-math-7b-instruct",
|
|
Name: "@cf/deepseek-ai/deepseek-math-7b-instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"deepseek-r1-distill-qwen-32b": {
|
|
ID: "deepseek-r1-distill-qwen-32b",
|
|
Name: "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 4.88,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 80000,
|
|
Output: 80000,
|
|
},
|
|
},
|
|
"discolm-german-7b-v1-awq": {
|
|
ID: "discolm-german-7b-v1-awq",
|
|
Name: "@cf/thebloke/discolm-german-7b-v1-awq",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"dreamshaper-8-lcm": {
|
|
ID: "dreamshaper-8-lcm",
|
|
Name: "@cf/lykon/dreamshaper-8-lcm",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"falcon-7b-instruct": {
|
|
ID: "falcon-7b-instruct",
|
|
Name: "@cf/tiiuae/falcon-7b-instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"flux-1-schnell": {
|
|
ID: "flux-1-schnell",
|
|
Name: "@cf/black-forest-labs/flux-1-schnell",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 5.3e-05,
|
|
Output: 0.00011,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 2048,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"gemma-2b-it-lora": {
|
|
ID: "gemma-2b-it-lora",
|
|
Name: "@cf/google/gemma-2b-it-lora",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"gemma-3-12b-it": {
|
|
ID: "gemma-3-12b-it",
|
|
Name: "@cf/google/gemma-3-12b-it",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.35,
|
|
Output: 0.56,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 80000,
|
|
Output: 80000,
|
|
},
|
|
},
|
|
"gemma-7b-it": {
|
|
ID: "gemma-7b-it",
|
|
Name: "@hf/google/gemma-7b-it",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"gemma-7b-it-lora": {
|
|
ID: "gemma-7b-it-lora",
|
|
Name: "@cf/google/gemma-7b-it-lora",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 3500,
|
|
Output: 3500,
|
|
},
|
|
},
|
|
"gpt-oss-120b": {
|
|
ID: "gpt-oss-120b",
|
|
Name: "@cf/openai/gpt-oss-120b",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.35,
|
|
Output: 0.75,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"gpt-oss-20b": {
|
|
ID: "gpt-oss-20b",
|
|
Name: "@cf/openai/gpt-oss-20b",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"hermes-2-pro-mistral-7b": {
|
|
ID: "hermes-2-pro-mistral-7b",
|
|
Name: "@hf/nousresearch/hermes-2-pro-mistral-7b",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 24000,
|
|
Output: 24000,
|
|
},
|
|
},
|
|
"llama-2-13b-chat-awq": {
|
|
ID: "llama-2-13b-chat-awq",
|
|
Name: "@hf/thebloke/llama-2-13b-chat-awq",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"llama-2-7b-chat-fp16": {
|
|
ID: "llama-2-7b-chat-fp16",
|
|
Name: "@cf/meta/llama-2-7b-chat-fp16",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.56,
|
|
Output: 6.67,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"llama-2-7b-chat-hf-lora": {
|
|
ID: "llama-2-7b-chat-hf-lora",
|
|
Name: "@cf/meta-llama/llama-2-7b-chat-hf-lora",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"llama-2-7b-chat-int8": {
|
|
ID: "llama-2-7b-chat-int8",
|
|
Name: "@cf/meta/llama-2-7b-chat-int8",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"llama-3-8b-instruct": {
|
|
ID: "llama-3-8b-instruct",
|
|
Name: "@cf/meta/llama-3-8b-instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.28,
|
|
Output: 0.83,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 7968,
|
|
Output: 7968,
|
|
},
|
|
},
|
|
"llama-3-8b-instruct-awq": {
|
|
ID: "llama-3-8b-instruct-awq",
|
|
Name: "@cf/meta/llama-3-8b-instruct-awq",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.12,
|
|
Output: 0.27,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"llama-3.1-70b-instruct": {
|
|
ID: "llama-3.1-70b-instruct",
|
|
Name: "@cf/meta/llama-3.1-70b-instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 24000,
|
|
Output: 24000,
|
|
},
|
|
},
|
|
"llama-3.1-8b-instruct": {
|
|
ID: "llama-3.1-8b-instruct",
|
|
Name: "@cf/meta/llama-3.1-8b-instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.28,
|
|
Output: 0.83,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 7968,
|
|
Output: 7968,
|
|
},
|
|
},
|
|
"llama-3.1-8b-instruct-awq": {
|
|
ID: "llama-3.1-8b-instruct-awq",
|
|
Name: "@cf/meta/llama-3.1-8b-instruct-awq",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.12,
|
|
Output: 0.27,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"llama-3.1-8b-instruct-fast": {
|
|
ID: "llama-3.1-8b-instruct-fast",
|
|
Name: "@cf/meta/llama-3.1-8b-instruct-fast",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"llama-3.1-8b-instruct-fp8": {
|
|
ID: "llama-3.1-8b-instruct-fp8",
|
|
Name: "@cf/meta/llama-3.1-8b-instruct-fp8",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.29,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"llama-3.2-11b-vision-instruct": {
|
|
ID: "llama-3.2-11b-vision-instruct",
|
|
Name: "@cf/meta/llama-3.2-11b-vision-instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.049,
|
|
Output: 0.68,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"llama-3.2-1b-instruct": {
|
|
ID: "llama-3.2-1b-instruct",
|
|
Name: "@cf/meta/llama-3.2-1b-instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.027,
|
|
Output: 0.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 60000,
|
|
Output: 60000,
|
|
},
|
|
},
|
|
"llama-3.2-3b-instruct": {
|
|
ID: "llama-3.2-3b-instruct",
|
|
Name: "@cf/meta/llama-3.2-3b-instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.051,
|
|
Output: 0.34,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"llama-3.3-70b-instruct-fp8-fast": {
|
|
ID: "llama-3.3-70b-instruct-fp8-fast",
|
|
Name: "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.29,
|
|
Output: 2.25,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 24000,
|
|
Output: 24000,
|
|
},
|
|
},
|
|
"llama-4-scout-17b-16e-instruct": {
|
|
ID: "llama-4-scout-17b-16e-instruct",
|
|
Name: "@cf/meta/llama-4-scout-17b-16e-instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.27,
|
|
Output: 0.85,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131000,
|
|
Output: 131000,
|
|
},
|
|
},
|
|
"llama-guard-3-8b": {
|
|
ID: "llama-guard-3-8b",
|
|
Name: "@cf/meta/llama-guard-3-8b",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.48,
|
|
Output: 0.03,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"llamaguard-7b-awq": {
|
|
ID: "llamaguard-7b-awq",
|
|
Name: "@hf/thebloke/llamaguard-7b-awq",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"llava-1.5-7b-hf": {
|
|
ID: "llava-1.5-7b-hf",
|
|
Name: "@cf/llava-hf/llava-1.5-7b-hf",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"lucid-origin": {
|
|
ID: "lucid-origin",
|
|
Name: "@cf/leonardo/lucid-origin",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.007,
|
|
Output: 0.007,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"m2m100-1.2b": {
|
|
ID: "m2m100-1.2b",
|
|
Name: "@cf/meta/m2m100-1.2b",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.34,
|
|
Output: 0.34,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"melotts": {
|
|
ID: "melotts",
|
|
Name: "@cf/myshell-ai/melotts",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.0002,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"mistral-7b-instruct-v0.1": {
|
|
ID: "mistral-7b-instruct-v0.1",
|
|
Name: "@cf/mistral/mistral-7b-instruct-v0.1",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.11,
|
|
Output: 0.19,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 2824,
|
|
Output: 2824,
|
|
},
|
|
},
|
|
"mistral-7b-instruct-v0.1-awq": {
|
|
ID: "mistral-7b-instruct-v0.1-awq",
|
|
Name: "@hf/thebloke/mistral-7b-instruct-v0.1-awq",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"mistral-7b-instruct-v0.2": {
|
|
ID: "mistral-7b-instruct-v0.2",
|
|
Name: "@hf/mistral/mistral-7b-instruct-v0.2",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 3072,
|
|
Output: 3072,
|
|
},
|
|
},
|
|
"mistral-7b-instruct-v0.2-lora": {
|
|
ID: "mistral-7b-instruct-v0.2-lora",
|
|
Name: "@cf/mistral/mistral-7b-instruct-v0.2-lora",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 15000,
|
|
Output: 15000,
|
|
},
|
|
},
|
|
"mistral-small-3.1-24b-instruct": {
|
|
ID: "mistral-small-3.1-24b-instruct",
|
|
Name: "@cf/mistralai/mistral-small-3.1-24b-instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.35,
|
|
Output: 0.56,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"neural-chat-7b-v3-1-awq": {
|
|
ID: "neural-chat-7b-v3-1-awq",
|
|
Name: "@hf/thebloke/neural-chat-7b-v3-1-awq",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"nova-3": {
|
|
ID: "nova-3",
|
|
Name: "@cf/deepgram/nova-3",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.0052,
|
|
Output: 0.0052,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"openchat-3.5-0106": {
|
|
ID: "openchat-3.5-0106",
|
|
Name: "@cf/openchat/openchat-3.5-0106",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"openhermes-2.5-mistral-7b-awq": {
|
|
ID: "openhermes-2.5-mistral-7b-awq",
|
|
Name: "@hf/thebloke/openhermes-2.5-mistral-7b-awq",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"phi-2": {
|
|
ID: "phi-2",
|
|
Name: "@cf/microsoft/phi-2",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 2048,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"phoenix-1.0": {
|
|
ID: "phoenix-1.0",
|
|
Name: "@cf/leonardo/phoenix-1.0",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.0058,
|
|
Output: 0.0058,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"qwen1.5-0.5b-chat": {
|
|
ID: "qwen1.5-0.5b-chat",
|
|
Name: "@cf/qwen/qwen1.5-0.5b-chat",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"qwen1.5-1.8b-chat": {
|
|
ID: "qwen1.5-1.8b-chat",
|
|
Name: "@cf/qwen/qwen1.5-1.8b-chat",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"qwen1.5-14b-chat-awq": {
|
|
ID: "qwen1.5-14b-chat-awq",
|
|
Name: "@cf/qwen/qwen1.5-14b-chat-awq",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 7500,
|
|
Output: 7500,
|
|
},
|
|
},
|
|
"qwen1.5-7b-chat-awq": {
|
|
ID: "qwen1.5-7b-chat-awq",
|
|
Name: "@cf/qwen/qwen1.5-7b-chat-awq",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 20000,
|
|
Output: 20000,
|
|
},
|
|
},
|
|
"qwen2.5-coder-32b-instruct": {
|
|
ID: "qwen2.5-coder-32b-instruct",
|
|
Name: "@cf/qwen/qwen2.5-coder-32b-instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.66,
|
|
Output: 1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwq-32b": {
|
|
ID: "qwq-32b",
|
|
Name: "@cf/qwen/qwq-32b",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.66,
|
|
Output: 1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 24000,
|
|
Output: 24000,
|
|
},
|
|
},
|
|
"resnet-50": {
|
|
ID: "resnet-50",
|
|
Name: "@cf/microsoft/resnet-50",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 2.5e-06,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"sqlcoder-7b-2": {
|
|
ID: "sqlcoder-7b-2",
|
|
Name: "@cf/defog/sqlcoder-7b-2",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 10000,
|
|
Output: 10000,
|
|
},
|
|
},
|
|
"stable-diffusion-v1-5-img2img": {
|
|
ID: "stable-diffusion-v1-5-img2img",
|
|
Name: "@cf/runwayml/stable-diffusion-v1-5-img2img",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"stable-diffusion-v1-5-inpainting": {
|
|
ID: "stable-diffusion-v1-5-inpainting",
|
|
Name: "@cf/runwayml/stable-diffusion-v1-5-inpainting",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"stable-diffusion-xl-base-1.0": {
|
|
ID: "stable-diffusion-xl-base-1.0",
|
|
Name: "@cf/stabilityai/stable-diffusion-xl-base-1.0",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"stable-diffusion-xl-lightning": {
|
|
ID: "stable-diffusion-xl-lightning",
|
|
Name: "@cf/bytedance/stable-diffusion-xl-lightning",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"starling-lm-7b-beta": {
|
|
ID: "starling-lm-7b-beta",
|
|
Name: "@hf/nexusflow/starling-lm-7b-beta",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"tinyllama-1.1b-chat-v1.0": {
|
|
ID: "tinyllama-1.1b-chat-v1.0",
|
|
Name: "@cf/tinyllama/tinyllama-1.1b-chat-v1.0",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 2048,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"uform-gen2-qwen-500m": {
|
|
ID: "uform-gen2-qwen-500m",
|
|
Name: "@cf/unum/uform-gen2-qwen-500m",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"una-cybertron-7b-v2-bf16": {
|
|
ID: "una-cybertron-7b-v2-bf16",
|
|
Name: "@cf/fblgit/una-cybertron-7b-v2-bf16",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 15000,
|
|
Output: 15000,
|
|
},
|
|
},
|
|
"whisper": {
|
|
ID: "whisper",
|
|
Name: "@cf/openai/whisper",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.00045,
|
|
Output: 0.00045,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"whisper-large-v3-turbo": {
|
|
ID: "whisper-large-v3-turbo",
|
|
Name: "@cf/openai/whisper-large-v3-turbo",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.00051,
|
|
Output: 0.00051,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"whisper-tiny-en": {
|
|
ID: "whisper-tiny-en",
|
|
Name: "@cf/openai/whisper-tiny-en",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"zephyr-7b-beta-awq": {
|
|
ID: "zephyr-7b-beta-awq",
|
|
Name: "@hf/thebloke/zephyr-7b-beta-awq",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"cortecs": {
|
|
ID: "cortecs",
|
|
Env: []string{"CORTECS_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Cortecs",
|
|
Models: map[string]ModelInfo{
|
|
"claude-4-5-sonnet": {
|
|
ID: "claude-4-5-sonnet",
|
|
Name: "Claude 4.5 Sonnet",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3.259,
|
|
Output: 16.296,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 200000,
|
|
},
|
|
},
|
|
"claude-sonnet-4": {
|
|
ID: "claude-sonnet-4",
|
|
Name: "Claude Sonnet 4",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3.307,
|
|
Output: 16.536,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"deepseek-v3-0324": {
|
|
ID: "deepseek-v3-0324",
|
|
Name: "DeepSeek V3 0324",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.551,
|
|
Output: 1.654,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"gemini-2.5-pro": {
|
|
ID: "gemini-2.5-pro",
|
|
Name: "Gemini 2.5 Pro",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.654,
|
|
Output: 11.024,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65535,
|
|
},
|
|
},
|
|
"gpt-4.1": {
|
|
ID: "gpt-4.1",
|
|
Name: "GPT 4.1",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2.354,
|
|
Output: 9.417,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"gpt-oss-120b": {
|
|
ID: "gpt-oss-120b",
|
|
Name: "GPT Oss 120b",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"kimi-k2-instruct": {
|
|
ID: "kimi-k2-instruct",
|
|
Name: "Kimi K2 Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.551,
|
|
Output: 2.646,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131000,
|
|
Output: 131000,
|
|
},
|
|
},
|
|
"llama-3.1-405b-instruct": {
|
|
ID: "llama-3.1-405b-instruct",
|
|
Name: "Llama 3.1 405B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"nova-pro-v1": {
|
|
ID: "nova-pro-v1",
|
|
Name: "Nova Pro 1.0",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.016,
|
|
Output: 4.061,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 300000,
|
|
Output: 5000,
|
|
},
|
|
},
|
|
"qwen3-32b": {
|
|
ID: "qwen3-32b",
|
|
Name: "Qwen3 32B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.099,
|
|
Output: 0.33,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16384,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"qwen3-coder-480b-a35b-instruct": {
|
|
ID: "qwen3-coder-480b-a35b-instruct",
|
|
Name: "Qwen3 Coder 480B A35B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.441,
|
|
Output: 1.984,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262000,
|
|
Output: 262000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"deepinfra": {
|
|
ID: "deepinfra",
|
|
Env: []string{"DEEPINFRA_API_KEY"},
|
|
NPM: "@ai-sdk/deepinfra",
|
|
Name: "Deep Infra",
|
|
Models: map[string]ModelInfo{
|
|
"Qwen/Qwen3-Coder-480B-A35B-Instruct": {
|
|
ID: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
|
|
Name: "Qwen3 Coder 480B A35B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 1.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 66536,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo": {
|
|
ID: "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo",
|
|
Name: "Qwen3 Coder 480B A35B Instruct Turbo",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 1.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 66536,
|
|
},
|
|
},
|
|
"moonshotai/Kimi-K2-Instruct": {
|
|
ID: "moonshotai/Kimi-K2-Instruct",
|
|
Name: "Kimi K2",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"zai-org/GLM-4.5": {
|
|
ID: "zai-org/GLM-4.5",
|
|
Name: "GLM-4.5",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"deepseek": {
|
|
ID: "deepseek",
|
|
Env: []string{"DEEPSEEK_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "DeepSeek",
|
|
Models: map[string]ModelInfo{
|
|
"deepseek-chat": {
|
|
ID: "deepseek-chat",
|
|
Name: "DeepSeek Chat",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.57,
|
|
Output: 1.68,
|
|
CacheRead: &[]float64{0.07}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"deepseek-reasoner": {
|
|
ID: "deepseek-reasoner",
|
|
Name: "DeepSeek Reasoner",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.57,
|
|
Output: 1.68,
|
|
CacheRead: &[]float64{0.07}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"fastrouter": {
|
|
ID: "fastrouter",
|
|
Env: []string{"FASTROUTER_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "FastRouter",
|
|
Models: map[string]ModelInfo{
|
|
"anthropic/claude-opus-4.1": {
|
|
ID: "anthropic/claude-opus-4.1",
|
|
Name: "Claude Opus 4.1",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"anthropic/claude-sonnet-4": {
|
|
ID: "anthropic/claude-sonnet-4",
|
|
Name: "Claude Sonnet 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"deepseek-ai/deepseek-r1-distill-llama-70b": {
|
|
ID: "deepseek-ai/deepseek-r1-distill-llama-70b",
|
|
Name: "DeepSeek R1 Distill Llama 70B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.03,
|
|
Output: 0.14,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"google/gemini-2.5-flash": {
|
|
ID: "google/gemini-2.5-flash",
|
|
Name: "Gemini 2.5 Flash",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.0375}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"google/gemini-2.5-pro": {
|
|
ID: "google/gemini-2.5-pro",
|
|
Name: "Gemini 2.5 Pro",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.31}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"moonshotai/kimi-k2": {
|
|
ID: "moonshotai/kimi-k2",
|
|
Name: "Kimi K2",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.55,
|
|
Output: 2.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-4.1": {
|
|
ID: "openai/gpt-4.1",
|
|
Name: "GPT-4.1",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 8,
|
|
CacheRead: &[]float64{0.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-5": {
|
|
ID: "openai/gpt-5",
|
|
Name: "GPT-5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.125}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openai/gpt-5-mini": {
|
|
ID: "openai/gpt-5-mini",
|
|
Name: "GPT-5 Mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 2,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openai/gpt-5-nano": {
|
|
ID: "openai/gpt-5-nano",
|
|
Name: "GPT-5 Nano",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.005}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openai/gpt-oss-120b": {
|
|
ID: "openai/gpt-oss-120b",
|
|
Name: "GPT OSS 120B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-oss-20b": {
|
|
ID: "openai/gpt-oss-20b",
|
|
Name: "GPT OSS 20B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"qwen/qwen3-coder": {
|
|
ID: "qwen/qwen3-coder",
|
|
Name: "Qwen3 Coder",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 1.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 66536,
|
|
},
|
|
},
|
|
"x-ai/grok-4": {
|
|
ID: "x-ai/grok-4",
|
|
Name: "Grok 4",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.75}[0],
|
|
CacheWrite: &[]float64{15}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"fireworks-ai": {
|
|
ID: "fireworks-ai",
|
|
Env: []string{"FIREWORKS_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Fireworks AI",
|
|
Models: map[string]ModelInfo{
|
|
"accounts/fireworks/models/deepseek-r1-0528": {
|
|
ID: "accounts/fireworks/models/deepseek-r1-0528",
|
|
Name: "Deepseek R1 05/28",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 160000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"accounts/fireworks/models/deepseek-v3-0324": {
|
|
ID: "accounts/fireworks/models/deepseek-v3-0324",
|
|
Name: "Deepseek V3 03-24",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.9,
|
|
Output: 0.9,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 160000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"accounts/fireworks/models/deepseek-v3p1": {
|
|
ID: "accounts/fireworks/models/deepseek-v3p1",
|
|
Name: "DeepSeek V3.1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.56,
|
|
Output: 1.68,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163840,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"accounts/fireworks/models/glm-4p5": {
|
|
ID: "accounts/fireworks/models/glm-4p5",
|
|
Name: "GLM 4.5",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.55,
|
|
Output: 2.19,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"accounts/fireworks/models/glm-4p5-air": {
|
|
ID: "accounts/fireworks/models/glm-4p5-air",
|
|
Name: "GLM 4.5 Air",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.22,
|
|
Output: 0.88,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"accounts/fireworks/models/gpt-oss-120b": {
|
|
ID: "accounts/fireworks/models/gpt-oss-120b",
|
|
Name: "GPT OSS 120B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"accounts/fireworks/models/gpt-oss-20b": {
|
|
ID: "accounts/fireworks/models/gpt-oss-20b",
|
|
Name: "GPT OSS 20B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"accounts/fireworks/models/kimi-k2-instruct": {
|
|
ID: "accounts/fireworks/models/kimi-k2-instruct",
|
|
Name: "Kimi K2 Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"accounts/fireworks/models/qwen3-235b-a22b": {
|
|
ID: "accounts/fireworks/models/qwen3-235b-a22b",
|
|
Name: "Qwen3 235B-A22B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.22,
|
|
Output: 0.88,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"accounts/fireworks/models/qwen3-coder-480b-a35b-instruct": {
|
|
ID: "accounts/fireworks/models/qwen3-coder-480b-a35b-instruct",
|
|
Name: "Qwen3 Coder 480B A35B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.45,
|
|
Output: 1.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"github-copilot": {
|
|
ID: "github-copilot",
|
|
Env: []string{"GITHUB_TOKEN"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "GitHub Copilot",
|
|
Models: map[string]ModelInfo{
|
|
"claude-3.5-sonnet": {
|
|
ID: "claude-3.5-sonnet",
|
|
Name: "Claude Sonnet 3.5",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 90000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"claude-3.7-sonnet": {
|
|
ID: "claude-3.7-sonnet",
|
|
Name: "Claude Sonnet 3.7",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"claude-3.7-sonnet-thought": {
|
|
ID: "claude-3.7-sonnet-thought",
|
|
Name: "Claude Sonnet 3.7 Thinking",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"claude-haiku-4-5": {
|
|
ID: "claude-haiku-4-5",
|
|
Name: "Claude Haiku 4.5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"claude-opus-4": {
|
|
ID: "claude-opus-4",
|
|
Name: "Claude Opus 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 80000,
|
|
Output: 16000,
|
|
},
|
|
},
|
|
"claude-opus-41": {
|
|
ID: "claude-opus-41",
|
|
Name: "Claude Opus 4.1",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 80000,
|
|
Output: 16000,
|
|
},
|
|
},
|
|
"claude-sonnet-4": {
|
|
ID: "claude-sonnet-4",
|
|
Name: "Claude Sonnet 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16000,
|
|
},
|
|
},
|
|
"claude-sonnet-4.5": {
|
|
ID: "claude-sonnet-4.5",
|
|
Name: "Claude Sonnet 4.5 (Preview)",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16000,
|
|
},
|
|
},
|
|
"gemini-2.0-flash-001": {
|
|
ID: "gemini-2.0-flash-001",
|
|
Name: "Gemini 2.0 Flash",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"gemini-2.5-pro": {
|
|
ID: "gemini-2.5-pro",
|
|
Name: "Gemini 2.5 Pro",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"gpt-4.1": {
|
|
ID: "gpt-4.1",
|
|
Name: "GPT-4.1",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"gpt-4o": {
|
|
ID: "gpt-4o",
|
|
Name: "GPT-4o",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"gpt-5": {
|
|
ID: "gpt-5",
|
|
Name: "GPT-5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"gpt-5-codex": {
|
|
ID: "gpt-5-codex",
|
|
Name: "GPT-5-Codex",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"gpt-5-mini": {
|
|
ID: "gpt-5-mini",
|
|
Name: "GPT-5-mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"grok-code-fast-1": {
|
|
ID: "grok-code-fast-1",
|
|
Name: "Grok Code Fast 1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 10000,
|
|
},
|
|
},
|
|
"o3": {
|
|
ID: "o3",
|
|
Name: "o3 (Preview)",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"o3-mini": {
|
|
ID: "o3-mini",
|
|
Name: "o3-mini",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"o4-mini": {
|
|
ID: "o4-mini",
|
|
Name: "o4-mini (Preview)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"github-models": {
|
|
ID: "github-models",
|
|
Env: []string{"GITHUB_TOKEN"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "GitHub Models",
|
|
Models: map[string]ModelInfo{
|
|
"ai21-labs/ai21-jamba-1.5-large": {
|
|
ID: "ai21-labs/ai21-jamba-1.5-large",
|
|
Name: "AI21 Jamba 1.5 Large",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"ai21-labs/ai21-jamba-1.5-mini": {
|
|
ID: "ai21-labs/ai21-jamba-1.5-mini",
|
|
Name: "AI21 Jamba 1.5 Mini",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"cohere/cohere-command-a": {
|
|
ID: "cohere/cohere-command-a",
|
|
Name: "Cohere Command A",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"cohere/cohere-command-r": {
|
|
ID: "cohere/cohere-command-r",
|
|
Name: "Cohere Command R",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"cohere/cohere-command-r-08-2024": {
|
|
ID: "cohere/cohere-command-r-08-2024",
|
|
Name: "Cohere Command R 08-2024",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"cohere/cohere-command-r-plus": {
|
|
ID: "cohere/cohere-command-r-plus",
|
|
Name: "Cohere Command R+",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"cohere/cohere-command-r-plus-08-2024": {
|
|
ID: "cohere/cohere-command-r-plus-08-2024",
|
|
Name: "Cohere Command R+ 08-2024",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"core42/jais-30b-chat": {
|
|
ID: "core42/jais-30b-chat",
|
|
Name: "JAIS 30b Chat",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"deepseek/deepseek-r1": {
|
|
ID: "deepseek/deepseek-r1",
|
|
Name: "DeepSeek-R1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 65536,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"deepseek/deepseek-r1-0528": {
|
|
ID: "deepseek/deepseek-r1-0528",
|
|
Name: "DeepSeek-R1-0528",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 65536,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"deepseek/deepseek-v3-0324": {
|
|
ID: "deepseek/deepseek-v3-0324",
|
|
Name: "DeepSeek-V3-0324",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"meta/llama-3.2-11b-vision-instruct": {
|
|
ID: "meta/llama-3.2-11b-vision-instruct",
|
|
Name: "Llama-3.2-11B-Vision-Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"meta/llama-3.2-90b-vision-instruct": {
|
|
ID: "meta/llama-3.2-90b-vision-instruct",
|
|
Name: "Llama-3.2-90B-Vision-Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"meta/llama-3.3-70b-instruct": {
|
|
ID: "meta/llama-3.3-70b-instruct",
|
|
Name: "Llama-3.3-70B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"meta/llama-4-maverick-17b-128e-instruct-fp8": {
|
|
ID: "meta/llama-4-maverick-17b-128e-instruct-fp8",
|
|
Name: "Llama 4 Maverick 17B 128E Instruct FP8",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"meta/llama-4-scout-17b-16e-instruct": {
|
|
ID: "meta/llama-4-scout-17b-16e-instruct",
|
|
Name: "Llama 4 Scout 17B 16E Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"meta/meta-llama-3-70b-instruct": {
|
|
ID: "meta/meta-llama-3-70b-instruct",
|
|
Name: "Meta-Llama-3-70B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"meta/meta-llama-3-8b-instruct": {
|
|
ID: "meta/meta-llama-3-8b-instruct",
|
|
Name: "Meta-Llama-3-8B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"meta/meta-llama-3.1-405b-instruct": {
|
|
ID: "meta/meta-llama-3.1-405b-instruct",
|
|
Name: "Meta-Llama-3.1-405B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"meta/meta-llama-3.1-70b-instruct": {
|
|
ID: "meta/meta-llama-3.1-70b-instruct",
|
|
Name: "Meta-Llama-3.1-70B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"meta/meta-llama-3.1-8b-instruct": {
|
|
ID: "meta/meta-llama-3.1-8b-instruct",
|
|
Name: "Meta-Llama-3.1-8B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"microsoft/mai-ds-r1": {
|
|
ID: "microsoft/mai-ds-r1",
|
|
Name: "MAI-DS-R1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 65536,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"microsoft/phi-3-medium-128k-instruct": {
|
|
ID: "microsoft/phi-3-medium-128k-instruct",
|
|
Name: "Phi-3-medium instruct (128k)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"microsoft/phi-3-medium-4k-instruct": {
|
|
ID: "microsoft/phi-3-medium-4k-instruct",
|
|
Name: "Phi-3-medium instruct (4k)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 1024,
|
|
},
|
|
},
|
|
"microsoft/phi-3-mini-128k-instruct": {
|
|
ID: "microsoft/phi-3-mini-128k-instruct",
|
|
Name: "Phi-3-mini instruct (128k)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"microsoft/phi-3-mini-4k-instruct": {
|
|
ID: "microsoft/phi-3-mini-4k-instruct",
|
|
Name: "Phi-3-mini instruct (4k)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 1024,
|
|
},
|
|
},
|
|
"microsoft/phi-3-small-128k-instruct": {
|
|
ID: "microsoft/phi-3-small-128k-instruct",
|
|
Name: "Phi-3-small instruct (128k)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"microsoft/phi-3-small-8k-instruct": {
|
|
ID: "microsoft/phi-3-small-8k-instruct",
|
|
Name: "Phi-3-small instruct (8k)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"microsoft/phi-3.5-mini-instruct": {
|
|
ID: "microsoft/phi-3.5-mini-instruct",
|
|
Name: "Phi-3.5-mini instruct (128k)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"microsoft/phi-3.5-moe-instruct": {
|
|
ID: "microsoft/phi-3.5-moe-instruct",
|
|
Name: "Phi-3.5-MoE instruct (128k)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"microsoft/phi-3.5-vision-instruct": {
|
|
ID: "microsoft/phi-3.5-vision-instruct",
|
|
Name: "Phi-3.5-vision instruct (128k)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"microsoft/phi-4": {
|
|
ID: "microsoft/phi-4",
|
|
Name: "Phi-4",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"microsoft/phi-4-mini-instruct": {
|
|
ID: "microsoft/phi-4-mini-instruct",
|
|
Name: "Phi-4-mini-instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"microsoft/phi-4-mini-reasoning": {
|
|
ID: "microsoft/phi-4-mini-reasoning",
|
|
Name: "Phi-4-mini-reasoning",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"microsoft/phi-4-multimodal-instruct": {
|
|
ID: "microsoft/phi-4-multimodal-instruct",
|
|
Name: "Phi-4-multimodal-instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"microsoft/phi-4-reasoning": {
|
|
ID: "microsoft/phi-4-reasoning",
|
|
Name: "Phi-4-Reasoning",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"mistral-ai/codestral-2501": {
|
|
ID: "mistral-ai/codestral-2501",
|
|
Name: "Codestral 25.01",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"mistral-ai/ministral-3b": {
|
|
ID: "mistral-ai/ministral-3b",
|
|
Name: "Ministral 3B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"mistral-ai/mistral-large-2411": {
|
|
ID: "mistral-ai/mistral-large-2411",
|
|
Name: "Mistral Large 24.11",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"mistral-ai/mistral-medium-2505": {
|
|
ID: "mistral-ai/mistral-medium-2505",
|
|
Name: "Mistral Medium 3 (25.05)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"mistral-ai/mistral-nemo": {
|
|
ID: "mistral-ai/mistral-nemo",
|
|
Name: "Mistral Nemo",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"mistral-ai/mistral-small-2503": {
|
|
ID: "mistral-ai/mistral-small-2503",
|
|
Name: "Mistral Small 3.1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-4.1": {
|
|
ID: "openai/gpt-4.1",
|
|
Name: "GPT-4.1",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"openai/gpt-4.1-mini": {
|
|
ID: "openai/gpt-4.1-mini",
|
|
Name: "GPT-4.1-mini",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"openai/gpt-4.1-nano": {
|
|
ID: "openai/gpt-4.1-nano",
|
|
Name: "GPT-4.1-nano",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"openai/gpt-4o": {
|
|
ID: "openai/gpt-4o",
|
|
Name: "GPT-4o",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"openai/gpt-4o-mini": {
|
|
ID: "openai/gpt-4o-mini",
|
|
Name: "GPT-4o mini",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"openai/o1": {
|
|
ID: "openai/o1",
|
|
Name: "OpenAI o1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"openai/o1-mini": {
|
|
ID: "openai/o1-mini",
|
|
Name: "OpenAI o1-mini",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"openai/o1-preview": {
|
|
ID: "openai/o1-preview",
|
|
Name: "OpenAI o1-preview",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/o3": {
|
|
ID: "openai/o3",
|
|
Name: "OpenAI o3",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"openai/o3-mini": {
|
|
ID: "openai/o3-mini",
|
|
Name: "OpenAI o3-mini",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"openai/o4-mini": {
|
|
ID: "openai/o4-mini",
|
|
Name: "OpenAI o4-mini",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"xai/grok-3": {
|
|
ID: "xai/grok-3",
|
|
Name: "Grok 3",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"xai/grok-3-mini": {
|
|
ID: "xai/grok-3-mini",
|
|
Name: "Grok 3 Mini",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"google": {
|
|
ID: "google",
|
|
Env: []string{"GOOGLE_API_KEY", "GEMINI_API_KEY", "GOOGLE_GENERATIVE_AI_API_KEY"},
|
|
NPM: "@ai-sdk/google",
|
|
Name: "Google",
|
|
Models: map[string]ModelInfo{
|
|
"gemini-1.5-flash": {
|
|
ID: "gemini-1.5-flash",
|
|
Name: "Gemini 1.5 Flash",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.075,
|
|
Output: 0.3,
|
|
CacheRead: &[]float64{0.01875}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"gemini-1.5-flash-8b": {
|
|
ID: "gemini-1.5-flash-8b",
|
|
Name: "Gemini 1.5 Flash-8B",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.0375,
|
|
Output: 0.15,
|
|
CacheRead: &[]float64{0.01}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"gemini-1.5-pro": {
|
|
ID: "gemini-1.5-pro",
|
|
Name: "Gemini 1.5 Pro",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 5,
|
|
CacheRead: &[]float64{0.3125}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"gemini-2.0-flash": {
|
|
ID: "gemini-2.0-flash",
|
|
Name: "Gemini 2.0 Flash",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"gemini-2.0-flash-lite": {
|
|
ID: "gemini-2.0-flash-lite",
|
|
Name: "Gemini 2.0 Flash Lite",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.075,
|
|
Output: 0.3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"gemini-2.5-flash": {
|
|
ID: "gemini-2.5-flash",
|
|
Name: "Gemini 2.5 Flash",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-flash-image": {
|
|
ID: "gemini-2.5-flash-image",
|
|
Name: "Gemini 2.5 Flash Image",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 30,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"gemini-2.5-flash-image-preview": {
|
|
ID: "gemini-2.5-flash-image-preview",
|
|
Name: "Gemini 2.5 Flash Image (Preview)",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 30,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"gemini-2.5-flash-lite": {
|
|
ID: "gemini-2.5-flash-lite",
|
|
Name: "Gemini 2.5 Flash Lite",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"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",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"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",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-flash-preview-04-17": {
|
|
ID: "gemini-2.5-flash-preview-04-17",
|
|
Name: "Gemini 2.5 Flash Preview 04-17",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: &[]float64{0.0375}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-flash-preview-05-20": {
|
|
ID: "gemini-2.5-flash-preview-05-20",
|
|
Name: "Gemini 2.5 Flash Preview 05-20",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: &[]float64{0.0375}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-flash-preview-09-2025": {
|
|
ID: "gemini-2.5-flash-preview-09-2025",
|
|
Name: "Gemini 2.5 Flash Preview 09-25",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-flash-preview-tts": {
|
|
ID: "gemini-2.5-flash-preview-tts",
|
|
Name: "Gemini 2.5 Flash Preview TTS",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 10,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8000,
|
|
Output: 16000,
|
|
},
|
|
},
|
|
"gemini-2.5-pro": {
|
|
ID: "gemini-2.5-pro",
|
|
Name: "Gemini 2.5 Pro",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.31}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-pro-preview-05-06": {
|
|
ID: "gemini-2.5-pro-preview-05-06",
|
|
Name: "Gemini 2.5 Pro Preview 05-06",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.31}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-pro-preview-06-05": {
|
|
ID: "gemini-2.5-pro-preview-06-05",
|
|
Name: "Gemini 2.5 Pro Preview 06-05",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.31}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-pro-preview-tts": {
|
|
ID: "gemini-2.5-pro-preview-tts",
|
|
Name: "Gemini 2.5 Pro Preview TTS",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 20,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8000,
|
|
Output: 16000,
|
|
},
|
|
},
|
|
"gemini-flash-latest": {
|
|
ID: "gemini-flash-latest",
|
|
Name: "Gemini Flash Latest",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-flash-lite-latest": {
|
|
ID: "gemini-flash-lite-latest",
|
|
Name: "Gemini Flash-Lite Latest",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-live-2.5-flash": {
|
|
ID: "gemini-live-2.5-flash",
|
|
Name: "Gemini Live 2.5 Flash",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8000,
|
|
},
|
|
},
|
|
"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",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"google-vertex": {
|
|
ID: "google-vertex",
|
|
Env: []string{"GOOGLE_VERTEX_PROJECT", "GOOGLE_VERTEX_LOCATION", "GOOGLE_APPLICATION_CREDENTIALS"},
|
|
NPM: "@ai-sdk/google-vertex",
|
|
Name: "Vertex",
|
|
Models: map[string]ModelInfo{
|
|
"gemini-2.0-flash": {
|
|
ID: "gemini-2.0-flash",
|
|
Name: "Gemini 2.0 Flash",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"gemini-2.0-flash-lite": {
|
|
ID: "gemini-2.0-flash-lite",
|
|
Name: "Gemini 2.0 Flash Lite",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.075,
|
|
Output: 0.3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"gemini-2.5-flash": {
|
|
ID: "gemini-2.5-flash",
|
|
Name: "Gemini 2.5 Flash",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: &[]float64{0.383}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-flash-lite": {
|
|
ID: "gemini-2.5-flash-lite",
|
|
Name: "Gemini 2.5 Flash Lite",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"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",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 65536,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"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",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-flash-preview-04-17": {
|
|
ID: "gemini-2.5-flash-preview-04-17",
|
|
Name: "Gemini 2.5 Flash Preview 04-17",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: &[]float64{0.0375}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-flash-preview-05-20": {
|
|
ID: "gemini-2.5-flash-preview-05-20",
|
|
Name: "Gemini 2.5 Flash Preview 05-20",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: &[]float64{0.0375}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-flash-preview-09-2025": {
|
|
ID: "gemini-2.5-flash-preview-09-2025",
|
|
Name: "Gemini 2.5 Flash Preview 09-25",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: &[]float64{0.383}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-pro": {
|
|
ID: "gemini-2.5-pro",
|
|
Name: "Gemini 2.5 Pro",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.31}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-pro-preview-05-06": {
|
|
ID: "gemini-2.5-pro-preview-05-06",
|
|
Name: "Gemini 2.5 Pro Preview 05-06",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.31}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-2.5-pro-preview-06-05": {
|
|
ID: "gemini-2.5-pro-preview-06-05",
|
|
Name: "Gemini 2.5 Pro Preview 06-05",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.31}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-flash-latest": {
|
|
ID: "gemini-flash-latest",
|
|
Name: "Gemini Flash Latest",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: &[]float64{0.383}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"gemini-flash-lite-latest": {
|
|
ID: "gemini-flash-lite-latest",
|
|
Name: "Gemini Flash-Lite Latest",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"google-vertex-anthropic": {
|
|
ID: "google-vertex-anthropic",
|
|
Env: []string{"GOOGLE_VERTEX_PROJECT", "GOOGLE_VERTEX_LOCATION", "GOOGLE_APPLICATION_CREDENTIALS"},
|
|
NPM: "@ai-sdk/google-vertex",
|
|
Name: "Vertex",
|
|
Models: map[string]ModelInfo{
|
|
"claude-3-5-haiku@20241022": {
|
|
ID: "claude-3-5-haiku@20241022",
|
|
Name: "Claude Haiku 3.5",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 4,
|
|
CacheRead: &[]float64{0.08}[0],
|
|
CacheWrite: &[]float64{1}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"claude-3-5-sonnet@20241022": {
|
|
ID: "claude-3-5-sonnet@20241022",
|
|
Name: "Claude Sonnet 3.5 v2",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"claude-3-7-sonnet@20250219": {
|
|
ID: "claude-3-7-sonnet@20250219",
|
|
Name: "Claude Sonnet 3.7",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"claude-opus-4-1@20250805": {
|
|
ID: "claude-opus-4-1@20250805",
|
|
Name: "Claude Opus 4.1",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"claude-opus-4@20250514": {
|
|
ID: "claude-opus-4@20250514",
|
|
Name: "Claude Opus 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"claude-sonnet-4@20250514": {
|
|
ID: "claude-sonnet-4@20250514",
|
|
Name: "Claude Sonnet 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"groq": {
|
|
ID: "groq",
|
|
Env: []string{"GROQ_API_KEY"},
|
|
NPM: "@ai-sdk/groq",
|
|
Name: "Groq",
|
|
Models: map[string]ModelInfo{
|
|
"deepseek-r1-distill-llama-70b": {
|
|
ID: "deepseek-r1-distill-llama-70b",
|
|
Name: "DeepSeek R1 Distill Llama 70B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.75,
|
|
Output: 0.99,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"gemma2-9b-it": {
|
|
ID: "gemma2-9b-it",
|
|
Name: "Gemma 2 9B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"llama-3.1-8b-instant": {
|
|
ID: "llama-3.1-8b-instant",
|
|
Name: "Llama 3.1 8B Instant",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.08,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"llama-3.3-70b-versatile": {
|
|
ID: "llama-3.3-70b-versatile",
|
|
Name: "Llama 3.3 70B Versatile",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.59,
|
|
Output: 0.79,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"llama-guard-3-8b": {
|
|
ID: "llama-guard-3-8b",
|
|
Name: "Llama Guard 3 8B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"llama3-70b-8192": {
|
|
ID: "llama3-70b-8192",
|
|
Name: "Llama 3 70B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.59,
|
|
Output: 0.79,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"llama3-8b-8192": {
|
|
ID: "llama3-8b-8192",
|
|
Name: "Llama 3 8B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.08,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"meta-llama/llama-4-maverick-17b-128e-instruct": {
|
|
ID: "meta-llama/llama-4-maverick-17b-128e-instruct",
|
|
Name: "Llama 4 Maverick 17B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"meta-llama/llama-4-scout-17b-16e-instruct": {
|
|
ID: "meta-llama/llama-4-scout-17b-16e-instruct",
|
|
Name: "Llama 4 Scout 17B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.11,
|
|
Output: 0.34,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"meta-llama/llama-guard-4-12b": {
|
|
ID: "meta-llama/llama-guard-4-12b",
|
|
Name: "Llama Guard 4 12B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 128,
|
|
},
|
|
},
|
|
"mistral-saba-24b": {
|
|
ID: "mistral-saba-24b",
|
|
Name: "Mistral Saba 24B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.79,
|
|
Output: 0.79,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"moonshotai/kimi-k2-instruct": {
|
|
ID: "moonshotai/kimi-k2-instruct",
|
|
Name: "Kimi K2 Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"moonshotai/kimi-k2-instruct-0905": {
|
|
ID: "moonshotai/kimi-k2-instruct-0905",
|
|
Name: "Kimi K2 Instruct 0905",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"openai/gpt-oss-120b": {
|
|
ID: "openai/gpt-oss-120b",
|
|
Name: "GPT OSS 120B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.75,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-oss-20b": {
|
|
ID: "openai/gpt-oss-20b",
|
|
Name: "GPT OSS 20B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen-qwq-32b": {
|
|
ID: "qwen-qwq-32b",
|
|
Name: "Qwen QwQ 32B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.29,
|
|
Output: 0.39,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"qwen/qwen3-32b": {
|
|
ID: "qwen/qwen3-32b",
|
|
Name: "Qwen3 32B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.29,
|
|
Output: 0.59,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"huggingface": {
|
|
ID: "huggingface",
|
|
Env: []string{"HF_TOKEN"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Hugging Face",
|
|
Models: map[string]ModelInfo{
|
|
"Qwen/Qwen3-235B-A22B-Thinking-2507": {
|
|
ID: "Qwen/Qwen3-235B-A22B-Thinking-2507",
|
|
Name: "Qwen3-235B-A22B-Thinking-2507",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-Coder-480B-A35B-Instruct": {
|
|
ID: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
|
|
Name: "Qwen3-Coder-480B-A35B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 66536,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-Next-80B-A3B-Instruct": {
|
|
ID: "Qwen/Qwen3-Next-80B-A3B-Instruct",
|
|
Name: "Qwen3-Next-80B-A3B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 66536,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-Next-80B-A3B-Thinking": {
|
|
ID: "Qwen/Qwen3-Next-80B-A3B-Thinking",
|
|
Name: "Qwen3-Next-80B-A3B-Thinking",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-R1-0528": {
|
|
ID: "deepseek-ai/DeepSeek-R1-0528",
|
|
Name: "DeepSeek-R1-0528",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163840,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"deepseek-ai/Deepseek-V3-0324": {
|
|
ID: "deepseek-ai/Deepseek-V3-0324",
|
|
Name: "DeepSeek-V3-0324",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 1.25,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16384,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"moonshotai/Kimi-K2-Instruct": {
|
|
ID: "moonshotai/Kimi-K2-Instruct",
|
|
Name: "Kimi-K2-Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"moonshotai/Kimi-K2-Instruct-0905": {
|
|
ID: "moonshotai/Kimi-K2-Instruct-0905",
|
|
Name: "Kimi-K2-Instruct-0905",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"zai-org/GLM-4.5": {
|
|
ID: "zai-org/GLM-4.5",
|
|
Name: "GLM-4.5",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
"zai-org/GLM-4.5-Air": {
|
|
ID: "zai-org/GLM-4.5-Air",
|
|
Name: "GLM-4.5-Air",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 1.1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 96000,
|
|
},
|
|
},
|
|
"zai-org/GLM-4.6": {
|
|
ID: "zai-org/GLM-4.6",
|
|
Name: "GLM-4.6",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.2,
|
|
CacheRead: &[]float64{0.11}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"inception": {
|
|
ID: "inception",
|
|
Env: []string{"INCEPTION_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Inception",
|
|
Models: map[string]ModelInfo{
|
|
"mercury": {
|
|
ID: "mercury",
|
|
Name: "Mercury",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 1,
|
|
CacheRead: &[]float64{0.25}[0],
|
|
CacheWrite: &[]float64{1}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"mercury-coder": {
|
|
ID: "mercury-coder",
|
|
Name: "Mercury Coder",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 1,
|
|
CacheRead: &[]float64{0.25}[0],
|
|
CacheWrite: &[]float64{1}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"inference": {
|
|
ID: "inference",
|
|
Env: []string{"INFERENCE_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Inference",
|
|
Models: map[string]ModelInfo{
|
|
"google/gemma-3": {
|
|
ID: "google/gemma-3",
|
|
Name: "Google Gemma 3",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 125000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"meta/llama-3.1-8b-instruct": {
|
|
ID: "meta/llama-3.1-8b-instruct",
|
|
Name: "Llama 3.1 8B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.025,
|
|
Output: 0.025,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"meta/llama-3.2-11b-vision-instruct": {
|
|
ID: "meta/llama-3.2-11b-vision-instruct",
|
|
Name: "Llama 3.2 11B Vision Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.055,
|
|
Output: 0.055,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"meta/llama-3.2-1b-instruct": {
|
|
ID: "meta/llama-3.2-1b-instruct",
|
|
Name: "Llama 3.2 1B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.01,
|
|
Output: 0.01,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"meta/llama-3.2-3b-instruct": {
|
|
ID: "meta/llama-3.2-3b-instruct",
|
|
Name: "Llama 3.2 3B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.02,
|
|
Output: 0.02,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"mistral/mistral-nemo-12b-instruct": {
|
|
ID: "mistral/mistral-nemo-12b-instruct",
|
|
Name: "Mistral Nemo 12B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.038,
|
|
Output: 0.1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"osmosis/osmosis-structure-0.6b": {
|
|
ID: "osmosis/osmosis-structure-0.6b",
|
|
Name: "Osmosis Structure 0.6B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4000,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
"qwen/qwen-2.5-7b-vision-instruct": {
|
|
ID: "qwen/qwen-2.5-7b-vision-instruct",
|
|
Name: "Qwen 2.5 7B Vision Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 125000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"qwen/qwen3-embedding-4b": {
|
|
ID: "qwen/qwen3-embedding-4b",
|
|
Name: "Qwen 3 Embedding 4B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.01,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32000,
|
|
Output: 2048,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"llama": {
|
|
ID: "llama",
|
|
Env: []string{"LLAMA_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Llama",
|
|
Models: map[string]ModelInfo{
|
|
"cerebras-llama-4-maverick-17b-128e-instruct": {
|
|
ID: "cerebras-llama-4-maverick-17b-128e-instruct",
|
|
Name: "Cerebras-Llama-4-Maverick-17B-128E-Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"cerebras-llama-4-scout-17b-16e-instruct": {
|
|
ID: "cerebras-llama-4-scout-17b-16e-instruct",
|
|
Name: "Cerebras-Llama-4-Scout-17B-16E-Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"groq-llama-4-maverick-17b-128e-instruct": {
|
|
ID: "groq-llama-4-maverick-17b-128e-instruct",
|
|
Name: "Groq-Llama-4-Maverick-17B-128E-Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"llama-3.3-70b-instruct": {
|
|
ID: "llama-3.3-70b-instruct",
|
|
Name: "Llama-3.3-70B-Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"llama-3.3-8b-instruct": {
|
|
ID: "llama-3.3-8b-instruct",
|
|
Name: "Llama-3.3-8B-Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"llama-4-maverick-17b-128e-instruct-fp8": {
|
|
ID: "llama-4-maverick-17b-128e-instruct-fp8",
|
|
Name: "Llama-4-Maverick-17B-128E-Instruct-FP8",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"llama-4-scout-17b-16e-instruct-fp8": {
|
|
ID: "llama-4-scout-17b-16e-instruct-fp8",
|
|
Name: "Llama-4-Scout-17B-16E-Instruct-FP8",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"lmstudio": {
|
|
ID: "lmstudio",
|
|
Env: []string{"LMSTUDIO_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "LMStudio",
|
|
Models: map[string]ModelInfo{
|
|
"openai/gpt-oss-20b": {
|
|
ID: "openai/gpt-oss-20b",
|
|
Name: "GPT OSS 20B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen/qwen3-30b-a3b-2507": {
|
|
ID: "qwen/qwen3-30b-a3b-2507",
|
|
Name: "Qwen3 30B A3B 2507",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"qwen/qwen3-coder-30b": {
|
|
ID: "qwen/qwen3-coder-30b",
|
|
Name: "Qwen3 Coder 30B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"lucidquery": {
|
|
ID: "lucidquery",
|
|
Env: []string{"LUCIDQUERY_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "LucidQuery AI",
|
|
Models: map[string]ModelInfo{
|
|
"lucidnova-rf1-100b": {
|
|
ID: "lucidnova-rf1-100b",
|
|
Name: "LucidNova RF1 100B",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 120000,
|
|
Output: 8000,
|
|
},
|
|
},
|
|
"lucidquery-nexus-coder": {
|
|
ID: "lucidquery-nexus-coder",
|
|
Name: "LucidQuery Nexus Coder",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 250000,
|
|
Output: 60000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"mistral": {
|
|
ID: "mistral",
|
|
Env: []string{"MISTRAL_API_KEY"},
|
|
NPM: "@ai-sdk/mistral",
|
|
Name: "Mistral",
|
|
Models: map[string]ModelInfo{
|
|
"codestral-latest": {
|
|
ID: "codestral-latest",
|
|
Name: "Codestral",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 0.9,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"devstral-medium-2507": {
|
|
ID: "devstral-medium-2507",
|
|
Name: "Devstral Medium",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"devstral-small-2505": {
|
|
ID: "devstral-small-2505",
|
|
Name: "Devstral Small 2505",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"devstral-small-2507": {
|
|
ID: "devstral-small-2507",
|
|
Name: "Devstral Small",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"magistral-medium-latest": {
|
|
ID: "magistral-medium-latest",
|
|
Name: "Magistral Medium",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"magistral-small": {
|
|
ID: "magistral-small",
|
|
Name: "Magistral Small",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 1.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"ministral-3b-latest": {
|
|
ID: "ministral-3b-latest",
|
|
Name: "Ministral 3B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.04,
|
|
Output: 0.04,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"ministral-8b-latest": {
|
|
ID: "ministral-8b-latest",
|
|
Name: "Ministral 8B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"mistral-large-latest": {
|
|
ID: "mistral-large-latest",
|
|
Name: "Mistral Large",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"mistral-medium-2505": {
|
|
ID: "mistral-medium-2505",
|
|
Name: "Mistral Medium 3",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"mistral-medium-2508": {
|
|
ID: "mistral-medium-2508",
|
|
Name: "Mistral Medium 3.1",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"mistral-medium-latest": {
|
|
ID: "mistral-medium-latest",
|
|
Name: "Mistral Medium",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"mistral-nemo": {
|
|
ID: "mistral-nemo",
|
|
Name: "Mistral Nemo",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"mistral-small-latest": {
|
|
ID: "mistral-small-latest",
|
|
Name: "Mistral Small",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"open-mistral-7b": {
|
|
ID: "open-mistral-7b",
|
|
Name: "Mistral 7B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 0.25,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8000,
|
|
Output: 8000,
|
|
},
|
|
},
|
|
"open-mixtral-8x22b": {
|
|
ID: "open-mixtral-8x22b",
|
|
Name: "Mixtral 8x22B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 64000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"open-mixtral-8x7b": {
|
|
ID: "open-mixtral-8x7b",
|
|
Name: "Mixtral 8x7B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.7,
|
|
Output: 0.7,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"pixtral-12b": {
|
|
ID: "pixtral-12b",
|
|
Name: "Pixtral 12B",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"pixtral-large-latest": {
|
|
ID: "pixtral-large-latest",
|
|
Name: "Pixtral Large",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"modelscope": {
|
|
ID: "modelscope",
|
|
Env: []string{"MODELSCOPE_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "ModelScope",
|
|
Models: map[string]ModelInfo{
|
|
"Qwen/Qwen3-235B-A22B-Instruct-2507": {
|
|
ID: "Qwen/Qwen3-235B-A22B-Instruct-2507",
|
|
Name: "Qwen3 235B A22B Instruct 2507",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-235B-A22B-Thinking-2507": {
|
|
ID: "Qwen/Qwen3-235B-A22B-Thinking-2507",
|
|
Name: "Qwen3-235B-A22B-Thinking-2507",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-30B-A3B-Instruct-2507": {
|
|
ID: "Qwen/Qwen3-30B-A3B-Instruct-2507",
|
|
Name: "Qwen3 30B A3B Instruct 2507",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-30B-A3B-Thinking-2507": {
|
|
ID: "Qwen/Qwen3-30B-A3B-Thinking-2507",
|
|
Name: "Qwen3 30B A3B Thinking 2507",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-Coder-30B-A3B-Instruct": {
|
|
ID: "Qwen/Qwen3-Coder-30B-A3B-Instruct",
|
|
Name: "Qwen3 Coder 30B A3B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"ZhipuAI/GLM-4.5": {
|
|
ID: "ZhipuAI/GLM-4.5",
|
|
Name: "GLM-4.5",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"moonshotai": {
|
|
ID: "moonshotai",
|
|
Env: []string{"MOONSHOT_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Moonshot AI",
|
|
Models: map[string]ModelInfo{
|
|
"kimi-k2-0711-preview": {
|
|
ID: "kimi-k2-0711-preview",
|
|
Name: "Kimi K2 0711",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.15}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"kimi-k2-0905-preview": {
|
|
ID: "kimi-k2-0905-preview",
|
|
Name: "Kimi K2 0905",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.15}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"kimi-k2-turbo-preview": {
|
|
ID: "kimi-k2-turbo-preview",
|
|
Name: "Kimi K2 Turbo",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2.4,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.6}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"moonshotai-cn": {
|
|
ID: "moonshotai-cn",
|
|
Env: []string{"MOONSHOT_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Moonshot AI (China)",
|
|
Models: map[string]ModelInfo{
|
|
"kimi-k2-0711-preview": {
|
|
ID: "kimi-k2-0711-preview",
|
|
Name: "Kimi K2 0711",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.15}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"kimi-k2-0905-preview": {
|
|
ID: "kimi-k2-0905-preview",
|
|
Name: "Kimi K2 0905",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.15}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"kimi-k2-turbo-preview": {
|
|
ID: "kimi-k2-turbo-preview",
|
|
Name: "Kimi K2 Turbo",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2.4,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.6}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"morph": {
|
|
ID: "morph",
|
|
Env: []string{"MORPH_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Morph",
|
|
Models: map[string]ModelInfo{
|
|
"auto": {
|
|
ID: "auto",
|
|
Name: "Auto",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.85,
|
|
Output: 1.55,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"morph-v3-fast": {
|
|
ID: "morph-v3-fast",
|
|
Name: "Morph v3 Fast",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 1.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16000,
|
|
Output: 16000,
|
|
},
|
|
},
|
|
"morph-v3-large": {
|
|
ID: "morph-v3-large",
|
|
Name: "Morph v3 Large",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.9,
|
|
Output: 1.9,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"nebius": {
|
|
ID: "nebius",
|
|
Env: []string{"NEBIUS_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Nebius AI Studio",
|
|
Models: map[string]ModelInfo{
|
|
"NousResearch/hermes-4-405b": {
|
|
ID: "NousResearch/hermes-4-405b",
|
|
Name: "Hermes-4 405B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"NousResearch/hermes-4-70b": {
|
|
ID: "NousResearch/hermes-4-70b",
|
|
Name: "Hermes 4 70B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.13,
|
|
Output: 0.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"deepseek-ai/deepseek-v3": {
|
|
ID: "deepseek-ai/deepseek-v3",
|
|
Name: "DeepSeek V3",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 1.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"meta-llama/llama-3.3-70b-instruct-base": {
|
|
ID: "meta-llama/llama-3.3-70b-instruct-base",
|
|
Name: "Llama-3.3-70B-Instruct (Base)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.13,
|
|
Output: 0.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"meta-llama/llama-3.3-70b-instruct-fast": {
|
|
ID: "meta-llama/llama-3.3-70b-instruct-fast",
|
|
Name: "Llama-3.3-70B-Instruct (Fast)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 0.75,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"meta-llama/llama-3_1-405b-instruct": {
|
|
ID: "meta-llama/llama-3_1-405b-instruct",
|
|
Name: "Llama 3.1 405B Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"moonshotai/kimi-k2-instruct": {
|
|
ID: "moonshotai/kimi-k2-instruct",
|
|
Name: "Kimi K2 Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 2.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"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",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 1.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"openai/gpt-oss-120b": {
|
|
ID: "openai/gpt-oss-120b",
|
|
Name: "GPT OSS 120B",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"openai/gpt-oss-20b": {
|
|
ID: "openai/gpt-oss-20b",
|
|
Name: "GPT OSS 20B",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen/qwen3-235b-a22b-instruct-2507": {
|
|
ID: "qwen/qwen3-235b-a22b-instruct-2507",
|
|
Name: "Qwen3 235B A22B Instruct 2507",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen/qwen3-235b-a22b-thinking-2507": {
|
|
ID: "qwen/qwen3-235b-a22b-thinking-2507",
|
|
Name: "Qwen3 235B A22B Thinking 2507",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen/qwen3-coder-480b-a35b-instruct": {
|
|
ID: "qwen/qwen3-coder-480b-a35b-instruct",
|
|
Name: "Qwen3 Coder 480B A35B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 1.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 66536,
|
|
},
|
|
},
|
|
"zai-org/glm-4.5": {
|
|
ID: "zai-org/glm-4.5",
|
|
Name: "GLM 4.5",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"zai-org/glm-4.5-air": {
|
|
ID: "zai-org/glm-4.5-air",
|
|
Name: "GLM 4.5 Air",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 1.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"nvidia": {
|
|
ID: "nvidia",
|
|
Env: []string{"NVIDIA_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Nvidia",
|
|
Models: map[string]ModelInfo{
|
|
"black-forest-labs/flux.1-dev": {
|
|
ID: "black-forest-labs/flux.1-dev",
|
|
Name: "FLUX.1-dev",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 4096,
|
|
Output: 0,
|
|
},
|
|
},
|
|
"deepseek-ai/deepseek-v3.1": {
|
|
ID: "deepseek-ai/deepseek-v3.1",
|
|
Name: "DeepSeek V3.1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"google/gemma-3-27b-it": {
|
|
ID: "google/gemma-3-27b-it",
|
|
Name: "Gemma-3-27B-IT",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"microsoft/phi-4-mini-instruct": {
|
|
ID: "microsoft/phi-4-mini-instruct",
|
|
Name: "Phi-4-Mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"moonshotai/kimi-k2-instruct": {
|
|
ID: "moonshotai/kimi-k2-instruct",
|
|
Name: "Kimi K2 Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"moonshotai/kimi-k2-instruct-0905": {
|
|
ID: "moonshotai/kimi-k2-instruct-0905",
|
|
Name: "Kimi K2 0905",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"nvidia/cosmos-nemotron-34b": {
|
|
ID: "nvidia/cosmos-nemotron-34b",
|
|
Name: "Cosmos Nemotron 34B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"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",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"nvidia/nemoretriever-ocr-v1": {
|
|
ID: "nvidia/nemoretriever-ocr-v1",
|
|
Name: "NeMo Retriever OCR v1",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"nvidia/parakeet-tdt-0.6b-v2": {
|
|
ID: "nvidia/parakeet-tdt-0.6b-v2",
|
|
Name: "Parakeet TDT 0.6B v2",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"openai/gpt-oss-120b": {
|
|
ID: "openai/gpt-oss-120b",
|
|
Name: "GPT-OSS-120B",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"openai/whisper-large-v3": {
|
|
ID: "openai/whisper-large-v3",
|
|
Name: "Whisper Large v3",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 0,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"qwen/qwen3-235b-a22b": {
|
|
ID: "qwen/qwen3-235b-a22b",
|
|
Name: "Qwen3-235B-A22B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen/qwen3-coder-480b-a35b-instruct": {
|
|
ID: "qwen/qwen3-coder-480b-a35b-instruct",
|
|
Name: "Qwen3 Coder 480B A35B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 66536,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"openai": {
|
|
ID: "openai",
|
|
Env: []string{"OPENAI_API_KEY"},
|
|
NPM: "@ai-sdk/openai",
|
|
Name: "OpenAI",
|
|
Models: map[string]ModelInfo{
|
|
"codex-mini-latest": {
|
|
ID: "codex-mini-latest",
|
|
Name: "Codex Mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.5,
|
|
Output: 6,
|
|
CacheRead: &[]float64{0.375}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"gpt-3.5-turbo": {
|
|
ID: "gpt-3.5-turbo",
|
|
Name: "GPT-3.5-turbo",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 1.5,
|
|
CacheRead: &[]float64{1.25}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16385,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"gpt-4": {
|
|
ID: "gpt-4",
|
|
Name: "GPT-4",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 30,
|
|
Output: 60,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"gpt-4-turbo": {
|
|
ID: "gpt-4-turbo",
|
|
Name: "GPT-4 Turbo",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 10,
|
|
Output: 30,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"gpt-4.1": {
|
|
ID: "gpt-4.1",
|
|
Name: "GPT-4.1",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 8,
|
|
CacheRead: &[]float64{0.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"gpt-4.1-mini": {
|
|
ID: "gpt-4.1-mini",
|
|
Name: "GPT-4.1 mini",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 1.6,
|
|
CacheRead: &[]float64{0.1}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"gpt-4.1-nano": {
|
|
ID: "gpt-4.1-nano",
|
|
Name: "GPT-4.1 nano",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.03}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"gpt-4o": {
|
|
ID: "gpt-4o",
|
|
Name: "GPT-4o",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2.5,
|
|
Output: 10,
|
|
CacheRead: &[]float64{1.25}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"gpt-4o-2024-05-13": {
|
|
ID: "gpt-4o-2024-05-13",
|
|
Name: "GPT-4o (2024-05-13)",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 5,
|
|
Output: 15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"gpt-4o-2024-08-06": {
|
|
ID: "gpt-4o-2024-08-06",
|
|
Name: "GPT-4o (2024-08-06)",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2.5,
|
|
Output: 10,
|
|
CacheRead: &[]float64{1.25}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"gpt-4o-2024-11-20": {
|
|
ID: "gpt-4o-2024-11-20",
|
|
Name: "GPT-4o (2024-11-20)",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2.5,
|
|
Output: 10,
|
|
CacheRead: &[]float64{1.25}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"gpt-4o-mini": {
|
|
ID: "gpt-4o-mini",
|
|
Name: "GPT-4o mini",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: &[]float64{0.08}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"gpt-5": {
|
|
ID: "gpt-5",
|
|
Name: "GPT-5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.13}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"gpt-5-chat-latest": {
|
|
ID: "gpt-5-chat-latest",
|
|
Name: "GPT-5 Chat (latest)",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"gpt-5-codex": {
|
|
ID: "gpt-5-codex",
|
|
Name: "GPT-5-Codex",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.125}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"gpt-5-mini": {
|
|
ID: "gpt-5-mini",
|
|
Name: "GPT-5 Mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 2,
|
|
CacheRead: &[]float64{0.03}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"gpt-5-nano": {
|
|
ID: "gpt-5-nano",
|
|
Name: "GPT-5 Nano",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.01}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"o1": {
|
|
ID: "o1",
|
|
Name: "o1",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 60,
|
|
CacheRead: &[]float64{7.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"o1-mini": {
|
|
ID: "o1-mini",
|
|
Name: "o1-mini",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.1,
|
|
Output: 4.4,
|
|
CacheRead: &[]float64{0.55}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"o1-preview": {
|
|
ID: "o1-preview",
|
|
Name: "o1-preview",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 60,
|
|
CacheRead: &[]float64{7.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"o1-pro": {
|
|
ID: "o1-pro",
|
|
Name: "o1-pro",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 150,
|
|
Output: 600,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"o3": {
|
|
ID: "o3",
|
|
Name: "o3",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 8,
|
|
CacheRead: &[]float64{0.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"o3-deep-research": {
|
|
ID: "o3-deep-research",
|
|
Name: "o3-deep-research",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 10,
|
|
Output: 40,
|
|
CacheRead: &[]float64{2.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"o3-mini": {
|
|
ID: "o3-mini",
|
|
Name: "o3-mini",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.1,
|
|
Output: 4.4,
|
|
CacheRead: &[]float64{0.55}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"o3-pro": {
|
|
ID: "o3-pro",
|
|
Name: "o3-pro",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 20,
|
|
Output: 80,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"o4-mini": {
|
|
ID: "o4-mini",
|
|
Name: "o4-mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.1,
|
|
Output: 4.4,
|
|
CacheRead: &[]float64{0.28}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"o4-mini-deep-research": {
|
|
ID: "o4-mini-deep-research",
|
|
Name: "o4-mini-deep-research",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 8,
|
|
CacheRead: &[]float64{0.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"opencode": {
|
|
ID: "opencode",
|
|
Env: []string{"OPENCODE_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "OpenCode Zen",
|
|
Models: map[string]ModelInfo{
|
|
"an-g8x": {
|
|
ID: "an-g8x",
|
|
Name: "Code G8X (alpha)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"claude-3-5-haiku": {
|
|
ID: "claude-3-5-haiku",
|
|
Name: "Claude Haiku 3.5",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 4,
|
|
CacheRead: &[]float64{0.08}[0],
|
|
CacheWrite: &[]float64{1}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"claude-haiku-4-5": {
|
|
ID: "claude-haiku-4-5",
|
|
Name: "Claude Haiku 4.5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 1.25,
|
|
CacheRead: &[]float64{0.1}[0],
|
|
CacheWrite: &[]float64{1.25}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"claude-opus-4-1": {
|
|
ID: "claude-opus-4-1",
|
|
Name: "Claude Opus 4.1",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"claude-sonnet-4": {
|
|
ID: "claude-sonnet-4",
|
|
Name: "Claude Sonnet 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"claude-sonnet-4-5": {
|
|
ID: "claude-sonnet-4-5",
|
|
Name: "Claude Sonnet 4.5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"code-supernova": {
|
|
ID: "code-supernova",
|
|
Name: "Code Supernova 1M",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: &[]float64{0}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 1000000,
|
|
},
|
|
},
|
|
"glm-4.6": {
|
|
ID: "glm-4.6",
|
|
Name: "GLM-4.6 (beta)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 1.9,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 204800,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"gpt-5": {
|
|
ID: "gpt-5",
|
|
Name: "GPT-5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.125}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"gpt-5-codex": {
|
|
ID: "gpt-5-codex",
|
|
Name: "GPT-5-Codex",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.125}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"grok-code": {
|
|
ID: "grok-code",
|
|
Name: "Grok Code Fast 1",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: &[]float64{0}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 256000,
|
|
},
|
|
},
|
|
"kimi-k2": {
|
|
ID: "kimi-k2",
|
|
Name: "Kimi K2",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.36}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"qwen3-coder": {
|
|
ID: "qwen3-coder",
|
|
Name: "Qwen3 Coder",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.45,
|
|
Output: 1.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"openrouter": {
|
|
ID: "openrouter",
|
|
Env: []string{"OPENROUTER_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "OpenRouter",
|
|
Models: map[string]ModelInfo{
|
|
"anthropic/claude-3.5-haiku": {
|
|
ID: "anthropic/claude-3.5-haiku",
|
|
Name: "Claude Haiku 3.5",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 4,
|
|
CacheRead: &[]float64{0.08}[0],
|
|
CacheWrite: &[]float64{1}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"anthropic/claude-3.7-sonnet": {
|
|
ID: "anthropic/claude-3.7-sonnet",
|
|
Name: "Claude Sonnet 3.7",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"anthropic/claude-4.5-haiku": {
|
|
ID: "anthropic/claude-4.5-haiku",
|
|
Name: "Claude Haiku 4.5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 5,
|
|
CacheRead: &[]float64{0.1}[0],
|
|
CacheWrite: &[]float64{1.25}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"anthropic/claude-opus-4": {
|
|
ID: "anthropic/claude-opus-4",
|
|
Name: "Claude Opus 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"anthropic/claude-opus-4.1": {
|
|
ID: "anthropic/claude-opus-4.1",
|
|
Name: "Claude Opus 4.1",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"anthropic/claude-sonnet-4": {
|
|
ID: "anthropic/claude-sonnet-4",
|
|
Name: "Claude Sonnet 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"anthropic/claude-sonnet-4.5": {
|
|
ID: "anthropic/claude-sonnet-4.5",
|
|
Name: "Claude Sonnet 4.5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"cognitivecomputations/dolphin3.0-mistral-24b": {
|
|
ID: "cognitivecomputations/dolphin3.0-mistral-24b",
|
|
Name: "Dolphin3.0 Mistral 24B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"cognitivecomputations/dolphin3.0-r1-mistral-24b": {
|
|
ID: "cognitivecomputations/dolphin3.0-r1-mistral-24b",
|
|
Name: "Dolphin3.0 R1 Mistral 24B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"deepseek/deepseek-chat-v3-0324": {
|
|
ID: "deepseek/deepseek-chat-v3-0324",
|
|
Name: "DeepSeek V3 0324",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16384,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"deepseek/deepseek-chat-v3.1": {
|
|
ID: "deepseek/deepseek-chat-v3.1",
|
|
Name: "DeepSeek-V3.1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163840,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"deepseek/deepseek-r1-0528-qwen3-8b:free": {
|
|
ID: "deepseek/deepseek-r1-0528-qwen3-8b:free",
|
|
Name: "Deepseek R1 0528 Qwen3 8B (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"deepseek/deepseek-r1-0528:free": {
|
|
ID: "deepseek/deepseek-r1-0528:free",
|
|
Name: "R1 0528 (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163840,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"deepseek/deepseek-r1-distill-llama-70b": {
|
|
ID: "deepseek/deepseek-r1-distill-llama-70b",
|
|
Name: "DeepSeek R1 Distill Llama 70B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"deepseek/deepseek-r1-distill-qwen-14b": {
|
|
ID: "deepseek/deepseek-r1-distill-qwen-14b",
|
|
Name: "DeepSeek R1 Distill Qwen 14B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 64000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"deepseek/deepseek-r1:free": {
|
|
ID: "deepseek/deepseek-r1:free",
|
|
Name: "R1 (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163840,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"deepseek/deepseek-v3-base:free": {
|
|
ID: "deepseek/deepseek-v3-base:free",
|
|
Name: "DeepSeek V3 Base (free)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163840,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"deepseek/deepseek-v3.1-terminus": {
|
|
ID: "deepseek/deepseek-v3.1-terminus",
|
|
Name: "DeepSeek V3.1 Terminus",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.27,
|
|
Output: 1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"featherless/qwerky-72b": {
|
|
ID: "featherless/qwerky-72b",
|
|
Name: "Qwerky 72B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"google/gemini-2.0-flash-001": {
|
|
ID: "google/gemini-2.0-flash-001",
|
|
Name: "Gemini 2.0 Flash",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"google/gemini-2.0-flash-exp:free": {
|
|
ID: "google/gemini-2.0-flash-exp:free",
|
|
Name: "Gemini 2.0 Flash Experimental (free)",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 1048576,
|
|
},
|
|
},
|
|
"google/gemini-2.5-flash": {
|
|
ID: "google/gemini-2.5-flash",
|
|
Name: "Gemini 2.5 Flash",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.0375}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"google/gemini-2.5-flash-lite": {
|
|
ID: "google/gemini-2.5-flash-lite",
|
|
Name: "Gemini 2.5 Flash Lite",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"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",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"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",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.031}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"google/gemini-2.5-pro": {
|
|
ID: "google/gemini-2.5-pro",
|
|
Name: "Gemini 2.5 Pro",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.31}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"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",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.31}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"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",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.31}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"google/gemma-2-9b-it:free": {
|
|
ID: "google/gemma-2-9b-it:free",
|
|
Name: "Gemma 2 9B (free)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"google/gemma-3-12b-it": {
|
|
ID: "google/gemma-3-12b-it",
|
|
Name: "Gemma 3 12B IT",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 96000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"google/gemma-3-27b-it": {
|
|
ID: "google/gemma-3-27b-it",
|
|
Name: "Gemma 3 27B IT",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 96000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"google/gemma-3n-e4b-it": {
|
|
ID: "google/gemma-3n-e4b-it",
|
|
Name: "Gemma 3n E4B IT",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"google/gemma-3n-e4b-it:free": {
|
|
ID: "google/gemma-3n-e4b-it:free",
|
|
Name: "Gemma 3n 4B (free)",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"meta-llama/llama-3.2-11b-vision-instruct": {
|
|
ID: "meta-llama/llama-3.2-11b-vision-instruct",
|
|
Name: "Llama 3.2 11B Vision Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"meta-llama/llama-3.3-70b-instruct:free": {
|
|
ID: "meta-llama/llama-3.3-70b-instruct:free",
|
|
Name: "Llama 3.3 70B Instruct (free)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 65536,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"meta-llama/llama-4-scout:free": {
|
|
ID: "meta-llama/llama-4-scout:free",
|
|
Name: "Llama 4 Scout (free)",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 64000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"microsoft/mai-ds-r1:free": {
|
|
ID: "microsoft/mai-ds-r1:free",
|
|
Name: "MAI DS R1 (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163840,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"mistralai/codestral-2508": {
|
|
ID: "mistralai/codestral-2508",
|
|
Name: "Codestral 2508",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 0.9,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 256000,
|
|
},
|
|
},
|
|
"mistralai/devstral-medium-2507": {
|
|
ID: "mistralai/devstral-medium-2507",
|
|
Name: "Devstral Medium",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"mistralai/devstral-small-2505": {
|
|
ID: "mistralai/devstral-small-2505",
|
|
Name: "Devstral Small",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.06,
|
|
Output: 0.12,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"mistralai/devstral-small-2505:free": {
|
|
ID: "mistralai/devstral-small-2505:free",
|
|
Name: "Devstral Small 2505 (free)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"mistralai/devstral-small-2507": {
|
|
ID: "mistralai/devstral-small-2507",
|
|
Name: "Devstral Small 1.1",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"mistralai/mistral-7b-instruct:free": {
|
|
ID: "mistralai/mistral-7b-instruct:free",
|
|
Name: "Mistral 7B Instruct (free)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"mistralai/mistral-medium-3": {
|
|
ID: "mistralai/mistral-medium-3",
|
|
Name: "Mistral Medium 3",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"mistralai/mistral-medium-3.1": {
|
|
ID: "mistralai/mistral-medium-3.1",
|
|
Name: "Mistral Medium 3.1",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"mistralai/mistral-nemo:free": {
|
|
ID: "mistralai/mistral-nemo:free",
|
|
Name: "Mistral Nemo (free)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"mistralai/mistral-small-3.1-24b-instruct": {
|
|
ID: "mistralai/mistral-small-3.1-24b-instruct",
|
|
Name: "Mistral Small 3.1 24B Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"mistralai/mistral-small-3.2-24b-instruct": {
|
|
ID: "mistralai/mistral-small-3.2-24b-instruct",
|
|
Name: "Mistral Small 3.2 24B Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 96000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"mistralai/mistral-small-3.2-24b-instruct:free": {
|
|
ID: "mistralai/mistral-small-3.2-24b-instruct:free",
|
|
Name: "Mistral Small 3.2 24B (free)",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 96000,
|
|
Output: 96000,
|
|
},
|
|
},
|
|
"moonshotai/kimi-dev-72b:free": {
|
|
ID: "moonshotai/kimi-dev-72b:free",
|
|
Name: "Kimi Dev 72b (free)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"moonshotai/kimi-k2": {
|
|
ID: "moonshotai/kimi-k2",
|
|
Name: "Kimi K2",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.55,
|
|
Output: 2.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"moonshotai/kimi-k2-0905": {
|
|
ID: "moonshotai/kimi-k2-0905",
|
|
Name: "Kimi K2 Instruct 0905",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"moonshotai/kimi-k2:free": {
|
|
ID: "moonshotai/kimi-k2:free",
|
|
Name: "Kimi K2 (free)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32800,
|
|
Output: 32800,
|
|
},
|
|
},
|
|
"nousresearch/deephermes-3-llama-3-8b-preview": {
|
|
ID: "nousresearch/deephermes-3-llama-3-8b-preview",
|
|
Name: "DeepHermes 3 Llama 3 8B Preview",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"nousresearch/hermes-4-405b": {
|
|
ID: "nousresearch/hermes-4-405b",
|
|
Name: "Hermes 4 405B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"nousresearch/hermes-4-70b": {
|
|
ID: "nousresearch/hermes-4-70b",
|
|
Name: "Hermes 4 70B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.13,
|
|
Output: 0.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"openai/gpt-4.1": {
|
|
ID: "openai/gpt-4.1",
|
|
Name: "GPT-4.1",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 8,
|
|
CacheRead: &[]float64{0.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-4.1-mini": {
|
|
ID: "openai/gpt-4.1-mini",
|
|
Name: "GPT-4.1 Mini",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 1.6,
|
|
CacheRead: &[]float64{0.1}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-4o-mini": {
|
|
ID: "openai/gpt-4o-mini",
|
|
Name: "GPT-4o-mini",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: &[]float64{0.08}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"openai/gpt-5": {
|
|
ID: "openai/gpt-5",
|
|
Name: "GPT-5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openai/gpt-5-chat": {
|
|
ID: "openai/gpt-5-chat",
|
|
Name: "GPT-5 Chat (latest)",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openai/gpt-5-codex": {
|
|
ID: "openai/gpt-5-codex",
|
|
Name: "GPT-5 Codex",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.125}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openai/gpt-5-image": {
|
|
ID: "openai/gpt-5-image",
|
|
Name: "GPT-5 Image",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 5,
|
|
Output: 10,
|
|
CacheRead: &[]float64{1.25}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openai/gpt-5-mini": {
|
|
ID: "openai/gpt-5-mini",
|
|
Name: "GPT-5 Mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openai/gpt-5-nano": {
|
|
ID: "openai/gpt-5-nano",
|
|
Name: "GPT-5 Nano",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openai/gpt-oss-120b": {
|
|
ID: "openai/gpt-oss-120b",
|
|
Name: "GPT OSS 120B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.072,
|
|
Output: 0.28,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-oss-20b": {
|
|
ID: "openai/gpt-oss-20b",
|
|
Name: "GPT OSS 20B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/o4-mini": {
|
|
ID: "openai/o4-mini",
|
|
Name: "o4 Mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.1,
|
|
Output: 4.4,
|
|
CacheRead: &[]float64{0.28}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"openrouter/cypher-alpha:free": {
|
|
ID: "openrouter/cypher-alpha:free",
|
|
Name: "Cypher Alpha (free)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 1000000,
|
|
},
|
|
},
|
|
"openrouter/horizon-alpha": {
|
|
ID: "openrouter/horizon-alpha",
|
|
Name: "Horizon Alpha",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openrouter/horizon-beta": {
|
|
ID: "openrouter/horizon-beta",
|
|
Name: "Horizon Beta",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openrouter/sonoma-dusk-alpha": {
|
|
ID: "openrouter/sonoma-dusk-alpha",
|
|
Name: "Sonoma Dusk Alpha",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 2000000,
|
|
Output: 2000000,
|
|
},
|
|
},
|
|
"openrouter/sonoma-sky-alpha": {
|
|
ID: "openrouter/sonoma-sky-alpha",
|
|
Name: "Sonoma Sky Alpha",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 2000000,
|
|
Output: 2000000,
|
|
},
|
|
},
|
|
"qwen/qwen-2.5-coder-32b-instruct": {
|
|
ID: "qwen/qwen-2.5-coder-32b-instruct",
|
|
Name: "Qwen2.5 Coder 32B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen/qwen2.5-vl-32b-instruct:free": {
|
|
ID: "qwen/qwen2.5-vl-32b-instruct:free",
|
|
Name: "Qwen2.5 VL 32B Instruct (free)",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen/qwen2.5-vl-72b-instruct": {
|
|
ID: "qwen/qwen2.5-vl-72b-instruct",
|
|
Name: "Qwen2.5 VL 72B Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen/qwen2.5-vl-72b-instruct:free": {
|
|
ID: "qwen/qwen2.5-vl-72b-instruct:free",
|
|
Name: "Qwen2.5 VL 72B Instruct (free)",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen/qwen3-14b:free": {
|
|
ID: "qwen/qwen3-14b:free",
|
|
Name: "Qwen3 14B (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 40960,
|
|
Output: 40960,
|
|
},
|
|
},
|
|
"qwen/qwen3-235b-a22b-07-25": {
|
|
ID: "qwen/qwen3-235b-a22b-07-25",
|
|
Name: "Qwen3 235B A22B Instruct 2507",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.85,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"qwen/qwen3-235b-a22b-07-25:free": {
|
|
ID: "qwen/qwen3-235b-a22b-07-25:free",
|
|
Name: "Qwen3 235B A22B Instruct 2507 (free)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"qwen/qwen3-235b-a22b-thinking-2507": {
|
|
ID: "qwen/qwen3-235b-a22b-thinking-2507",
|
|
Name: "Qwen3 235B A22B Thinking 2507",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.078,
|
|
Output: 0.312,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 81920,
|
|
},
|
|
},
|
|
"qwen/qwen3-235b-a22b:free": {
|
|
ID: "qwen/qwen3-235b-a22b:free",
|
|
Name: "Qwen3 235B A22B (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"qwen/qwen3-30b-a3b-instruct-2507": {
|
|
ID: "qwen/qwen3-30b-a3b-instruct-2507",
|
|
Name: "Qwen3 30B A3B Instruct 2507",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262000,
|
|
Output: 262000,
|
|
},
|
|
},
|
|
"qwen/qwen3-30b-a3b-thinking-2507": {
|
|
ID: "qwen/qwen3-30b-a3b-thinking-2507",
|
|
Name: "Qwen3 30B A3B Thinking 2507",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262000,
|
|
Output: 262000,
|
|
},
|
|
},
|
|
"qwen/qwen3-30b-a3b:free": {
|
|
ID: "qwen/qwen3-30b-a3b:free",
|
|
Name: "Qwen3 30B A3B (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 40960,
|
|
Output: 40960,
|
|
},
|
|
},
|
|
"qwen/qwen3-32b:free": {
|
|
ID: "qwen/qwen3-32b:free",
|
|
Name: "Qwen3 32B (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 40960,
|
|
Output: 40960,
|
|
},
|
|
},
|
|
"qwen/qwen3-8b:free": {
|
|
ID: "qwen/qwen3-8b:free",
|
|
Name: "Qwen3 8B (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 40960,
|
|
Output: 40960,
|
|
},
|
|
},
|
|
"qwen/qwen3-coder": {
|
|
ID: "qwen/qwen3-coder",
|
|
Name: "Qwen3 Coder",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 1.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 66536,
|
|
},
|
|
},
|
|
"qwen/qwen3-coder:free": {
|
|
ID: "qwen/qwen3-coder:free",
|
|
Name: "Qwen3 Coder 480B A35B Instruct (free)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 66536,
|
|
},
|
|
},
|
|
"qwen/qwen3-max": {
|
|
ID: "qwen/qwen3-max",
|
|
Name: "Qwen3 Max",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.2,
|
|
Output: 6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"qwen/qwen3-next-80b-a3b-instruct": {
|
|
ID: "qwen/qwen3-next-80b-a3b-instruct",
|
|
Name: "Qwen3 Next 80B A3B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.14,
|
|
Output: 1.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"qwen/qwen3-next-80b-a3b-thinking": {
|
|
ID: "qwen/qwen3-next-80b-a3b-thinking",
|
|
Name: "Qwen3 Next 80B A3B Thinking",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.14,
|
|
Output: 1.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"qwen/qwq-32b:free": {
|
|
ID: "qwen/qwq-32b:free",
|
|
Name: "QwQ 32B (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"rekaai/reka-flash-3": {
|
|
ID: "rekaai/reka-flash-3",
|
|
Name: "Reka Flash 3",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"sarvamai/sarvam-m:free": {
|
|
ID: "sarvamai/sarvam-m:free",
|
|
Name: "Sarvam-M (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"thudm/glm-z1-32b:free": {
|
|
ID: "thudm/glm-z1-32b:free",
|
|
Name: "GLM Z1 32B (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"tngtech/deepseek-r1t2-chimera:free": {
|
|
ID: "tngtech/deepseek-r1t2-chimera:free",
|
|
Name: "DeepSeek R1T2 Chimera (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163840,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"x-ai/grok-3": {
|
|
ID: "x-ai/grok-3",
|
|
Name: "Grok 3",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.75}[0],
|
|
CacheWrite: &[]float64{15}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"x-ai/grok-3-beta": {
|
|
ID: "x-ai/grok-3-beta",
|
|
Name: "Grok 3 Beta",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.75}[0],
|
|
CacheWrite: &[]float64{15}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"x-ai/grok-3-mini": {
|
|
ID: "x-ai/grok-3-mini",
|
|
Name: "Grok 3 Mini",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 0.5,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: &[]float64{0.5}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"x-ai/grok-3-mini-beta": {
|
|
ID: "x-ai/grok-3-mini-beta",
|
|
Name: "Grok 3 Mini Beta",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 0.5,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: &[]float64{0.5}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"x-ai/grok-4": {
|
|
ID: "x-ai/grok-4",
|
|
Name: "Grok 4",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.75}[0],
|
|
CacheWrite: &[]float64{15}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"x-ai/grok-4-fast": {
|
|
ID: "x-ai/grok-4-fast",
|
|
Name: "Grok 4 Fast",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.5,
|
|
CacheRead: &[]float64{0.05}[0],
|
|
CacheWrite: &[]float64{0.05}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 2000000,
|
|
Output: 30000,
|
|
},
|
|
},
|
|
"x-ai/grok-4-fast:free": {
|
|
ID: "x-ai/grok-4-fast:free",
|
|
Name: "Grok 4 Fast (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: &[]float64{0}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 2000000,
|
|
Output: 2000000,
|
|
},
|
|
},
|
|
"x-ai/grok-code-fast-1": {
|
|
ID: "x-ai/grok-code-fast-1",
|
|
Name: "Grok Code Fast 1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 1.5,
|
|
CacheRead: &[]float64{0.02}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 10000,
|
|
},
|
|
},
|
|
"z-ai/glm-4.5": {
|
|
ID: "z-ai/glm-4.5",
|
|
Name: "GLM 4.5",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 96000,
|
|
},
|
|
},
|
|
"z-ai/glm-4.5-air": {
|
|
ID: "z-ai/glm-4.5-air",
|
|
Name: "GLM 4.5 Air",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 1.1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 96000,
|
|
},
|
|
},
|
|
"z-ai/glm-4.5-air:free": {
|
|
ID: "z-ai/glm-4.5-air:free",
|
|
Name: "GLM 4.5 Air (free)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 96000,
|
|
},
|
|
},
|
|
"z-ai/glm-4.5v": {
|
|
ID: "z-ai/glm-4.5v",
|
|
Name: "GLM 4.5V",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 1.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 64000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"z-ai/glm-4.6": {
|
|
ID: "z-ai/glm-4.6",
|
|
Name: "GLM 4.6",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.2,
|
|
CacheRead: &[]float64{0.11}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"perplexity": {
|
|
ID: "perplexity",
|
|
Env: []string{"PERPLEXITY_API_KEY"},
|
|
NPM: "@perplexity-ai/perplexity_ai",
|
|
Name: "Perplexity",
|
|
Models: map[string]ModelInfo{
|
|
"sonar": {
|
|
ID: "sonar",
|
|
Name: "Sonar",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"sonar-pro": {
|
|
ID: "sonar-pro",
|
|
Name: "Sonar Pro",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"sonar-reasoning": {
|
|
ID: "sonar-reasoning",
|
|
Name: "Sonar Reasoning",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"sonar-reasoning-pro": {
|
|
ID: "sonar-reasoning-pro",
|
|
Name: "Sonar Reasoning Pro",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"requesty": {
|
|
ID: "requesty",
|
|
Env: []string{"REQUESTY_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Requesty",
|
|
Models: map[string]ModelInfo{
|
|
"anthropic/claude-3-7-sonnet": {
|
|
ID: "anthropic/claude-3-7-sonnet",
|
|
Name: "Claude Sonnet 3.7",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"anthropic/claude-4-sonnet-20250522": {
|
|
ID: "anthropic/claude-4-sonnet-20250522",
|
|
Name: "Claude Sonnet 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"anthropic/claude-opus-4": {
|
|
ID: "anthropic/claude-opus-4",
|
|
Name: "Claude Opus 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"anthropic/claude-opus-4-1-20250805": {
|
|
ID: "anthropic/claude-opus-4-1-20250805",
|
|
Name: "Claude Opus 4.1",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"google/gemini-2.5-flash": {
|
|
ID: "google/gemini-2.5-flash",
|
|
Name: "Gemini 2.5 Flash",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: &[]float64{0.55}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"google/gemini-2.5-pro": {
|
|
ID: "google/gemini-2.5-pro",
|
|
Name: "Gemini 2.5 Pro",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.31}[0],
|
|
CacheWrite: &[]float64{2.375}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"openai/gpt-4.1": {
|
|
ID: "openai/gpt-4.1",
|
|
Name: "GPT-4.1",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 8,
|
|
CacheRead: &[]float64{0.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-4.1-mini": {
|
|
ID: "openai/gpt-4.1-mini",
|
|
Name: "GPT-4.1 Mini",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 1.6,
|
|
CacheRead: &[]float64{0.1}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-4o-mini": {
|
|
ID: "openai/gpt-4o-mini",
|
|
Name: "GPT-4o Mini",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: &[]float64{0.08}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"openai/gpt-5": {
|
|
ID: "openai/gpt-5",
|
|
Name: "GPT-5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.13}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openai/gpt-5-mini": {
|
|
ID: "openai/gpt-5-mini",
|
|
Name: "GPT-5 Mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 2,
|
|
CacheRead: &[]float64{0.03}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"openai/gpt-5-nano": {
|
|
ID: "openai/gpt-5-nano",
|
|
Name: "GPT-5 Nano",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.01}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16000,
|
|
Output: 4000,
|
|
},
|
|
},
|
|
"openai/o4-mini": {
|
|
ID: "openai/o4-mini",
|
|
Name: "o4 Mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.1,
|
|
Output: 4.4,
|
|
CacheRead: &[]float64{0.28}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"submodel": {
|
|
ID: "submodel",
|
|
Env: []string{"SUBMODEL_INSTAGEN_ACCESS_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "submodel",
|
|
Models: map[string]ModelInfo{
|
|
"Qwen/Qwen3-235B-A22B-Instruct-2507": {
|
|
ID: "Qwen/Qwen3-235B-A22B-Instruct-2507",
|
|
Name: "Qwen3 235B A22B Instruct 2507",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-235B-A22B-Thinking-2507": {
|
|
ID: "Qwen/Qwen3-235B-A22B-Thinking-2507",
|
|
Name: "Qwen3 235B A22B Thinking 2507",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": {
|
|
ID: "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
|
|
Name: "Qwen3 Coder 480B A35B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 262144,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-R1-0528": {
|
|
ID: "deepseek-ai/DeepSeek-R1-0528",
|
|
Name: "DeepSeek R1 0528",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 2.15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 75000,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-V3-0324": {
|
|
ID: "deepseek-ai/DeepSeek-V3-0324",
|
|
Name: "DeepSeek V3 0324",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 75000,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-V3.1": {
|
|
ID: "deepseek-ai/DeepSeek-V3.1",
|
|
Name: "DeepSeek V3.1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 75000,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"openai/gpt-oss-120b": {
|
|
ID: "openai/gpt-oss-120b",
|
|
Name: "GPT OSS 120B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"zai-org/GLM-4.5-Air": {
|
|
ID: "zai-org/GLM-4.5-Air",
|
|
Name: "GLM 4.5 Air",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"zai-org/GLM-4.5-FP8": {
|
|
ID: "zai-org/GLM-4.5-FP8",
|
|
Name: "GLM 4.5 FP8",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"synthetic": {
|
|
ID: "synthetic",
|
|
Env: []string{"SYNTHETIC_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Synthetic",
|
|
Models: map[string]ModelInfo{
|
|
"hf:Qwen/Qwen2.5-Coder-32B-Instruct": {
|
|
ID: "hf:Qwen/Qwen2.5-Coder-32B-Instruct",
|
|
Name: "Qwen2.5-Coder-32B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 0.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"hf:Qwen/Qwen3-235B-A22B-Instruct-2507": {
|
|
ID: "hf:Qwen/Qwen3-235B-A22B-Instruct-2507",
|
|
Name: "Qwen 3 235B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"hf:Qwen/Qwen3-235B-A22B-Thinking-2507": {
|
|
ID: "hf:Qwen/Qwen3-235B-A22B-Thinking-2507",
|
|
Name: "Qwen3 235B A22B Thinking 2507",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.65,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"hf:Qwen/Qwen3-Coder-480B-A35B-Instruct": {
|
|
ID: "hf:Qwen/Qwen3-Coder-480B-A35B-Instruct",
|
|
Name: "Qwen 3 Coder 480B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"hf:deepseek-ai/DeepSeek-R1": {
|
|
ID: "hf:deepseek-ai/DeepSeek-R1",
|
|
Name: "DeepSeek R1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.55,
|
|
Output: 2.19,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"hf:deepseek-ai/DeepSeek-R1-0528": {
|
|
ID: "hf:deepseek-ai/DeepSeek-R1-0528",
|
|
Name: "DeepSeek R1 (0528)",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"hf:deepseek-ai/DeepSeek-V3": {
|
|
ID: "hf:deepseek-ai/DeepSeek-V3",
|
|
Name: "DeepSeek V3",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 1.25,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"hf:deepseek-ai/DeepSeek-V3-0324": {
|
|
ID: "hf:deepseek-ai/DeepSeek-V3-0324",
|
|
Name: "DeepSeek V3 (0324)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.2,
|
|
Output: 1.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"hf:deepseek-ai/DeepSeek-V3.1": {
|
|
ID: "hf:deepseek-ai/DeepSeek-V3.1",
|
|
Name: "DeepSeek V3.1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.56,
|
|
Output: 1.68,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"hf:deepseek-ai/DeepSeek-V3.1-Terminus": {
|
|
ID: "hf:deepseek-ai/DeepSeek-V3.1-Terminus",
|
|
Name: "DeepSeek V3.1 Terminus",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.2,
|
|
Output: 1.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"hf:meta-llama/Llama-3.1-405B-Instruct": {
|
|
ID: "hf:meta-llama/Llama-3.1-405B-Instruct",
|
|
Name: "Llama-3.1-405B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"hf:meta-llama/Llama-3.1-70B-Instruct": {
|
|
ID: "hf:meta-llama/Llama-3.1-70B-Instruct",
|
|
Name: "Llama-3.1-70B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.9,
|
|
Output: 0.9,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"hf:meta-llama/Llama-3.1-8B-Instruct": {
|
|
ID: "hf:meta-llama/Llama-3.1-8B-Instruct",
|
|
Name: "Llama-3.1-8B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"hf:meta-llama/Llama-3.3-70B-Instruct": {
|
|
ID: "hf:meta-llama/Llama-3.3-70B-Instruct",
|
|
Name: "Llama-3.3-70B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.9,
|
|
Output: 0.9,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": {
|
|
ID: "hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
|
|
Name: "Llama-4-Maverick-17B-128E-Instruct-FP8",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.22,
|
|
Output: 0.88,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 524000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"hf:meta-llama/Llama-4-Scout-17B-16E-Instruct": {
|
|
ID: "hf:meta-llama/Llama-4-Scout-17B-16E-Instruct",
|
|
Name: "Llama-4-Scout-17B-16E-Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 328000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"hf:moonshotai/Kimi-K2-Instruct": {
|
|
ID: "hf:moonshotai/Kimi-K2-Instruct",
|
|
Name: "Kimi K2",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"hf:moonshotai/Kimi-K2-Instruct-0905": {
|
|
ID: "hf:moonshotai/Kimi-K2-Instruct-0905",
|
|
Name: "Kimi K2 0905",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.2,
|
|
Output: 1.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"hf:openai/gpt-oss-120b": {
|
|
ID: "hf:openai/gpt-oss-120b",
|
|
Name: "GPT OSS 120B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"hf:zai-org/GLM-4.5": {
|
|
ID: "hf:zai-org/GLM-4.5",
|
|
Name: "GLM 4.5",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.55,
|
|
Output: 2.19,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 96000,
|
|
},
|
|
},
|
|
"hf:zai-org/GLM-4.6": {
|
|
ID: "hf:zai-org/GLM-4.6",
|
|
Name: "GLM 4.6",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.55,
|
|
Output: 2.19,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 96000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"togetherai": {
|
|
ID: "togetherai",
|
|
Env: []string{"TOGETHER_API_KEY"},
|
|
NPM: "@ai-sdk/togetherai",
|
|
Name: "Together AI",
|
|
Models: map[string]ModelInfo{
|
|
"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": {
|
|
ID: "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
|
|
Name: "Qwen3 Coder 480B A35B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 66536,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-R1": {
|
|
ID: "deepseek-ai/DeepSeek-R1",
|
|
Name: "DeepSeek R1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 7,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163839,
|
|
Output: 12288,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-V3": {
|
|
ID: "deepseek-ai/DeepSeek-V3",
|
|
Name: "DeepSeek V3",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 1.25,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 12288,
|
|
},
|
|
},
|
|
"meta-llama/Llama-3.3-70B-Instruct-Turbo": {
|
|
ID: "meta-llama/Llama-3.3-70B-Instruct-Turbo",
|
|
Name: "Llama 3.3 70B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.88,
|
|
Output: 0.88,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 66536,
|
|
},
|
|
},
|
|
"moonshotai/Kimi-K2-Instruct": {
|
|
ID: "moonshotai/Kimi-K2-Instruct",
|
|
Name: "Kimi K2 Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-oss-120b": {
|
|
ID: "openai/gpt-oss-120b",
|
|
Name: "GPT OSS 120B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"upstage": {
|
|
ID: "upstage",
|
|
Env: []string{"UPSTAGE_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Upstage",
|
|
Models: map[string]ModelInfo{
|
|
"solar-mini": {
|
|
ID: "solar-mini",
|
|
Name: "solar-mini",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"solar-pro2": {
|
|
ID: "solar-pro2",
|
|
Name: "solar-pro2",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 0.25,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 65536,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"v0": {
|
|
ID: "v0",
|
|
Env: []string{"V0_API_KEY"},
|
|
NPM: "@ai-sdk/vercel",
|
|
Name: "v0",
|
|
Models: map[string]ModelInfo{
|
|
"v0-1.0-md": {
|
|
ID: "v0-1.0-md",
|
|
Name: "v0-1.0-md",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"v0-1.5-lg": {
|
|
ID: "v0-1.5-lg",
|
|
Name: "v0-1.5-lg",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 512000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"v0-1.5-md": {
|
|
ID: "v0-1.5-md",
|
|
Name: "v0-1.5-md",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"venice": {
|
|
ID: "venice",
|
|
Env: []string{"VENICE_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Venice AI",
|
|
Models: map[string]ModelInfo{
|
|
"deepseek-coder-v2-lite": {
|
|
ID: "deepseek-coder-v2-lite",
|
|
Name: "DeepSeek Coder V2 Lite",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"deepseek-r1-671b": {
|
|
ID: "deepseek-r1-671b",
|
|
Name: "DeepSeek R1 671B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3.5,
|
|
Output: 14,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"dolphin-2.9.2-qwen2-72b": {
|
|
ID: "dolphin-2.9.2-qwen2-72b",
|
|
Name: "Dolphin 72B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.7,
|
|
Output: 2.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"llama-3.1-405b": {
|
|
ID: "llama-3.1-405b",
|
|
Name: "Llama 3.1 405B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.5,
|
|
Output: 6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 65536,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"llama-3.2-3b": {
|
|
ID: "llama-3.2-3b",
|
|
Name: "Llama 3.2 3B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"llama-3.3-70b": {
|
|
ID: "llama-3.3-70b",
|
|
Name: "Llama 3.3 70B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.7,
|
|
Output: 2.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 65536,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"mistral-31-24b": {
|
|
ID: "mistral-31-24b",
|
|
Name: "Venice Medium",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-2.5-coder-32b": {
|
|
ID: "qwen-2.5-coder-32b",
|
|
Name: "Qwen 2.5 Coder 32B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-2.5-qwq-32b": {
|
|
ID: "qwen-2.5-qwq-32b",
|
|
Name: "Venice Reasoning",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen-2.5-vl": {
|
|
ID: "qwen-2.5-vl",
|
|
Name: "Qwen 2.5 VL 72B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.7,
|
|
Output: 2.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen3-235b": {
|
|
ID: "qwen3-235b",
|
|
Name: "Venice Large",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.5,
|
|
Output: 6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"qwen3-4b": {
|
|
ID: "qwen3-4b",
|
|
Name: "Venice Small",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"venice-uncensored": {
|
|
ID: "venice-uncensored",
|
|
Name: "Venice Uncensored 1.1",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32768,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"vercel": {
|
|
ID: "vercel",
|
|
Env: []string{"AI_GATEWAY_API_KEY"},
|
|
NPM: "@ai-sdk/gateway",
|
|
Name: "Vercel AI Gateway",
|
|
Models: map[string]ModelInfo{
|
|
"alibaba/qwen3-coder-plus": {
|
|
ID: "alibaba/qwen3-coder-plus",
|
|
Name: "Qwen3 Coder Plus",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1000000,
|
|
Output: 1000000,
|
|
},
|
|
},
|
|
"alibaba/qwen3-max": {
|
|
ID: "alibaba/qwen3-max",
|
|
Name: "Qwen3 Max",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.2,
|
|
Output: 6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"alibaba/qwen3-next-80b-a3b-instruct": {
|
|
ID: "alibaba/qwen3-next-80b-a3b-instruct",
|
|
Name: "Qwen3 Next 80B A3B Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"alibaba/qwen3-next-80b-a3b-thinking": {
|
|
ID: "alibaba/qwen3-next-80b-a3b-thinking",
|
|
Name: "Qwen3 Next 80B A3B Thinking",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"alibaba/qwen3-vl-instruct": {
|
|
ID: "alibaba/qwen3-vl-instruct",
|
|
Name: "Qwen3 VL Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.7,
|
|
Output: 2.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 129024,
|
|
},
|
|
},
|
|
"alibaba/qwen3-vl-thinking": {
|
|
ID: "alibaba/qwen3-vl-thinking",
|
|
Name: "Qwen3 VL Thinking",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.7,
|
|
Output: 8.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 129024,
|
|
},
|
|
},
|
|
"amazon/nova-lite": {
|
|
ID: "amazon/nova-lite",
|
|
Name: "Nova Lite",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.06,
|
|
Output: 0.24,
|
|
CacheRead: &[]float64{0.015}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 300000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"amazon/nova-micro": {
|
|
ID: "amazon/nova-micro",
|
|
Name: "Nova Micro",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.035,
|
|
Output: 0.14,
|
|
CacheRead: &[]float64{0.00875}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"amazon/nova-pro": {
|
|
ID: "amazon/nova-pro",
|
|
Name: "Nova Pro",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 3.2,
|
|
CacheRead: &[]float64{0.2}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 300000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"anthropic/claude-3-5-haiku": {
|
|
ID: "anthropic/claude-3-5-haiku",
|
|
Name: "Claude Haiku 3.5",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 4,
|
|
CacheRead: &[]float64{0.08}[0],
|
|
CacheWrite: &[]float64{1}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"anthropic/claude-3-haiku": {
|
|
ID: "anthropic/claude-3-haiku",
|
|
Name: "Claude Haiku 3",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 1.25,
|
|
CacheRead: &[]float64{0.03}[0],
|
|
CacheWrite: &[]float64{0.3}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"anthropic/claude-3-opus": {
|
|
ID: "anthropic/claude-3-opus",
|
|
Name: "Claude Opus 3",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"anthropic/claude-3.5-sonnet": {
|
|
ID: "anthropic/claude-3.5-sonnet",
|
|
Name: "Claude Sonnet 3.5 v2",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"anthropic/claude-3.7-sonnet": {
|
|
ID: "anthropic/claude-3.7-sonnet",
|
|
Name: "Claude Sonnet 3.7",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"anthropic/claude-4-1-opus": {
|
|
ID: "anthropic/claude-4-1-opus",
|
|
Name: "Claude Opus 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"anthropic/claude-4-opus": {
|
|
ID: "anthropic/claude-4-opus",
|
|
Name: "Claude Opus 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 75,
|
|
CacheRead: &[]float64{1.5}[0],
|
|
CacheWrite: &[]float64{18.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"anthropic/claude-4-sonnet": {
|
|
ID: "anthropic/claude-4-sonnet",
|
|
Name: "Claude Sonnet 4",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"anthropic/claude-4.5-sonnet": {
|
|
ID: "anthropic/claude-4.5-sonnet",
|
|
Name: "Claude Sonnet 4.5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.3}[0],
|
|
CacheWrite: &[]float64{3.75}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"anthropic/claude-haiku-4.5": {
|
|
ID: "anthropic/claude-haiku-4.5",
|
|
Name: "Claude Haiku 4.5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 1.25,
|
|
CacheRead: &[]float64{0.1}[0],
|
|
CacheWrite: &[]float64{1.25}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"cerebras/qwen3-coder": {
|
|
ID: "cerebras/qwen3-coder",
|
|
Name: "Qwen 3 Coder 480B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"deepseek/deepseek-r1": {
|
|
ID: "deepseek/deepseek-r1",
|
|
Name: "DeepSeek-R1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.35,
|
|
Output: 5.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"deepseek/deepseek-r1-distill-llama-70b": {
|
|
ID: "deepseek/deepseek-r1-distill-llama-70b",
|
|
Name: "DeepSeek R1 Distill Llama 70B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.75,
|
|
Output: 0.99,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"deepseek/deepseek-v3.1-terminus": {
|
|
ID: "deepseek/deepseek-v3.1-terminus",
|
|
Name: "DeepSeek V3.1 Terminus",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.27,
|
|
Output: 1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"deepseek/deepseek-v3.2-exp": {
|
|
ID: "deepseek/deepseek-v3.2-exp",
|
|
Name: "DeepSeek V3.2 Exp",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.28,
|
|
Output: 0.42,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163840,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"deepseek/deepseek-v3.2-exp-thinking": {
|
|
ID: "deepseek/deepseek-v3.2-exp-thinking",
|
|
Name: "DeepSeek V3.2 Exp Thinking",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.28,
|
|
Output: 0.42,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 163840,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"google/gemini-2.0-flash": {
|
|
ID: "google/gemini-2.0-flash",
|
|
Name: "Gemini 2.0 Flash",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"google/gemini-2.0-flash-lite": {
|
|
ID: "google/gemini-2.0-flash-lite",
|
|
Name: "Gemini 2.0 Flash Lite",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.075,
|
|
Output: 0.3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"google/gemini-2.5-flash": {
|
|
ID: "google/gemini-2.5-flash",
|
|
Name: "Gemini 2.5 Flash",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"google/gemini-2.5-flash-lite": {
|
|
ID: "google/gemini-2.5-flash-lite",
|
|
Name: "Gemini 2.5 Flash Lite",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"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",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.025}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"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",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 2.5,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: &[]float64{0.383}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"google/gemini-2.5-pro": {
|
|
ID: "google/gemini-2.5-pro",
|
|
Name: "Gemini 2.5 Pro",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.31}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1048576,
|
|
Output: 65536,
|
|
},
|
|
},
|
|
"meta/llama-3.3-70b": {
|
|
ID: "meta/llama-3.3-70b",
|
|
Name: "Llama-3.3-70B-Instruct",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"meta/llama-4-maverick": {
|
|
ID: "meta/llama-4-maverick",
|
|
Name: "Llama-4-Maverick-17B-128E-Instruct-FP8",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"meta/llama-4-scout": {
|
|
ID: "meta/llama-4-scout",
|
|
Name: "Llama-4-Scout-17B-16E-Instruct-FP8",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"mistral/codestral": {
|
|
ID: "mistral/codestral",
|
|
Name: "Codestral",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 0.9,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"mistral/magistral-medium": {
|
|
ID: "mistral/magistral-medium",
|
|
Name: "Magistral Medium",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"mistral/magistral-small": {
|
|
ID: "mistral/magistral-small",
|
|
Name: "Magistral Small",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.5,
|
|
Output: 1.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"mistral/ministral-3b": {
|
|
ID: "mistral/ministral-3b",
|
|
Name: "Ministral 3B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.04,
|
|
Output: 0.04,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"mistral/ministral-8b": {
|
|
ID: "mistral/ministral-8b",
|
|
Name: "Ministral 8B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"mistral/mistral-large": {
|
|
ID: "mistral/mistral-large",
|
|
Name: "Mistral Large",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"mistral/mistral-small": {
|
|
ID: "mistral/mistral-small",
|
|
Name: "Mistral Small",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"mistral/mixtral-8x22b-instruct": {
|
|
ID: "mistral/mixtral-8x22b-instruct",
|
|
Name: "Mixtral 8x22B",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 64000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"mistral/pixtral-12b": {
|
|
ID: "mistral/pixtral-12b",
|
|
Name: "Pixtral 12B",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"mistral/pixtral-large": {
|
|
ID: "mistral/pixtral-large",
|
|
Name: "Pixtral Large",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 6,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"moonshotai/kimi-k2": {
|
|
ID: "moonshotai/kimi-k2",
|
|
Name: "Kimi K2 Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"morph/morph-v3-fast": {
|
|
ID: "morph/morph-v3-fast",
|
|
Name: "Morph v3 Fast",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.8,
|
|
Output: 1.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 16000,
|
|
Output: 16000,
|
|
},
|
|
},
|
|
"morph/morph-v3-large": {
|
|
ID: "morph/morph-v3-large",
|
|
Name: "Morph v3 Large",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.9,
|
|
Output: 1.9,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 32000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"openai/gpt-4-turbo": {
|
|
ID: "openai/gpt-4-turbo",
|
|
Name: "GPT-4 Turbo",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 10,
|
|
Output: 30,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"openai/gpt-4.1": {
|
|
ID: "openai/gpt-4.1",
|
|
Name: "GPT-4.1",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 8,
|
|
CacheRead: &[]float64{0.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-4.1-mini": {
|
|
ID: "openai/gpt-4.1-mini",
|
|
Name: "GPT-4.1 mini",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.4,
|
|
Output: 1.6,
|
|
CacheRead: &[]float64{0.1}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-4.1-nano": {
|
|
ID: "openai/gpt-4.1-nano",
|
|
Name: "GPT-4.1 nano",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.03}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 1047576,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-4o": {
|
|
ID: "openai/gpt-4o",
|
|
Name: "GPT-4o",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2.5,
|
|
Output: 10,
|
|
CacheRead: &[]float64{1.25}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"openai/gpt-4o-mini": {
|
|
ID: "openai/gpt-4o-mini",
|
|
Name: "GPT-4o mini",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.15,
|
|
Output: 0.6,
|
|
CacheRead: &[]float64{0.08}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"openai/gpt-5": {
|
|
ID: "openai/gpt-5",
|
|
Name: "GPT-5",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.13}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openai/gpt-5-codex": {
|
|
ID: "openai/gpt-5-codex",
|
|
Name: "GPT-5-Codex",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.25,
|
|
Output: 10,
|
|
CacheRead: &[]float64{0.125}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openai/gpt-5-mini": {
|
|
ID: "openai/gpt-5-mini",
|
|
Name: "GPT-5 Mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.25,
|
|
Output: 2,
|
|
CacheRead: &[]float64{0.03}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openai/gpt-5-nano": {
|
|
ID: "openai/gpt-5-nano",
|
|
Name: "GPT-5 Nano",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 0.05,
|
|
Output: 0.4,
|
|
CacheRead: &[]float64{0.01}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 400000,
|
|
Output: 128000,
|
|
},
|
|
},
|
|
"openai/gpt-oss-120b": {
|
|
ID: "openai/gpt-oss-120b",
|
|
Name: "GPT OSS 120B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/gpt-oss-20b": {
|
|
ID: "openai/gpt-oss-20b",
|
|
Name: "GPT OSS 20B",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.07,
|
|
Output: 0.3,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"openai/o1": {
|
|
ID: "openai/o1",
|
|
Name: "o1",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 15,
|
|
Output: 60,
|
|
CacheRead: &[]float64{7.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"openai/o3": {
|
|
ID: "openai/o3",
|
|
Name: "o3",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 8,
|
|
CacheRead: &[]float64{0.5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"openai/o3-mini": {
|
|
ID: "openai/o3-mini",
|
|
Name: "o3-mini",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.1,
|
|
Output: 4.4,
|
|
CacheRead: &[]float64{0.55}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"openai/o4-mini": {
|
|
ID: "openai/o4-mini",
|
|
Name: "o4-mini",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: false,
|
|
Cost: Cost{
|
|
Input: 1.1,
|
|
Output: 4.4,
|
|
CacheRead: &[]float64{0.28}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 100000,
|
|
},
|
|
},
|
|
"perplexity/sonar": {
|
|
ID: "perplexity/sonar",
|
|
Name: "Sonar",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 127000,
|
|
Output: 8000,
|
|
},
|
|
},
|
|
"perplexity/sonar-pro": {
|
|
ID: "perplexity/sonar-pro",
|
|
Name: "Sonar Pro",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 8000,
|
|
},
|
|
},
|
|
"perplexity/sonar-reasoning": {
|
|
ID: "perplexity/sonar-reasoning",
|
|
Name: "Sonar Reasoning",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 127000,
|
|
Output: 8000,
|
|
},
|
|
},
|
|
"perplexity/sonar-reasoning-pro": {
|
|
ID: "perplexity/sonar-reasoning-pro",
|
|
Name: "Sonar Reasoning Pro",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 127000,
|
|
Output: 8000,
|
|
},
|
|
},
|
|
"vercel/v0-1.0-md": {
|
|
ID: "vercel/v0-1.0-md",
|
|
Name: "v0-1.0-md",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"vercel/v0-1.5-md": {
|
|
ID: "vercel/v0-1.5-md",
|
|
Name: "v0-1.5-md",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32000,
|
|
},
|
|
},
|
|
"xai/grok-2": {
|
|
ID: "xai/grok-2",
|
|
Name: "Grok 2",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 10,
|
|
CacheRead: &[]float64{2}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"xai/grok-2-vision": {
|
|
ID: "xai/grok-2-vision",
|
|
Name: "Grok 2 Vision",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 10,
|
|
CacheRead: &[]float64{2}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"xai/grok-3": {
|
|
ID: "xai/grok-3",
|
|
Name: "Grok 3",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.75}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"xai/grok-3-fast": {
|
|
ID: "xai/grok-3-fast",
|
|
Name: "Grok 3 Fast",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 5,
|
|
Output: 25,
|
|
CacheRead: &[]float64{1.25}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"xai/grok-3-mini": {
|
|
ID: "xai/grok-3-mini",
|
|
Name: "Grok 3 Mini",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 0.5,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"xai/grok-3-mini-fast": {
|
|
ID: "xai/grok-3-mini-fast",
|
|
Name: "Grok 3 Mini Fast",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 4,
|
|
CacheRead: &[]float64{0.15}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"xai/grok-4": {
|
|
ID: "xai/grok-4",
|
|
Name: "Grok 4",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.75}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"xai/grok-4-fast": {
|
|
ID: "xai/grok-4-fast",
|
|
Name: "Grok 4 Fast",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.5,
|
|
CacheRead: &[]float64{0.05}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 2000000,
|
|
Output: 30000,
|
|
},
|
|
},
|
|
"xai/grok-4-fast-non-reasoning": {
|
|
ID: "xai/grok-4-fast-non-reasoning",
|
|
Name: "Grok 4 Fast (Non-Reasoning)",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.5,
|
|
CacheRead: &[]float64{0.05}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 2000000,
|
|
Output: 30000,
|
|
},
|
|
},
|
|
"xai/grok-code-fast-1": {
|
|
ID: "xai/grok-code-fast-1",
|
|
Name: "Grok Code Fast 1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 1.5,
|
|
CacheRead: &[]float64{0.02}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 10000,
|
|
},
|
|
},
|
|
"zai/glm-4.5": {
|
|
ID: "zai/glm-4.5",
|
|
Name: "GLM 4.5",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 96000,
|
|
},
|
|
},
|
|
"zai/glm-4.5-air": {
|
|
ID: "zai/glm-4.5-air",
|
|
Name: "GLM 4.5 Air",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 1.1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 96000,
|
|
},
|
|
},
|
|
"zai/glm-4.5v": {
|
|
ID: "zai/glm-4.5v",
|
|
Name: "GLM 4.5V",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 1.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 66000,
|
|
Output: 16000,
|
|
},
|
|
},
|
|
"zai/glm-4.6": {
|
|
ID: "zai/glm-4.6",
|
|
Name: "GLM 4.6",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.2,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 200000,
|
|
Output: 96000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"wandb": {
|
|
ID: "wandb",
|
|
Env: []string{"WANDB_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Weights & Biases",
|
|
Models: map[string]ModelInfo{
|
|
"Qwen/Qwen3-235B-A22B-Instruct-2507": {
|
|
ID: "Qwen/Qwen3-235B-A22B-Instruct-2507",
|
|
Name: "Qwen3 235B A22B Instruct 2507",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-235B-A22B-Thinking-2507": {
|
|
ID: "Qwen/Qwen3-235B-A22B-Thinking-2507",
|
|
Name: "Qwen3-235B-A22B-Thinking-2507",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.1,
|
|
Output: 0.1,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
"Qwen/Qwen3-Coder-480B-A35B-Instruct": {
|
|
ID: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
|
|
Name: "Qwen3-Coder-480B-A35B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1,
|
|
Output: 1.5,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 262144,
|
|
Output: 66536,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-R1-0528": {
|
|
ID: "deepseek-ai/DeepSeek-R1-0528",
|
|
Name: "DeepSeek-R1-0528",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.35,
|
|
Output: 5.4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 161000,
|
|
Output: 163840,
|
|
},
|
|
},
|
|
"deepseek-ai/DeepSeek-V3-0324": {
|
|
ID: "deepseek-ai/DeepSeek-V3-0324",
|
|
Name: "DeepSeek-V3-0324",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.14,
|
|
Output: 2.75,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 161000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"meta-llama/Llama-3.1-8B-Instruct": {
|
|
ID: "meta-llama/Llama-3.1-8B-Instruct",
|
|
Name: "Meta-Llama-3.1-8B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.22,
|
|
Output: 0.22,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"meta-llama/Llama-3.3-70B-Instruct": {
|
|
ID: "meta-llama/Llama-3.3-70B-Instruct",
|
|
Name: "Llama-3.3-70B-Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.71,
|
|
Output: 0.71,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 32768,
|
|
},
|
|
},
|
|
"meta-llama/Llama-4-Scout-17B-16E-Instruct": {
|
|
ID: "meta-llama/Llama-4-Scout-17B-16E-Instruct",
|
|
Name: "Llama 4 Scout 17B 16E Instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.17,
|
|
Output: 0.66,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 64000,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"microsoft/Phi-4-mini-instruct": {
|
|
ID: "microsoft/Phi-4-mini-instruct",
|
|
Name: "Phi-4-mini-instruct",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.08,
|
|
Output: 0.35,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"moonshotai/Kimi-K2-Instruct": {
|
|
ID: "moonshotai/Kimi-K2-Instruct",
|
|
Name: "Kimi-K2-Instruct",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 1.35,
|
|
Output: 4,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 128000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"xai": {
|
|
ID: "xai",
|
|
Env: []string{"XAI_API_KEY"},
|
|
NPM: "@ai-sdk/xai",
|
|
Name: "xAI",
|
|
Models: map[string]ModelInfo{
|
|
"grok-2": {
|
|
ID: "grok-2",
|
|
Name: "Grok 2",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 10,
|
|
CacheRead: &[]float64{2}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"grok-2-1212": {
|
|
ID: "grok-2-1212",
|
|
Name: "Grok 2 (1212)",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 10,
|
|
CacheRead: &[]float64{2}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"grok-2-latest": {
|
|
ID: "grok-2-latest",
|
|
Name: "Grok 2 Latest",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 10,
|
|
CacheRead: &[]float64{2}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"grok-2-vision": {
|
|
ID: "grok-2-vision",
|
|
Name: "Grok 2 Vision",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 10,
|
|
CacheRead: &[]float64{2}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"grok-2-vision-1212": {
|
|
ID: "grok-2-vision-1212",
|
|
Name: "Grok 2 Vision (1212)",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 10,
|
|
CacheRead: &[]float64{2}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"grok-2-vision-latest": {
|
|
ID: "grok-2-vision-latest",
|
|
Name: "Grok 2 Vision Latest",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 2,
|
|
Output: 10,
|
|
CacheRead: &[]float64{2}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"grok-3": {
|
|
ID: "grok-3",
|
|
Name: "Grok 3",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.75}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"grok-3-fast": {
|
|
ID: "grok-3-fast",
|
|
Name: "Grok 3 Fast",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 5,
|
|
Output: 25,
|
|
CacheRead: &[]float64{1.25}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"grok-3-fast-latest": {
|
|
ID: "grok-3-fast-latest",
|
|
Name: "Grok 3 Fast Latest",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 5,
|
|
Output: 25,
|
|
CacheRead: &[]float64{1.25}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"grok-3-latest": {
|
|
ID: "grok-3-latest",
|
|
Name: "Grok 3 Latest",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.75}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"grok-3-mini": {
|
|
ID: "grok-3-mini",
|
|
Name: "Grok 3 Mini",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 0.5,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"grok-3-mini-fast": {
|
|
ID: "grok-3-mini-fast",
|
|
Name: "Grok 3 Mini Fast",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 4,
|
|
CacheRead: &[]float64{0.15}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"grok-3-mini-fast-latest": {
|
|
ID: "grok-3-mini-fast-latest",
|
|
Name: "Grok 3 Mini Fast Latest",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 4,
|
|
CacheRead: &[]float64{0.15}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"grok-3-mini-latest": {
|
|
ID: "grok-3-mini-latest",
|
|
Name: "Grok 3 Mini Latest",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.3,
|
|
Output: 0.5,
|
|
CacheRead: &[]float64{0.075}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 8192,
|
|
},
|
|
},
|
|
"grok-4": {
|
|
ID: "grok-4",
|
|
Name: "Grok 4",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 3,
|
|
Output: 15,
|
|
CacheRead: &[]float64{0.75}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 64000,
|
|
},
|
|
},
|
|
"grok-4-fast": {
|
|
ID: "grok-4-fast",
|
|
Name: "Grok 4 Fast",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.5,
|
|
CacheRead: &[]float64{0.05}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 2000000,
|
|
Output: 30000,
|
|
},
|
|
},
|
|
"grok-4-fast-non-reasoning": {
|
|
ID: "grok-4-fast-non-reasoning",
|
|
Name: "Grok 4 Fast (Non-Reasoning)",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 0.5,
|
|
CacheRead: &[]float64{0.05}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 2000000,
|
|
Output: 30000,
|
|
},
|
|
},
|
|
"grok-beta": {
|
|
ID: "grok-beta",
|
|
Name: "Grok Beta",
|
|
Attachment: false,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 5,
|
|
Output: 15,
|
|
CacheRead: &[]float64{5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
"grok-code-fast-1": {
|
|
ID: "grok-code-fast-1",
|
|
Name: "Grok Code Fast 1",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 1.5,
|
|
CacheRead: &[]float64{0.02}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 256000,
|
|
Output: 10000,
|
|
},
|
|
},
|
|
"grok-vision-beta": {
|
|
ID: "grok-vision-beta",
|
|
Name: "Grok Vision Beta",
|
|
Attachment: true,
|
|
Reasoning: false,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 5,
|
|
Output: 15,
|
|
CacheRead: &[]float64{5}[0],
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 8192,
|
|
Output: 4096,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"zai": {
|
|
ID: "zai",
|
|
Env: []string{"ZHIPU_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Z.AI",
|
|
Models: map[string]ModelInfo{
|
|
"glm-4.5": {
|
|
ID: "glm-4.5",
|
|
Name: "GLM-4.5",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.2,
|
|
CacheRead: &[]float64{0.11}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
"glm-4.5-air": {
|
|
ID: "glm-4.5-air",
|
|
Name: "GLM-4.5-Air",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 1.1,
|
|
CacheRead: &[]float64{0.03}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
"glm-4.5-flash": {
|
|
ID: "glm-4.5-flash",
|
|
Name: "GLM-4.5-Flash",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: &[]float64{0}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
"glm-4.5v": {
|
|
ID: "glm-4.5v",
|
|
Name: "GLM 4.5V",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 1.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 64000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"glm-4.6": {
|
|
ID: "glm-4.6",
|
|
Name: "GLM-4.6",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.2,
|
|
CacheRead: &[]float64{0.11}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 204800,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"zai-coding-plan": {
|
|
ID: "zai-coding-plan",
|
|
Env: []string{"ZHIPU_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Z.AI Coding Plan",
|
|
Models: map[string]ModelInfo{
|
|
"glm-4.5": {
|
|
ID: "glm-4.5",
|
|
Name: "GLM-4.5",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: &[]float64{0}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
"glm-4.5-air": {
|
|
ID: "glm-4.5-air",
|
|
Name: "GLM-4.5-Air",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: &[]float64{0}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
"glm-4.5-flash": {
|
|
ID: "glm-4.5-flash",
|
|
Name: "GLM-4.5-Flash",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: &[]float64{0}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
"glm-4.5v": {
|
|
ID: "glm-4.5v",
|
|
Name: "GLM 4.5V",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 64000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"glm-4.6": {
|
|
ID: "glm-4.6",
|
|
Name: "GLM-4.6",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: &[]float64{0}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 204800,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"zhipuai": {
|
|
ID: "zhipuai",
|
|
Env: []string{"ZHIPU_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Zhipu AI",
|
|
Models: map[string]ModelInfo{
|
|
"glm-4.5": {
|
|
ID: "glm-4.5",
|
|
Name: "GLM-4.5",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.2,
|
|
CacheRead: &[]float64{0.11}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
"glm-4.5-air": {
|
|
ID: "glm-4.5-air",
|
|
Name: "GLM-4.5-Air",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.2,
|
|
Output: 1.1,
|
|
CacheRead: &[]float64{0.03}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
"glm-4.5-flash": {
|
|
ID: "glm-4.5-flash",
|
|
Name: "GLM-4.5-Flash",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: &[]float64{0}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
"glm-4.5v": {
|
|
ID: "glm-4.5v",
|
|
Name: "GLM 4.5V",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 1.8,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 64000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"glm-4.6": {
|
|
ID: "glm-4.6",
|
|
Name: "GLM-4.6",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0.6,
|
|
Output: 2.2,
|
|
CacheRead: &[]float64{0.11}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 204800,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"zhipuai-coding-plan": {
|
|
ID: "zhipuai-coding-plan",
|
|
Env: []string{"ZHIPU_API_KEY"},
|
|
NPM: "@ai-sdk/openai-compatible",
|
|
Name: "Zhipu AI Coding Plan",
|
|
Models: map[string]ModelInfo{
|
|
"glm-4.5": {
|
|
ID: "glm-4.5",
|
|
Name: "GLM-4.5",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: &[]float64{0}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
"glm-4.5-air": {
|
|
ID: "glm-4.5-air",
|
|
Name: "GLM-4.5-Air",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: &[]float64{0}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
"glm-4.5-flash": {
|
|
ID: "glm-4.5-flash",
|
|
Name: "GLM-4.5-Flash",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: &[]float64{0}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 131072,
|
|
Output: 98304,
|
|
},
|
|
},
|
|
"glm-4.5v": {
|
|
ID: "glm-4.5v",
|
|
Name: "GLM 4.5V",
|
|
Attachment: true,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: nil,
|
|
CacheWrite: nil,
|
|
},
|
|
Limit: Limit{
|
|
Context: 64000,
|
|
Output: 16384,
|
|
},
|
|
},
|
|
"glm-4.6": {
|
|
ID: "glm-4.6",
|
|
Name: "GLM-4.6",
|
|
Attachment: false,
|
|
Reasoning: true,
|
|
Temperature: true,
|
|
Cost: Cost{
|
|
Input: 0,
|
|
Output: 0,
|
|
CacheRead: &[]float64{0}[0],
|
|
CacheWrite: &[]float64{0}[0],
|
|
},
|
|
Limit: Limit{
|
|
Context: 204800,
|
|
Output: 131072,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
}
|