800 lines
19 KiB
TypeScript
800 lines
19 KiB
TypeScript
// This file is auto-generated by scripts/generate-models.ts
|
|
// Do not edit manually - run 'npm run generate-models' to update
|
|
|
|
import type { Model } from "../types.ts";
|
|
|
|
export const OPENCODE_MODELS = {
|
|
"big-pickle": {
|
|
id: "big-pickle",
|
|
name: "Big Pickle",
|
|
api: "openai-completions",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
compat: {"maxTokensField":"max_tokens"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 32000,
|
|
} satisfies Model<"openai-completions">,
|
|
"claude-haiku-4-5": {
|
|
id: "claude-haiku-4-5",
|
|
name: "Claude Haiku 4.5",
|
|
api: "anthropic-messages",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1,
|
|
output: 5,
|
|
cacheRead: 0.1,
|
|
cacheWrite: 1.25,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-opus-4-1": {
|
|
id: "claude-opus-4-1",
|
|
name: "Claude Opus 4.1",
|
|
api: "anthropic-messages",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 75,
|
|
cacheRead: 1.5,
|
|
cacheWrite: 18.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 32000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-opus-4-5": {
|
|
id: "claude-opus-4-5",
|
|
name: "Claude Opus 4.5",
|
|
api: "anthropic-messages",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 25,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 6.25,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-opus-4-6": {
|
|
id: "claude-opus-4-6",
|
|
name: "Claude Opus 4.6",
|
|
api: "anthropic-messages",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen",
|
|
compat: {"forceAdaptiveThinking":true},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"max"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 25,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 6.25,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-opus-4-7": {
|
|
id: "claude-opus-4-7",
|
|
name: "Claude Opus 4.7",
|
|
api: "anthropic-messages",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen",
|
|
compat: {"forceAdaptiveThinking":true,"supportsTemperature":false},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 25,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 6.25,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-opus-4-8": {
|
|
id: "claude-opus-4-8",
|
|
name: "Claude Opus 4.8",
|
|
api: "anthropic-messages",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen",
|
|
compat: {"forceAdaptiveThinking":true,"supportsTemperature":false},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 25,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 6.25,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-sonnet-4": {
|
|
id: "claude-sonnet-4",
|
|
name: "Claude Sonnet 4",
|
|
api: "anthropic-messages",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-sonnet-4-5": {
|
|
id: "claude-sonnet-4-5",
|
|
name: "Claude Sonnet 4.5",
|
|
api: "anthropic-messages",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-sonnet-4-6": {
|
|
id: "claude-sonnet-4-6",
|
|
name: "Claude Sonnet 4.6",
|
|
api: "anthropic-messages",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen",
|
|
compat: {"forceAdaptiveThinking":true},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"deepseek-v4-flash": {
|
|
id: "deepseek-v4-flash",
|
|
name: "DeepSeek V4 Flash",
|
|
api: "openai-completions",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
compat: {"maxTokensField":"max_tokens","supportsLongCacheRetention":false,"requiresReasoningContentOnAssistantMessages":true},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"minimal":null,"low":null,"medium":null,"high":"high","xhigh":"max"},
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.14,
|
|
output: 0.28,
|
|
cacheRead: 0.028,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 384000,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek-v4-flash-free": {
|
|
id: "deepseek-v4-flash-free",
|
|
name: "DeepSeek V4 Flash Free",
|
|
api: "openai-completions",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
compat: {"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"minimal":null,"low":null,"medium":null,"high":"high","xhigh":"max"},
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek-v4-pro": {
|
|
id: "deepseek-v4-pro",
|
|
name: "DeepSeek V4 Pro",
|
|
api: "openai-completions",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
compat: {"maxTokensField":"max_tokens","supportsLongCacheRetention":false,"requiresReasoningContentOnAssistantMessages":true},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"minimal":null,"low":null,"medium":null,"high":"high","xhigh":"max"},
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.74,
|
|
output: 3.84,
|
|
cacheRead: 0.145,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 384000,
|
|
} satisfies Model<"openai-completions">,
|
|
"gemini-3-flash": {
|
|
id: "gemini-3-flash",
|
|
name: "Gemini 3 Flash",
|
|
api: "google-generative-ai",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.5,
|
|
output: 3,
|
|
cacheRead: 0.05,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-3.1-pro": {
|
|
id: "gemini-3.1-pro",
|
|
name: "Gemini 3.1 Pro Preview",
|
|
api: "google-generative-ai",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null,"minimal":null,"low":"LOW","medium":null,"high":"HIGH"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 12,
|
|
cacheRead: 0.2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-3.5-flash": {
|
|
id: "gemini-3.5-flash",
|
|
name: "Gemini 3.5 Flash",
|
|
api: "google-generative-ai",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.5,
|
|
output: 9,
|
|
cacheRead: 0.15,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"glm-5": {
|
|
id: "glm-5",
|
|
name: "GLM-5",
|
|
api: "openai-completions",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
compat: {"maxTokensField":"max_tokens"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1,
|
|
output: 3.2,
|
|
cacheRead: 0.2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 204800,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"glm-5.1": {
|
|
id: "glm-5.1",
|
|
name: "GLM-5.1",
|
|
api: "openai-completions",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
compat: {"maxTokensField":"max_tokens"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.4,
|
|
output: 4.4,
|
|
cacheRead: 0.26,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 204800,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"gpt-5": {
|
|
id: "gpt-5",
|
|
name: "GPT-5",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.07,
|
|
output: 8.5,
|
|
cacheRead: 0.107,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5-codex": {
|
|
id: "gpt-5-codex",
|
|
name: "GPT-5 Codex",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.07,
|
|
output: 8.5,
|
|
cacheRead: 0.107,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5-nano": {
|
|
id: "gpt-5-nano",
|
|
name: "GPT-5 Nano",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.05,
|
|
output: 0.4,
|
|
cacheRead: 0.005,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.1": {
|
|
id: "gpt-5.1",
|
|
name: "GPT-5.1",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.07,
|
|
output: 8.5,
|
|
cacheRead: 0.107,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.1-codex": {
|
|
id: "gpt-5.1-codex",
|
|
name: "GPT-5.1 Codex",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.07,
|
|
output: 8.5,
|
|
cacheRead: 0.107,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.1-codex-max": {
|
|
id: "gpt-5.1-codex-max",
|
|
name: "GPT-5.1 Codex Max",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.1-codex-mini": {
|
|
id: "gpt-5.1-codex-mini",
|
|
name: "GPT-5.1 Codex Mini",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 2,
|
|
cacheRead: 0.025,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.2": {
|
|
id: "gpt-5.2",
|
|
name: "GPT-5.2",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null,"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.75,
|
|
output: 14,
|
|
cacheRead: 0.175,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.2-codex": {
|
|
id: "gpt-5.2-codex",
|
|
name: "GPT-5.2 Codex",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null,"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.75,
|
|
output: 14,
|
|
cacheRead: 0.175,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.3-codex": {
|
|
id: "gpt-5.3-codex",
|
|
name: "GPT-5.3 Codex",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null,"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.75,
|
|
output: 14,
|
|
cacheRead: 0.175,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.4": {
|
|
id: "gpt-5.4",
|
|
name: "GPT-5.4",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null,"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 15,
|
|
cacheRead: 0.25,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 272000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.4-mini": {
|
|
id: "gpt-5.4-mini",
|
|
name: "GPT-5.4 Mini",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null,"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.75,
|
|
output: 4.5,
|
|
cacheRead: 0.075,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.4-nano": {
|
|
id: "gpt-5.4-nano",
|
|
name: "GPT-5.4 Nano",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null,"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 1.25,
|
|
cacheRead: 0.02,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.4-pro": {
|
|
id: "gpt-5.4-pro",
|
|
name: "GPT-5.4 Pro",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null,"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 30,
|
|
output: 180,
|
|
cacheRead: 30,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1050000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.5": {
|
|
id: "gpt-5.5",
|
|
name: "GPT-5.5",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null,"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 30,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1050000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.5-pro": {
|
|
id: "gpt-5.5-pro",
|
|
name: "GPT-5.5 Pro",
|
|
api: "openai-responses",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null,"xhigh":"xhigh","minimal":null,"low":null},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 30,
|
|
output: 180,
|
|
cacheRead: 30,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1050000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"grok-build-0.1": {
|
|
id: "grok-build-0.1",
|
|
name: "Grok Build 0.1",
|
|
api: "openai-completions",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
compat: {"supportsReasoningEffort":false,"maxTokensField":"max_tokens"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null,"minimal":null,"low":null,"medium":null},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1,
|
|
output: 2,
|
|
cacheRead: 0.2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 256000,
|
|
} satisfies Model<"openai-completions">,
|
|
"kimi-k2.5": {
|
|
id: "kimi-k2.5",
|
|
name: "Kimi K2.5",
|
|
api: "openai-completions",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
compat: {"maxTokensField":"max_tokens","supportsLongCacheRetention":false},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.6,
|
|
output: 3,
|
|
cacheRead: 0.08,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"kimi-k2.6": {
|
|
id: "kimi-k2.6",
|
|
name: "Kimi K2.6",
|
|
api: "openai-completions",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
compat: {"thinkingFormat":"deepseek","supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsLongCacheRetention":false},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.95,
|
|
output: 4,
|
|
cacheRead: 0.16,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"mimo-v2.5-free": {
|
|
id: "mimo-v2.5-free",
|
|
name: "MiMo V2.5 Free",
|
|
api: "openai-completions",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
compat: {"maxTokensField":"max_tokens"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 32000,
|
|
} satisfies Model<"openai-completions">,
|
|
"minimax-m2.5": {
|
|
id: "minimax-m2.5",
|
|
name: "MiniMax M2.5",
|
|
api: "openai-completions",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
compat: {"maxTokensField":"max_tokens"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 1.2,
|
|
cacheRead: 0.06,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 204800,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"minimax-m2.7": {
|
|
id: "minimax-m2.7",
|
|
name: "MiniMax M2.7",
|
|
api: "openai-completions",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
compat: {"maxTokensField":"max_tokens","supportsLongCacheRetention":false},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 1.2,
|
|
cacheRead: 0.06,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 204800,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"nemotron-3-ultra-free": {
|
|
id: "nemotron-3-ultra-free",
|
|
name: "Nemotron 3 Ultra Free",
|
|
api: "openai-completions",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
compat: {"maxTokensField":"max_tokens"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"north-mini-code-free": {
|
|
id: "north-mini-code-free",
|
|
name: "North Mini Code Free",
|
|
api: "openai-completions",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
compat: {"maxTokensField":"max_tokens"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen3.5-plus": {
|
|
id: "qwen3.5-plus",
|
|
name: "Qwen3.5 Plus",
|
|
api: "anthropic-messages",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 1.2,
|
|
cacheRead: 0.02,
|
|
cacheWrite: 0.25,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"qwen3.6-plus": {
|
|
id: "qwen3.6-plus",
|
|
name: "Qwen3.6 Plus",
|
|
api: "anthropic-messages",
|
|
provider: "opencode",
|
|
baseUrl: "https://opencode.ai/zen",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.5,
|
|
output: 3,
|
|
cacheRead: 0.05,
|
|
cacheWrite: 0.625,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"anthropic-messages">,
|
|
} as const;
|