@@ -29,20 +29,23 @@ const FREE_COST: ModelDefinitionConfig["cost"] = {
2929
3030// Zen publishes route-specific limits that differ from the family defaults below.
3131const MODEL_LIMITS : Record < string , { contextWindow : number ; maxTokens : number } > = {
32+ "claude-opus-5" : { contextWindow : 1_000_000 , maxTokens : 128_000 } ,
3233 "claude-sonnet-5" : { contextWindow : 1_000_000 , maxTokens : 128_000 } ,
3334 "gpt-5.6-luna" : { contextWindow : 1_050_000 , maxTokens : 128_000 } ,
3435 "gpt-5.6-sol" : { contextWindow : 1_050_000 , maxTokens : 128_000 } ,
3536 "gpt-5.6-terra" : { contextWindow : 1_050_000 , maxTokens : 128_000 } ,
3637 "glm-5.2" : { contextWindow : 1_000_000 , maxTokens : 131_072 } ,
3738 "grok-4.5" : { contextWindow : 500_000 , maxTokens : 500_000 } ,
38- "hy3-free" : { contextWindow : 256_000 , maxTokens : 64_000 } ,
3939 "kimi-k2.7-code" : { contextWindow : 262_144 , maxTokens : 262_144 } ,
40+ "laguna-s-2.1-free" : { contextWindow : 256_000 , maxTokens : 32_000 } ,
41+ "ling-3.0-flash-free" : { contextWindow : 262_144 , maxTokens : 32_768 } ,
4042 "minimax-m3" : { contextWindow : 512_000 , maxTokens : 128_000 } ,
4143} ;
4244
4345// These rows are the inverse of their family's usual image-input capability.
4446const MODEL_IMAGE_INPUT_OVERRIDES = new Map < string , boolean > ( [
45- [ "hy3-free" , false ] ,
47+ [ "laguna-s-2.1-free" , false ] ,
48+ [ "ling-3.0-flash-free" , false ] ,
4649 [ "minimax-m3" , true ] ,
4750] ) ;
4851
@@ -55,6 +58,7 @@ const MODEL_COSTS: Record<string, ModelDefinitionConfig["cost"]> = {
5558 "claude-opus-4-6" : { input : 5 , output : 25 , cacheRead : 0.5 , cacheWrite : 6.25 } ,
5659 "claude-opus-4-7" : { input : 5 , output : 25 , cacheRead : 0.5 , cacheWrite : 6.25 } ,
5760 "claude-opus-4-8" : { input : 5 , output : 25 , cacheRead : 0.5 , cacheWrite : 6.25 } ,
61+ "claude-opus-5" : { input : 5 , output : 25 , cacheRead : 0.5 , cacheWrite : 6.25 } ,
5862 "claude-sonnet-4" : {
5963 input : 3 ,
6064 output : 15 ,
@@ -173,13 +177,14 @@ const MODEL_COSTS: Record<string, ModelDefinitionConfig["cost"]> = {
173177 { input : 4 , output : 12 , cacheRead : 1 , cacheWrite : 0 , range : [ 200_000 ] } ,
174178 ] ,
175179 } ,
176- "hy3-free" : FREE_COST ,
177180 "kimi-k2.5" : { input : 0.6 , output : 3 , cacheRead : 0.1 , cacheWrite : 0 } ,
178181 "kimi-k2.6" : { input : 0.95 , output : 4 , cacheRead : 0.16 , cacheWrite : 0 } ,
179182 "kimi-k2.7-code" : { input : 0.95 , output : 4 , cacheRead : 0.19 , cacheWrite : 0 } ,
183+ "laguna-s-2.1-free" : FREE_COST ,
184+ "ling-3.0-flash-free" : FREE_COST ,
180185 "mimo-v2.5-free" : FREE_COST ,
181- "minimax-m2.5" : { input : 0.3 , output : 1.2 , cacheRead : 0.06 , cacheWrite : 0.375 } ,
182- "minimax-m2.7" : { input : 0.3 , output : 1.2 , cacheRead : 0.06 , cacheWrite : 0.375 } ,
186+ "minimax-m2.5" : { input : 0.3 , output : 1.2 , cacheRead : 0.06 , cacheWrite : 0 } ,
187+ "minimax-m2.7" : { input : 0.3 , output : 1.2 , cacheRead : 0.06 , cacheWrite : 0 } ,
183188 "minimax-m3" : { input : 0.3 , output : 1.2 , cacheRead : 0.06 , cacheWrite : 0 } ,
184189 "nemotron-3-ultra-free" : FREE_COST ,
185190 "north-mini-code-free" : FREE_COST ,
@@ -196,6 +201,7 @@ const MODEL_NAMES: Record<string, string> = {
196201 "claude-opus-4-6" : "Claude Opus 4.6" ,
197202 "claude-opus-4-7" : "Claude Opus 4.7" ,
198203 "claude-opus-4-8" : "Claude Opus 4.8" ,
204+ "claude-opus-5" : "Claude Opus 5" ,
199205 "claude-sonnet-4" : "Claude Sonnet 4" ,
200206 "claude-sonnet-4-5" : "Claude Sonnet 4.5" ,
201207 "claude-sonnet-4-6" : "Claude Sonnet 4.6" ,
@@ -233,10 +239,11 @@ const MODEL_NAMES: Record<string, string> = {
233239 "gpt-5.5-pro" : "GPT-5.5 Pro" ,
234240 "grok-build-0.1" : "Grok Build 0.1" ,
235241 "grok-4.5" : "Grok 4.5" ,
236- "hy3-free" : "Hy3 Free" ,
237242 "kimi-k2.5" : "Kimi K2.5" ,
238243 "kimi-k2.6" : "Kimi K2.6" ,
239244 "kimi-k2.7-code" : "Kimi K2.7 Code" ,
245+ "laguna-s-2.1-free" : "Laguna S 2.1 Free" ,
246+ "ling-3.0-flash-free" : "Ling-3.0-flash Free" ,
240247 "mimo-v2.5-free" : "MiMo V2.5 Free" ,
241248 "minimax-m2.5" : "MiniMax M2.5" ,
242249 "minimax-m2.7" : "MiniMax M2.7" ,
@@ -396,6 +403,7 @@ function buildOpencodeZenModel(modelId: string): OpencodeZenModelDefinition {
396403
397404const OPENCODE_ZEN_MODELS = [
398405 "claude-fable-5" ,
406+ "claude-opus-5" ,
399407 "claude-opus-4-8" ,
400408 "claude-opus-4-7" ,
401409 "claude-opus-4-6" ,
@@ -449,7 +457,8 @@ const OPENCODE_ZEN_MODELS = [
449457 "big-pickle" ,
450458 "deepseek-v4-flash-free" ,
451459 "mimo-v2.5-free" ,
452- "hy3-free" ,
460+ "laguna-s-2.1-free" ,
461+ "ling-3.0-flash-free" ,
453462 "nemotron-3-ultra-free" ,
454463 "north-mini-code-free" ,
455464] . map ( buildOpencodeZenModel ) ;
0 commit comments