@cline/llms 0.0.38-nightly.1778113663

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +219 -0
  2. package/dist/catalog/catalog-live.d.ts +34 -0
  3. package/dist/catalog/catalog-live.d.ts.map +1 -0
  4. package/dist/catalog/catalog.generated-access.d.ts +5 -0
  5. package/dist/catalog/catalog.generated-access.d.ts.map +1 -0
  6. package/dist/catalog/catalog.generated.d.ts +17 -0
  7. package/dist/catalog/catalog.generated.d.ts.map +1 -0
  8. package/dist/catalog/types.d.ts +263 -0
  9. package/dist/catalog/types.d.ts.map +1 -0
  10. package/dist/index.browser.d.ts +6 -0
  11. package/dist/index.browser.d.ts.map +1 -0
  12. package/dist/index.browser.js +1 -0
  13. package/dist/index.d.ts +10 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +85 -0
  16. package/dist/models.d.ts +5 -0
  17. package/dist/models.d.ts.map +1 -0
  18. package/dist/models.js +1 -0
  19. package/dist/providers/ai-sdk.d.ts +41 -0
  20. package/dist/providers/ai-sdk.d.ts.map +1 -0
  21. package/dist/providers/async.d.ts +2 -0
  22. package/dist/providers/async.d.ts.map +1 -0
  23. package/dist/providers/billing.d.ts +4 -0
  24. package/dist/providers/billing.d.ts.map +1 -0
  25. package/dist/providers/builtins-runtime.d.ts +3 -0
  26. package/dist/providers/builtins-runtime.d.ts.map +1 -0
  27. package/dist/providers/builtins.d.ts +28 -0
  28. package/dist/providers/builtins.d.ts.map +1 -0
  29. package/dist/providers/compat.d.ts +6 -0
  30. package/dist/providers/compat.d.ts.map +1 -0
  31. package/dist/providers/config.d.ts +293 -0
  32. package/dist/providers/config.d.ts.map +1 -0
  33. package/dist/providers/factory-registry.d.ts +92 -0
  34. package/dist/providers/factory-registry.d.ts.map +1 -0
  35. package/dist/providers/format.d.ts +2 -0
  36. package/dist/providers/format.d.ts.map +1 -0
  37. package/dist/providers/gateway.d.ts +24 -0
  38. package/dist/providers/gateway.d.ts.map +1 -0
  39. package/dist/providers/handler.d.ts +75 -0
  40. package/dist/providers/handler.d.ts.map +1 -0
  41. package/dist/providers/http.d.ts +10 -0
  42. package/dist/providers/http.d.ts.map +1 -0
  43. package/dist/providers/ids.d.ts +69 -0
  44. package/dist/providers/ids.d.ts.map +1 -0
  45. package/dist/providers/messages.d.ts +5 -0
  46. package/dist/providers/messages.d.ts.map +1 -0
  47. package/dist/providers/middleware/split-tool-images.d.ts +29 -0
  48. package/dist/providers/middleware/split-tool-images.d.ts.map +1 -0
  49. package/dist/providers/model-registry.d.ts +14 -0
  50. package/dist/providers/model-registry.d.ts.map +1 -0
  51. package/dist/providers/provider-keys.d.ts +5 -0
  52. package/dist/providers/provider-keys.d.ts.map +1 -0
  53. package/dist/providers/registry.d.ts +19 -0
  54. package/dist/providers/registry.d.ts.map +1 -0
  55. package/dist/providers/routing/anthropic-compatible.d.ts +46 -0
  56. package/dist/providers/routing/anthropic-compatible.d.ts.map +1 -0
  57. package/dist/providers/routing/glm-thinking.d.ts +15 -0
  58. package/dist/providers/routing/glm-thinking.d.ts.map +1 -0
  59. package/dist/providers/routing/provider-options.d.ts +21 -0
  60. package/dist/providers/routing/provider-options.d.ts.map +1 -0
  61. package/dist/providers/routing/utils.d.ts +8 -0
  62. package/dist/providers/routing/utils.d.ts.map +1 -0
  63. package/dist/providers/stream.d.ts +107 -0
  64. package/dist/providers/stream.d.ts.map +1 -0
  65. package/dist/providers/types.d.ts +10 -0
  66. package/dist/providers/types.d.ts.map +1 -0
  67. package/dist/providers/vendors/anthropic.d.ts +4 -0
  68. package/dist/providers/vendors/anthropic.d.ts.map +1 -0
  69. package/dist/providers/vendors/bedrock.d.ts +4 -0
  70. package/dist/providers/vendors/bedrock.d.ts.map +1 -0
  71. package/dist/providers/vendors/community.d.ts +7 -0
  72. package/dist/providers/vendors/community.d.ts.map +1 -0
  73. package/dist/providers/vendors/google.d.ts +4 -0
  74. package/dist/providers/vendors/google.d.ts.map +1 -0
  75. package/dist/providers/vendors/mistral.d.ts +4 -0
  76. package/dist/providers/vendors/mistral.d.ts.map +1 -0
  77. package/dist/providers/vendors/openai-compatible.d.ts +4 -0
  78. package/dist/providers/vendors/openai-compatible.d.ts.map +1 -0
  79. package/dist/providers/vendors/openai.d.ts +4 -0
  80. package/dist/providers/vendors/openai.d.ts.map +1 -0
  81. package/dist/providers/vendors/types.d.ts +134 -0
  82. package/dist/providers/vendors/types.d.ts.map +1 -0
  83. package/dist/providers/vendors/vertex.d.ts +4 -0
  84. package/dist/providers/vendors/vertex.d.ts.map +1 -0
  85. package/dist/providers.browser.d.ts +2 -0
  86. package/dist/providers.browser.d.ts.map +1 -0
  87. package/dist/providers.browser.js +1 -0
  88. package/dist/providers.d.ts +7 -0
  89. package/dist/providers.d.ts.map +1 -0
  90. package/dist/providers.js +85 -0
  91. package/dist/services/langfuse-telemetry.d.ts +6 -0
  92. package/dist/services/langfuse-telemetry.d.ts.map +1 -0
  93. package/package.json +74 -0
@@ -0,0 +1,85 @@
1
+ import{createRequire as Uo}from"node:module";var Qo=Object.defineProperty;var Do=(n)=>n;function Wo(n,r){this[n]=Do.bind(null,r)}var l=(n,r)=>{for(var f in r)Qo(n,f,{get:r[f],enumerable:!0,configurable:!0,set:Wo.bind(r,f)})};var E=(n,r)=>()=>(n&&(r=n(n=0)),r);var Cn=Uo(import.meta.url);import{z as W}from"zod";var $r,sf,Hr,Kr,Fr,Er,Jn;var br=E(()=>{$r=W.enum(["default","openai-responses","r1"]),sf={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},Hr=W.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),Kr=W.enum(["active","preview","deprecated","legacy"]),Fr=W.object({input:W.number().optional(),output:W.number().optional(),cacheWrite:W.number().optional(),cacheRead:W.number().optional()}),Er=W.object({maxBudget:W.number().optional(),outputPrice:W.number().optional(),thinkingLevel:W.enum(["low","high"]).optional()}),Jn=W.object({id:W.string(),name:W.string().optional(),description:W.string().optional(),maxTokens:W.number().optional(),contextWindow:W.number().optional(),capabilities:W.array(Hr).optional(),apiFormat:$r.optional(),systemRole:W.enum(["system","developer"]).optional(),temperature:W.number().optional(),pricing:Fr.optional(),thinkingConfig:Er.optional(),status:Kr.optional(),deprecationNotice:W.string().optional(),replacedBy:W.string().optional(),releaseDate:W.string().optional(),deprecationDate:W.string().optional(),family:W.string().optional()})});import{z as q}from"zod";var Nn;var Ar=E(()=>{Nn=q.object({id:q.string(),name:q.string(),input:q.unknown(),output:q.unknown(),error:q.string().optional(),durationMs:q.number(),startedAt:q.date(),endedAt:q.date()})});import{z as C}from"zod";var If,qf,jo,tf,ho;var zf=E(()=>{br();Ar();If=C.enum(["completed","max_iterations","aborted","mistake_limit","error"]),qf=C.object({inputTokens:C.number(),outputTokens:C.number(),cacheReadTokens:C.number().optional(),cacheWriteTokens:C.number().optional(),totalCost:C.number().optional()}),jo=C.object({text:C.string(),usage:qf,messages:C.array(C.custom()),toolCalls:C.array(Nn),iterations:C.number(),finishReason:If,model:C.object({id:C.string(),provider:C.string(),info:Jn.optional()}),startedAt:C.date(),endedAt:C.date(),durationMs:C.number()}),tf=C.enum(["low","medium","high","xhigh"]),ho=C.object({sessionId:C.string().optional(),providerId:C.string(),modelId:C.string(),apiKey:C.string().optional(),baseUrl:C.string().url().optional(),headers:C.record(C.string(),C.string()).optional(),knownModels:C.record(C.string(),Jn).optional(),providerConfig:C.unknown().optional(),initialMessages:C.array(C.custom()).optional(),systemPrompt:C.string(),tools:C.array(C.custom()),maxIterations:C.number().positive().optional(),maxParallelToolCalls:C.number().int().positive().default(8),maxTokensPerTurn:C.number().positive().optional(),apiTimeoutMs:C.number().positive().default(180000),userFileContentLoader:C.function().input([C.string()]).output(C.promise(C.string())).optional(),toolContextMetadata:C.record(C.string(),C.unknown()).optional(),execution:C.object({maxConsecutiveMistakes:C.number().int().positive().optional(),reminderAfterIterations:C.number().nonnegative().optional(),reminderText:C.string().optional(),loopDetection:C.union([C.literal(!1),C.object({softThreshold:C.number().int().positive().optional(),hardThreshold:C.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:tf.optional(),thinkingBudgetTokens:C.number().positive().optional(),thinking:C.boolean().optional(),onEvent:C.function().input([C.custom()]).output(C.void()).optional(),hooks:C.custom().optional(),parentAgentId:C.string().optional(),extensions:C.array(C.custom()).optional(),hookErrorMode:C.enum(["ignore","throw"]).default("ignore"),toolPolicies:C.record(C.string(),C.object({enabled:C.boolean().optional(),autoApprove:C.boolean().optional()})).optional(),requestToolApproval:C.function().input([C.object({sessionId:C.string(),agentId:C.string(),conversationId:C.string(),iteration:C.number(),toolCallId:C.string(),toolName:C.string(),input:C.unknown(),policy:C.object({enabled:C.boolean().optional(),autoApprove:C.boolean().optional()}).default({})})]).output(C.union([C.object({approved:C.boolean(),reason:C.string().optional()}),C.promise(C.object({approved:C.boolean(),reason:C.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:C.function().input([C.object({iteration:C.number().int().positive(),consecutiveMistakes:C.number().int().positive(),maxConsecutiveMistakes:C.number().int().positive(),reason:C.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:C.string().optional()})]).output(C.union([C.object({action:C.literal("continue"),guidance:C.string().optional()}),C.object({action:C.literal("stop"),reason:C.string().optional()}),C.promise(C.union([C.object({action:C.literal("continue"),guidance:C.string().optional()}),C.object({action:C.literal("stop"),reason:C.string().optional()})]))])).optional(),logger:C.custom().optional(),extensionContext:C.custom().optional(),abortSignal:C.custom().optional()})});var cf=E(()=>{zf()});import{z as S}from"zod";var Yr,Sr,Jr,pf,ny,ry;var fy=E(()=>{Yr=S.enum(["connector.started","connector.stopping","session.authorize","message.received","message.denied","message.completed","message.failed","session.started","session.reused","session.reset","schedule.delivery.started","schedule.delivery.sent","schedule.delivery.failed"]),Sr=S.object({id:S.string().optional(),label:S.string().optional(),role:S.string().optional(),participantKey:S.string().optional(),participantLabel:S.string().optional(),platformUserId:S.string().optional(),metadata:S.record(S.string(),S.unknown()).optional()}),Jr=S.object({source:S.string(),sourceEvent:S.string(),threadId:S.string(),channelId:S.string(),isDM:S.boolean(),sessionId:S.string().optional(),workspaceRoot:S.string().optional(),metadata:S.record(S.string(),S.unknown()).optional()}),pf=S.object({actor:Sr,context:Jr,payload:S.record(S.string(),S.unknown()).optional()}),ny=S.object({action:S.enum(["allow","deny"]).default("allow"),message:S.string().optional(),reason:S.string().optional(),metadata:S.record(S.string(),S.unknown()).optional()}),ry=S.object({adapter:S.string(),botUserName:S.string().optional(),event:Yr,payload:S.record(S.string(),S.unknown()),ts:S.string()})});function _n(n){yy.push(n)}async function wy(){let n=yy.splice(0);await Promise.all(n.map((r)=>{try{return(typeof r==="function"?r():r.dispose())??Promise.resolve()}catch{return Promise.resolve()}}))}var yy;var Mr=E(()=>{yy=[]});function Gy(n,r){return n.name||`extension_${String(r).padStart(4,"0")}`}function dy(n){return Array.isArray(n)&&n.every((r)=>typeof r==="string")}function oy(n){if(!Array.isArray(n))return;let r=n.filter((f)=>typeof f==="string").map((f)=>f.trim()).filter((f)=>f.length>0);return r.length>0?r:void 0}function Xr(n){let r=oy(n.providerIds),f=oy(n.modelIds);return{...n,...r?{providerIds:r}:{},...f?{modelIds:f}:{}}}function Lo(n,r){let f=Gy(n,r),y=n.manifest;if(!y||typeof y!=="object")throw Error(`Invalid manifest for extension "${f}": manifest is required`);if(!Array.isArray(y.capabilities)||y.capabilities.length===0)throw Error(`Invalid manifest for extension "${f}": capabilities must be a non-empty array`);let w=new Set;for(let v of y.capabilities){if(!ao.has(v))throw Error(`Invalid manifest for extension "${f}": unsupported capability "${String(v)}"`);w.add(v)}if(Object.hasOwn(y,"providerIds")&&!dy(y.providerIds))throw Error(`Invalid manifest for extension "${f}": providerIds must be a string array when provided`);if(Object.hasOwn(y,"modelIds")&&!dy(y.modelIds))throw Error(`Invalid manifest for extension "${f}": modelIds must be a string array when provided`);let o=w.has("hooks");if(n.hooks!==void 0&&!o)throw Error(`Invalid manifest for extension "${f}": runtime hooks require the "hooks" capability`);return{capabilities:w,raw:Xr(y)}}function No(n,r){if(!n||typeof n!=="object")throw Error(`Invalid automation event contribution for extension "${r}": expected object`);let f=typeof n.eventType==="string"?n.eventType.trim():"",y=typeof n.source==="string"?n.source.trim():"";if(!f)throw Error(`Invalid automation event contribution for extension "${r}": eventType is required`);if(!y)throw Error(`Invalid automation event contribution for extension "${r}": source is required`);return{...n,eventType:f,source:y,examples:n.examples?[...n.examples]:void 0,metadata:n.metadata?{...n.metadata}:void 0}}class mn{extensions;registry={tools:[],commands:[],rules:[],messageBuilder:[],providers:[],automationEventTypes:[]};normalized=[];phase="resolve";setupContext;constructor(n={}){this.extensions=n.extensions??[],this.setupContext=n.setupContext??{}}resolve(){if(this.phase!=="resolve")return;this.normalized=this.extensions.map((n,r)=>({extension:n,order:r,manifest:{capabilities:new Set,raw:n.manifest}})),this.phase="validate"}validate(){if(this.phase==="resolve")this.resolve();if(this.phase!=="validate")return;this.normalized=this.normalized.map((n)=>({...n,manifest:Lo(n.extension,n.order)})),this.phase="setup"}async setup(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();if(this.phase!=="setup")return;for(let n of this.normalized){let{extension:r}=n;if(r.disabled)continue;let f=Gy(r,n.order),y={registerTool:(o)=>this.registry.tools.push(o),registerCommand:(o)=>this.registry.commands.push(o),registerRule:(o)=>{if(!n.manifest.capabilities.has("rules"))throw Error(`Invalid setup for extension "${f}": registerRule requires the "rules" capability`);this.registry.rules.push(o)},registerMessageBuilder:(o)=>this.registry.messageBuilder.push(o),registerProvider:(o)=>this.registry.providers.push(o),registerAutomationEventType:(o)=>{if(!n.manifest.capabilities.has("automationEvents"))throw Error(`Invalid setup for extension "${f}": registerAutomationEventType requires the "automationEvents" capability`);this.registry.automationEventTypes.push(No(o,f))}},w=n.manifest.capabilities.has("automationEvents")?this.setupContext:{...this.setupContext,automation:void 0};await r.setup?.(y,w)}this.phase="activate"}activate(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();if(this.phase==="setup")throw Error("Contribution registry setup must complete before activation");if(this.phase!=="activate")return;this.phase="run"}async initialize(){this.resolve(),this.validate(),await this.setup(),this.activate()}isActivated(){return this.phase==="run"}getRegistrySnapshot(){return{tools:[...this.registry.tools],commands:[...this.registry.commands],rules:[...this.registry.rules],messageBuilder:[...this.registry.messageBuilder],providers:[...this.registry.providers],automationEventTypes:[...this.registry.automationEventTypes]}}getRegisteredTools(){return[...this.registry.tools]}getRegisteredRules(){return[...this.registry.rules]}getRegisteredAutomationEventTypes(){return[...this.registry.automationEventTypes]}getValidatedExtensions(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();return this.normalized.slice().sort((n,r)=>n.order-r.order).map(({extension:n})=>n)}}function Py(n={}){return new mn(n)}var Ro,ao;var Cy=E(()=>{Ro=["hooks","tools","commands","rules","messageBuilders","providers","automationEvents"],ao=new Set(Ro)});var vy;var $y=E(()=>{vy=[".js",".ts"]});import{z as K}from"zod";function Hy(n){let r=Zr.safeParse(n);if(!r.success)return;return r.data}var kr,yn,_o,mo,Vo,Bo,To,lo,Oo,xo,Zr;var Ky=E(()=>{kr=K.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),yn=K.record(K.string(),K.string()),_o=K.object({toolName:K.string(),parameters:yn}),mo=K.object({toolName:K.string(),parameters:yn,result:K.string(),success:K.boolean(),executionTimeMs:K.number()}),Vo=K.object({prompt:K.string(),attachments:K.array(K.string())}),Bo=K.object({taskMetadata:yn}),To=K.object({taskMetadata:yn,previousState:yn}),lo=K.object({taskMetadata:yn}),Oo=K.object({taskMetadata:yn}),xo=K.object({taskId:K.string(),ulid:K.string(),contextSize:K.number(),compactionStrategy:K.string(),previousApiReqIndex:K.number(),tokensIn:K.number(),tokensOut:K.number(),tokensInCache:K.number(),tokensOutCache:K.number(),deletedRangeStart:K.number(),deletedRangeEnd:K.number(),contextJsonPath:K.string(),contextRawPath:K.string()}),Zr=K.object({clineVersion:K.string(),hookName:kr,timestamp:K.string(),taskId:K.string(),sessionContext:K.object({rootSessionId:K.string().optional(),hookLogPath:K.string().optional()}).optional(),workspaceRoots:K.array(K.string()),workspaceInfo:K.custom().optional(),userId:K.string(),agent_id:K.string(),parent_agent_id:K.string().nullable(),iteration:K.number().optional(),reason:K.string().optional(),tool_call:K.object({id:K.string(),name:K.string(),input:K.unknown()}).optional(),tool_result:K.custom().optional(),turn:K.unknown().optional(),error:K.object({name:K.string(),message:K.string(),stack:K.string().optional()}).optional(),preToolUse:_o.optional(),postToolUse:mo.optional(),userPromptSubmit:Vo.optional(),taskStart:Bo.optional(),taskResume:To.optional(),taskCancel:lo.optional(),taskComplete:Oo.optional(),preCompact:xo.optional()}).passthrough()});function Fy(n){switch(n){case"run.start":case"session.send_input":return null;default:return 30000}}function so(n,r){return r===void 0?Fy(n):r}function qo(n){return typeof n==="string"&&Io.has(n)}var uo=30000,eo=5000,Ey,Io,io="tool_executor.",to="custom_tool.",zo="hook.",co="compaction.compact",po="checkpoint.create",nG="mistake_limit.decide",rG="user_instructions.snapshot";var by=E(()=>{Ey=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],Io=new Set(Ey)});function Vn(n,r){return`<file_content path="${n}">
2
+ ${r}
3
+ </file_content>`}function Ay(n,r="act"){return`<user_input mode="${r}">${n}</user_input>`}function Yy(n,r){return`<user_command slash="${r}">${n}</user_command>`}function fG(n,r){let f=n.trim(),y=new RegExp(`^<${r}\\b([^>]*)>([\\s\\S]*?)<\\/${r}>$`,"i").exec(f);if(!y)return;return{attrs:y[1]??"",content:y[2]??""}}function yG(n,r){return new RegExp(`${r}="([^"]+)"`,"i").exec(n)?.[1]?.trim()||void 0}function Qr(n){if(!n?.trim())return;let r=fG(n,"user_command");if(!r)return;let f=yG(r.attrs,"slash");if(!f)return;return{slash:f,content:r.content.trim()}}function Dr(n){if(!n?.trim())return"";let r=n.trim();for(let f of["user_input","user_command"]){let y=Wr(r,f);r=(y!==r?y:r.replace(new RegExp(`<${f}[^>]*>`,"g"),"")).trim()}return r}function Sy(n){let r=Dr(n),f=Qr(n);if(!f)return r;if(f.slash.toLowerCase()==="team"){let w=r.toLowerCase().startsWith("spawn a team of agents for the following task:")?r.slice(46).trim():r;return w?`/team ${w}`:"/team"}return r?`/${f.slash} ${r}`:`/${f.slash}`}function Wr(n,r){if(!n?.trim())return"";if(!r)return n;let f=new RegExp(`<${r}\\b[^>]*>([\\s\\S]*?)</${r}>`,"g");return n.replace(f,"$1")}function Jy(n,r){let f=n[n.length-1];if(r.role==="tool"&&f?.role==="tool"&&Array.isArray(f.content)&&Array.isArray(r.content)){f.content.push(...r.content);return}n.push(r)}function wG(n){if(!Array.isArray(n)||n.length===0)return!1;return n.every((r)=>{if(!r||typeof r!=="object")return!1;let f=r;if(f.type==="text")return typeof f.text==="string";if(f.type==="image")return typeof f.data==="string"&&typeof f.mediaType==="string";return!1})}function Ur(n,r){if(n==null||typeof n!=="object")return n;if(Array.isArray(n)){let w=[];for(let o of n){if(o&&typeof o==="object"){let G=o;if(G.type==="image"&&typeof G.data==="string"&&typeof G.mediaType==="string"){r.push({type:"image",data:G.data,mediaType:G.mediaType});continue}if(G.type==="text"&&typeof G.text==="string"){w.push(G.text);continue}}w.push(Ur(o,r))}return w}let f=n,y={};for(let[w,o]of Object.entries(f))y[w]=Ur(o,r);return y}function gr(n,r=!1){if(typeof n==="string")return{type:r?"error-text":"text",value:n};if(!r&&wG(n))return{type:"content",value:n.map((f)=>f.type==="image"?{type:"image-data",data:f.data,mediaType:f.mediaType}:{type:"text",text:f.text})};if(!r&&n!==null&&typeof n==="object"){let f=[],y=Ur(n,f);if(f.length>0)return{type:"content",value:[{type:"text",text:typeof y==="string"?y:JSON.stringify(y)},...f.map((o)=>({type:"image-data",data:o.data,mediaType:o.mediaType}))]}}if(n===null||typeof n==="boolean"||typeof n==="number"||typeof n==="object")return{type:r?"error-json":"json",value:n};return{type:r?"error-text":"text",value:String(n)}}function Bn(n,r,f){let y=f?.assistantToolCallArgKey??"input",w=[];if(typeof n==="string"&&n.trim().length>0||Array.isArray(n)&&n.length>0)w.push({role:"system",content:n});for(let o of r){let G=o.content;if(typeof G==="string"){w.push({role:o.role,content:G});continue}let v=[],A=[];for(let $ of G)switch($.type){case"text":v.push({type:"text",text:$.text});break;case"reasoning":v.push({type:"reasoning",text:$.text,...$.providerOptions?{providerOptions:$.providerOptions}:{}});break;case"image":v.push({type:"image",image:$.image,mediaType:$.mediaType});break;case"file":v.push({type:"text",text:Vn($.path,$.content)});break;case"tool-call":if(o.role==="assistant")v.push({type:"tool-call",toolCallId:$.toolCallId,toolName:$.toolName,[y]:$.input,...$.providerOptions?{providerOptions:$.providerOptions}:{}});break;case"tool-result":A.push({type:"tool-result",toolCallId:$.toolCallId,toolName:$.toolName,output:gr($.output,$.isError??!1)});break}if(v.length>0)Jy(w,{role:o.role,content:v});if(A.length>0)Jy(w,{role:"tool",content:A})}return w}var My=()=>{};function ky(n,r){if(typeof n==="string"&&n.toLowerCase()in vn)return n.toLowerCase();return r?void 0:void 0}function jr(n,r){let f=typeof n==="string"?n.toLowerCase():void 0;if(f&&f in vn)return vn[f];if(r?.fallbackEffort)return vn[r.fallbackEffort];return}function Zy(n){let r=jr(n.effort,{fallbackEffort:n.fallbackEffort});if(r===void 0)return;if(r<=0)return 0;let f=n.minimumBudget??1;if(n.maxBudget<f)return;let y=n.scaleTokens??n.maxBudget;return Math.min(Math.max(Math.floor(y*r),f),n.maxBudget)}var vn,Xy=void 0;var Qy=E(()=>{vn={xhigh:0.95,high:0.8,medium:0.5,low:0.2,minimal:0.1,none:0}});function Wy(n){return n instanceof Error?{name:n.name,message:n.message}:n}var Dy;var Uy=E(()=>{Dy={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","X-IS-MULTIROOT":"false","X-CLIENT-TYPE":"cline-sdk"}});var gy;var jy=E(()=>{gy={debug:()=>{},log:()=>{},error:()=>{}}});var c;var hy=E(()=>{c=class c extends Error{constructor(n,r){super(`${n} at position ${r}`);this.position=r}}});function Ry(n){return/^[0-9A-Fa-f]$/.test(n)}function nn(n){return n>="0"&&n<="9"}function ay(n){return n>=" "}function Mn(n){return`,:[]/{}()
4
+ +`.includes(n)}function hr(n){return n>="a"&&n<="z"||n>="A"&&n<="Z"||n==="_"||n==="$"}function Rr(n){return n>="a"&&n<="z"||n>="A"&&n<="Z"||n==="_"||n==="$"||n>="0"&&n<="9"}function Nr(n){return`,[]/{}
5
+ +`.includes(n)}function _r(n){return Xn(n)||dG.test(n)}function Ly(n){return n===`
6
+ `||n==="\r"||n==="\t"||n==="\b"||n==="\f"}function p(n,r){let f=n.charCodeAt(r);return f===32||f===10||f===9||f===13}function Ny(n,r){let f=n.charCodeAt(r);return f===32||f===9||f===13}function _y(n,r){let f=n.charCodeAt(r);return f===160||f===6158||f>=8192&&f<=8203||f===8239||f===8287||f===12288||f===65279}function Xn(n){return mr(n)||Tn(n)}function mr(n){return n==='"'||n==="“"||n==="”"}function Vr(n){return n==='"'}function Tn(n){return n==="'"||n==="‘"||n==="’"||n==="`"||n==="´"}function Br(n){return n==="'"}function $n(n,r){let f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,y=n.lastIndexOf(r);return y!==-1?n.substring(0,y)+(f?"":n.substring(y+1)):n}function B(n,r){let f=n.length;if(!p(n,f-1))return n+r;while(p(n,f-1))f--;return n.substring(0,f)+r+n.substring(f)}function my(n,r,f){return n.substring(0,r)+n.substring(r+f)}function Vy(n){return/[,\n][ \t\r]*$/.test(n)}var ar,Lr,dG;var By=E(()=>{ar=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Lr=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;dG=/^[[{\w-]$/});function Tr(n){let r=0,f="";if($(["```","[```","{```"]),!o())Xo();$(["```","```]","```}"]);let w=Q(",");if(w)G();if(_r(n[r])&&Vy(f)){if(!w)f=B(f,",");m()}else if(w)f=$n(f,",");while(n[r]==="}"||n[r]==="]")r++,G();if(r>=n.length)return f;Mo();function o(){G();let F=h()||D()||a()||U()||Gr()||jn(!1)||So();return G(),F}function G(){let F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,M=r,k=v(F);do if(k=A(),k)k=v(F);while(k);return r>M}function v(F){let M=F?p:Ny,k="";while(!0)if(M(n,r))k+=n[r],r++;else if(_y(n,r))k+=" ",r++;else break;if(k.length>0)return f+=k,!0;return!1}function A(){if(n[r]==="/"&&n[r+1]==="*"){while(r<n.length&&!PG(n,r))r++;return r+=2,!0}if(n[r]==="/"&&n[r+1]==="/"){while(r<n.length&&n[r]!==`
7
+ `)r++;return!0}return!1}function $(F){if(J(F)){if(hr(n[r]))while(r<n.length&&Rr(n[r]))r++;return G(),!0}return!1}function J(F){v(!0);for(let M of F){let k=r+M.length;if(n.slice(r,k)===M)return r=k,!0}return!1}function Q(F){if(n[r]===F)return f+=n[r],r++,!0;return!1}function Z(F){if(n[r]===F)return r++,!0;return!1}function H(){return Z("\\")}function Y(){if(G(),n[r]==="."&&n[r+1]==="."&&n[r+2]===".")return r+=3,G(),Z(","),!0;return!1}function h(){if(n[r]==="{"){if(f+="{",r++,G(),Z(","))G();let F=!0;while(r<n.length&&n[r]!=="}"){let M;if(!F){if(M=Q(","),!M)f=B(f,",");G()}else M=!0,F=!1;if(Y(),!(a()||jn(!0))){if(n[r]==="}"||n[r]==="{"||n[r]==="]"||n[r]==="["||n[r]===void 0)f=$n(f,",");else ko();break}G();let Rn=Q(":"),fn=r>=n.length;if(!Rn)if(_r(n[r])||fn)f=B(f,":");else uf();if(!o())if(Rn||fn)f+="null";else uf()}if(n[r]==="}")f+="}",r++;else f=B(f,"}");return!0}return!1}function D(){if(n[r]==="["){if(f+="[",r++,G(),Z(","))G();let F=!0;while(r<n.length&&n[r]!=="]"){if(!F){if(!Q(","))f=B(f,",")}else F=!1;if(Y(),!o()){f=$n(f,",");break}}if(n[r]==="]")f+="]",r++;else f=B(f,"]");return!0}return!1}function m(){let F=!0,M=!0;while(M){if(!F){if(!Q(","))f=B(f,",")}else F=!1;M=o()}if(!M)f=$n(f,",");f=`[
8
+ ${f}
9
+ ]`}function a(){let F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,k=n[r]==="\\";if(k)r++,k=!0;if(Xn(n[r])){let Rn=Vr(n[r])?Vr:Br(n[r])?Br:Tn(n[r])?Tn:mr,fn=r,Yn=f.length,j='"';r++;while(!0){if(r>=n.length){let R=xf(r-1);if(!F&&Mn(n.charAt(R)))return r=fn,f=f.substring(0,Yn),a(!0);return j=B(j,'"'),f+=j,!0}if(r===M)return j=B(j,'"'),f+=j,!0;if(Rn(n[r])){let R=r,Cr=j.length;if(j+='"',r++,f+=j,G(!1),F||r>=n.length||Mn(n[r])||Xn(n[r])||nn(n[r]))return t(),!0;let z=xf(R-1),ef=n.charAt(z);if(ef===",")return r=fn,f=f.substring(0,Yn),a(!1,z);if(Mn(ef))return r=fn,f=f.substring(0,Yn),a(!0);f=f.substring(0,Yn),r=R+1,j=`${j.substring(0,Cr)}\\${j.substring(Cr)}`}else if(F&&Nr(n[r])){if(n[r-1]===":"&&ar.test(n.substring(fn+1,r+2)))while(r<n.length&&Lr.test(n[r]))j+=n[r],r++;return j=B(j,'"'),f+=j,t(),!0}else if(n[r]==="\\"){let R=n.charAt(r+1);if(GG[R]!==void 0)j+=n.slice(r,r+2),r+=2;else if(R==="u"){let z=2;while(z<6&&Ry(n[r+z]))z++;if(z===6)j+=n.slice(r,r+6),r+=6;else if(r+z>=n.length)r=n.length;else Zo()}else if(R===`
10
+ `)j+="\\n",r+=2;else j+=R,r+=2}else{let R=n.charAt(r);if(R==='"'&&n[r-1]!=="\\")j+=`\\${R}`,r++;else if(Ly(R))j+=oG[R],r++;else{if(!ay(R))Jo(R);j+=R,r++}}if(k)H()}}return!1}function t(){let F=!1;G();while(n[r]==="+"){F=!0,r++,G(),f=$n(f,'"',!0);let M=f.length;if(a())f=my(f,M,1);else f=B(f,'"')}return F}function U(){let F=r;if(n[r]==="-"){if(r++,hn())return Pr(F),!0;if(!nn(n[r]))return r=F,!1}while(nn(n[r]))r++;if(n[r]==="."){if(r++,hn())return Pr(F),!0;if(!nn(n[r]))return r=F,!1;while(nn(n[r]))r++}if(n[r]==="e"||n[r]==="E"){if(r++,n[r]==="-"||n[r]==="+")r++;if(hn())return Pr(F),!0;if(!nn(n[r]))return r=F,!1;while(nn(n[r]))r++}if(!hn())return r=F,!1;if(r>F){let M=n.slice(F,r),k=/^0\d/.test(M);return f+=k?`"${M}"`:M,!0}return!1}function Gr(){return I("true","true")||I("false","false")||I("null","null")||I("True","true")||I("False","false")||I("None","null")}function I(F,M){if(n.slice(r,r+F.length)===F)return f+=M,r+=F.length,!0;return!1}function jn(F){let M=r;if(hr(n[r])){while(r<n.length&&Rr(n[r]))r++;let k=r;while(p(n,k))k++;if(n[k]==="("){if(r=k+1,o(),n[r]===")"){if(r++,n[r]===";")r++}return!0}}while(r<n.length&&!Nr(n[r])&&!Xn(n[r])&&(!F||n[r]!==":"))r++;if(n[r-1]===":"&&ar.test(n.substring(M,r+2)))while(r<n.length&&Lr.test(n[r]))r++;if(r>M){while(p(n,r-1)&&r>0)r--;let k=n.slice(M,r);if(f+=k==="undefined"?"null":JSON.stringify(k),n[r]==='"')r++;return!0}}function So(){if(n[r]==="/"){let F=r;r++;while(r<n.length&&(n[r]!=="/"||n[r-1]==="\\"))r++;return r++,f+=JSON.stringify(n.substring(F,r)),!0}}function xf(F){let M=F;while(M>0&&p(n,M))M--;return M}function hn(){return r>=n.length||Mn(n[r])||p(n,r)}function Pr(F){f+=`${n.slice(F,r)}0`}function Jo(F){throw new c(`Invalid character ${JSON.stringify(F)}`,r)}function Mo(){throw new c(`Unexpected character ${JSON.stringify(n[r])}`,r)}function Xo(){throw new c("Unexpected end of json string",n.length)}function ko(){throw new c("Object key expected",r)}function uf(){throw new c("Colon expected",r)}function Zo(){let F=n.slice(r,r+6);throw new c(`Invalid unicode character "${F}"`,r)}}function PG(n,r){return n[r]==="*"&&n[r+1]==="/"}var oG,GG;var Ty=E(()=>{hy();By();oG={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},GG={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
11
+ `,r:"\r",t:"\t"}});var ly=E(()=>{Ty()});function vG(n){let r=n.match(CG);if(!r)return;let[,f,y]=r,w=y.trim();if(!w)return;let o=w[0];if(o==='"'||o==="{"||o==="["||w==="true"||w==="false"||w==="null"||Number.isFinite(Number(w)))return;return JSON.parse(`{"${f}":${JSON.stringify(w)}}`)}function Oy(n){if(typeof n!=="string")return n;let r=n.trimStart();if(r[0]!=="{"&&r[0]!=="[")return n;for(let f of $G)try{let y=f(r);if(y!==void 0)return y}catch{}return n}function xy(n){let r=new WeakSet;try{return JSON.stringify(n,(y,w)=>{if(typeof w==="bigint")return w.toString();if(w&&typeof w==="object"){if(r.has(w))return"[Circular]";r.add(w)}return w})??"null"}catch{return String(n)}}function uy(n){try{return JSON.parse(n)}catch{return}}var CG,$G;var ey=E(()=>{ly();CG=/^\{\s*"([A-Za-z0-9_.$-]+)"\s*:\s*([\s\S]+?)\s*\}$/;$G=[(n)=>JSON.parse(n),(n)=>JSON.parse(Tr(n)),vG]});function HG(n){let r=n.replaceAll("\\","/"),f=r.lastIndexOf("/");return(f>=0?r.slice(f+1):r).toLowerCase()}function sy(n){return n==="win32"?"powershell":"/bin/bash"}function Iy(n,r){let f=HG(n);if(f==="powershell"||f==="powershell.exe"||f==="pwsh"||f==="pwsh.exe")return["-NoProfile","-NonInteractive","-Command",r];if(f==="cmd"||f==="cmd.exe")return["/d","/s","/c",r];return["-c",r]}function qy(n){return n.toLowerCase().replace(/[^\w.-]+/g,"_")}function lr(n,r){if(n.length<=r)return n;return`${n.slice(0,r-1)}…`}function iy(n,r="/",f=100){if(!n||n.length<=f)return n||"";let y=n.split(r)?.shift()?.trim()?.slice(0,f-1);return y?`${y}…`:lr(n,f)}function ty(n){if(n.length<=8)return"****";return`${n.slice(0,4)}...${n.slice(-4)}`}function zy(n){if(!n)return"(unknown-date)";let r=new Date(n);if(Number.isNaN(r.getTime()))return n;return r.toLocaleString("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!0})}function cy(n){let r=Math.max(0,Math.floor(n/1000)),f=Math.floor(r/86400),y=Math.floor(r%86400/3600),w=Math.floor(r%3600/60),o=r%60;if(f>0)return`${f}d ${y}h`;if(y>0)return`${y}h ${w}m`;if(w>0)return`${w}m ${o}s`;return`${o}s`}import{z as py}from"zod";function nw(n,r){let f=n.safeParse(r);if(!f.success)throw Error(py.prettifyError(f.error));return f.data}function ln(n){return py.toJSONSchema(n)}var Or=()=>{};var rw=`You are Cline, an AI coding agent. Your primary goal is to assist users with various coding tasks by leveraging your knowledge and the tools at your disposal. Given the user's prompt, you should use the tools available to you to answer user's question.
12
+
13
+ Always gather all the necessary context before starting to work on a task. For example, if you are generating a unit test or new code, make sure you understand the requirement, the naming conventions, frameworks and libraries used and aligned in the current codebase, and the environment and commands used to run and test the code etc. Always validate the new unit test at the end including running the code if possible for live feedback.
14
+ Review each question carefully and answer it with detailed, accurate information.
15
+ If you need more information, use one of the available tools or ask for clarification instead of making assumptions or lies.
16
+
17
+ Environment you are running in:
18
+ <env>
19
+ 1. Platform: {{PLATFORM_NAME}}
20
+ 2. Date: {{CURRENT_DATE}}
21
+ 3. IDE: {{IDE_NAME}}
22
+ 4. Working Directory: {{CWD}}
23
+ </env>
24
+
25
+ Remember:
26
+ - Always adhere to existing code conventions and patterns.
27
+ - Use only libraries and frameworks that are confirmed to be in use in the current codebase.
28
+ - Provide complete and functional code without omissions or placeholders.
29
+ - Be explicit about any assumptions or limitations in your solution.
30
+ - Always show your planning process before executing any task. This will help ensure that you have a clear understanding of the requirements and that your approach aligns with the user's needs.
31
+ - Always use absolute paths when referring to files.
32
+ - Always verify the files you have edited or created at the end of the task to ensure they are completed and working as expected.
33
+
34
+ Begin by analyzing the user's input and gathering any necessary additional context. Then, present your plan at the start of your response along with tool calls before proceeding with the task. It's OK for this section to be quite long.
35
+
36
+ REMEMBER, be helpful and proactive! Don't ask for permission to do something when you can do it! Do not indicates you will be using a tool unless you are actually going to use it.
37
+
38
+ IMPORTANT: Always includes tool calls in your response until the task is completed. Response without tool calls will considered as completed with final answer.
39
+
40
+ When you have completed the task, please provide a summary of what you did and any relevant information that the user should know. This will help ensure that the user understands the changes made and can easily follow up if they have any questions or need further assistance. Do not indicate that you will perform an action without actually doing it. Always provide the final result in your response. Always validate your answer with checking the code and running it if possible.
41
+
42
+ If user asked a simple question without any coding context, answer it directly without using any tools.
43
+ {{CLINE_RULES}}
44
+ {{CLINE_METADATA}}`,fw=`You are Cline, a careful and helpful coding agent that works in the background.
45
+ You are tasked to solve an issue reported by the user who you cannot communicate with directly.
46
+ Your goal is to utilize the tools at your disposal to investigate and answer the question according to user's instructions with the aim to verify that the issue is resolved.
47
+
48
+ RULES:
49
+ - Always adhere to existing code conventions and patterns.
50
+ - Use only libraries and frameworks that are confirmed and compatible to be in use in the current codebase.
51
+ - Provide complete and functional code without omissions or placeholders.
52
+ - Always show your planning process before executing any task. This will help ensure that you have a clear understanding of the requirements and that your approach aligns with the user's request.
53
+ - Always use absolute paths when referring to files.
54
+ - Always verify the files you have edited or created at the end of the task to ensure they are completed and working as expected.
55
+
56
+ Environment you are running in:
57
+ <env>
58
+ 1. Platform: {{PLATFORM_NAME}}
59
+ 2. Date: {{CURRENT_DATE}}
60
+ 3. IDE: {{IDE_NAME}}
61
+ 4. Working Directory: {{CWD}}
62
+ </env>
63
+
64
+ IMPORTANT:
65
+ When the user describes a bug, unexpected behavior, or provides a bug report, your primary goal is to produce a correct fix in the source code that resolves the issue.
66
+ A correct fix means the underlying behavior is fixed — not just the symptoms addressed superficially.
67
+ After applying your fix, you must run the relevant test suite to confirm your changes actually resolve the problem. If tests fail, analyze the failures, revise your fix, and re-run until tests pass.
68
+ Do not consider the task complete until tests pass.
69
+ Always includes tool calls in your response until the task is completed. You should only end the task when all the requirements are met by calling the 'submit_and_exit' tool.
70
+ Response without the submit_and_exit tool call will considered not completed and the task will continue.
71
+ {{CLINE_RULES}}
72
+ {{CLINE_METADATA}}`;function ww(n){return JSON.stringify({workspaces:{[n.rootPath]:{hint:n.hint,associatedRemoteUrls:n.associatedRemoteUrls,latestGitCommitHash:n.latestGitCommitHash,latestGitBranchName:n.latestGitBranchName}}},null,2)}function yw(n,r,f){if(f?.trim()?.includes(xr))return f.trim();let y=f||JSON.stringify({workspaces:{[n]:{hint:r||n.split("/").at(-1)||n}}},null,2);return`
73
+ ${xr}
74
+ ${y}`}function dw(n){let{ide:r="Terminal Shell",mode:f,platform:y="unknown",workspaceName:w,metadata:o,rules:G,overridePrompt:v,providerId:A}=n,$=n.workspaceRoot??n.rootPath??"",J=A==="cline";if(v?.trim()){let Z=v.trim();if(J&&o?.trim()&&!Z.includes(xr))return`${Z}
75
+
76
+ ${yw($,w,o)}`.trim();return Z}return(f==="yolo"?fw:rw).replace("{{PLATFORM_NAME}}",y).replace("{{CWD}}",$).replace("{{CURRENT_DATE}}",new Date().toLocaleDateString()).replace("{{IDE_NAME}}",r).replace("{{CLINE_METADATA}}",J?yw($,w,o):"").replace("{{CLINE_RULES}}",G||"").trim()}var xr="# Workspace Configuration";var ow=()=>{};var Gw="remote://";import{z as P}from"zod";var ur,er,sr,Ir,qr,ir,tr,zr,cr,pr,nf,rf,ff,KG,yf,wf,On,kn,df,of,Pw,Cw;var vw=E(()=>{ur=P.object({id:P.string(),temperature:P.number().optional(),isR1FormatRequired:P.boolean().optional(),maxTokens:P.number().optional(),contextWindow:P.number().optional(),inputPrice:P.number().optional(),outputPrice:P.number().optional(),supportsImages:P.boolean().optional()}),er=P.object({models:P.array(ur).optional(),openAiBaseUrl:P.string().optional(),openAiHeaders:P.record(P.string(),P.string()).optional(),azureApiVersion:P.string().optional(),azureIdentity:P.boolean().optional()}),sr=P.object({id:P.string(),thinkingBudgetTokens:P.number().optional()}),Ir=P.object({name:P.string(),baseModelId:P.string(),thinkingBudgetTokens:P.number().optional()}),qr=P.object({models:P.array(sr).optional(),customModels:P.array(Ir).optional(),awsRegion:P.string().optional(),awsUseCrossRegionInference:P.boolean().optional(),awsUseGlobalInference:P.boolean().optional(),awsBedrockUsePromptCache:P.boolean().optional(),awsBedrockEndpoint:P.string().optional()}),ir=P.object({id:P.string()}),tr=P.object({models:P.array(ir).optional()}),zr=P.object({id:P.string(),thinkingBudgetTokens:P.number().optional()}),cr=P.object({models:P.array(zr).optional(),vertexProjectId:P.string().optional(),vertexRegion:P.string().optional()}),pr=P.object({id:P.string(),thinkingBudgetTokens:P.number().optional(),promptCachingEnabled:P.boolean().optional()}),nf=P.object({models:P.array(pr).optional(),baseUrl:P.string().optional()}),rf=P.object({id:P.string(),thinkingBudgetTokens:P.number().optional()}),ff=P.object({models:P.array(rf).optional(),baseUrl:P.string().optional()}),KG=P.object({OpenAiCompatible:er.optional(),AwsBedrock:qr.optional(),Cline:tr.optional(),Vertex:cr.optional(),LiteLLM:nf.optional(),Anthropic:ff.optional()}),yf=P.object({id:P.string()}),wf=P.object({name:P.string(),url:P.string(),alwaysEnabled:P.boolean().optional(),headers:P.record(P.string(),P.string()).optional()}),On=P.object({alwaysEnabled:P.boolean(),name:P.string(),contents:P.string()}),kn=P.object({bucket:P.string(),accessKeyId:P.string(),secretAccessKey:P.string(),region:P.string().optional(),endpoint:P.string().optional(),accountId:P.string().optional()}),df=P.object({enabled:P.boolean().optional(),type:P.union([P.literal("s3_access_keys"),P.literal("r2_access_keys"),P.literal("azure_access_keys")]).optional(),s3AccessSettings:kn.optional(),r2AccessSettings:kn.optional(),azureAccessSettings:kn.optional()}),of=P.object({promptUploading:df.optional()}),Pw=P.object({version:P.string(),providerSettings:KG.optional(),telemetryEnabled:P.boolean().optional(),kanbanEnabled:P.boolean().optional(),mcpMarketplaceEnabled:P.boolean().optional(),allowedMCPServers:P.array(yf).optional(),remoteMCPServers:P.array(wf).optional(),blockPersonalRemoteMCPServers:P.boolean().optional(),yoloModeAllowed:P.boolean().optional(),openTelemetryEnabled:P.boolean().optional(),openTelemetryMetricsExporter:P.string().optional(),openTelemetryLogsExporter:P.string().optional(),openTelemetryOtlpProtocol:P.string().optional(),openTelemetryOtlpEndpoint:P.string().optional(),openTelemetryOtlpHeaders:P.record(P.string(),P.string()).optional(),openTelemetryOtlpMetricsProtocol:P.string().optional(),openTelemetryOtlpMetricsEndpoint:P.string().optional(),openTelemetryOtlpMetricsHeaders:P.record(P.string(),P.string()).optional(),openTelemetryOtlpLogsProtocol:P.string().optional(),openTelemetryOtlpLogsEndpoint:P.string().optional(),openTelemetryOtlpLogsHeaders:P.record(P.string(),P.string()).optional(),openTelemetryMetricExportInterval:P.number().optional(),openTelemetryOtlpInsecure:P.boolean().optional(),openTelemetryLogBatchSize:P.number().optional(),openTelemetryLogBatchTimeout:P.number().optional(),openTelemetryLogMaxQueueSize:P.number().optional(),enterpriseTelemetry:of.optional(),globalRules:P.array(On).optional(),globalWorkflows:P.array(On).optional()}),Cw=P.record(P.string(),P.string())});var $w=25463,Hw=25466,Kw=4317,Fw="127.0.0.1:4317";import Gf from"zod";var Ew,bw,Aw;var Yw=E(()=>{Ew=Gf.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth"]),bw=Gf.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),Aw=Gf.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"])});var Sw="runtime.team.progress.v1",Jw="runtime.team.lifecycle.v1";import{basename as FG}from"node:path";function Mw(n){let r=n?.trim().toLowerCase();if(r==="development"||r==="production")return r;return}function EG(n){for(let r=0;r<n.length;r+=1){let f=n[r]?.trim();if(!f)continue;if(f==="--conditions"&&n[r+1]?.trim()==="development")return!0;if(f.startsWith("--conditions=")&&f.slice(13).split(",").map((y)=>y.trim()).includes("development"))return!0}return!1}function bG(n){if(!n?.trim())return!1;let r=FG(n).toLowerCase();return r==="node"||r==="node.exe"||r==="bun"||r==="bun.exe"}function AG(n){return n.some((r)=>r==="--inspect"||r.startsWith("--inspect=")||r==="--inspect-brk"||r.startsWith("--inspect-brk="))}function YG(n){return n.some((r)=>r==="--enable-source-maps")}function SG(n){return n[Pf]?.trim()||"127.0.0.1"}function JG(n){let r=n[Cf]?.trim();if(!r)return;let f=Number.parseInt(r,10);return Number.isInteger(f)&&f>0?f:void 0}function MG(n){switch(n){case"rpc":return 0;case"hook":return 1;case"plugin-sandbox":return 2;case"connector":return 3;case"sandbox":return 4;default:return 9}}function xn(n={}){let r=n.env??process.env,f=n.execArgv??process.execArgv,y=Mw(r[Zn]);if(y)return y;let w=r.NODE_ENV?.trim().toLowerCase();if(w==="production")return"production";if(w==="development")return"development";return EG(f)?"development":"production"}function Xw(n=process.env,r={}){if(Mw(n[Zn]))return n;return{...n,[Zn]:xn({env:n,execArgv:r.execArgv})}}function kw(n,r={}){if(n.length===0||!bG(n[0]))return[...n];if(xn(r)!=="development")return[...n];let f=r.env??process.env,y=[...f.NODE_OPTIONS?.split(/\s+/).filter(Boolean)??[],...n.slice(1)],w=[];if(!AG(y)){let o=SG(f),G=JG(f),v=G===void 0?0:G+MG(r.debugRole);w.push(`--inspect=${o}:${v}`)}if(!YG(y))w.push("--enable-source-maps");return[n[0],...w,...n.slice(1)]}var Zn="CLINE_BUILD_ENV",Pf="CLINE_DEBUG_HOST",Cf="CLINE_DEBUG_PORT_BASE";var Zw=()=>{};function Dw(n=process.env){return n.CLINE_RUN_AS_HUB_DAEMON==="1"}var Qw="CLINE_RUN_AS_HUB_DAEMON";function Ww(n){let r={};if(!n)return r;try{n.split(",").forEach((f)=>{let y=f.indexOf("=");if(y<=0)return;let w=decodeURIComponent(f.substring(0,y).trim()),o=decodeURIComponent(f.substring(y+1).trim());if(!w||!o)return;r[w]=o})}catch{}return r}function XG(){return{enabled:process?.env?.OTEL_TELEMETRY_ENABLED==="1"||process?.env?.OTEL_TELEMETRY_ENABLED==="true",metricsExporter:process?.env?.OTEL_METRICS_EXPORTER||"otlp",logsExporter:process?.env?.OTEL_LOGS_EXPORTER||"otlp",tracesExporter:process?.env?.OTEL_TRACES_EXPORTER,otlpProtocol:process?.env?.OTEL_EXPORTER_OTLP_PROTOCOL||"http/json",otlpEndpoint:process?.env?.OTEL_EXPORTER_OTLP_ENDPOINT,metricExportInterval:process?.env?.OTEL_METRIC_EXPORT_INTERVAL?Number.parseInt(process?.env?.OTEL_METRIC_EXPORT_INTERVAL,10):void 0,otlpHeaders:process?.env?.OTEL_EXPORTER_OTLP_HEADERS?Ww(process?.env?.OTEL_EXPORTER_OTLP_HEADERS):void 0}}function vf(n={}){return{extension_version:"unknown",cline_type:"unknown",platform:"terminal",platform_version:process?.version||"unknown",os_type:process?.platform||"unknown",os_version:process?.platform==="win32"?process?.env?.OS??"unknown":"unknown",...n}}function Uw(n={}){return{...XG(),...n,metadata:vf(n.metadata)}}var gw=()=>{};function jw(n){let r=n?.trim();return r?r:void 0}function hw(n,r){if(!n)return;let f=typeof n==="function"?n(r):n;if(!f)return;let y=jw(f.rootSessionId);if(!y)return;return{rootSessionId:y}}function Rw(n){return jw(n?.rootSessionId)}import{customAlphabet as kG}from"nanoid";function aw(n="",r=""){let f=kG("1234567890abcdefghijklmnopqrstuvwxyz",10);return`${n}${Date.now()}_${f(5)}${r}`}var Lw=()=>{};var Nw;var _w=E(()=>{Nw=["running","completed","failed","cancelled"]});function Hf(n){return typeof n==="string"&&ZG.has(n)}function mw(n){if(!Array.isArray(n))return;let r=n.map((f)=>typeof f==="string"?f.trim():"").filter(Hf);return[...new Set(r)]}function Vw(n,r){return new Set(n??$f).has(r)}var un,$f,ZG;var Bw=E(()=>{un=["rules","skills","workflows","plugins"],$f=un,ZG=new Set(un)});import{z as O}from"zod";function QG(){return{workspaces:{}}}function DG(n,r){let f={...n,workspaces:{...n.workspaces,[r.rootPath]:r}};if(!f.currentWorkspacePath)f.currentWorkspacePath=r.rootPath;return lw.parse(f)}var Tw,lw;var Ow=E(()=>{Tw=O.object({rootPath:O.string().min(1),hint:O.string().min(1).optional(),associatedRemoteUrls:O.array(O.string().min(1)).optional(),latestGitCommitHash:O.string().min(1).optional(),latestGitBranchName:O.string().min(1).optional()}),lw=O.object({currentWorkspacePath:O.string().min(1).optional(),workspaces:O.record(O.string().min(1),Tw)})});import{z as d}from"zod";function g(n){return d.preprocess((r)=>r===null?void 0:r,n.optional())}var xw,WG=3600000,UG=240,gG=400,x,Hn,uw,en,jG,hG,RG,aG,LG,NG,_G,mG,VG,BG,TG,lG,OG,xG,uG,eG,sG,IG,qG,iG,tG,zG,cG,ew,pG,nP,sw,rP,fP,yP,wP,dP,oP,GP,PP,CP,vP,$P,HP;var Iw=E(()=>{xw=["current_state","boundary_analysis","interface_proposal"],x=d.preprocess((n)=>n instanceof Date?n.toISOString():n,d.string().datetime()),Hn=d.enum(["pending","in_progress","blocked","completed"]),uw=d.enum(["queued","running","completed","failed","cancelled","interrupted"]),en=d.enum(["draft","in_review","finalized"]),jG=d.object({agentId:d.string(),role:d.enum(["lead","teammate"]),description:d.string().optional(),status:d.enum(["idle","running","stopped"])}),hG=d.object({agentId:d.string(),rolePrompt:d.string(),modelId:d.string().optional(),maxIterations:d.number().optional()});RG=d.object({agentId:d.string().min(1).describe("Teammate identifier"),rolePrompt:d.string().min(1).describe("System prompt describing teammate role")}).strict(),aG=d.object({agentId:d.string().min(1).describe("Teammate identifier"),reason:g(d.string().min(1)).describe("Optional shutdown reason")}),LG=d.object({}),NG={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]},_G={create:["status","taskId","summary","reason"]},mG=d.object({action:d.enum(["create","list","claim","complete","block"]),title:g(d.string().min(1)).describe("Task title"),description:g(d.string().min(1)).describe("Task details"),dependsOn:g(d.array(d.string().describe("Dependency task ID"))).describe("Array of dependency task IDs"),assignee:g(d.string().min(1)).describe("Optional assignee"),status:g(d.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),taskId:g(d.string()).describe("Task ID"),summary:g(d.string().min(1)).describe("Completion summary"),reason:g(d.string().min(1)).describe("Blocking reason")}).superRefine((n,r)=>{for(let f of NG[n.action]){if(n[f]!==void 0)continue;r.addIssue({code:"custom",path:[f],message:`Field "${f}" is required when action=${n.action}`})}}),VG=d.object({agentId:d.string().describe("Teammate agent ID"),task:d.string().min(1).describe("Task instructions for the teammate"),taskId:g(d.string()).describe("Optional shared task list ID"),runMode:g(d.enum(["sync","async"])).describe("Execution mode: 'sync' blocks until the teammate finishes and returns the result (default if omitted); 'async' queues the run and returns a runId immediately — use team_await_runs to collect results later."),continueConversation:g(d.boolean()).describe("If true, continue the teammate conversation; otherwise start fresh")}),BG=d.object({status:g(d.enum(["queued","running","completed","failed","cancelled","interrupted"])).describe("Optional run status filter. Omit to include all statuses."),agentId:g(d.string().min(1)).describe("Optional teammate ID filter. Omit to include all teammates."),includeCompleted:g(d.boolean()).describe("Include completed/failed runs (default true)")}),TG=d.object({runId:d.string().min(1).describe("Run ID"),reason:g(d.string().min(1)).describe("Optional cancellation reason")}),lG=d.object({runId:g(d.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),OG=d.object({toAgentId:d.string().min(1).describe("Recipient agent ID"),subject:d.string().min(1).describe("Message subject"),body:d.string().min(1).describe("Message body"),taskId:g(d.string().min(1)).describe("Optional task ID context")}),xG=d.object({subject:d.string().min(1).describe("Message subject"),body:d.string().min(1).describe("Message body"),taskId:g(d.string().min(1)).describe("Optional task ID context")}),uG=d.object({unreadOnly:g(d.boolean()).describe("Only unread messages for read action (default true)")}),eG=d.object({kind:d.enum(["progress","handoff","blocked","decision","done","error"]),summary:d.string().min(1).describe("Update summary"),taskId:g(d.string().min(1)).describe("Optional task ID context"),evidence:g(d.array(d.string().min(1))).describe("Optional evidence links/snippets"),nextAction:g(d.string().min(1)).describe("Planned next step")}),sG=d.object({}),IG=d.object({title:d.string().describe("Outcome title"),requiredSections:d.array(d.string()).default(xw).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),qG=d.object({outcomeId:d.string().describe("Outcome ID"),section:d.string().describe("Section name"),sourceRunId:g(d.string()).describe("Optional source run ID"),content:d.string().describe("Section fragment content")}),iG=d.object({fragmentId:d.string().describe("Fragment ID"),approved:d.boolean().describe("Review decision")}),tG=d.object({outcomeId:d.string().describe("Outcome ID")}),zG=d.object({}),cG=d.object({teamId:d.string(),teamName:d.string(),members:d.array(jG),taskCounts:d.record(Hn,d.number()),unreadMessages:d.number(),missionLogEntries:d.number(),activeRuns:d.number(),queuedRuns:d.number(),outcomeCounts:d.record(en,d.number())}),ew=d.object({id:d.string(),title:d.string(),description:d.string(),status:Hn,createdAt:x,updatedAt:x,createdBy:d.string(),assignee:d.string().optional(),dependsOn:d.array(d.string()),summary:d.string().optional(),isReady:d.boolean(),blockedBy:d.array(d.string())}),pG=d.discriminatedUnion("action",[d.object({action:d.literal("create"),taskId:d.string(),status:Hn,ignoredFields:d.array(d.string()).optional(),note:d.string().optional()}),d.object({action:d.literal("list"),tasks:d.array(ew)}),d.object({action:d.literal("claim"),taskId:d.string(),status:Hn,nextStep:d.string()}),d.object({action:d.literal("complete"),taskId:d.string(),status:Hn}),d.object({action:d.literal("block"),taskId:d.string(),status:Hn})]),nP=d.object({agentId:d.string(),mode:d.enum(["sync","async"]),status:d.enum(["dispatched","running","queued","joined"]),dispatched:d.boolean(),message:d.string(),deduped:d.boolean().optional(),runId:d.string().optional(),text:d.string().optional(),iterations:d.number().optional()}),sw=d.object({textPreview:d.string(),iterations:d.number(),finishReason:d.string(),durationMs:d.number(),usage:d.object({inputTokens:d.number(),outputTokens:d.number(),cacheReadTokens:d.number().optional(),cacheWriteTokens:d.number().optional(),totalCost:d.number().optional()})}),rP=d.object({id:d.string(),agentId:d.string(),taskId:d.string().optional(),status:uw,messagePreview:d.string(),priority:d.number(),retryCount:d.number(),maxRetries:d.number(),nextAttemptAt:x.optional(),continueConversation:d.boolean().optional(),startedAt:x,endedAt:x.optional(),leaseOwner:d.string().optional(),heartbeatAt:x.optional(),lastProgressAt:x.optional(),lastProgressMessage:d.string().optional(),currentActivity:d.string().optional(),error:d.string().optional(),resultSummary:sw.optional()}),fP=d.object({id:d.string(),teamId:d.string(),fromAgentId:d.string(),toAgentId:d.string(),subject:d.string(),body:d.string(),taskId:d.string().optional(),sentAt:x,readAt:x.optional()}),yP=d.object({id:d.string(),teamId:d.string(),title:d.string(),status:en,requiredSections:d.array(d.string()),createdBy:d.string(),createdAt:x,finalizedAt:x.optional()}),wP=d.object({outcomeId:d.string(),status:en,requiredSections:d.array(d.string())}),dP=d.object({agentId:d.string(),status:d.string()}),oP=d.object({runId:d.string(),status:uw}),GP=d.object({id:d.string(),toAgentId:d.string()}),PP=d.object({delivered:d.number()}),CP=d.object({id:d.string()}),vP=d.object({status:d.string()}),$P=d.object({fragmentId:d.string(),status:d.string()}),HP=d.object({outcomeId:d.string(),status:en})});var qw;var iw=E(()=>{((U)=>{U.TaskStart="task_start";U.TaskEnd="task_end";U.AgentEvent="agent_event";U.TeammateSpawned="teammate_spawned";U.TeammateShutdown="teammate_shutdown";U.TeamTaskUpdated="team_task_updated";U.TeamMessage="team_message";U.TeamMissionLog="team_mission_log";U.TeamTaskCompleted="team_task_completed";U.RunStarted="run_started";U.RunQueued="run_queued";U.RunProgress="run_progress";U.RunCompleted="run_completed";U.RunFailed="run_failed";U.RunCancelled="run_cancelled";U.RunInterrupted="run_interrupted";U.OutcomeCreated="outcome_created";U.OutcomeFragmentAttached="outcome_fragment_attached";U.OutcomeFragmentReviewed="outcome_fragment_reviewed";U.OutcomeFinalized="outcome_finalized"})(qw||={})});var tw=E(()=>{Iw();iw()});import{z as KP}from"zod";function FP(n){let{$schema:r,...f}=n;if(typeof f.type==="string")return f;if("properties"in f||"required"in f||"additionalProperties"in f)return{type:"object",...f};for(let y of["oneOf","anyOf","allOf"]){let w=f[y];if(!Array.isArray(w)||w.length===0)continue;if(y==="allOf"){if(w.some((v)=>v&&typeof v==="object"&&v.type==="object"))return{type:"object",...f};throw Error('Tool inputSchema must describe an object at the top level, but the schema has a top-level "allOf" with no branch that asserts type: "object". Add type: "object" to at least one allOf branch to make the object constraint explicit.')}if(w.every((G)=>G&&typeof G==="object"&&G.type==="object"))return{type:"object",...f};throw Error(`Tool inputSchema must describe an object at the top level, but the schema has a top-level "${y}" whose branches include non-object types. Pass the strict object schema as inputSchema and reserve union/coercion schemas for use inside execute().`)}return f}function zw(n){let r=FP(n.inputSchema instanceof KP.ZodType?ln(n.inputSchema):n.inputSchema);return{name:n.name,description:n.description,inputSchema:r,lifecycle:n.lifecycle,timeoutMs:n.timeoutMs??30000,retryable:n.retryable??!0,maxRetries:n.maxRetries??3,execute:n.execute}}var cw=E(()=>{Or()});function Ff(n){return Kf.includes(n)}function pw(n,r){if(!Ff(r))return!1;let f=n instanceof Error?n.message.toLowerCase():String(n);return Ef.some((y)=>f.includes(y))}var Kf,Ef;var bf=E(()=>{Kf=["cline","oca","openai-codex"];Ef=["401","403","unauthorized","forbidden","invalid token","expired token","authentication"]});var nd=E(()=>{bf()});import{existsSync as EP,mkdirSync as bP,readFileSync as AP,writeFileSync as YP}from"node:fs";import{dirname as SP,resolve as JP}from"node:path";function kP(n){let r=n.toLowerCase();if(MP.has(r))return!0;for(let f of XP){if(r===f)return!0;if(r.endsWith(f)&&r.length>f.length){let y=r[r.length-f.length-1];if(y==="_"||y==="-")return!0;let w=n[n.length-f.length];if(w&&w===w.toUpperCase()&&w!==w.toLowerCase())return!0}if(r.endsWith(`_${f}`))return!0}return!1}function QP(n){let r=n;for(let{pattern:f,replacement:y}of ZP)r=r.replace(f,y);return r}function Af(n){let r=n;for(let{pattern:f,replacement:y}of DP)r=r.replace(f,y);return r}function sn(n){if(n===null||n===void 0)return n;if(typeof n==="string"){try{let r=JSON.parse(n);if(typeof r==="object"&&r!==null)return JSON.stringify(sn(r))}catch{}return QP(n)}if(Array.isArray(n))return n.map(sn);if(typeof n==="object"){let r={};for(let[f,y]of Object.entries(n))if(kP(f)&&(typeof y==="string"||typeof y==="number"))r[f]="REDACTED";else r[f]=sn(y);return r}return n}function WP(n){let r={...n};if(r.body)delete r.body;if(typeof r.path==="string")r.path=Af(r.path);if(r.response!==void 0)r.response=sn(r.response);return r}function rd(n){try{let r=new URL(n),f=`${r.protocol}//${r.host}`,y=r.pathname+r.search;return{scope:f,path:y}}catch{return{scope:"",path:n}}}function fd(n){if(typeof n==="string")return n;if(n instanceof URL)return n.toString();if(n&&typeof n.url==="string")return n.url;return String(n)}function yd(n,r){if(r?.method)return r.method.toUpperCase();if(n&&typeof n.method==="string")return n.method.toUpperCase();return"GET"}function UP(n){if(!n)return null;if(!process.env.CLINE_VCR_CASSETTE)return process.stderr.write(`[VCR] No CLINE_VCR_CASSETTE: requests will not be recorded or played back.
77
+ `),null;if(n!=="record"&&n!=="playback")process.stderr.write(`[VCR] Invalid CLINE_VCR value: "${n}". Expected "record" or "playback".
78
+ `),process.exit(1);let r=JP(process.env.CLINE_VCR_CASSETTE),f=process.env.CLINE_VCR_FILTER??"";return{mode:n,cassettePath:r,filter:f}}function gP(n,r){let f=[],y=[],w=globalThis.fetch;function o($){if($.finalized)return;$.finalized=!0;let J=new TextDecoder,Q=$.chunks.map((H)=>J.decode(H,{stream:!0})).join("")+J.decode(),Z;try{Z=JSON.parse(Q)}catch{Z=Q}f.push({scope:$.scope,method:$.method,path:$.path,body:$.body,status:$.status,response:Z,responseIsBinary:!1,contentType:$.contentType})}globalThis.fetch=Object.assign(async($,J)=>{let Q=fd($),Z=yd($,J),{scope:H,path:Y}=rd(Q),h;if(J?.body)h=typeof J.body==="string"?J.body:J.body instanceof ArrayBuffer?new TextDecoder().decode(J.body):void 0;else if($ instanceof Request)try{h=await $.clone().text()}catch{}let D=await w($,J);if(r&&!Y.includes(r))return D;let m=D.headers.get("content-type")??void 0;if(!D.body)return f.push({scope:H,method:Z,path:Y,body:h??"",status:D.status,response:"",responseIsBinary:!1,contentType:m}),D;let a={scope:H,method:Z,path:Y,body:h??"",status:D.status,contentType:m,chunks:[],finalized:!1};y.push(a);let t=D.body,U=new TransformStream({transform(I,jn){a.chunks.push(I),jn.enqueue(I)},flush(){o(a)}}),Gr=t.pipeThrough(U);return new Response(Gr,{status:D.status,statusText:D.statusText,headers:D.headers})},{preconnect:($)=>{}});let G=r?`matching path "*${r}*"`:"all paths";process.stderr.write(`[VCR] Recording HTTP requests (${G}). Cassette will be saved to: ${n}
79
+ `);let v=!1;_n(()=>{if(v)return;v=!0,globalThis.fetch=w;for(let Q of y)o(Q);if(f.length===0){process.stderr.write(`[VCR] No HTTP requests${r?` matching "${r}"`:""} were recorded.
80
+ `);return}let $=SP(n);bP($,{recursive:!0});let J=f.map(WP);YP(n,JSON.stringify(J,null,2)),process.stderr.write(`[VCR] Saved ${J.length} recorded HTTP interaction(s) to ${n}
81
+ `)})}function jP(n){let r=[],f=n.split(/\n\n/);for(let y of f){let w=y.trim();if(w)r.push(`${w}
82
+
83
+ `)}return r}function hP(n,r){let f=new TextEncoder,y=0;return new ReadableStream({async pull(w){if(y>=n.length){w.close();return}if(y>0&&r>0)await new Promise((G)=>setTimeout(G,r));let o=n[y];if(o===void 0){w.close();return}w.enqueue(f.encode(o)),y+=1}})}function RP(n,r){if(!EP(n))process.stderr.write(`[VCR] Cassette file not found: ${n}
84
+ `),process.exit(1);let f=JSON.parse(AP(n,"utf-8")),y=Number.parseInt(process.env.CLINE_VCR_SSE_DELAY??"100",10),w=Array(f.length).fill(!1),o=globalThis.fetch;globalThis.fetch=Object.assign(async(v,A)=>{let $=fd(v),J=yd(v,A),{path:Q}=rd($),Z=Af(Q);if(r&&!Q.includes(r))return o(v,A);let H=f.findIndex((Y,h)=>{if(w[h])return!1;let D=Af(Y.path);return Y.method.toUpperCase()===J&&D===Z});if(H>=0){w[H]=!0;let Y=f[H];if(!Y)return o(v,A);let h=typeof Y.response==="string"?Y.response:JSON.stringify(Y.response),D=new Headers;if(Y.contentType)D.set("content-type",Y.contentType);else if(typeof Y.response==="string"&&Y.response.trimStart().startsWith("data:"))D.set("content-type","text/event-stream");else if(typeof Y.response==="object")D.set("content-type","application/json");let m=D.get("content-type")?.includes("text/event-stream")??!1;if(m)D.set("cache-control","no-cache"),D.set("connection","keep-alive");if(m&&typeof Y.response==="string"){let a=jP(Y.response);if(a.length>1){let t=hP(a,y);return new Response(t,{status:Y.status,headers:D})}}return new Response(h,{status:Y.status,headers:D})}if(!r)throw Error(`[VCR] No matching recording for ${J} ${$} (path: ${Z}). ${f.length} recording(s) loaded from ${n}.`);return o(v,A)},{preconnect:(v)=>{}});let G=r?`(only paths matching "*${r}*", all other requests go through normally)`:"(all requests intercepted)";process.stderr.write(`[VCR] Playing back ${f.length} recorded HTTP interaction(s) from ${n} ${G}
85
+ `)}function wd(n){let r=UP(n);if(!r)return;if(r.mode==="record")gP(r.cassettePath,r.filter);else RP(r.cassettePath,r.filter)}var MP,XP,ZP,DP;var dd=E(()=>{Mr();MP=new Set(["accesskeyid","secretaccesskey","idtoken","refreshtoken","accessToken","access_token","refresh_token","apikey","api_key","authorization","password","secret","token","email","displayname","display_name","userInfo"]),XP=["id","balance","cost","secret"];ZP=[{pattern:/AKIA[A-Z0-9]{16}/g,replacement:"AKIA_REDACTED"},{pattern:/\/Users\/[A-Za-z0-9._-]+/g,replacement:"/Users/REDACTED_USER"},{pattern:/\/home\/[A-Za-z0-9._-]+/g,replacement:"/home/REDACTED_USER"}];DP=[{pattern:/tasks\/[A-Za-z0-9._-]+\/[A-Za-z0-9._-]+\/api_conversation_history/g,replacement:"tasks/usr-test/taskid/api_conversation_history"},{pattern:/\/(org|usr|mbr|ses|gen|req|msg|tsk|sch|exe|srv|cli|wkr|evt|sub|tkn)-[A-Za-z0-9]{10,}(?=[/?#]|$)/g,replacement:"/$1-REDACTED"}]});var od={};l(od,{zodToJsonSchema:()=>ln,xmlTagsRemoval:()=>Wr,withResolvedClineBuildEnv:()=>Xw,validateWithZod:()=>nw,upsertWorkspaceInfo:()=>DG,truncateStr:()=>lr,truncateSplit:()=>iy,toAiSdkToolResultOutput:()=>gr,serializeAbortReason:()=>Wy,sanitizeFileName:()=>qy,safeJsonStringify:()=>xy,safeJsonParse:()=>uy,resolveRootSessionId:()=>Rw,resolveReasoningEffortRatio:()=>jr,resolveReasoningBudgetFromRatio:()=>Zy,resolveHubCommandTimeoutMs:()=>so,resolveHookSessionContext:()=>hw,resolveEffectiveReasoningEffort:()=>ky,resolveClineBuildEnv:()=>xn,registerDisposable:()=>_n,processWorkspaceInfo:()=>ww,parseUserCommandEnvelope:()=>Qr,parseRuntimeConfigExtensions:()=>mw,parseJsonStream:()=>Oy,parseHookEventPayload:()=>Hy,normalizeUserInput:()=>Dr,normalizePluginManifest:()=>Xr,noopBasicLogger:()=>gy,maskSecret:()=>ty,isRuntimeConfigExtensionKind:()=>Hf,isOAuthProviderId:()=>Ff,isLikelyAuthError:()=>pw,isHubToolExecutorName:()=>qo,isHubDaemonProcess:()=>Dw,initVcr:()=>wd,hasRuntimeConfigExtension:()=>Vw,getShellArgs:()=>Iy,getDefaultShell:()=>sy,getDefaultHubCommandTimeoutMs:()=>Fy,formatUserInputBlock:()=>Ay,formatUserCommandBlock:()=>Yy,formatUptime:()=>cy,formatMessagesForAiSdk:()=>Bn,formatHumanReadableDate:()=>zy,formatFileContentBlock:()=>Vn,formatDisplayUserInput:()=>Sy,emptyWorkspaceManifest:()=>QG,disposeAll:()=>wy,createTool:()=>zw,createSessionId:()=>aw,createContributionRegistry:()=>Py,createClineTelemetryServiceMetadata:()=>vf,createClineTelemetryServiceConfig:()=>Uw,buildClineSystemPrompt:()=>dw,augmentNodeCommandForDebug:()=>kw,WorkspaceManifestSchema:()=>lw,WorkspaceInfoSchema:()=>Tw,VertexSettingsSchema:()=>cr,VertexModelSchema:()=>zr,ToolCallRecordSchema:()=>Nn,ThinkingConfigSchema:()=>Er,TeamTeammateSpecSchema:()=>hG,TeamTaskToolResultSchema:()=>pG,TeamTaskListItemToolResultSchema:()=>ew,TeamTaskInputSchema:()=>mG,TeamStatusToolResultSchema:()=>cG,TeamStatusInputSchema:()=>LG,TeamSpawnTeammateInputSchema:()=>RG,TeamSimpleAgentStatusToolResultSchema:()=>dP,TeamShutdownTeammateInputSchema:()=>aG,TeamSendMessageToolResultSchema:()=>GP,TeamSendMessageInputSchema:()=>OG,TeamRunToolSummarySchema:()=>rP,TeamRunTaskToolResultSchema:()=>nP,TeamRunTaskInputSchema:()=>VG,TeamRunResultSummarySchema:()=>sw,TeamReviewOutcomeFragmentInputSchema:()=>iG,TeamReadMailboxInputSchema:()=>uG,TeamOutcomeToolResultSchema:()=>yP,TeamOutcomeFragmentToolResultSchema:()=>$P,TeamMissionLogToolResultSchema:()=>CP,TeamMissionLogInputSchema:()=>eG,TeamMessageType:()=>qw,TeamMailboxMessageToolResultSchema:()=>fP,TeamListRunsInputSchema:()=>BG,TeamListOutcomesInputSchema:()=>zG,TeamFinalizeOutcomeToolResultSchema:()=>HP,TeamFinalizeOutcomeInputSchema:()=>tG,TeamCreateOutcomeToolResultSchema:()=>wP,TeamCreateOutcomeInputSchema:()=>IG,TeamCleanupToolResultSchema:()=>vP,TeamCleanupInputSchema:()=>sG,TeamCancelRunToolResultSchema:()=>oP,TeamCancelRunInputSchema:()=>TG,TeamBroadcastToolResultSchema:()=>PP,TeamBroadcastInputSchema:()=>xG,TeamAwaitRunsInputSchema:()=>lG,TeamAttachOutcomeFragmentInputSchema:()=>qG,TEAM_TASK_IGNORED_FIELDS_BY_ACTION:()=>_G,TEAM_RUN_TEXT_PREVIEW_LIMIT:()=>gG,TEAM_RUN_MESSAGE_PREVIEW_LIMIT:()=>UG,TEAM_PROGRESS_EVENT_TYPE:()=>Sw,TEAM_LIFECYCLE_EVENT_TYPE:()=>Jw,TEAM_AWAIT_TIMEOUT_MS:()=>WG,SESSION_STATUS_VALUES:()=>Nw,S3AccessKeySettingsSchema:()=>kn,RemoteMCPServerSchema:()=>wf,RemoteConfigSchema:()=>Pw,ReasoningEffortSchema:()=>tf,RUNTIME_CONFIG_EXTENSION_KINDS:()=>un,REMOTE_URI_SCHEME:()=>Gw,REASONING_EFFORT_RATIOS:()=>vn,ProviderProtocolSchema:()=>bw,ProviderClientSchema:()=>Aw,ProviderCapabilitySchema:()=>Ew,PromptUploadingSchema:()=>df,PLUGIN_FILE_EXTENSIONS:()=>vy,OpenAiCompatibleSchema:()=>er,OpenAiCompatibleModelSchema:()=>ur,OAUTH_PROVIDER_IDS:()=>Kf,ModelStatusSchema:()=>Kr,ModelPricingSchema:()=>Fr,ModelInfoSchema:()=>Jn,ModelCapabilitySchema:()=>Hr,LiteLLMSchema:()=>nf,LiteLLMModelSchema:()=>pr,HookEventPayloadSchema:()=>Zr,HookEventNameSchema:()=>kr,HUB_USER_INSTRUCTIONS_SNAPSHOT_CAPABILITY:()=>rG,HUB_TOOL_EXECUTOR_NAMES:()=>Ey,HUB_TOOL_EXECUTOR_CAPABILITY_PREFIX:()=>io,HUB_MISTAKE_LIMIT_CAPABILITY:()=>nG,HUB_HOOK_CAPABILITY_PREFIX:()=>zo,HUB_DEFAULT_COMMAND_TIMEOUT_MS:()=>uo,HUB_CUSTOM_TOOL_CAPABILITY_PREFIX:()=>to,HUB_COMPACTION_CAPABILITY:()=>co,HUB_COMMAND_SLOW_LOG_MS:()=>eo,HUB_CHECKPOINT_CAPABILITY:()=>po,GlobalInstructionsFileSchema:()=>On,EnterpriseTelemetrySchema:()=>of,DEFAULT_RUNTIME_CONFIG_EXTENSIONS:()=>$f,DEFAULT_REQUEST_HEADERS:()=>Dy,DEFAULT_REASONING_EFFORT:()=>Xy,DEFAULT_OUTCOME_REQUIRED_SECTIONS:()=>xw,ContributionRegistry:()=>mn,ConnectorHookEventSchema:()=>ry,ConnectorHookEventNameSchema:()=>Yr,ConnectorEventContextSchema:()=>Jr,ConnectorEventActorSchema:()=>Sr,ConnectorAuthorizationRequestSchema:()=>pf,ConnectorAuthorizationDecisionSchema:()=>ny,ClineSettingsSchema:()=>tr,ClineModelSchema:()=>ir,CLINE_RUN_AS_HUB_DAEMON_ENV:()=>Qw,CLINE_HUB_PORT:()=>$w,CLINE_HUB_DEV_PORT:()=>Hw,CLINE_DEFAULT_RPC_PORT:()=>Kw,CLINE_DEFAULT_RPC_ADDRESS:()=>Fw,CLINE_DEBUG_PORT_BASE_ENV:()=>Cf,CLINE_DEBUG_HOST_ENV:()=>Pf,CLINE_BUILD_ENV_ENV:()=>Zn,AwsBedrockSettingsSchema:()=>qr,AwsBedrockModelSchema:()=>sr,AwsBedrockCustomModelSchema:()=>Ir,ApiFormatSchema:()=>$r,ApiFormat:()=>sf,AnthropicSchema:()=>ff,AnthropicModelSchema:()=>rf,AllowedMCPServerSchema:()=>yf,AgentUsageSchema:()=>qf,AgentResultSchema:()=>jo,AgentFinishReasonSchema:()=>If,AgentConfigSchema:()=>ho,AUTH_ERROR_PATTERNS:()=>Ef,APIKeySchema:()=>Cw});var Yf=E(()=>{fy();Mr();Cy();$y();Ky();My();br();Qy();Uy();Ar();jy();ey();Or();ow();vw();Yw();Zw();gw();Lw();_w();Bw();cw();bf();dd();cf();by();Ow();tw();nd()});function wn(n){let r=(y)=>{if(!y)return;if(typeof y==="string")try{return r(JSON.parse(y))}catch{return y.trim()||void 0}if(typeof y!=="object")return;let w=y;if(typeof w.error==="string"&&w.error.trim())return w.error;if(w.error&&typeof w.error==="object"&&typeof w.error.message==="string"&&w.error.message.trim())return w.error.message;if(typeof w.detail==="string"&&w.detail.trim())return w.detail;if(Array.isArray(w.errors))for(let o of w.errors){let G=r(o);if(G)return G}if("responseBody"in w&&w.responseBody!==y){let o=r(w.responseBody);if(o)return o}if("cause"in w&&w.cause!==y){let o=r(w.cause);if(o)return o}if(typeof w.message==="string"&&w.message.trim())return w.message;return},f=r(n);if(f)return f;return String(n)}function In(n){return n.replace(/-([a-z0-9])/gi,(r,f)=>f.toUpperCase())}function rn(){return{cache_control:{type:"ephemeral"}}}function _(n){let r=n.model.metadata?.family;return typeof r==="string"?r:void 0}function i(n){let r=typeof n.family==="string"?n.family.trim():"";if(r)return r.toLowerCase().includes("claude");return NP(n.modelId)}function NP(n){if(!n)return!1;let r=n.toLowerCase(),f=r.includes("anthropic"),y=r.includes("claude"),w=r.includes("qwen");return f||y||w}function Gd(n,r){let f={openaiCompatible:rn(),[n]:rn()},y=In(n);if(y!==n)f[y]=rn();if(r)f.anthropic=rn();return f}function Pd(n,r,f){if(!n)return;let y=n.content;if(typeof y==="string"){n.content=[{type:"text",text:y,providerOptions:Gd(r,f)}];return}if(!Array.isArray(y))return;for(let w=y.length-1;w>=0;w--){let o=y[w];if(o&&typeof o==="object"&&o.type==="text"){y[w]={...o,providerOptions:Gd(r,f)};return}}}function Qn(n,r){return i({modelId:n.modelId,family:_(r)})&&TP(r.provider)==="anthropic-automatic"}function _P(n){let r=n.model.capabilities;return!r||r.includes("reasoning")}function mP(n,r){let f=r?.toLowerCase()??"",y=n?.toLowerCase()??"";if(f.includes("opus")||y.includes("opus"))return"opus";if(f.includes("sonnet")||y.includes("sonnet"))return"sonnet";if(f.includes("haiku")||y.includes("haiku"))return"haiku";return}function VP(n){let r=n?.toLowerCase()??"",f=/claude-(\d+)[.-](\d{1,2})-(?:opus|sonnet|haiku)/i.exec(r),w=/claude-(?:opus|sonnet|haiku)-(.+)/i.exec(r)?.[1]?.match(/\d+/g)??[],o=f?.[1]??w[0],G=f?.[2]??(w[1]?.length<=2?w[1]:void 0);if(!o||!G)return;let v=Number.parseInt(o,10),A=Number.parseInt(G,10);if(!Number.isFinite(v)||!Number.isFinite(A))return;return{major:v,minor:A}}function BP(n){let r=mP(n.modelId,n.family),f=VP(n.modelId);if(!r||!f)return!1;if(f.major!==4)return f.major>4;return(r==="opus"||r==="sonnet")&&f.minor>=6}function Fn(n,r){let f=_(r);if(!i({modelId:n.modelId,family:f})||!_P(r))return{kind:"none"};return BP({modelId:n.modelId,family:f})?{kind:"anthropic-adaptive"}:{kind:"anthropic-manual"}}function TP(n){let r=n.metadata?.promptCacheStrategy;return r==="anthropic-automatic"?r:void 0}function Cd(n,r){let f=Fn(n,r),w=n.reasoning?.enabled===!0||n.reasoning?.effort!==void 0||typeof n.reasoning?.budgetTokens==="number"&&n.reasoning.budgetTokens>0?f.kind==="anthropic-adaptive"?{type:"adaptive"}:f.kind==="anthropic-manual"?{type:"enabled",budgetTokens:Sf({modelId:n.modelId,family:_(r),effort:n.reasoning?.effort,maxTokens:n.maxTokens,explicitBudgetTokens:n.reasoning?.budgetTokens})}:void 0:void 0;return{...f.kind==="anthropic-adaptive"&&n.reasoning?.effort?{effort:n.reasoning.effort}:{},...w?{thinking:w}:{},...Qn(n,r)?rn():{}}}function Sf(n){if(typeof n.explicitBudgetTokens==="number"&&n.explicitBudgetTokens>0)return n.explicitBudgetTokens;if(!n.modelId&&!n.family||!i({modelId:n.modelId,family:n.family}))return;if(!n.effort)return Kn;if(typeof n.maxTokens!=="number")return Kn;if(n.maxTokens<=Kn)return Kn;let r=LP[n.effort];if(!r)return Kn;let f=Math.min(n.maxTokens-1,aP);return Math.max(Kn,Math.floor(f*r))}function vd(n,r){let f=Fn(n,r);if(f.kind==="none"||!n.reasoning?.enabled&&!n.reasoning?.effort&&typeof n.reasoning?.budgetTokens!=="number")return;let y=Sf({modelId:n.modelId,family:_(r),effort:n.reasoning?.effort,maxTokens:n.maxTokens,explicitBudgetTokens:n.reasoning?.budgetTokens}),w={};if(n.reasoning?.enabled===!0)w.enabled=!0;if(f.kind==="anthropic-adaptive"&&n.reasoning?.effort)w.effort=n.reasoning.effort;if(typeof n.reasoning?.budgetTokens==="number")w.max_tokens=n.reasoning.budgetTokens;else if(f.kind==="anthropic-manual"&&typeof y==="number"&&y>=0)w.max_tokens=y;return Object.keys(w).length>0?w:void 0}function $d(n,r){if(n.reasoning?.enabled===void 0&&!n.reasoning?.effort&&typeof n.reasoning?.budgetTokens!=="number")return;let f=Fn(n,r);if(f.kind==="none"&&i({modelId:n.modelId,family:_(r)}))return;let y=f.kind==="anthropic-manual"?Sf({modelId:n.modelId,family:_(r),effort:n.reasoning?.effort,maxTokens:n.maxTokens,explicitBudgetTokens:n.reasoning?.budgetTokens}):n.reasoning?.budgetTokens,w={...n.reasoning?.enabled===!0?{enabled:!0}:n.reasoning?.enabled===!1?{enabled:!1}:n.reasoning?.effort?{enabled:!0}:{},...n.reasoning?.effort&&f.kind!=="anthropic-manual"?{effort:n.reasoning.effort}:{}};if(typeof y==="number"&&y>=0)w.max_tokens=y;return Object.keys(w).length>0?w:void 0}var Kn=1024,aP=128000,LP;var qn=E(()=>{LP={low:0.2,medium:0.5,high:0.8}});function tn(n,r){let f=_(r)?.toLowerCase()??"",y=n.modelId.toLowerCase();return f.includes("glm")||y.includes("glm")}function Jf(n){return n==="zai"||n==="zai-coding-plan"}function Hd(n,r){return Jf(n.providerId)&&n.reasoning?.enabled!==void 0&&!tn(n,r)||tn(n,r)&&!Jf(n.providerId)}function lP(n){if(n.reasoning?.enabled===void 0)return;return{thinking:{type:n.reasoning.enabled?"enabled":"disabled"}}}function OP(n){if(n.reasoning?.enabled===!0)return{reasoning:{enabled:!0}};if(n.reasoning?.enabled===!1)return{reasoning:{exclude:!0}};return}function Kd(n,r,f){if(Jf(n.providerId)){if(!tn(n,r))return;let w=lP(n);return w?{openaiCompatible:w,[n.providerId]:w,...f!==n.providerId?{[f]:w}:{}}:void 0}if(!tn(n,r))return;let y=OP(n);if(!y)return;return{openaiCompatible:y,[n.providerId]:y,...f!==n.providerId?{[f]:y}:{}}}var Fd=E(()=>{qn()});function eP(n){let r={};for(let f of n){if(!f)continue;for(let[y,w]of Object.entries(f))r[y]={...r[y]??{},...w}}return r}function Mf(n){let{providerId:r,providerOptionsKey:f,bucketOptions:y}=n,w=f!==r&&f!=="anthropic";return{[r]:y,...w?{[f]:y}:{}}}function sP(n){switch(n){case"openai-native":return"openai";case"anthropic":return"anthropic";case"google":case"gemini":return"google";case"vertex":return"vertex";case"bedrock":return"bedrock";case"mistral":return"mistral";case"claude-code":return"claude-code";case"openai-codex":return"openai-codex";case"opencode":return"opencode";case"dify":return"dify";default:return"openai-compatible"}}function Ed(n){let r={thinking:{type:n.thinkingType}};return{...Mf({providerId:n.providerId,providerOptionsKey:n.providerOptionsKey,bucketOptions:r}),openaiCompatible:r}}function IP(n){return n.toLowerCase().includes("moonshotai/kimi-")}function bd(n){return _(n)?.trim().toLowerCase()==="kimi-k2.6"}function qP(n){return _(n)?.trim().toLowerCase().includes("deepseek")===!0}function iP(n,r){return Ad.some((f)=>f.matches(n,r))}function tP(n,r){let f=Ad.find((w)=>w.matches(n,r));if(!f)return;let y=n.reasoning?.enabled;if(y===!0)return"enabled";if(y===!1)return"disabled";return f.defaultWhenUnset}function zP(n,r){if(Hd(n,r)||iP(n,r))return{};if(n.reasoning?.enabled!==!0)return{};let y=i({modelId:n.modelId,family:_(r)})?Fn(n,r):void 0;if(y&&y.kind!=="anthropic-adaptive")return{};return{thinking:{type:"adaptive"}}}function cP(n){let r=n.reasoning?.effort;if(!r||n.reasoning?.enabled===!1)return{};if(!(!n.isAnthropicCompatibleModelId||n.anthropicReasoningPolicyKind==="anthropic-adaptive"))return{};return{effort:r,reasoningEffort:r,...n.isAnthropicCompatibleModelId?{}:{reasoningSummary:"auto"}}}function Yd(n){return["openai-native","openai","openai-codex"].includes(n.providerId)?{truncation:"auto"}:{}}function pP(n){let{request:r,context:f,isAnthropicCompatibleModelId:y,target:w}=n,o=y?Fn(r,f):void 0,G=vd(r,f),v=Qn(r,f)?rn():{};return{...w==="openai-compatible"?{strictJsonSchema:!1}:{},...zP(r,f),...cP({reasoning:r.reasoning,isAnthropicCompatibleModelId:y,anthropicReasoningPolicyKind:o?.kind}),...G?{reasoning:G}:{},...v,...Yd(r)}}function nC(n,r){if(r!=="openai")return;return{openai:{strictJsonSchema:!1,...Yd(n)}}}function rC(n,r){return{anthropic:r,openaiCompatible:n}}function fC(n,r,f){if(n.providerId!=="openai-codex")return;let y={...f,instructions:n.systemPrompt,store:!1,strictJsonSchema:!1,systemMessageMode:"remove"};return{openai:y,...Mf({providerId:n.providerId,providerOptionsKey:r,bucketOptions:y})}}function yC(n,r,f,y,w){if(w==="openai")return;if(xP.has(n.providerId))return;let o=n.providerId==="cline"?$d(n,r):void 0;return Mf({providerId:n.providerId,providerOptionsKey:f,bucketOptions:{...y,...o?{reasoning:o}:{}}})}function wC(n){if(!(n.providerId==="google"||n.providerId==="gemini")||!n.reasoning?.effort)return;return{google:{thinkingConfig:{thinkingLevel:n.reasoning.effort,includeThoughts:!0}}}}function dC(n){let{request:r,context:f,providerOptionsKey:y}=n;if(r.reasoning?.enabled!==!1)return;if(!IP(r.modelId))return;if(bd(f))return;if(!uP.has(r.providerId))return;return Ed({providerId:r.providerId,providerOptionsKey:y,thinkingType:"disabled"})}function oC(n){let{request:r,context:f,providerOptionsKey:y}=n,w=tP(r,f);if(!w)return;return Ed({providerId:r.providerId,providerOptionsKey:y,thinkingType:w})}function Sd(n,r,f=sP(n.providerId)){let y=In(n.providerId),w=i({modelId:n.modelId,family:_(r)}),o=pP({request:n,context:r,isAnthropicCompatibleModelId:w,target:f}),G=Cd(n,r),v=[rC(o,G),nC(n,f),fC(n,y,o),yC(n,r,y,o,f),wC(n),dC({request:n,context:r,providerOptionsKey:y}),oC({request:n,context:r,providerOptionsKey:y}),Kd(n,r,y)];return eP(v)}var xP,uP,Ad;var Jd=E(()=>{qn();Fd();xP=new Set(["anthropic","openai-codex","google"]),uP=new Set(["cline","openrouter"]);Ad=[{matches:(n,r)=>bd(r),defaultWhenUnset:"enabled"},{matches:(n,r)=>qP(r)||n.providerId==="deepseek",defaultWhenUnset:void 0}]});var Qd={};l(Qd,{resetLangfuseTelemetryForTests:()=>$C,hasLangfuseTelemetryConfig:()=>kd,ensureLangfuseTelemetry:()=>GC,disposeLangfuseTelemetry:()=>Zd,debugLangfuse:()=>u});function Xd(){let n=process?.env,r=n?.LANGFUSE_BASE_URL?.trim(),f=n?.LANGFUSE_PUBLIC_KEY?.trim(),y=n?.LANGFUSE_SECRET_KEY?.trim();if(!r||!f||!y)return;return{baseUrl:r,publicKey:f,secretKey:y}}function kd(){return Xd()!==void 0}async function GC(n){if(!kd())return!1;if(dn!==void 0)return u(`cached readiness=${String(dn)}`),dn;if(!zn)zn=PC();return dn=await zn,u(`initialized readiness=${String(dn)}`),dn}async function PC(){let{registerDisposable:n}=await Promise.resolve().then(() => (Yf(),od));n(Zd);let r=Xd();if(!r)return!1;try{let[{LangfuseSpanProcessor:f},{trace:y},{NodeTracerProvider:w}]=await Promise.all([import("@langfuse/otel"),import("@opentelemetry/api"),import("@opentelemetry/sdk-trace-node")]),o=new f({baseUrl:r.baseUrl,publicKey:r.publicKey,secretKey:r.secretKey});u(`creating span processor baseUrl=${r.baseUrl}`);let G=y.getTracerProvider();if(typeof G?.addSpanProcessor==="function"){G.addSpanProcessor(o);let J=Md(y);return u(`attached processor to existing tracer provider delegateReady=${String(J)}`),J}let v=G?.constructor?.name;if(v&&v!=="ProxyTracerProvider"&&v!=="NoopTracerProvider")return!1;new w({spanProcessors:[o]}).register();let $=Md(y);return u(`registered NodeTracerProvider delegateReady=${String($)}`),$}catch(f){return u(`initialization failed error=${f instanceof Error?f.message:String(f)}`),!1}}function Md(n){let y=n.getTracerProvider().getDelegate?.()?.constructor?.name;return Boolean(y&&y!=="NoopTracerProvider")}async function CC(){try{let{trace:n}=await import("@opentelemetry/api");await n.getTracerProvider().getDelegate?.()?.forceFlush?.(),u("forceFlush completed")}catch(n){u(`forceFlush failed error=${n instanceof Error?n.message:String(n)}`)}}async function Zd(){try{await CC();let{trace:n}=await import("@opentelemetry/api");await n.getTracerProvider().getDelegate?.()?.shutdown?.(),u("shutdown completed")}catch(n){u(`shutdown failed error=${n instanceof Error?n.message:String(n)}`)}}function u(n){if(!vC())return;console.warn(`[langfuse-debug] ${n}`)}function vC(){let n=process.env.CLINE_DEBUG_LANGFUSE;if(!n)return!1;let r=n.trim().toLowerCase();return r==="1"||r==="true"||r==="yes"}function $C(){dn=void 0,zn=void 0}var dn,zn;async function L(n){let r=n.apiKey?.trim();if(r)return r;let y=(await n.apiKeyResolver?.())?.trim();if(y)return y;for(let w of n.apiKeyEnv??[]){let o=HC(w);if(o)return o}return}function HC(n){let r=globalThis.process?.env;if(!r)return;let f=r[n];if(typeof f!=="string")return;let y=f.trim();return y.length>0?y:void 0}var Dd={};l(Dd,{createOpenAIProviderModule:()=>FC});import{createOpenAI as KC}from"@ai-sdk/openai";async function FC(n,r){let f=await L(n),y=KC({apiKey:f,baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch,name:r.provider.id});return{model:(w)=>y.responses(w)}}var Wd=()=>{};function EC(n){switch(n.type){case"image-data":case"image-url":case"file-data":case"file-url":case"image-file-id":return!0;default:return!1}}function bC(n){switch(n.type){case"image-data":return{type:"file",data:n.data,mediaType:n.mediaType,...n.providerOptions?{providerOptions:n.providerOptions}:{}};case"image-url":return{type:"file",data:n.url,mediaType:"image/*",...n.providerOptions?{providerOptions:n.providerOptions}:{}};case"file-data":return{type:"file",data:n.data,mediaType:n.mediaType,...n.filename?{filename:n.filename}:{},...n.providerOptions?{providerOptions:n.providerOptions}:{}};case"file-url":return{type:"file",data:n.url,mediaType:"application/octet-stream",...n.providerOptions?{providerOptions:n.providerOptions}:{}};case"image-file-id":return null}}function AC(n){if(n.type!=="content")return null;let r=[],f=[];for(let y of n.value){if(!EC(y)){f.push(y);continue}let w=bC(y);if(!w){f.push(y);continue}r.push(w);let o={type:"text",text:"(see following user message for image)"};f.push(o)}if(r.length===0)return null;return{stripped:{type:"content",value:f},media:r}}function YC(n){let r=[],f=!1;for(let y of n){if(y.role!=="tool"){r.push(y);continue}let w=[],o=y.content.map((G)=>{if(G.type!=="tool-result")return G;let v=AC(G.output);if(!v)return G;return w.push(...v.media),{...G,output:v.stripped}});if(r.push({...y,content:o}),w.length>0)r.push({role:"user",content:w}),f=!0}return{prompt:r,mutated:f}}var cn;var Xf=E(()=>{cn={specificationVersion:"v3",transformParams:async({params:n})=>{let{prompt:r,mutated:f}=YC(n.prompt);if(!f)return n;return{...n,prompt:r}}}});var Ud={};l(Ud,{createOpenAICompatibleProviderModule:()=>MC});import{createOpenAICompatible as SC}from"@ai-sdk/openai-compatible";import{wrapLanguageModel as JC}from"ai";async function MC(n,r){let f=await L(n),y=SC({name:r.provider.id,apiKey:f,...n.baseUrl?{baseURL:n.baseUrl}:{},...n.headers?{headers:n.headers}:{},...n.fetch?{fetch:n.fetch}:{},includeUsage:!0});return{model:(w)=>JC({model:y(w),middleware:cn})}}var gd=E(()=>{Xf()});var jd={};l(jd,{createAnthropicProviderModule:()=>kC});import{createAnthropic as XC}from"@ai-sdk/anthropic";async function kC(n,r){let f=await L(n),y=XC({apiKey:f,headers:n.headers,fetch:n.fetch,name:r.provider.id});return{model:(w)=>y(w)}}var hd=()=>{};var Rd={};l(Rd,{createGoogleProviderModule:()=>QC});import{createGoogleGenerativeAI as ZC}from"@ai-sdk/google";async function QC(n,r){let f=await L(n),y=ZC({apiKey:f,headers:n.headers,fetch:n.fetch,name:r.provider.id});return{model:(w)=>y(w)}}var ad=()=>{};var Ld={};l(Ld,{createVertexProviderModule:()=>UC});import{createVertex as DC}from"@ai-sdk/google-vertex";import{createVertexAnthropic as WC}from"@ai-sdk/google-vertex/anthropic";async function UC(n,r){let f=String(n.options?.project??n.options?.projectId??""),y=String(n.options?.location??n.options?.region??"us-central1");if(r.model.id.toLowerCase().includes("claude")){let o=WC({project:f,location:y,baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch});return{model:(G)=>o(G)}}let w=DC({project:f,location:y,apiKey:await L(n),baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch});return{model:(o)=>w(o)}}var Nd=()=>{};var _d={};l(_d,{createBedrockProviderModule:()=>jC});import{createAmazonBedrock as gC}from"@ai-sdk/amazon-bedrock";async function jC(n){let r=typeof n.options?.credentialProvider==="function"?n.options.credentialProvider:void 0,f=gC({region:n.options?.region,apiKey:await L(n),accessKeyId:n.options?.accessKeyId,secretAccessKey:n.options?.secretAccessKey,sessionToken:n.options?.sessionToken,baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch,credentialProvider:r});return{model:(y)=>f(y)}}var md=()=>{};var Vd={};l(Vd,{createMistralProviderModule:()=>aC});import{createMistral as hC}from"@ai-sdk/mistral";import{wrapLanguageModel as RC}from"ai";async function aC(n){let r=hC({apiKey:await L(n),baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch});return{model:(f)=>RC({model:r(f),middleware:cn})}}var Bd=E(()=>{Xf()});var Dn={};l(Dn,{createOpenCodeProviderModule:()=>TC,createOpenAICodexProviderModule:()=>VC,createDifyProviderModule:()=>lC,createClaudeCodeProviderModule:()=>mC});import{createClaudeCode as LC}from"ai-sdk-provider-claude-code";import{createCodexExec as NC}from"ai-sdk-provider-codex-cli";import{createDifyProvider as _C}from"dify-ai-provider";function pn(n){return n.options??{}}async function mC(n){let r=LC(pn(n));return{model:(f)=>r(f)}}async function VC(n){let r=NC(pn(n));return{model:(f)=>r(f)}}async function BC(n){let r=["SIGINT","SIGTERM"],f=new Map(r.map((w)=>[w,new Set(process.listeners(w))])),y=await n();for(let w of r)for(let o of process.listeners(w))if(!f.get(w)?.has(o))process.removeListener(w,o);return y}async function TC(n){let r=await BC(async()=>{let{createOpencode:f}=await import("ai-sdk-provider-opencode-sdk");return f(pn(n))});return{model:(f)=>r(f)}}async function lC(n){let r=await L(n),f=_C({baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch,...pn(n)});return{model:(y)=>f(y,{apiKey:r})}}var Wn=()=>{};var T={};l(T,{normalizeUsage:()=>sd,createVertexProvider:()=>wr,createOpenCodeProvider:()=>Uf,createOpenAIProvider:()=>nr,createOpenAICompatibleProvider:()=>rr,createOpenAICodexProvider:()=>Wf,createMistralProvider:()=>Qf,createGoogleProvider:()=>yr,createDifyProvider:()=>gf,createClaudeCodeProvider:()=>Df,createBedrockProvider:()=>dr,createAnthropicProvider:()=>fr});import{jsonSchema as OC,streamText as xC}from"ai";import{nanoid as Td}from"nanoid";import{z as uC}from"zod";function eC(n,r,f){let y=Od(n.messages,f),w=i({modelId:n.modelId,family:_(r)});for(let o=y.length-1;o>=0;o--)if(y[o]?.role==="user"){Pd(y[o],n.providerId,w);break}return y}async function sC(n){try{return(await Promise.resolve().then(() => Qd)).ensureLangfuseTelemetry(n)}catch{return!1}}function Od(n,r){let f=[];for(let y of n){let w=[];for(let o of y.content){if(o.type==="text"){w.push({type:"text",text:o.text});continue}if(o.type==="reasoning"){let G=o.metadata,v=G?.signature,A=G?.redactedData;w.push({type:"reasoning",text:o.text,...typeof v==="string"||typeof A==="string"?{providerOptions:{anthropic:{...typeof v==="string"?{signature:v}:{},...typeof A==="string"?{redactedData:A}:{}}}}:{}});continue}if(o.type==="file"){w.push({type:"file",path:o.path,content:o.content});continue}if(o.type==="image"){w.push({type:"image",image:o.image,mediaType:o.mediaType});continue}if(o.type==="tool-call"){let G=o.metadata,v=G?.thoughtSignature??G?.thought_signature;w.push({type:"tool-call",toolCallId:o.toolCallId,toolName:o.toolName,input:o.input,...typeof v==="string"?{providerOptions:{google:{thoughtSignature:v}}}:{}});continue}if(o.type==="tool-result")w.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:o.output,isError:o.isError??!1})}if(w.length>0)f.push({role:y.role,content:w});else if(y.role==="user"||y.role==="assistant")f.push({role:y.role,content:""})}return Bn(r,f,{assistantToolCallArgKey:"input"})}function IC(n){if(!n.tools?.length)return;return Object.fromEntries(n.tools.map((r)=>[r.name,{description:r.description,inputSchema:OC(qC(r.inputSchema),{validate:async(f)=>{let y=await uC.fromJSONSchema(r.inputSchema).safeParseAsync(f);return y.success?{success:!0,value:y.data}:{success:!1,error:y.error}}})}]))}function qC(n){if(n.type==="object")return n;return{type:"object",...n}}function xd(n){return n.provider.capabilities?.includes("provider-tools")??!1}function ud(n,r){if(!n||typeof n!=="object"||Array.isArray(n))return r;return{...n,...r}}function ed(n){return ud(n.metadata,{toolSource:{providerId:n.request.providerId,modelId:n.request.modelId,executionMode:xd(n.context)?"provider":"runtime"}})}function iC(n){return ed({metadata:ud(Zf(n.part),{inputParseError:`Tool call ${n.toolName} was rejected before execution: ${n.errorMessage}`,aiSdkToolError:n.errorMessage}),request:n.request,context:n.context})}function tC(n){return n.providerId==="openai-codex"?void 0:n.systemPrompt}function zC(n,r){if(n==="tool-calls"||n==="tool_calls"||r)return"tool-calls";if(n==="length"||n==="max_tokens")return"max-tokens";if(n==="error")return"error";return"stop"}function on(n,...r){for(let f of r){let y=n[f];if(typeof y==="number"&&Number.isFinite(y))return y;if(typeof y==="string"&&y.trim().length>0&&Number.isFinite(Number(y)))return Number(y)}return 0}function e(n){if(typeof n==="number"&&Number.isFinite(n))return n;if(typeof n==="string"&&n.trim().length>0&&Number.isFinite(Number(n)))return Number(n);return}function kf(n,...r){let f=n;for(let y of r){if(!f||typeof f!=="object")return 0;f=f[y]}return typeof f==="number"&&Number.isFinite(f)?f:0}function cC(n){if(!n||typeof n!=="object")return;let r=n;for(let f of Object.values(r)){if(!f||typeof f!=="object")continue;let y=f;if(y.usage&&typeof y.usage==="object")return y.usage}return}function pC(n,r){if(!r||typeof r!=="object")return;let f=r,y=e(f.input),w=e(f.output);if(y===void 0||w===void 0)return;let o=e(f.cacheRead)??0,G=e(f.cacheWrite)??y*1.25;return Math.max(0,n.inputTokens-n.cacheReadTokens-n.cacheWriteTokens)/1e6*y+n.outputTokens/1e6*w+n.cacheReadTokens/1e6*o+n.cacheWriteTokens/1e6*G}function sd(n,r,f){let y=n&&typeof n==="object"?n:{},w=cC(r),o=r&&typeof r==="object"?r:{},G=o.gateway&&typeof o.gateway==="object"?o.gateway:{},v=y.raw&&typeof y.raw==="object"?y.raw:y,A=e(v.cost_details?.upstream_inference_cost)??e(v.upstream_inference_cost),$=e(v.market_cost)??e(v.marketCost)??e(G.marketCost),J=e(v.cost)??e(G.cost),Q=$!==void 0||J!==void 0||A!==void 0,Z=$??(J!==void 0&&A!==void 0?J+A:J??A),H={inputTokens:on(y,"inputTokens","input_tokens","prompt_tokens"),outputTokens:on(y,"outputTokens","output_tokens","completion_tokens"),cacheReadTokens:kf(y,"inputTokenDetails","cacheReadTokens")||on(y,"cachedInputTokens","cacheReadTokens","cache_read_tokens","cache_read_input_tokens")||kf(y,"prompt_tokens_details","cached_tokens")||on(w??{},"cachedInputTokens","cacheReadTokens","cache_read_tokens","cache_read_input_tokens"),cacheWriteTokens:kf(y,"inputTokenDetails","cacheWriteTokens")||on(y,"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")||on(v,"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")||on(w??{},"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")},Y=Z!==void 0?Z:Q?void 0:pC(H,f);return{...H,...typeof Y==="number"?{totalCost:Y}:{}}}function ld(n){if(!n)return;let r=()=>{},f=(w)=>{if(w&&typeof w.catch==="function")w.catch(r)},y=n;for(let w of Object.keys(n))try{f(y[w])}catch{}}function Zf(n){let r={};if(typeof n.thoughtSignature==="string")r.thoughtSignature=n.thoughtSignature;if(typeof n.thought_signature==="string")r.thought_signature=n.thought_signature;let f=n.providerMetadata&&typeof n.providerMetadata==="object"?n.providerMetadata:void 0,y=f?.google&&typeof f.google==="object"?f.google:void 0;if(typeof r.thoughtSignature!=="string"&&typeof y?.thoughtSignature==="string")r.thoughtSignature=y.thoughtSignature;if(typeof r.thought_signature!=="string"&&typeof y?.thought_signature==="string")r.thought_signature=y.thought_signature;return Object.keys(r).length>0?r:void 0}async function*n0(n,r,f,y,w){let o=!1,G=new Set,v,A,$,J;try{if(n.fullStream)for await(let H of n.fullStream){if(H.type==="text-delta"){let Y=H.textDelta??H.text??H.delta;if(Y)yield{type:"text-delta",text:Y};continue}if(H.type==="reasoning-delta"||H.type==="reasoning"){let Y=H.textDelta??H.text??H.reasoning;if(Y)yield{type:"reasoning-delta",text:Y,metadata:Zf(H)};continue}if(H.type==="tool-call"){o=!0;let Y=H.toolCallId??H.id??`tool_${Td()}`;G.add(Y);let h=H.input??H.args??{},D=typeof h==="string"?h:JSON.stringify(h);yield{type:"tool-call-delta",toolCallId:Y,toolName:H.toolName??H.name??"tool",input:typeof h==="string"?void 0:h,inputText:D,metadata:ed({metadata:Zf(H),request:r,context:f})};continue}if(H.type==="tool-error"){o=!0;let Y=H.toolCallId??H.id??`tool_${Td()}`,h=G.has(Y);G.add(Y);let D=H.toolName??H.name??"tool",m=H.input??H.args??{},a=typeof m==="string"?m:JSON.stringify(m),t=H.error===void 0?"Tool input was rejected by the model adapter":wn(H.error);yield{type:"tool-call-delta",toolCallId:Y,toolName:D,input:h?void 0:typeof m==="string"?void 0:m,inputText:h?void 0:a,metadata:iC({part:H,errorMessage:t,request:r,context:f,toolName:D})};continue}if(H.type==="finish")$=H.usage??H.totalUsage,J=H.providerMetadata,v=H.finishReason??H.rawFinishReason??H.reason;if(H.type==="error"){A=w?.current??wn(H.error);break}if(H.type==="abort")break}else if(n.textStream)for await(let H of n.textStream)yield{type:"text-delta",text:H}}catch(H){A=w?.current??wn(H)}let Q,Z;if(A)Q=$,Z=J;else if(n.usage)try{Q=await n.usage}catch(H){if(!A)A=w?.current??wn(H);Q=$,Z=J}else Q=$,Z=J;if(Q)yield{type:"usage",usage:sd(Q,Z,y)};yield{type:"finish",reason:A?"error":zC(v,o),error:A}}async function r0(n,r,f){switch(n){case"openai":{let{createOpenAIProviderModule:y}=await Promise.resolve().then(() => (Wd(),Dd));return y(r,f)}case"openai-compatible":{let{createOpenAICompatibleProviderModule:y}=await Promise.resolve().then(() => (gd(),Ud));return y(r,f)}case"anthropic":{let{createAnthropicProviderModule:y}=await Promise.resolve().then(() => (hd(),jd));return y(r,f)}case"google":{let{createGoogleProviderModule:y}=await Promise.resolve().then(() => (ad(),Rd));return y(r,f)}case"vertex":{let{createVertexProviderModule:y}=await Promise.resolve().then(() => (Nd(),Ld));return y(r,f)}case"bedrock":{let{createBedrockProviderModule:y}=await Promise.resolve().then(() => (md(),_d));return y(r)}case"mistral":{let{createMistralProviderModule:y}=await Promise.resolve().then(() => (Bd(),Vd));return y(r)}case"claude-code":{let{createClaudeCodeProviderModule:y}=await Promise.resolve().then(() => (Wn(),Dn));return y(r)}case"openai-codex":{let{createOpenAICodexProviderModule:y}=await Promise.resolve().then(() => (Wn(),Dn));return y(r)}case"opencode":{let{createOpenCodeProviderModule:y}=await Promise.resolve().then(() => (Wn(),Dn));return y(r)}case"dify":{let{createDifyProviderModule:y}=await Promise.resolve().then(() => (Wn(),Dn));return y(r)}}}function s(n){return async(r)=>({async*stream(f,y){let w=y.logger,o,G={current:void 0};try{let v=await r0(n,r,y),A=await sC(r.providerId),$=xd(y)?void 0:IC(f),J=tC(f),Q=typeof J==="string"&&J.trim().length>0,Z=Q?void 0:J;o=xC({model:v.model(y.model.id),messages:Qn(f,y)?eC(f,y,Z):Od(f.messages,Z),...Q?{system:J}:{},tools:$,temperature:f.temperature,maxOutputTokens:f.maxTokens,abortSignal:f.signal,experimental_telemetry:{isEnabled:A},providerOptions:Sd(f,y,n),onError:({error:H})=>{let Y=wn(H);if(G.current=Y,w?.error)w.error("[ai-sdk] stream error",{providerId:f.providerId,error:H,severity:"error"});else if(w)w.log(`[ai-sdk] stream error: ${Y}`,{providerId:f.providerId,severity:"error"})}}),ld(o),yield*n0(o,f,y,y.model.metadata?.pricing,G)}catch(v){ld(o);let A=G.current??wn(v);if(w?.error)w.error("[ai-sdk] provider error",{providerId:f.providerId,error:v,severity:"error"});else if(w)w.log(`[ai-sdk] provider error: ${A}`,{providerId:f.providerId,severity:"error"});yield{type:"finish",reason:"error",error:A}}}})}var nr,rr,fr,yr,wr,dr,Qf,Df,Wf,Uf,gf;var V=E(()=>{Yf();qn();Jd();nr=s("openai"),rr=s("openai-compatible"),fr=s("anthropic"),yr=s("google"),wr=s("vertex"),dr=s("bedrock"),Qf=s("mistral"),Df=s("claude-code"),Wf=s("openai-codex"),Uf=s("opencode"),gf=s("dify")});var Sn;((b)=>{b.ANTHROPIC="anthropic";b.CLAUDE_CODE="claude-code";b.CLINE="cline";b.OPENAI_NATIVE="openai-native";b.OPENAI_CODEX="openai-codex";b.OPENAI_CODEX_CLI="openai-codex-cli";b.OPENCODE="opencode";b.BEDROCK="bedrock";b.VERTEX="vertex";b.GEMINI="gemini";b.OLLAMA="ollama";b.LMSTUDIO="lmstudio";b.DEEPSEEK="deepseek";b.XAI="xai";b.TOGETHER="together";b.FIREWORKS="fireworks";b.GROQ="groq";b.CEREBRAS="cerebras";b.SAMBANOVA="sambanova";b.NEBIUS="nebius";b.BASETEN="baseten";b.REQUESTY="requesty";b.LITELLM="litellm";b.HUGGINGFACE="huggingface";b.VERCEL_AI_GATEWAY="vercel-ai-gateway";b.V0="v0";b.AIHUBMIX="aihubmix";b.HICAP="hicap";b.NOUS_RESEARCH="nousResearch";b.HUAWEI_CLOUD_MAAS="huawei-cloud-maas";b.WANDB="wandb";b.XIAOMI="xiaomi";b.KILO="kilo";b.ZAI="zai";b.ZAI_CODING_PLAN="zai-coding-plan";b.QWEN="qwen";b.QWEN_CODE="qwen-code";b.DOUBAO="doubao";b.MISTRAL="mistral";b.MOONSHOT="moonshot";b.ASKSAGE="asksage";b.MINIMAX="minimax";b.DIFY="dify";b.OCA="oca";b.SAPAICORE="sapaicore";b.OPENROUTER="openrouter"})(Sn||={});var go={openai:"openai-native",togetherai:"together","sap-ai-core":"sapaicore"},an=Object.values(Sn);function vr(n){return an.includes(n)}function N(n){let r=n.trim();return go[r]??r}function Ln(n){return N(n.routingProviderId??n.providerId)}V();import{nanoid as Bf}from"nanoid";var jf={version:1778113666600,providers:{aihubmix:{"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.154,output:0.308,cacheRead:0.0308,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-flash"},"deepseek-v4-flash-think":{id:"deepseek-v4-flash-think",name:"DeepSeek V4 Flash Think",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.154,output:0.308,cacheRead:0.0308,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek"},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.478,output:0.956,cacheRead:0.004302,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt"},"kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:3.9995,cacheRead:0.160835,cacheWrite:0},releaseDate:"2026-04-21",family:"kimi-k2.6"},"claude-opus-4-7":{id:"claude-opus-4-7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"coding-glm-5.1":{id:"coding-glm-5.1",name:"Coding-GLM-5.1",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-11",family:"glm"},"qwen3.6-flash":{id:"qwen3.6-flash",name:"Qwen3.6 Plus",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.169,output:1.014,cacheRead:0.0169,cacheWrite:0.21125},releaseDate:"2026-04-02",family:"qwen"},"glm-5.1":{id:"glm-5.1",name:"GLM-5.1",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.845,output:3.38,cacheRead:0.183112,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"coding-minimax-m2.7-free":{id:"coding-minimax-m2.7-free",name:"Coding-MiniMax-M2.7-Free",contextWindow:204800,maxTokens:13100,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"minimax-m2.7":{id:"minimax-m2.7",name:"MiniMax-M2.7",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2958,output:1.1832,cacheRead:0.05916,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-11",family:"gpt"},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4-Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","structured_output","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-11",family:"gpt-mini"},"gemini-3.1-flash-lite-preview":{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-03",family:"gemini-flash-lite"},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"claude-sonnet-4-6-think":{id:"claude-sonnet-4-6-think",name:"Claude Sonnet 4.6 Think",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"qwen3.5-plus":{id:"qwen3.5-plus",name:"Qwen3.5 Plus",contextWindow:991000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1096,output:0.6576,cacheRead:0.01096,cacheWrite:0.137},releaseDate:"2026-02-16",family:"qwen"},"coding-glm-5-free":{id:"coding-glm-5-free",name:"Coding-GLM-5-Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"glm-5":{id:"glm-5",name:"GLM-5",contextWindow:202752,maxTokens:0,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.88,output:2.816,cacheRead:0.176,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"claude-opus-4-6-think":{id:"claude-opus-4-6-think",name:"Claude Opus 4.6",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05",family:"gpt-codex"},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14",family:"gpt-codex"},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:256000,maxTokens:0,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.105,cacheWrite:0},releaseDate:"2026-01",family:"kimi-k2.5"},"minimax-m2.1":{id:"minimax-m2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:192000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.288,output:1.152,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-15",family:"gpt"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"qwen3-max-2026-01-23":{id:"qwen3-max-2026-01-23",name:"Qwen3 Max",contextWindow:252000,maxTokens:32000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.34246,output:1.36984,cacheRead:0.34246,cacheWrite:0},releaseDate:"2025-09-23",family:"qwen"},"qwen3-coder-next":{id:"qwen3-coder-next",name:"Qwen3 Coder Plus",contextWindow:2000000,maxTokens:64000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.137,output:0.548,cacheRead:0.137,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"o4-mini":{id:"o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.499,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-flash"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"}},anthropic:{"claude-opus-4-7":{id:"claude-opus-4-7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-01",family:"claude-opus"},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"claude-opus-4-1-20250805":{id:"claude-opus-4-1-20250805",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"claude-opus-4-0":{id:"claude-opus-4-0",name:"Claude Opus 4 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"claude-opus-4-20250514":{id:"claude-opus-4-20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"claude-sonnet-4-0":{id:"claude-sonnet-4-0",name:"Claude Sonnet 4 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"claude-sonnet-4-20250514":{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"claude-3-7-sonnet-20250219":{id:"claude-3-7-sonnet-20250219",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"claude-3-5-haiku-20241022":{id:"claude-3-5-haiku-20241022",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"claude-3-5-haiku-latest":{id:"claude-3-5-haiku-latest",name:"Claude Haiku 3.5 (latest)",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"claude-3-5-sonnet-20241022":{id:"claude-3-5-sonnet-20241022",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"claude-3-5-sonnet-20240620":{id:"claude-3-5-sonnet-20240620",name:"Claude Sonnet 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20",family:"claude-sonnet"},"claude-3-haiku-20240307":{id:"claude-3-haiku-20240307",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13",family:"claude-haiku"},"claude-3-sonnet-20240229":{id:"claude-3-sonnet-20240229",name:"Claude Sonnet 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:0.3},releaseDate:"2024-03-04",family:"claude-sonnet"},"claude-3-opus-20240229":{id:"claude-3-opus-20240229",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29",family:"claude-opus"}},baseten:{"deepseek-ai/DeepSeek-V4-Pro":{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.15,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"moonshotai/Kimi-K2.6":{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-21",family:"kimi-k2.6"},"nvidia/Nemotron-120B-A12B":{id:"nvidia/Nemotron-120B-A12B",name:"Nemotron 3 Super",contextWindow:262144,maxTokens:32678,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204000,maxTokens:10200,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.95,output:3.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"glm"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-30",family:"kimi"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:1e4,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-16",family:"glm"},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:164000,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25",family:"deepseek"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3 0324",contextWindow:164000,maxTokens:131000,capabilities:["tools","temperature"],pricing:{input:0.77,output:0.77,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-24",family:"deepseek"}},bedrock:{"anthropic.claude-opus-4-7":{id:"anthropic.claude-opus-4-7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"eu.anthropic.claude-opus-4-7":{id:"eu.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (EU)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"global.anthropic.claude-opus-4-7":{id:"global.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (Global)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"us.anthropic.claude-opus-4-7":{id:"us.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (US)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"minimax.minimax-m2.5":{id:"minimax.minimax-m2.5",name:"MiniMax M2.5",contextWindow:196608,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"zai.glm-5":{id:"zai.glm-5",name:"GLM-5",contextWindow:202752,maxTokens:101376,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18",family:"glm"},"nvidia.nemotron-super-3-120b":{id:"nvidia.nemotron-super-3-120b",name:"NVIDIA Nemotron 3 Super 120B A12B",contextWindow:262144,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.65,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"anthropic.claude-sonnet-4-6":{id:"anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"au.anthropic.claude-sonnet-4-6":{id:"au.anthropic.claude-sonnet-4-6",name:"AU Anthropic Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3.3,output:16.5,cacheRead:0.33,cacheWrite:4.125},releaseDate:"2026-02-17",family:"claude-sonnet"},"eu.anthropic.claude-sonnet-4-6":{id:"eu.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (EU)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"global.anthropic.claude-sonnet-4-6":{id:"global.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Global)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"mistral.devstral-2-123b":{id:"mistral.devstral-2-123b",name:"Devstral 2 123B",contextWindow:256000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-17",family:"devstral"},"us.anthropic.claude-sonnet-4-6":{id:"us.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (US)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"deepseek.v3.2":{id:"deepseek.v3.2",name:"DeepSeek-V3.2",contextWindow:163840,maxTokens:81920,capabilities:["tools","reasoning","temperature"],pricing:{input:0.62,output:1.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06",family:"deepseek"},"moonshotai.kimi-k2.5":{id:"moonshotai.kimi-k2.5",name:"Kimi K2.5",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06",family:"kimi"},"qwen.qwen3-coder-next":{id:"qwen.qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06",family:"qwen"},"anthropic.claude-opus-4-6-v1":{id:"anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"au.anthropic.claude-opus-4-6-v1":{id:"au.anthropic.claude-opus-4-6-v1",name:"AU Anthropic Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:16.5,output:82.5,cacheRead:1.65,cacheWrite:20.625},releaseDate:"2026-02-05",family:"claude-opus"},"eu.anthropic.claude-opus-4-6-v1":{id:"eu.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (EU)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"global.anthropic.claude-opus-4-6-v1":{id:"global.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (Global)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"us.anthropic.claude-opus-4-6-v1":{id:"us.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (US)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"zai.glm-4.7-flash":{id:"zai.glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19",family:"glm-flash"},"minimax.minimax-m2.1":{id:"minimax.minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"nvidia.nemotron-nano-3-30b":{id:"nvidia.nemotron-nano-3-30b",name:"NVIDIA Nemotron Nano 3 30B",contextWindow:128000,maxTokens:4096,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"nemotron"},"zai.glm-4.7":{id:"zai.glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"mistral.magistral-small-2509":{id:"mistral.magistral-small-2509",name:"Magistral Small 1.2",contextWindow:128000,maxTokens:40000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"magistral"},"mistral.ministral-3-3b-instruct":{id:"mistral.ministral-3-3b-instruct",name:"Ministral 3 3B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"ministral"},"mistral.mistral-large-3-675b-instruct":{id:"mistral.mistral-large-3-675b-instruct",name:"Mistral Large 3",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"mistral"},"moonshot.kimi-k2-thinking":{id:"moonshot.kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"kimi-thinking"},"anthropic.claude-opus-4-5-20251101-v1:0":{id:"anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"eu.anthropic.claude-opus-4-5-20251101-v1:0":{id:"eu.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"global.anthropic.claude-opus-4-5-20251101-v1:0":{id:"global.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"us.anthropic.claude-opus-4-5-20251101-v1:0":{id:"us.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"minimax.minimax-m2":{id:"minimax.minimax-m2",name:"MiniMax M2",contextWindow:204608,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-27",family:"minimax"},"anthropic.claude-haiku-4-5-20251001-v1:0":{id:"anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"eu.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"eu.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"global.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"global.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"us.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"us.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"qwen.qwen3-vl-235b-a22b":{id:"qwen.qwen3-vl-235b-a22b",name:"Qwen/Qwen3-VL-235B-A22B-Instruct",contextWindow:262000,maxTokens:13100,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-04",family:"qwen"},"anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"eu.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"eu.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"global.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"global.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"us.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"deepseek.v3-v1:0":{id:"deepseek.v3-v1:0",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:81920,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.58,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"deepseek"},"qwen.qwen3-235b-a22b-2507-v1:0":{id:"qwen.qwen3-235b-a22b-2507-v1:0",name:"Qwen3 235B A22B 2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"qwen.qwen3-32b-v1:0":{id:"qwen.qwen3-32b-v1:0",name:"Qwen3 32B (dense)",contextWindow:16384,maxTokens:819,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"qwen.qwen3-coder-30b-a3b-v1:0":{id:"qwen.qwen3-coder-30b-a3b-v1:0",name:"Qwen3 Coder 30B A3B Instruct",contextWindow:262144,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"qwen.qwen3-coder-480b-a35b-v1:0":{id:"qwen.qwen3-coder-480b-a35b-v1:0",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:131072,maxTokens:65536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"qwen.qwen3-next-80b-a3b":{id:"qwen.qwen3-next-80b-a3b",name:"Qwen/Qwen3-Next-80B-A3B-Instruct",contextWindow:262000,maxTokens:13100,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"anthropic.claude-opus-4-1-20250805-v1:0":{id:"anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"us.anthropic.claude-opus-4-1-20250805-v1:0":{id:"us.anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1 (US)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"google.gemma-3-27b-it":{id:"google.gemma-3-27b-it",name:"Google Gemma 3 27B Instruct",contextWindow:202752,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.12,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-27",family:"gemma"},"mistral.voxtral-small-24b-2507":{id:"mistral.voxtral-small-24b-2507",name:"Voxtral Small 24B 2507",contextWindow:32000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.35,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-01",family:"mistral"},"anthropic.claude-opus-4-20250514-v1:0":{id:"anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic.claude-sonnet-4-20250514-v1:0":{id:"anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"eu.anthropic.claude-sonnet-4-20250514-v1:0":{id:"eu.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"global.anthropic.claude-sonnet-4-20250514-v1:0":{id:"global.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"us.anthropic.claude-opus-4-20250514-v1:0":{id:"us.anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4 (US)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"us.anthropic.claude-sonnet-4-20250514-v1:0":{id:"us.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"writer.palmyra-x4-v1:0":{id:"writer.palmyra-x4-v1:0",name:"Palmyra X4",contextWindow:122880,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28",family:"palmyra"},"writer.palmyra-x5-v1:0":{id:"writer.palmyra-x5-v1:0",name:"Palmyra X5",contextWindow:1040000,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28",family:"palmyra"},"mistral.pixtral-large-2502-v1:0":{id:"mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02)",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-08",family:"mistral"},"meta.llama4-maverick-17b-instruct-v1:0":{id:"meta.llama4-maverick-17b-instruct-v1:0",name:"Llama 4 Maverick 17B Instruct",contextWindow:1e6,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.24,output:0.97,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"meta.llama4-scout-17b-instruct-v1:0":{id:"meta.llama4-scout-17b-instruct-v1:0",name:"Llama 4 Scout 17B Instruct",contextWindow:3500000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"anthropic.claude-3-7-sonnet-20250219-v1:0":{id:"anthropic.claude-3-7-sonnet-20250219-v1:0",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"deepseek.r1-v1:0":{id:"deepseek.r1-v1:0",name:"DeepSeek-R1",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20",family:"deepseek-thinking"},"meta.llama3-3-70b-instruct-v1:0":{id:"meta.llama3-3-70b-instruct-v1:0",name:"Llama 3.3 70B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"amazon.nova-lite-v1:0":{id:"amazon.nova-lite-v1:0",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-lite"},"amazon.nova-micro-v1:0":{id:"amazon.nova-micro-v1:0",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-micro"},"amazon.nova-premier-v1:0":{id:"amazon.nova-premier-v1:0",name:"Nova Premier",contextWindow:1e6,maxTokens:16384,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2.5,output:12.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-03",family:"nova"},"amazon.nova-pro-v1:0":{id:"amazon.nova-pro-v1:0",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-pro"},"amazon.nova-2-lite-v1:0":{id:"amazon.nova-2-lite-v1:0",name:"Nova 2 Lite",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.33,output:2.75,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"nova"},"google.gemma-3-4b-it":{id:"google.gemma-3-4b-it",name:"Gemma 3 4B IT",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.04,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gemma"},"mistral.ministral-3-14b-instruct":{id:"mistral.ministral-3-14b-instruct",name:"Ministral 14B 3.0",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"ministral"},"mistral.ministral-3-8b-instruct":{id:"mistral.ministral-3-8b-instruct",name:"Ministral 3 8B",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"ministral"},"mistral.voxtral-mini-3b-2507":{id:"mistral.voxtral-mini-3b-2507",name:"Voxtral Mini 3B 2507",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"mistral"},"nvidia.nemotron-nano-12b-v2":{id:"nvidia.nemotron-nano-12b-v2",name:"NVIDIA Nemotron Nano 12B v2 VL BF16",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"nemotron"},"nvidia.nemotron-nano-9b-v2":{id:"nvidia.nemotron-nano-9b-v2",name:"NVIDIA Nemotron Nano 9B v2",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.06,output:0.23,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"nemotron"},"openai.gpt-oss-120b-1:0":{id:"openai.gpt-oss-120b-1:0",name:"gpt-oss-120b",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"openai.gpt-oss-20b-1:0":{id:"openai.gpt-oss-20b-1:0",name:"gpt-oss-20b",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"openai.gpt-oss-safeguard-120b":{id:"openai.gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"openai.gpt-oss-safeguard-20b":{id:"openai.gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"anthropic.claude-3-5-haiku-20241022-v1:0":{id:"anthropic.claude-3-5-haiku-20241022-v1:0",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"anthropic.claude-3-5-sonnet-20241022-v2:0":{id:"anthropic.claude-3-5-sonnet-20241022-v2:0",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"meta.llama3-2-11b-instruct-v1:0":{id:"meta.llama3-2-11b-instruct-v1:0",name:"Llama 3.2 11B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.16,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta.llama3-2-1b-instruct-v1:0":{id:"meta.llama3-2-1b-instruct-v1:0",name:"Llama 3.2 1B Instruct",contextWindow:131000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta.llama3-2-3b-instruct-v1:0":{id:"meta.llama3-2-3b-instruct-v1:0",name:"Llama 3.2 3B Instruct",contextWindow:131000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta.llama3-2-90b-instruct-v1:0":{id:"meta.llama3-2-90b-instruct-v1:0",name:"Llama 3.2 90B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta.llama3-1-405b-instruct-v1:0":{id:"meta.llama3-1-405b-instruct-v1:0",name:"Llama 3.1 405B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:2.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"meta.llama3-1-70b-instruct-v1:0":{id:"meta.llama3-1-70b-instruct-v1:0",name:"Llama 3.1 70B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"meta.llama3-1-8b-instruct-v1:0":{id:"meta.llama3-1-8b-instruct-v1:0",name:"Llama 3.1 8B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"anthropic.claude-3-5-sonnet-20240620-v1:0":{id:"anthropic.claude-3-5-sonnet-20240620-v1:0",name:"Claude Sonnet 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20",family:"claude-sonnet"},"anthropic.claude-3-haiku-20240307-v1:0":{id:"anthropic.claude-3-haiku-20240307-v1:0",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2024-03-13",family:"claude-haiku"}},cerebras:{"zai-glm-4.7":{id:"zai-glm-4.7",name:"Z.AI GLM-4.7",contextWindow:131072,maxTokens:40000,capabilities:["tools","temperature"],pricing:{input:2.25,output:2.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-10"},"gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.69,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"qwen-3-235b-a22b-instruct-2507":{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen 3 235B Instruct",contextWindow:131000,maxTokens:32000,capabilities:["tools","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22",family:"qwen"},"llama3.1-8b":{id:"llama3.1-8b",name:"Llama 3.1 8B",contextWindow:32000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01",family:"llama"}},deepseek:{"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-flash"},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.145,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"deepseek-chat":{id:"deepseek-chat",name:"DeepSeek Chat",contextWindow:1e6,maxTokens:384000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"deepseek-reasoner":{id:"deepseek-reasoner",name:"DeepSeek Reasoner",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek-thinking"}},fireworks:{"accounts/fireworks/models/deepseek-v4-pro":{id:"accounts/fireworks/models/deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.15,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"accounts/fireworks/models/kimi-k2p6":{id:"accounts/fireworks/models/kimi-k2p6",name:"Kimi K2.6",contextWindow:262000,maxTokens:13100,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-17",family:"kimi-thinking"},"accounts/fireworks/models/minimax-m2p7":{id:"accounts/fireworks/models/minimax-m2p7",name:"MiniMax-M2.7",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-04-12",family:"minimax"},"accounts/fireworks/models/qwen3p6-plus":{id:"accounts/fireworks/models/qwen3p6-plus",name:"Qwen 3.6 Plus",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-04-04",family:"qwen"},"accounts/fireworks/models/glm-5p1":{id:"accounts/fireworks/models/glm-5p1",name:"GLM 5.1",contextWindow:202800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"accounts/fireworks/models/minimax-m2p5":{id:"accounts/fireworks/models/minimax-m2p5",name:"MiniMax-M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"accounts/fireworks/models/glm-5":{id:"accounts/fireworks/models/glm-5",name:"GLM 5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"accounts/fireworks/models/kimi-k2p5":{id:"accounts/fireworks/models/kimi-k2p5",name:"Kimi K2.5",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi-thinking"},"accounts/fireworks/routers/kimi-k2p5-turbo":{id:"accounts/fireworks/routers/kimi-k2p5-turbo",name:"Kimi K2.5 Turbo",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi-thinking"},"accounts/fireworks/models/minimax-m2p1":{id:"accounts/fireworks/models/minimax-m2p1",name:"MiniMax-M2.1",contextWindow:200000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"accounts/fireworks/models/glm-4p7":{id:"accounts/fireworks/models/glm-4p7",name:"GLM 4.7",contextWindow:198000,maxTokens:9900,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"accounts/fireworks/models/deepseek-v3p2":{id:"accounts/fireworks/models/deepseek-v3p2",name:"DeepSeek V3.2",contextWindow:160000,maxTokens:8000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.56,output:1.68,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"accounts/fireworks/models/kimi-k2-thinking":{id:"accounts/fireworks/models/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"accounts/fireworks/models/deepseek-v3p1":{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.56,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"accounts/fireworks/models/gpt-oss-120b":{id:"accounts/fireworks/models/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"accounts/fireworks/models/gpt-oss-20b":{id:"accounts/fireworks/models/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"accounts/fireworks/models/glm-4p5-air":{id:"accounts/fireworks/models/glm-4p5-air",name:"GLM 4.5 Air",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01",family:"glm-air"},"accounts/fireworks/models/glm-4p5":{id:"accounts/fireworks/models/glm-4p5",name:"GLM 4.5",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.55,output:2.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"glm"},"accounts/fireworks/models/kimi-k2-instruct":{id:"accounts/fireworks/models/kimi-k2-instruct",name:"Kimi K2 Instruct",contextWindow:128000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11",family:"kimi"}},gemini:{"gemma-4-26b-a4b-it":{id:"gemma-4-26b-a4b-it",name:"Gemma 4 26B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"gemma-4-31b-it":{id:"gemma-4-31b-it",name:"Gemma 4 31B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"gemini-3.1-flash-lite-preview":{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03",family:"gemini-flash-lite"},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18",family:"gemini-pro"},"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",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"gemini-2.5-flash-preview-09-2025":{id:"gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash"},"gemini-flash-latest":{id:"gemini-flash-latest",name:"Gemini Flash Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash"},"gemini-flash-lite-latest":{id:"gemini-flash-lite-latest",name:"Gemini Flash-Lite Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"gemini-live-2.5-flash":{id:"gemini-live-2.5-flash",name:"Gemini Live 2.5 Flash",contextWindow:128000,maxTokens:8000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-01",family:"gemini-flash"},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"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",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"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",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash"},"gemini-2.5-pro-preview-06-05":{id:"gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05",family:"gemini-pro"},"gemini-2.5-flash-preview-05-20":{id:"gemini-2.5-flash-preview-05-20",name:"Gemini 2.5 Flash Preview 05-20",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-05-20",family:"gemini-flash"},"gemini-2.5-pro-preview-05-06":{id:"gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06",family:"gemini-pro"},"gemini-2.5-flash-preview-04-17":{id:"gemini-2.5-flash-preview-04-17",name:"Gemini 2.5 Flash Preview 04-17",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-04-17",family:"gemini-flash"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-flash"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"},"gemma-3-27b-it":{id:"gemma-3-27b-it",name:"Gemma 3 27B",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12",family:"gemma"},"gemini-2.0-flash":{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash"},"gemini-2.0-flash-lite":{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash-lite"},"gemini-1.5-flash-8b":{id:"gemini-1.5-flash-8b",name:"Gemini 1.5 Flash-8B",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.0375,output:0.15,cacheRead:0.01,cacheWrite:0},releaseDate:"2024-10-03",family:"gemini-flash"},"gemini-1.5-flash":{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.075,output:0.3,cacheRead:0.01875,cacheWrite:0},releaseDate:"2024-05-14",family:"gemini-flash"},"gemini-1.5-pro":{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:1.25,output:5,cacheRead:0.3125,cacheWrite:0},releaseDate:"2024-02-15",family:"gemini-pro"}},groq:{"moonshotai/kimi-k2-instruct-0905":{id:"moonshotai/kimi-k2-instruct-0905",name:"Kimi K2 Instruct 0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"groq/compound":{id:"groq/compound",name:"Compound",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04",family:"groq"},"groq/compound-mini":{id:"groq/compound-mini",name:"Compound Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04",family:"groq"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"meta-llama/llama-4-scout-17b-16e-instruct":{id:"meta-llama/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.11,output:0.34,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"Safety GPT OSS 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.075,output:0.3,cacheRead:0.037,cacheWrite:0},releaseDate:"2025-03-05",family:"gpt-oss"},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen3 32B",contextWindow:131072,maxTokens:40960,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:0.59,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-23",family:"qwen"},"llama-3.3-70b-versatile":{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B Versatile",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.59,output:0.79,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"llama-3.1-8b-instant":{id:"llama-3.1-8b-instant",name:"Llama 3.1 8B Instant",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"}},huggingface:{"deepseek-ai/DeepSeek-V4-Pro":{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro",contextWindow:1048576,maxTokens:393216,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.145,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"moonshotai/Kimi-K2.6":{id:"moonshotai/Kimi-K2.6",name:"Kimi-K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-20",family:"kimi"},"zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-03",family:"glm"},"MiniMaxAI/MiniMax-M2.7":{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax-M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"Qwen/Qwen3-Coder-Next":{id:"Qwen/Qwen3-Coder-Next",name:"Qwen3-Coder-Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03",family:"qwen"},"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5-397B-A17B",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01",family:"qwen"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-01",family:"kimi"},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"XiaomiMiMo/MiMo-V2-Flash":{id:"XiaomiMiMo/MiMo-V2-Flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:4096,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-16",family:"mimo"},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.3,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi-K2-Instruct-0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04",family:"kimi"},"zai-org/GLM-4.7-Flash":{id:"zai-org/GLM-4.7-Flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-08",family:"glm"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-14",family:"kimi"},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-28",family:"deepseek-thinking"}},kilo:{"x-ai/grok-4.3":{id:"x-ai/grok-4.3",name:"xAI: Grok 4.3",contextWindow:1e6,maxTokens:4096,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-05-01"},"ibm-granite/granite-4.1-8b":{id:"ibm-granite/granite-4.1-8b",name:"IBM: Granite 4.1 8B",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.05,output:0.1,cacheRead:0.05,cacheWrite:0},releaseDate:"2026-04-30"},"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free":{id:"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",name:"NVIDIA: Nemotron 3 Nano Omni (free)",contextWindow:256000,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"openrouter/owl-alpha":{id:"openrouter/owl-alpha",name:"Owl Alpha",contextWindow:1048756,maxTokens:262144,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"poolside/laguna-m.1:free":{id:"poolside/laguna-m.1:free",name:"Poolside: Laguna M.1 (free)",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"poolside/laguna-xs.2:free":{id:"poolside/laguna-xs.2:free",name:"Poolside: Laguna XS.2 (free)",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"~anthropic/claude-haiku-latest":{id:"~anthropic/claude-haiku-latest",name:"Anthropic: Claude Haiku Latest",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2026-04-27"},"~anthropic/claude-sonnet-latest":{id:"~anthropic/claude-sonnet-latest",name:"Anthropic: Claude Sonnet Latest",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-04-27"},"~google/gemini-flash-latest":{id:"~google/gemini-flash-latest",name:"Google: Gemini Flash Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0.08333333333333334},releaseDate:"2026-04-27"},"~google/gemini-pro-latest":{id:"~google/gemini-pro-latest",name:"Google: Gemini Pro Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0.375},releaseDate:"2026-04-27"},"~moonshotai/kimi-latest":{id:"~moonshotai/kimi-latest",name:"MoonshotAI: Kimi Latest",contextWindow:262142,maxTokens:13107,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.74,output:3.49,cacheRead:0.14,cacheWrite:0},releaseDate:"2026-04-27"},"~openai/gpt-latest":{id:"~openai/gpt-latest",name:"OpenAI: GPT Latest",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-27"},"~openai/gpt-mini-latest":{id:"~openai/gpt-mini-latest",name:"OpenAI: GPT Mini Latest",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-04-27"},"qwen/qwen3.5-plus-20260420":{id:"qwen/qwen3.5-plus-20260420",name:"Qwen: Qwen3.5 Plus 2026-04-20",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-27"},"qwen/qwen3.6-27b":{id:"qwen/qwen3.6-27b",name:"Qwen: Qwen3.6 27B",contextWindow:256000,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.325,output:3.25,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-27"},"qwen/qwen3.6-flash":{id:"qwen/qwen3.6-flash",name:"Qwen: Qwen3.6 Flash",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0,cacheWrite:0.3125},releaseDate:"2026-04-27"},"qwen/qwen3.6-max-preview":{id:"qwen/qwen3.6-max-preview",name:"Qwen: Qwen3.6 Max Preview",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:1.04,output:6.24,cacheRead:0,cacheWrite:1.3},releaseDate:"2026-04-27"},"deepseek/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek: DeepSeek V4 Flash",contextWindow:1048576,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.0028,cacheWrite:0},releaseDate:"2026-04-24"},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek: DeepSeek V4 Pro",contextWindow:1048576,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.435,output:0.87,cacheRead:0.003625,cacheWrite:0},releaseDate:"2026-04-24"},"openai/gpt-5.5":{id:"openai/gpt-5.5",name:"OpenAI: GPT-5.5",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-24"},"openai/gpt-5.5-pro":{id:"openai/gpt-5.5-pro",name:"OpenAI: GPT-5.5 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-24"},"inclusionai/ling-2.6-1t:free":{id:"inclusionai/ling-2.6-1t:free",name:"inclusionAI: Ling-2.6-1T (free)",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-23"},"tencent/hy3-preview:free":{id:"tencent/hy3-preview:free",name:"Tencent: Hy3 Preview (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-22"},"xiaomi/mimo-v2.5":{id:"xiaomi/mimo-v2.5",name:"Xiaomi: MiMo-V2.5",contextWindow:1048576,maxTokens:131072,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"xiaomi/mimo-v2.5-pro":{id:"xiaomi/mimo-v2.5-pro",name:"Xiaomi: MiMo V2.5 Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"inclusionai/ling-2.6-flash":{id:"inclusionai/ling-2.6-flash",name:"inclusionAI: Ling-2.6 Flash",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.08,output:0.24,cacheRead:0.016,cacheWrite:0},releaseDate:"2026-04-21"},"moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"MoonshotAI: Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-20"},"~anthropic/claude-opus-latest":{id:"~anthropic/claude-opus-latest",name:"Anthropic: Claude Opus Latest",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16"},"anthropic/claude-opus-4.7":{id:"anthropic/claude-opus-4.7",name:"Anthropic: Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16"},"anthropic/claude-opus-4.6-fast":{id:"anthropic/claude-opus-4.6-fast",name:"Anthropic: Claude Opus 4.6 (Fast)",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:30,output:150,cacheRead:3,cacheWrite:37.5},releaseDate:"2026-04-07"},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Google: Gemma 4 26B A4B",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.12,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-03"},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Google: Gemma 4 31B",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.14,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02"},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Arcee AI: Trinity Large Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-01"},"z-ai/glm-5v-turbo":{id:"z-ai/glm-5v-turbo",name:"Z.ai: GLM 5V Turbo",contextWindow:202752,maxTokens:131072,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-04-01"},"x-ai/grok-4.20":{id:"x-ai/grok-4.20",name:"xAI: Grok 4.20",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-31"},"kwaipilot/kat-coder-pro-v2":{id:"kwaipilot/kat-coder-pro-v2",name:"Kwaipilot: KAT-Coder-Pro V2",contextWindow:256000,maxTokens:80000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-27"},"z-ai/glm-5.1":{id:"z-ai/glm-5.1",name:"Z.ai: GLM 5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1.26,output:3.96,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-27"},"rekaai/reka-edge":{id:"rekaai/reka-edge",name:"Reka Edge",contextWindow:16384,maxTokens:819,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-20"},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"MiniMax: MiniMax M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax-m2.7"},"xiaomi/mimo-v2-omni":{id:"xiaomi/mimo-v2-omni",name:"Xiaomi: MiMo-V2-Omni",contextWindow:262144,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"Xiaomi: MiMo-V2-Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"OpenAI: GPT-5.4 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17"},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"OpenAI: GPT-5.4 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17"},"mistralai/mistral-small-2603":{id:"mistralai/mistral-small-2603",name:"Mistral: Mistral Small 4",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0},releaseDate:"2026-03-16"},"kilo-auto/balanced":{id:"kilo-auto/balanced",name:"Kilo Auto Balanced",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/free":{id:"kilo-auto/free",name:"Kilo Auto Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/frontier":{id:"kilo-auto/frontier",name:"Kilo Auto Frontier",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/small":{id:"kilo-auto/small",name:"Kilo Auto Small",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"openrouter/auto":{id:"openrouter/auto",name:"Auto Router",contextWindow:2000000,maxTokens:32768,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"z-ai/glm-5-turbo":{id:"z-ai/glm-5-turbo",name:"Z.ai: GLM 5 Turbo",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-15"},"nvidia/nemotron-3-super-120b-a12b:free":{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"NVIDIA: Nemotron 3 Super (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-12"},"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"NVIDIA: Nemotron 3 Super",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.5,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-03-11"},"bytedance-seed/seed-2.0-lite":{id:"bytedance-seed/seed-2.0-lite",name:"ByteDance Seed: Seed-2.0-Lite",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-10"},"qwen/qwen3.5-9b":{id:"qwen/qwen3.5-9b",name:"Qwen: Qwen3.5-9B",contextWindow:256000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.05,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-10"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"OpenAI: GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:2.5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-06"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"OpenAI: GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-06"},"openai/gpt-5.3-chat":{id:"openai/gpt-5.3-chat",name:"OpenAI: GPT-5.3 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools"],pricing:{input:1.75,output:14,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-04"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Google: Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-03"},"bytedance-seed/seed-2.0-mini":{id:"bytedance-seed/seed-2.0-mini",name:"ByteDance Seed: Seed-2.0-Mini",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-27"},"google/gemini-3.1-pro-preview-customtools":{id:"google/gemini-3.1-pro-preview-customtools",name:"Google: Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-122b-a10b":{id:"qwen/qwen3.5-122b-a10b",name:"Qwen: Qwen3.5-122B-A10B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:2.08,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-27b":{id:"qwen/qwen3.5-27b",name:"Qwen: Qwen3.5-27B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.195,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-35b-a3b":{id:"qwen/qwen3.5-35b-a3b",name:"Qwen: Qwen3.5-35B-A3B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1625,output:1.3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-flash-02-23":{id:"qwen/qwen3.5-flash-02-23",name:"Qwen: Qwen3.5-Flash",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"OpenAI: GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.75,output:14,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-25"},"inception/mercury-2":{id:"inception/mercury-2",name:"Inception: Mercury 2",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2026-02-24"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Google: Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Anthropic: Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-17"},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen: Qwen3.5 397B A17B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.39,output:2.34,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15"},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen: Qwen3.5 Plus 2026-02-15",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax: MiniMax M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:1.2,cacheRead:0.029,cacheWrite:0},releaseDate:"2026-02-12"},"z-ai/glm-5":{id:"z-ai/glm-5",name:"Z.ai: GLM 5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.72,output:2.3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Anthropic: Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"qwen/qwen3-coder-next":{id:"qwen/qwen3-coder-next",name:"Qwen: Qwen3 Coder Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.12,output:0.75,cacheRead:0.035,cacheWrite:0},releaseDate:"2026-02-02"},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",contextWindow:200000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"StepFun: Step 3.5 Flash",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-01-29"},"arcee-ai/trinity-large-preview":{id:"arcee-ai/trinity-large-preview",name:"Arcee AI: Trinity Large Preview",contextWindow:131000,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"MoonshotAI: Kimi K2.5",contextWindow:262144,maxTokens:65535,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.45,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"upstage/solar-pro-3":{id:"upstage/solar-pro-3",name:"Upstage: Solar Pro 3",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"qwen/qwen3-max-thinking":{id:"qwen/qwen3-max-thinking",name:"Qwen: Qwen3 Max Thinking",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.78,output:3.9,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-23"},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"Z.ai: GLM 4.7 Flash",contextWindow:202752,maxTokens:40551,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.06,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2026-01-19"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"OpenAI: GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"allenai/olmo-3.1-32b-instruct":{id:"allenai/olmo-3.1-32b-instruct",name:"AllenAI: Olmo 3.1 32B Instruct",contextWindow:65536,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-07"},"mistralai/mistral-small-24b-instruct-2501":{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral: Mistral Small 3",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-29"},"bytedance-seed/seed-1.6-flash":{id:"bytedance-seed/seed-1.6-flash",name:"ByteDance Seed: Seed 1.6 Flash",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax: MiniMax M2.1",contextWindow:196608,maxTokens:39322,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.27,output:0.95,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-23"},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"Z.ai: GLM 4.7",contextWindow:202752,maxTokens:65535,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.38,output:1.98,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-12-22"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Google: Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0.083333},releaseDate:"2025-12-17"},"mistralai/ministral-14b-2512":{id:"mistralai/ministral-14b-2512",name:"Mistral: Ministral 3 14B 2512",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-16"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"Xiaomi: MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.09,output:0.29,cacheRead:0.045,cacheWrite:0},releaseDate:"2025-12-16",family:"mimo"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"OpenAI: GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"OpenAI: GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"OpenAI: GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"relace/relace-search":{id:"relace/relace-search",name:"Relace: Relace Search",contextWindow:256000,maxTokens:128000,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"essentialai/rnj-1-instruct":{id:"essentialai/rnj-1-instruct",name:"EssentialAI: Rnj 1 Instruct",contextWindow:32768,maxTokens:6554,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-05"},"mistralai/ministral-3b-2512":{id:"mistralai/ministral-3b-2512",name:"Mistral: Ministral 3 3B 2512",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"mistralai/ministral-8b-2512":{id:"mistralai/ministral-8b-2512",name:"Mistral: Ministral 3 8B 2512",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"arcee-ai/trinity-mini":{id:"arcee-ai/trinity-mini",name:"Arcee AI: Trinity Mini",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.045,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12"},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek: DeepSeek V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.26,output:0.38,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-12-01"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"Prime Intellect: INTELLECT-3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Anthropic: Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"xAI: Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"OpenAI: GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"OpenAI: GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"OpenAI: GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"OpenAI: GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"OpenAI: GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"MoonshotAI: Kimi K2 Thinking",contextWindow:131072,maxTokens:65535,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.47,output:2,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-06"},"amazon/nova-premier-v1":{id:"amazon/nova-premier-v1",name:"Amazon: Nova Premier 1.0",contextWindow:1e6,maxTokens:32000,capabilities:["images","tools","temperature"],pricing:{input:2.5,output:12.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-01"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"OpenAI: gpt-oss-safeguard-20b",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.075,output:0.3,cacheRead:0.037,cacheWrite:0},releaseDate:"2025-10-29"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax: MiniMax M2",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.255,output:1,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-10-23"},"qwen/qwen3-vl-32b-instruct":{id:"qwen/qwen3-vl-32b-instruct",name:"Qwen: Qwen3 VL 32B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.104,output:0.416,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-21"},"openai/gpt-5-image-mini":{id:"openai/gpt-5-image-mini",name:"OpenAI: GPT-5 Image Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-16"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Anthropic: Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"qwen/qwen3-vl-8b-instruct":{id:"qwen/qwen3-vl-8b-instruct",name:"Qwen: Qwen3 VL 8B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.08,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-15"},"qwen/qwen3-vl-8b-thinking":{id:"qwen/qwen3-vl-8b-thinking",name:"Qwen: Qwen3 VL 8B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.117,output:1.365,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-15"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"OpenAI: GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:10,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-14"},"qwen/qwen3-vl-30b-a3b-thinking":{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen: Qwen3 VL 30B A3B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.13,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-11"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"OpenAI: GPT-5 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"qwen/qwen3-vl-30b-a3b-instruct":{id:"qwen/qwen3-vl-30b-a3b-instruct",name:"Qwen: Qwen3 VL 30B A3B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.13,output:0.52,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-05"},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"Z.ai: GLM 4.6",contextWindow:204800,maxTokens:10240,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.39,output:1.9,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-09-30"},"z-ai/glm-4.6v":{id:"z-ai/glm-4.6v",name:"Z.ai: GLM 4.6V",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Anthropic: Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Google: Gemini 2.5 Flash Lite Preview 09-2025",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0.083333},releaseDate:"2025-09-25"},"qwen/qwen3-vl-235b-a22b-thinking":{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen: Qwen3 VL 235B A22B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:2.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24"},"qwen/qwen3-vl-235b-a22b-instruct":{id:"qwen/qwen3-vl-235b-a22b-instruct",name:"Qwen: Qwen3 VL 235B A22B Instruct",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.88,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-23"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek: DeepSeek V3.1 Terminus",contextWindow:163840,maxTokens:32768,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.21,output:0.79,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-09-22"},"alibaba/tongyi-deepresearch-30b-a3b":{id:"alibaba/tongyi-deepresearch-30b-a3b",name:"Tongyi DeepResearch 30B A3B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.09,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"OpenAI: GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Mistral: Devstral 2 2512",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-12"},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen: Qwen3 Next 80B A3B Instruct",contextWindow:131072,maxTokens:52429,capabilities:["tools","temperature"],pricing:{input:0.09,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen: Qwen3 Next 80B A3B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.0975,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen-plus-2025-07-28":{id:"qwen/qwen-plus-2025-07-28",name:"Qwen: Qwen Plus 0728",contextWindow:1e6,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.26,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-09"},"qwen/qwen-plus-2025-07-28:thinking":{id:"qwen/qwen-plus-2025-07-28:thinking",name:"Qwen: Qwen Plus 0728 (thinking)",contextWindow:1e6,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.26,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-09"},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"MoonshotAI: Kimi K2 0905",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-09-05"},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen: Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-09-05"},"bytedance-seed/seed-1.6":{id:"bytedance-seed/seed-1.6",name:"ByteDance Seed: Seed 1.6",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09"},"x-ai/grok-code-fast-1:optimized:free":{id:"x-ai/grok-code-fast-1:optimized:free",name:"xAI: Grok Code Fast 1 Optimized (experimental, free)",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-27"},"qwen/qwen3.6-plus":{id:"qwen/qwen3.6-plus",name:"Qwen: Qwen3.6 Plus",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.325,output:1.95,cacheRead:0.0325,cacheWrite:0.40625},releaseDate:"2025-08-26"},"stepfun/step-3.5-flash:free":{id:"stepfun/step-3.5-flash:free",name:"StepFun: Step 3.5 Flash (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-26"},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"xAI: Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-26"},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek: DeepSeek V3.1",contextWindow:32768,maxTokens:7168,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"xAI: Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-08-19"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"NVIDIA: Nemotron Nano 9B V2",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18"},"openai/gpt-4o-audio-preview":{id:"openai/gpt-4o-audio-preview",name:"OpenAI: GPT-4o Audio",contextWindow:128000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-15"},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral: Mistral Medium 3.1",contextWindow:131072,maxTokens:26215,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-12"},"z-ai/glm-4.5v":{id:"z-ai/glm-4.5v",name:"Z.ai: GLM 4.5V",contextWindow:65536,maxTokens:16384,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:1.8,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-08-11"},"ai21/jamba-large-1.7":{id:"ai21/jamba-large-1.7",name:"AI21: Jamba Large 1.7",contextWindow:256000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:2,output:8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-09"},"openai/gpt-5":{id:"openai/gpt-5",name:"OpenAI: GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"OpenAI: GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"OpenAI: GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Anthropic: Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"OpenAI: gpt-oss-120b",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.039,output:0.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"OpenAI: gpt-oss-20b",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.03,output:0.14,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Mistral: Codestral 2508",contextWindow:256000,maxTokens:51200,capabilities:["tools","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen: Qwen3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-31"},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen: Qwen3 30B A3B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.09,output:0.3,cacheRead:0.04,cacheWrite:0},releaseDate:"2025-07-29"},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen: Qwen3 30B A3B Thinking 2507",contextWindow:32768,maxTokens:6554,capabilities:["tools","reasoning","temperature"],pricing:{input:0.051,output:0.34,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"Z.ai: GLM 4.5",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-07-28"},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"Z.ai: GLM 4.5 Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.13,output:0.85,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-07-28"},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen: Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.11,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"z-ai/glm-4-32b":{id:"z-ai/glm-4-32b",name:"Z.ai: GLM 4 32B ",contextWindow:128000,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen: Qwen3 Coder 480B A35B",contextWindow:262144,maxTokens:52429,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.22,output:1,cacheRead:0.022,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen: Qwen3 Coder Flash",contextWindow:1e6,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.195,output:0.975,cacheRead:0.06,cacheWrite:0},releaseDate:"2025-07-23"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Google: Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.083333},releaseDate:"2025-07-17"},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"MoonshotAI: Kimi K2 0711",contextWindow:131000,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"mistralai/devstral-medium":{id:"mistralai/devstral-medium",name:"Mistral: Devstral Medium",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10"},"x-ai/grok-4":{id:"x-ai/grok-4",name:"xAI: Grok 4",contextWindow:256000,maxTokens:51200,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09"},"tngtech/deepseek-r1t2-chimera":{id:"tngtech/deepseek-r1t2-chimera",name:"TNG: DeepSeek R1T2 Chimera",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:0.85,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-07-08"},"mistralai/voxtral-small-24b-2507":{id:"mistralai/voxtral-small-24b-2507",name:"Mistral: Voxtral Small 24B 2507",contextWindow:32000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-01"},"qwen/qwen3-coder-plus":{id:"qwen/qwen3-coder-plus",name:"Qwen: Qwen3 Coder Plus",contextWindow:1e6,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.65,output:3.25,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-07-01"},"baidu/ernie-4.5-21b-a3b":{id:"baidu/ernie-4.5-21b-a3b",name:"Baidu: ERNIE 4.5 21B A3B",contextWindow:120000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.28,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-30"},"baidu/ernie-4.5-vl-28b-a3b":{id:"baidu/ernie-4.5-vl-28b-a3b",name:"Baidu: ERNIE 4.5 VL 28B A3B",contextWindow:30000,maxTokens:8000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.14,output:0.56,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-30"},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral: Mistral Small 3.2 24B",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.06,output:0.18,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-06-20"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Google: Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0.083333},releaseDate:"2025-06-17"},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax: MiniMax M1",contextWindow:1e6,maxTokens:40000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.4,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17"},"google/gemini-2.5-pro-preview":{id:"google/gemini-2.5-pro-preview",name:"Google: Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-06-05"},"deepseek/deepseek-r1-0528":{id:"deepseek/deepseek-r1-0528",name:"DeepSeek: R1 0528",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.45,output:2.15,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-05-28"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Anthropic: Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Anthropic: Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"mistralai/devstral-small":{id:"mistralai/devstral-small",name:"Mistral: Devstral Small 1.1",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral: Mistral Medium 3",contextWindow:131072,maxTokens:26215,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"arcee-ai/virtuoso-large":{id:"arcee-ai/virtuoso-large",name:"Arcee AI: Virtuoso Large",contextWindow:131072,maxTokens:64000,capabilities:["tools","temperature"],pricing:{input:0.75,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-06"},"google/gemini-2.5-pro-preview-05-06":{id:"google/gemini-2.5-pro-preview-05-06",name:"Google: Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-05-06"},"openai/o4-mini-high":{id:"openai/o4-mini-high",name:"OpenAI: o4 Mini High",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:1.1,output:4.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-17"},"openai/o3":{id:"openai/o3",name:"OpenAI: o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o3-pro":{id:"openai/o3-pro",name:"OpenAI: o3 Pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o4-mini":{id:"openai/o4-mini",name:"OpenAI: o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"OpenAI: GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"OpenAI: GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"OpenAI: GPT-4.1 Nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04-14"},"meta-llama/llama-4-maverick":{id:"meta-llama/llama-4-maverick",name:"Meta: Llama 4 Maverick",contextWindow:1048576,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta-llama/llama-4-scout":{id:"meta-llama/llama-4-scout",name:"Meta: Llama 4 Scout",contextWindow:327680,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.08,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"qwen/qwen3-14b":{id:"qwen/qwen3-14b",name:"Qwen: Qwen3 14B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-235b-a22b-2507":{id:"qwen/qwen3-235b-a22b-2507",name:"Qwen: Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:52429,capabilities:["tools","reasoning","temperature"],pricing:{input:0.071,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-30b-a3b":{id:"qwen/qwen3-30b-a3b",name:"Qwen: Qwen3 30B A3B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.08,output:0.28,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-8b":{id:"qwen/qwen3-8b",name:"Qwen: Qwen3 8B",contextWindow:40960,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-04"},"deepseek/deepseek-chat-v3-0324":{id:"deepseek/deepseek-chat-v3-0324",name:"DeepSeek: DeepSeek V3 0324",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.77,cacheRead:0.095,cacheWrite:0},releaseDate:"2025-03-24"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Google: Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-03-20"},"nvidia/llama-3.3-nemotron-super-49b-v1.5":{id:"nvidia/llama-3.3-nemotron-super-49b-v1.5",name:"NVIDIA: Llama 3.3 Nemotron Super 49B V1.5",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-16"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Google: Gemma 3 27B",contextWindow:128000,maxTokens:65536,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.03,output:0.11,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-03-12"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Anthropic: Claude 3.7 Sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"anthropic/claude-3.7-sonnet:thinking":{id:"anthropic/claude-3.7-sonnet:thinking",name:"Anthropic: Claude 3.7 Sonnet (thinking)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"mistralai/mistral-saba":{id:"mistralai/mistral-saba",name:"Mistral: Saba",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3":{id:"x-ai/grok-3",name:"xAI: Grok 3",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"xAI: Grok 3 Beta",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-mini":{id:"x-ai/grok-3-mini",name:"xAI: Grok 3 Mini",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-mini-beta":{id:"x-ai/grok-3-mini-beta",name:"xAI: Grok 3 Mini Beta",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"openai/o3-mini-high":{id:"openai/o3-mini-high",name:"OpenAI: o3 Mini High",contextWindow:200000,maxTokens:1e5,capabilities:["files","tools","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2025-01-31"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek: R1",contextWindow:64000,maxTokens:16000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.7,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek: DeepSeek V3.2 Exp",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"},"nex-agi/deepseek-v3.1-nex-n1":{id:"nex-agi/deepseek-v3.1-nex-n1",name:"Nex AGI: DeepSeek V3.1 Nex N1",contextWindow:131072,maxTokens:163840,capabilities:["tools","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"},"openai/o3-mini":{id:"openai/o3-mini",name:"OpenAI: o3 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["files","tools","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20"},"google/gemini-2.0-flash-001":{id:"google/gemini-2.0-flash-001",name:"Google: Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0.083333},releaseDate:"2024-12-11"},"google/gemini-2.0-flash-lite-001":{id:"google/gemini-2.0-flash-lite-001",name:"Google: Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"amazon/nova-lite-v1":{id:"amazon/nova-lite-v1",name:"Amazon: Nova Lite 1.0",contextWindow:300000,maxTokens:5120,capabilities:["images","tools","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"amazon/nova-micro-v1":{id:"amazon/nova-micro-v1",name:"Amazon: Nova Micro 1.0",contextWindow:128000,maxTokens:5120,capabilities:["tools","temperature"],pricing:{input:0.035,output:0.14,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"openai/o1":{id:"openai/o1",name:"OpenAI: o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","prompt-cache"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05"},"amazon/nova-pro-v1":{id:"amazon/nova-pro-v1",name:"Amazon: Nova Pro 1.0",contextWindow:300000,maxTokens:5120,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-03"},"amazon/nova-2-lite-v1":{id:"amazon/nova-2-lite-v1",name:"Amazon: Nova 2 Lite",contextWindow:1e6,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"deepseek/deepseek-chat":{id:"deepseek/deepseek-chat",name:"DeepSeek: DeepSeek V3",contextWindow:163840,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.32,output:0.89,cacheRead:0.15,cacheWrite:0},releaseDate:"2024-12-01"},"nvidia/nemotron-3-nano-30b-a3b":{id:"nvidia/nemotron-3-nano-30b-a3b",name:"NVIDIA: Nemotron 3 Nano 30B A3B",contextWindow:262144,maxTokens:52429,capabilities:["tools","reasoning","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12"},"qwen/qwen3-235b-a22b":{id:"qwen/qwen3-235b-a22b",name:"Qwen: Qwen3 235B A22B",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.455,output:1.82,cacheRead:0.15,cacheWrite:0},releaseDate:"2024-12-01"},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen: Qwen3 32B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.08,output:0.24,cacheRead:0.04,cacheWrite:0},releaseDate:"2024-12-01"},"openai/gpt-4o-2024-11-20":{id:"openai/gpt-4o-2024-11-20",name:"OpenAI: GPT-4o (2024-11-20)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-11-20"},"mistralai/mistral-large-2407":{id:"mistralai/mistral-large-2407",name:"Mistral Large 2407",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-19"},"mistralai/pixtral-large-2411":{id:"mistralai/pixtral-large-2411",name:"Mistral: Pixtral Large 2411",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-19"},"thedrummer/unslopnemo-12b":{id:"thedrummer/unslopnemo-12b",name:"TheDrummer: UnslopNemo 12B",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-09"},"mistralai/mistral-large-2512":{id:"mistralai/mistral-large-2512",name:"Mistral: Mistral Large 3 2512",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-01"},"qwen/qwen-turbo":{id:"qwen/qwen-turbo",name:"Qwen: Qwen-Turbo",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.0325,output:0.13,cacheRead:0.01,cacheWrite:0},releaseDate:"2024-11-01"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Anthropic: Claude 3.5 Haiku",contextWindow:200000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"nvidia/llama-3.1-nemotron-70b-instruct":{id:"nvidia/llama-3.1-nemotron-70b-instruct",name:"NVIDIA: Llama 3.1 Nemotron 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1.2,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-12"},"thedrummer/rocinante-12b":{id:"thedrummer/rocinante-12b",name:"TheDrummer: Rocinante 12B",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.17,output:0.43,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-30"},"qwen/qwen-2.5-72b-instruct":{id:"qwen/qwen-2.5-72b-instruct",name:"Qwen2.5 72B Instruct",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.12,output:0.39,cacheRead:0,cacheWrite:0},releaseDate:"2024-09"},"qwen/qwen-2.5-7b-instruct":{id:"qwen/qwen-2.5-7b-instruct",name:"Qwen: Qwen2.5 7B Instruct",contextWindow:32768,maxTokens:6554,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-09"},"cohere/command-r-08-2024":{id:"cohere/command-r-08-2024",name:"Cohere: Command R (08-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-30"},"cohere/command-r-plus-08-2024":{id:"cohere/command-r-plus-08-2024",name:"Cohere: Command R+ (08-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-30"},"sao10k/l3.1-euryale-70b":{id:"sao10k/l3.1-euryale-70b",name:"Sao10K: Llama 3.1 Euryale 70B v2.2",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.85,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-28"},"openai/gpt-4o-2024-08-06":{id:"openai/gpt-4o-2024-08-06",name:"OpenAI: GPT-4o (2024-08-06)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-08-06"},"meta-llama/llama-3.3-70b-instruct":{id:"meta-llama/llama-3.3-70b-instruct",name:"Meta: Llama 3.3 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.32,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-01"},"mistralai/mistral-large":{id:"mistralai/mistral-large",name:"Mistral Large",contextWindow:128000,maxTokens:25600,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-24"},"mistralai/mistral-large-2411":{id:"mistralai/mistral-large-2411",name:"Mistral Large 2411",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-24"},"meta-llama/llama-3.1-8b-instruct":{id:"meta-llama/llama-3.1-8b-instruct",name:"Meta: Llama 3.1 8B Instruct",contextWindow:16384,maxTokens:819,capabilities:["tools","temperature"],pricing:{input:0.02,output:0.05,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"OpenAI: GPT-4o-mini",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},releaseDate:"2024-07-18"},"openai/gpt-4o-mini-2024-07-18":{id:"openai/gpt-4o-mini-2024-07-18",name:"OpenAI: GPT-4o-mini (2024-07-18)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-18"},"meta-llama/llama-3.1-70b-instruct":{id:"meta-llama/llama-3.1-70b-instruct",name:"Meta: Llama 3.1 70B Instruct",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-16"},"mistralai/mistral-nemo":{id:"mistralai/mistral-nemo",name:"Mistral: Mistral Nemo",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.02,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-01"},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"OpenAI: o3 Deep Research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26"},"openai/o4-mini-deep-research":{id:"openai/o4-mini-deep-research",name:"OpenAI: o4 Mini Deep Research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2024-06-26"},"sao10k/l3-euryale-70b":{id:"sao10k/l3-euryale-70b",name:"Sao10k: Llama 3 Euryale 70B v2.1",contextWindow:8192,maxTokens:409,capabilities:["tools","temperature"],pricing:{input:1.48,output:1.48,cacheRead:0,cacheWrite:0},releaseDate:"2024-06-18"},"openai/gpt-4o":{id:"openai/gpt-4o",name:"OpenAI: GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"},"openai/gpt-4o-2024-05-13":{id:"openai/gpt-4o-2024-05-13",name:"OpenAI: GPT-4o (2024-05-13)",contextWindow:128000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-13"},"meta-llama/llama-3-8b-instruct":{id:"meta-llama/llama-3-8b-instruct",name:"Meta: Llama 3 8B Instruct",contextWindow:8192,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.03,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-25"},"mistralai/mixtral-8x22b-instruct":{id:"mistralai/mixtral-8x22b-instruct",name:"Mistral: Mixtral 8x22B Instruct",contextWindow:65536,maxTokens:13108,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-17"},"qwen/qwen-vl-max":{id:"qwen/qwen-vl-max",name:"Qwen: Qwen VL Max",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-08"},"qwen/qwen-max":{id:"qwen/qwen-max",name:"Qwen: Qwen-Max ",contextWindow:32768,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:1.04,output:4.16,cacheRead:0.32,cacheWrite:0},releaseDate:"2024-04-03"},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Anthropic: Claude 3 Haiku",contextWindow:200000,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-07"},"cohere/command-r7b-12-2024":{id:"cohere/command-r7b-12-2024",name:"Cohere: Command R7B (12-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:0.0375,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-02-27"},"openai/gpt-4-turbo-preview":{id:"openai/gpt-4-turbo-preview",name:"OpenAI: GPT-4 Turbo Preview",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2024-01-25"},"qwen/qwen-plus":{id:"qwen/qwen-plus",name:"Qwen: Qwen-Plus",contextWindow:1e6,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.2,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-01-25"},"mistralai/mixtral-8x7b-instruct":{id:"mistralai/mixtral-8x7b-instruct",name:"Mistral: Mixtral 8x7B Instruct",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.54,output:0.54,cacheRead:0,cacheWrite:0},releaseDate:"2023-12-10"},"openai/gpt-4-1106-preview":{id:"openai/gpt-4-1106-preview",name:"OpenAI: GPT-4 Turbo (older v1106)",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"OpenAI: GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-09-13"},"openai/gpt-3.5-turbo-16k":{id:"openai/gpt-3.5-turbo-16k",name:"OpenAI: GPT-3.5 Turbo 16k",contextWindow:16385,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:3,output:4,cacheRead:0,cacheWrite:0},releaseDate:"2023-08-28"},"openai/gpt-3.5-turbo-0613":{id:"openai/gpt-3.5-turbo-0613",name:"OpenAI: GPT-3.5 Turbo (older v0613)",contextWindow:4095,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:1,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2023-06-13"},"openai/gpt-4-0314":{id:"openai/gpt-4-0314",name:"OpenAI: GPT-4 (older v0314)",contextWindow:8191,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-05-28"},"openai/gpt-4":{id:"openai/gpt-4",name:"OpenAI: GPT-4",contextWindow:8191,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-03-14"},"openai/gpt-3.5-turbo":{id:"openai/gpt-3.5-turbo",name:"OpenAI: GPT-3.5 Turbo",contextWindow:16385,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2023-03-01"}},lmstudio:{"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"qwen/qwen3-30b-a3b-2507":{id:"qwen/qwen3-30b-a3b-2507",name:"Qwen3 30B A3B 2507",contextWindow:262144,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30",family:"qwen"},"qwen/qwen3-coder-30b":{id:"qwen/qwen3-coder-30b",name:"Qwen3 Coder 30B",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"}},minimax:{"MiniMax-M2.7":{id:"MiniMax-M2.7",name:"MiniMax-M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"MiniMax-M2.7-highspeed":{id:"MiniMax-M2.7-highspeed",name:"MiniMax-M2.7-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"MiniMax-M2.5-highspeed":{id:"MiniMax-M2.5-highspeed",name:"MiniMax-M2.5-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-02-13",family:"minimax"},"MiniMax-M2.5":{id:"MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12",family:"minimax"},"MiniMax-M2.1":{id:"MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"MiniMax-M2":{id:"MiniMax-M2",name:"MiniMax-M2",contextWindow:196608,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-27",family:"minimax"}},moonshot:{"kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-21",family:"kimi-k2.6"},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01",family:"kimi-k2.5"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"kimi-k2-thinking-turbo":{id:"kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"kimi-k2-0905-preview":{id:"kimi-k2-0905-preview",name:"Kimi K2 0905",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"kimi-k2-turbo-preview":{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2.4,output:10,cacheRead:0.6,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"kimi-k2-0711-preview":{id:"kimi-k2-0711-preview",name:"Kimi K2 0711",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-07-14",family:"kimi"}},nebius:{"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron-3-Super-120B-A12B",contextWindow:256000,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:200000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.1,cacheWrite:1},releaseDate:"2026-03-01"},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-01"},"NousResearch/Hermes-4-405B":{id:"NousResearch/Hermes-4-405B",name:"Hermes-4-405B",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2026-01-30"},"NousResearch/Hermes-4-70B":{id:"NousResearch/Hermes-4-70B",name:"Hermes-4-70B",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.13,output:0.4,cacheRead:0.013,cacheWrite:0.16},releaseDate:"2026-01-30"},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3-30B-A3B-Instruct-2507",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-30B-A3B-Thinking-2507":{id:"Qwen/Qwen3-30B-A3B-Thinking-2507",name:"Qwen3-30B-A3B-Thinking-2507",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-32B":{id:"Qwen/Qwen3-32B",name:"Qwen3-32B",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-32B-fast":{id:"Qwen/Qwen3-32B-fast",name:"Qwen3-32B (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:0.6,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-28"},"Qwen/Qwen3-Coder-30B-A3B-Instruct":{id:"Qwen/Qwen3-Coder-30B-A3B-Instruct",name:"Qwen3-Coder-30B-A3B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:1.2,cacheRead:0.015,cacheWrite:0.18},releaseDate:"2026-01-28"},"PrimeIntellect/INTELLECT-3":{id:"PrimeIntellect/INTELLECT-3",name:"INTELLECT-3",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:1.1,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-25"},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",contextWindow:163000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:0.45,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-01-20"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma-3-27b-it",contextWindow:110000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-20"},"google/gemma-3-27b-it-fast":{id:"google/gemma-3-27b-it-fast",name:"Gemma-3-27b-it (Fast)",contextWindow:110000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:0.6,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-20"},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.8,output:2.4,cacheRead:0.08,cacheWrite:1},releaseDate:"2026-01-15"},"zai-org/GLM-4.7-FP8":{id:"zai-org/GLM-4.7-FP8",name:"GLM-4.7 (FP8)",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2026-01-15"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"gpt-oss-120b",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0.18},releaseDate:"2026-01-10"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"gpt-oss-20b",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.05,output:0.2,cacheRead:0.005,cacheWrite:0.06},releaseDate:"2026-01-10"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",contextWindow:200000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:2.4,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2026-01-05"},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2026-01-05"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15",family:"kimi"},"moonshotai/Kimi-K2.5-fast":{id:"moonshotai/Kimi-K2.5-fast",name:"Kimi-K2.5-fast",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15",family:"kimi"},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.13,output:0.4,cacheRead:0.013,cacheWrite:0.16},releaseDate:"2025-12-05"},"meta-llama/Llama-3.3-70B-Instruct-fast":{id:"meta-llama/Llama-3.3-70B-Instruct-fast",name:"Llama-3.3-70B-Instruct (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0.31},releaseDate:"2025-12-05"},"zai-org/GLM-4.5":{id:"zai-org/GLM-4.5",name:"GLM-4.5",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-11-15"},"zai-org/GLM-4.5-Air":{id:"zai-org/GLM-4.5-Air",name:"GLM-4.5-Air",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2025-11-15"},"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B":{id:"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",name:"Nemotron-3-Nano-30B-A3B",contextWindow:32000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.006,cacheWrite:0.075},releaseDate:"2025-08-10"},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.4,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek-V3-0324",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:1.5,cacheRead:0.05,cacheWrite:0.1875},releaseDate:"2025-03-24"},"deepseek-ai/DeepSeek-V3-0324-fast":{id:"deepseek-ai/DeepSeek-V3-0324-fast",name:"DeepSeek-V3-0324 (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.75,output:2.25,cacheRead:0.075,cacheWrite:0.28125},releaseDate:"2025-03-24"},"nvidia/Nemotron-Nano-V2-12b":{id:"nvidia/Nemotron-Nano-V2-12b",name:"Nemotron-Nano-V2-12b",contextWindow:32000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.07,output:0.2,cacheRead:0.007,cacheWrite:0.08},releaseDate:"2025-03-15"},"Qwen/Qwen2.5-VL-72B-Instruct":{id:"Qwen/Qwen2.5-VL-72B-Instruct",name:"Qwen2.5-VL-72B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0.31},releaseDate:"2025-01-20"},"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",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:1.8,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-01-15"},"deepseek-ai/DeepSeek-R1-0528-fast":{id:"deepseek-ai/DeepSeek-R1-0528-fast",name:"DeepSeek R1 0528 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01",family:"deepseek"},"Qwen/Qwen2.5-Coder-7B-fast":{id:"Qwen/Qwen2.5-Coder-7B-fast",name:"Qwen2.5-Coder-7B (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.03,output:0.09,cacheRead:0.003,cacheWrite:0.03},releaseDate:"2024-09-19"},"meta-llama/Meta-Llama-3.1-8B-Instruct":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Meta-Llama-3.1-8B-Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.02,output:0.06,cacheRead:0.002,cacheWrite:0.025},releaseDate:"2024-07-23"},"meta-llama/Meta-Llama-3.1-8B-Instruct-fast":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct-fast",name:"Meta-Llama-3.1-8B-Instruct (Fast)",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.03,output:0.09,cacheRead:0.003,cacheWrite:0.03},releaseDate:"2024-07-23"}},ollama:{"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"deepseek-v4-flash",contextWindow:1048576,maxTokens:52428,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-flash"},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"deepseek-v4-pro",contextWindow:1048576,maxTokens:52428,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"kimi-k2.6:cloud":{id:"kimi-k2.6:cloud",name:"kimi-k2.6:cloud",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-20",family:"kimi"},"gemma4:31b":{id:"gemma4:31b",name:"gemma4:31b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"glm-5.1":{id:"glm-5.1",name:"glm-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"minimax-m2.7":{id:"minimax-m2.7",name:"minimax-m2.7",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"nemotron-3-super":{id:"nemotron-3-super",name:"nemotron-3-super",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"qwen3.5:397b":{id:"qwen3.5:397b",name:"qwen3.5:397b",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15",family:"qwen"},"minimax-m2.5":{id:"minimax-m2.5",name:"minimax-m2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"glm-5":{id:"glm-5",name:"glm-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"qwen3-coder-next":{id:"qwen3-coder-next",name:"qwen3-coder-next",contextWindow:262144,maxTokens:65536,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-02",family:"qwen"},"kimi-k2.5":{id:"kimi-k2.5",name:"kimi-k2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"minimax-m2.1":{id:"minimax-m2.1",name:"minimax-m2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"glm-4.7":{id:"glm-4.7",name:"glm-4.7",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"gemini-3-flash-preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"nemotron-3-nano:30b":{id:"nemotron-3-nano:30b",name:"nemotron-3-nano:30b",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-15",family:"nemotron"},"devstral-2:123b":{id:"devstral-2:123b",name:"devstral-2:123b",contextWindow:262144,maxTokens:13107,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09",family:"devstral"},"devstral-small-2:24b":{id:"devstral-small-2:24b",name:"devstral-small-2:24b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09",family:"devstral"},"rnj-1:8b":{id:"rnj-1:8b",name:"rnj-1:8b",contextWindow:32768,maxTokens:4096,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-06",family:"rnj"},"mistral-large-3:675b":{id:"mistral-large-3:675b",name:"mistral-large-3:675b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"mistral-large"},"cogito-2.1:671b":{id:"cogito-2.1:671b",name:"cogito-2.1:671b",contextWindow:163840,maxTokens:32000,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-19",family:"cogito"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"kimi-k2-thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"minimax-m2":{id:"minimax-m2",name:"minimax-m2",contextWindow:204800,maxTokens:128000,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-23",family:"minimax"},"glm-4.6":{id:"glm-4.6",name:"glm-4.6",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29",family:"glm"},"qwen3-vl:235b":{id:"qwen3-vl:235b",name:"qwen3-vl:235b",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"qwen"},"qwen3-vl:235b-instruct":{id:"qwen3-vl:235b-instruct",name:"qwen3-vl:235b-instruct",contextWindow:262144,maxTokens:131072,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"qwen"},"qwen3-next:80b":{id:"qwen3-next:80b",name:"qwen3-next:80b",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-15",family:"qwen"},"deepseek-v3.1:671b":{id:"deepseek-v3.1:671b",name:"deepseek-v3.1:671b",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"gpt-oss:120b":{id:"gpt-oss:120b",name:"gpt-oss:120b",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"gpt-oss:20b":{id:"gpt-oss:20b",name:"gpt-oss:20b",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"qwen3-coder:480b":{id:"qwen3-coder:480b",name:"qwen3-coder:480b",contextWindow:262144,maxTokens:65536,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22",family:"qwen"},"kimi-k2:1t":{id:"kimi-k2:1t",name:"kimi-k2:1t",contextWindow:262144,maxTokens:13107,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11",family:"kimi"},"deepseek-v3.2":{id:"deepseek-v3.2",name:"deepseek-v3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-15",family:"deepseek"},"ministral-3:14b":{id:"ministral-3:14b",name:"ministral-3:14b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"ministral"},"ministral-3:8b":{id:"ministral-3:8b",name:"ministral-3:8b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"ministral"},"ministral-3:3b":{id:"ministral-3:3b",name:"ministral-3:3b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-22",family:"ministral"}},"openai-native":{"gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt"},"gpt-5.5-pro":{id:"gpt-5.5-pro",name:"GPT-5.5 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt-pro"},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-mini"},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-nano"},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt-pro"},"gpt-5.3-chat-latest":{id:"gpt-5.3-chat-latest",name:"GPT-5.3 Chat (latest)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-03-03",family:"gpt"},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05",family:"gpt-codex"},"gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindow:128000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05",family:"gpt-codex-spark"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"gpt-5.2-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"gpt-5.2-pro":{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-pro"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt"},"gpt-5.1-chat-latest":{id:"gpt-5.1-chat-latest",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06",family:"gpt-pro"},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"gpt-5":{id:"gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"o3-pro":{id:"o3-pro",name:"o3-pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-10",family:"o-pro"},o3:{id:"o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16",family:"o"},"o4-mini":{id:"o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-nano"},"o1-pro":{id:"o1-pro",name:"o1-pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:150,output:600,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-19",family:"o-pro"},"o3-mini":{id:"o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20",family:"o-mini"},o1:{id:"o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05",family:"o"},"gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-11-20",family:"gpt"},"gpt-4o-2024-08-06":{id:"gpt-4o-2024-08-06",name:"GPT-4o (2024-08-06)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-08-06",family:"gpt"},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"},"o3-deep-research":{id:"o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26",family:"o"},"o4-mini-deep-research":{id:"o4-mini-deep-research",name:"o4-mini-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2024-06-26",family:"o-mini"},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13",family:"gpt"},"gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",name:"GPT-4o (2024-05-13)",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","structured_output","temperature"],pricing:{input:5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-13",family:"gpt"},"gpt-4":{id:"gpt-4",name:"GPT-4",contextWindow:8192,maxTokens:409,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06",family:"gpt"},"gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06",family:"gpt"}},openrouter:{"x-ai/grok-4.3":{id:"x-ai/grok-4.3",name:"Grok 4.3",contextWindow:1e6,maxTokens:50000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-05-01",family:"grok"},"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free":{id:"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",name:"Nemotron 3 Nano Omni (free)",contextWindow:256000,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28",family:"nemotron"},"openrouter/owl-alpha":{id:"openrouter/owl-alpha",name:"Owl Alpha",contextWindow:1048756,maxTokens:262144,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"poolside/laguna-m.1:free":{id:"poolside/laguna-m.1:free",name:"Laguna M.1",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"poolside/laguna-xs.2:free":{id:"poolside/laguna-xs.2:free",name:"Laguna XS.2",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"deepseek/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1048576,maxTokens:393216,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-flash"},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1048576,maxTokens:393216,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.145,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"openai/gpt-5.5":{id:"openai/gpt-5.5",name:"GPT-5.5",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt"},"openai/gpt-5.5-pro":{id:"openai/gpt-5.5-pro",name:"GPT-5.5 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt-pro"},"qwen/qwen-3.6-27b":{id:"qwen/qwen-3.6-27b",name:"Qwen3.6 27B",contextWindow:262144,maxTokens:81920,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.195,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-22",family:"qwen"},"xiaomi/mimo-v2.5":{id:"xiaomi/mimo-v2.5",name:"Xiaomi: MiMo-V2.5",contextWindow:1048576,maxTokens:131072,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"xiaomi/mimo-v2.5-pro":{id:"xiaomi/mimo-v2.5-pro",name:"Xiaomi: MiMo-V2.5-Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"openrouter/pareto-code":{id:"openrouter/pareto-code",name:"Pareto Code Router",contextWindow:200000,maxTokens:1e4,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-21"},"moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-20",family:"kimi"},"anthropic/claude-opus-4.7":{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"openrouter/elephant-alpha":{id:"openrouter/elephant-alpha",name:"Elephant (free)",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-13",family:"elephant"},"z-ai/glm-5.1":{id:"z-ai/glm-5.1",name:"GLM-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-04-07",family:"glm"},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-03",family:"gemma"},"google/gemma-4-26b-a4b-it:free":{id:"google/gemma-4-26b-a4b-it:free",name:"Gemma 4 26B A4B (free)",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-03",family:"gemma"},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Gemma 4 31B",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.14,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"google/gemma-4-31b-it:free":{id:"google/gemma-4-31b-it:free",name:"Gemma 4 31B (free)",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"qwen/qwen3.6-plus":{id:"qwen/qwen3.6-plus",name:"Qwen3.6 Plus",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.325,output:1.95,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"qwen"},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Trinity Large Thinking",contextWindow:262144,maxTokens:80000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-01",family:"trinity"},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"MiniMax M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"xiaomi/mimo-v2-omni":{id:"xiaomi/mimo-v2-omni",name:"Xiaomi: MiMo-V2-Omni",contextWindow:262144,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"Xiaomi: MiMo-V2-Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT-5.4 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-mini"},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT-5.4 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-nano"},"mistralai/mistral-small-2603":{id:"mistralai/mistral-small-2603",name:"Mistral Small 4",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-16",family:"mistral-small"},"z-ai/glm-5-turbo":{id:"z-ai/glm-5-turbo",name:"GLM-5-Turbo",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.96,output:3.2,cacheRead:0.192,cacheWrite:0},releaseDate:"2026-03-16",family:"glm"},"x-ai/grok-4.20-beta":{id:"x-ai/grok-4.20-beta",name:"Grok 4.20 Beta",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-12",family:"grok"},"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"nvidia/nemotron-3-super-120b-a12b:free":{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt-pro"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2026-03-04",family:"mercury"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:0.083},releaseDate:"2026-03-03",family:"gemini-flash-lite"},"qwen/qwen3.5-flash-02-23":{id:"qwen/qwen3.5-flash-02-23",name:"Qwen: Qwen3.5-Flash",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.065,output:0.26,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-25",family:"qwen"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24",family:"gpt-codex"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"google/gemini-3.1-pro-preview-customtools":{id:"google/gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16",family:"qwen"},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen3.5 Plus 2026-02-15",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16",family:"qwen"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"minimax/minimax-m2.5:free":{id:"minimax/minimax-m2.5:free",name:"MiniMax M2.5 (free)",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"z-ai/glm-5":{id:"z-ai/glm-5",name:"GLM-5",contextWindow:202752,maxTokens:131000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12",family:"glm"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"Step 3.5 Flash",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-01-29",family:"step"},"arcee-ai/trinity-large-preview:free":{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28",family:"trinity"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:65535,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19",family:"glm"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14",family:"gpt-codex"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"Xiaomi: MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-12-16",family:"mimo"},"nvidia/nemotron-3-nano-30b-a3b:free":{id:"nvidia/nemotron-3-nano-30b-a3b:free",name:"Nemotron 3 Nano 30B A3B (free)",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-14",family:"nemotron"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-pro"},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"deepseek/deepseek-v3.2-speciale":{id:"deepseek/deepseek-v3.2-speciale",name:"DeepSeek V3.2 Speciale",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-11-19",family:"grok"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1050000,maxTokens:66000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-18",family:"gemini-pro"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-29",family:"gpt-oss"},"nvidia/nemotron-nano-12b-v2-vl:free":{id:"nvidia/nemotron-nano-12b-v2-vl:free",name:"Nemotron Nano 12B 2 VL (free)",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-28",family:"nemotron"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:196600,maxTokens:118000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.28,output:1.15,cacheRead:0.28,cacheWrite:1.15},releaseDate:"2025-10-23",family:"minimax"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14",family:"gpt"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06",family:"gpt-pro"},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"z-ai/glm-4.6:exacto":{id:"z-ai/glm-4.6:exacto",name:"GLM 4.6 (exacto)",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:1.9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"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",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"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",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.031,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"deepseek"},"deepseek/deepseek-v3.1-terminus:exacto":{id:"deepseek/deepseek-v3.1-terminus:exacto",name:"DeepSeek V3.1 Terminus (exacto)",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"deepseek"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Devstral 2 2512",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12",family:"devstral"},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"Kimi K2 Instruct 0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"moonshotai/kimi-k2-0905:exacto":{id:"moonshotai/kimi-k2-0905:exacto",name:"Kimi K2 Instruct 0905 (exacto)",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"nvidia/nemotron-nano-9b-v2:free":{id:"nvidia/nemotron-nano-9b-v2:free",name:"Nemotron Nano 9B V2 (free)",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"nemotron"},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"qwen"},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-26",family:"grok"},"nousresearch/hermes-4-405b":{id:"nousresearch/hermes-4-405b",name:"Hermes 4 405B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25",family:"hermes"},"nousresearch/hermes-4-70b":{id:"nousresearch/hermes-4-70b",name:"Hermes 4 70B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25",family:"hermes"},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-08-19",family:"grok"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"nvidia-nemotron-nano-9b-v2",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18",family:"nemotron"},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral Medium 3.1",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-12",family:"mistral-medium"},"z-ai/glm-4.5v":{id:"z-ai/glm-4.5v",name:"GLM 4.5V",contextWindow:64000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11",family:"glm"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.072,output:0.28,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-120b:exacto":{id:"openai/gpt-oss-120b:exacto",name:"GPT OSS 120B (exacto)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-120b:free":{id:"openai/gpt-oss-120b:free",name:"gpt-oss-120b (free)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b:free":{id:"openai/gpt-oss-20b:free",name:"gpt-oss-20b (free)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Codestral 2508",contextWindow:256000,maxTokens:12800,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01",family:"codestral"},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:65536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-31",family:"qwen"},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen3 30B A3B Instruct 2507",contextWindow:262000,maxTokens:13100,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"qwen"},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen3 30B A3B Thinking 2507",contextWindow:262000,maxTokens:13100,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"qwen"},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"GLM 4.5",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm"},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"GLM 4.5 Air",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-air"},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:81920,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.078,output:0.312,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen3 Coder",contextWindow:262144,maxTokens:66536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen3 Coder Flash",contextWindow:128000,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"qwen/qwen3-coder:exacto":{id:"qwen/qwen3-coder:exacto",name:"Qwen3 Coder (exacto)",contextWindow:131072,maxTokens:32768,capabilities:["tools","structured_output","temperature"],pricing:{input:0.38,output:1.53,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-07-17",family:"gemini-flash"},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"Kimi K2",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11",family:"kimi"},"mistralai/devstral-medium-2507":{id:"mistralai/devstral-medium-2507",name:"Devstral Medium",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10",family:"devstral"},"mistralai/devstral-small-2507":{id:"mistralai/devstral-small-2507",name:"Devstral Small 1.1",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10",family:"devstral"},"x-ai/grok-4":{id:"x-ai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-07-09",family:"grok"},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral Small 3.2 24B Instruct",contextWindow:96000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-20",family:"mistral-small"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax M1",contextWindow:1e6,maxTokens:40000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.4,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17",family:"minimax"},"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",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05",family:"gemini-pro"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"mistralai/devstral-small-2505":{id:"mistralai/devstral-small-2505",name:"Devstral Small",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.06,output:0.12,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"devstral"},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral Medium 3",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"mistral-medium"},"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",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06",family:"gemini-pro"},"qwen/qwen3-235b-a22b-07-25":{id:"qwen/qwen3-235b-a22b-07-25",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28",family:"qwen"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"},"mistralai/mistral-small-3.1-24b-instruct":{id:"mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17",family:"mistral-small"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma 3 27B",contextWindow:96000,maxTokens:4800,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.04,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12",family:"gemma"},"google/gemma-3-27b-it:free":{id:"google/gemma-3-27b-it:free",name:"Gemma 3 27B (free)",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12",family:"gemma"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"x-ai/grok-3":{id:"x-ai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17",family:"grok"},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"Grok 3 Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17",family:"grok"},"x-ai/grok-3-mini":{id:"x-ai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17",family:"grok"},"x-ai/grok-3-mini-beta":{id:"x-ai/grok-3-mini-beta",name:"Grok 3 Mini Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17",family:"grok"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek: R1",contextWindow:64000,maxTokens:16000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.7,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20",family:"deepseek-thinking"},"minimax/minimax-01":{id:"minimax/minimax-01",name:"MiniMax-01",contextWindow:1e6,maxTokens:50000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15",family:"minimax"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"Intellect 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15",family:"glm"},"google/gemini-2.0-flash-001":{id:"google/gemini-2.0-flash-001",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash"},"meta-llama/llama-3.3-70b-instruct:free":{id:"meta-llama/llama-3.3-70b-instruct:free",name:"Llama 3.3 70B Instruct (free)",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o-mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"}},requesty:{"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt-pro"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24",family:"gpt-codex"},"anthropic/claude-sonnet-4-6":{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"anthropic/claude-opus-4-6":{id:"anthropic/claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14",family:"gpt-codex"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:1},releaseDate:"2025-12-17"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-pro"},"anthropic/claude-opus-4-5":{id:"anthropic/claude-opus-4-5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:4.5},releaseDate:"2025-11-18",family:"gemini-pro"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"anthropic/claude-haiku-4-5":{id:"anthropic/claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:62000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14",family:"gpt"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06",family:"gpt-pro"},"anthropic/claude-sonnet-4-5":{id:"anthropic/claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"xai/grok-4-fast":{id:"xai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.2},releaseDate:"2025-09-19",family:"grok"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:3},releaseDate:"2025-09-09",family:"grok"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:16000,maxTokens:4000,capabilities:["tools","reasoning","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"anthropic/claude-opus-4-1":{id:"anthropic/claude-opus-4-1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0.55},releaseDate:"2025-06-17",family:"gemini-flash"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:2.375},releaseDate:"2025-03-20",family:"gemini-pro"},"anthropic/claude-3-7-sonnet":{id:"anthropic/claude-3-7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o Mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"}},sapaicore:{"anthropic--claude-4.6-sonnet":{id:"anthropic--claude-4.6-sonnet",name:"anthropic--claude-4.6-sonnet",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"anthropic--claude-4.6-opus":{id:"anthropic--claude-4.6-opus",name:"anthropic--claude-4.6-opus",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"anthropic--claude-4.5-opus":{id:"anthropic--claude-4.5-opus",name:"anthropic--claude-4.5-opus",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"anthropic--claude-4.5-haiku":{id:"anthropic--claude-4.5-haiku",name:"anthropic--claude-4.5-haiku",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"anthropic--claude-4.5-sonnet":{id:"anthropic--claude-4.5-sonnet",name:"anthropic--claude-4.5-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"gpt-5":{id:"gpt-5",name:"gpt-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"gpt-5-mini":{id:"gpt-5-mini",name:"gpt-5-mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"gpt-5-nano":{id:"gpt-5-nano",name:"gpt-5-nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"gemini-2.5-flash-lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"anthropic--claude-4-opus":{id:"anthropic--claude-4-opus",name:"anthropic--claude-4-opus",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic--claude-4-sonnet":{id:"anthropic--claude-4-sonnet",name:"anthropic--claude-4-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"gpt-4.1":{id:"gpt-4.1",name:"gpt-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"gpt-4.1-mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"gemini-2.5-flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-25",family:"gemini-flash"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"gemini-2.5-pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-25",family:"gemini-pro"},"anthropic--claude-3.7-sonnet":{id:"anthropic--claude-3.7-sonnet",name:"anthropic--claude-3.7-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-24",family:"claude-sonnet"},"anthropic--claude-3.5-sonnet":{id:"anthropic--claude-3.5-sonnet",name:"anthropic--claude-3.5-sonnet",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"anthropic--claude-3-haiku":{id:"anthropic--claude-3-haiku",name:"anthropic--claude-3-haiku",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13",family:"claude-haiku"},"anthropic--claude-3-sonnet":{id:"anthropic--claude-3-sonnet",name:"anthropic--claude-3-sonnet",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-03-04",family:"claude-sonnet"},"anthropic--claude-3-opus":{id:"anthropic--claude-3-opus",name:"anthropic--claude-3-opus",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29",family:"claude-opus"}},together:{"Qwen/Qwen3.6-Plus":{id:"Qwen/Qwen3.6-Plus",name:"Qwen3.6 Plus",contextWindow:1e6,maxTokens:500000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-30",family:"qwen"},"deepseek-ai/DeepSeek-V4-Pro":{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro",contextWindow:512000,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2.1,output:4.4,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek"},"moonshotai/Kimi-K2.6":{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:131000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.2,output:4.5,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-21",family:"kimi-k2.6"},"google/gemma-4-31B-it":{id:"google/gemma-4-31B-it",name:"Gemma 4 31B Instruct",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-07",family:"gemma"},"zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1.4,output:4.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-07",family:"glm"},"MiniMaxAI/MiniMax-M2.7":{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax-M2.7",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5 397B A17B",contextWindow:262144,maxTokens:130000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16",family:"qwen"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"Qwen/Qwen3-Coder-Next-FP8":{id:"Qwen/Qwen3-Coder-Next-FP8",name:"Qwen3 Coder Next FP8",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03",family:"qwen"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"essentialai/Rnj-1-Instruct":{id:"essentialai/Rnj-1-Instruct",name:"Rnj-1 Instruct",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-05",family:"rnj"},"deepseek-ai/DeepSeek-V3-1":{id:"deepseek-ai/DeepSeek-V3-1",name:"DeepSeek V3.1",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:1.7,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"Qwen/Qwen3-235B-A22B-Instruct-2507-tput":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507-tput",name:"Qwen3 235B A22B Instruct 2507 FP8",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:1.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20",family:"deepseek"},"meta-llama/Llama-3.3-70B-Instruct-Turbo":{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:0.88,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"}},v0:{"v0-1.5-lg":{id:"v0-1.5-lg",name:"v0-1.5-lg",contextWindow:512000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-09",family:"v0"},"v0-1.5-md":{id:"v0-1.5-md",name:"v0-1.5-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-09",family:"v0"},"v0-1.0-md":{id:"v0-1.0-md",name:"v0-1.0-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-22",family:"v0"}},"vercel-ai-gateway":{"xai/grok-4.3":{id:"xai/grok-4.3",name:"Grok 4.3",contextWindow:1e6,maxTokens:50000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-04-30",family:"grok"},"openai/gpt-5.5":{id:"openai/gpt-5.5",name:"GPT 5.5",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-24",family:"gpt"},"openai/gpt-5.5-pro":{id:"openai/gpt-5.5-pro",name:"GPT 5.5 Pro",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-24",family:"gpt"},"deepseek/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2026-04-23",family:"deepseek"},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.145,cacheWrite:0},releaseDate:"2026-04-23",family:"deepseek"},"alibaba/qwen3.6-27b":{id:"alibaba/qwen3.6-27b",name:"Qwen 3.6 27B",contextWindow:256000,maxTokens:12800,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.6,output:3.5999999999999996,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-22",family:"qwen3.6"},"xiaomi/mimo-v2.5":{id:"xiaomi/mimo-v2.5",name:"MiMo M2.5",contextWindow:1050000,maxTokens:131100,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.39999999999999997,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo-v2.5"},"xiaomi/mimo-v2.5-pro":{id:"xiaomi/mimo-v2.5-pro",name:"MiMo V2.5 Pro",contextWindow:1050000,maxTokens:131000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo-v2.5-pro"},"alibaba/qwen-3.6-max-preview":{id:"alibaba/qwen-3.6-max-preview",name:"Qwen 3.6 Max Preview",contextWindow:240000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.3,output:7.8,cacheRead:0.26,cacheWrite:1.625},releaseDate:"2026-04-20",family:"qwen"},"moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6",contextWindow:262000,maxTokens:13100,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-20",family:"kimi-k2.6"},"anthropic/claude-opus-4.7":{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"zai/glm-5.1":{id:"zai/glm-5.1",name:"GLM 5.1",contextWindow:202752,maxTokens:10137,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-04-07",family:"glm"},"alibaba/qwen3.6-plus":{id:"alibaba/qwen3.6-plus",name:"Qwen 3.6 Plus",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.09999999999999999,cacheWrite:0.625},releaseDate:"2026-04-02",family:"qwen"},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B IT",contextWindow:262144,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.13,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Gemma 4 31B IT",contextWindow:262144,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.14,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Trinity Large Thinking",contextWindow:262100,maxTokens:80000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.8999999999999999,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-01",family:"trinity"},"zai/glm-5v-turbo":{id:"zai/glm-5v-turbo",name:"GLM 5V Turbo",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"kwaipilot/kat-coder-pro-v2":{id:"kwaipilot/kat-coder-pro-v2",name:"Kat Coder Pro V2",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-27",family:"kat-coder"},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"Minimax M2.7",contextWindow:204800,maxTokens:131000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"minimax/minimax-m2.7-highspeed":{id:"minimax/minimax-m2.7-highspeed",name:"MiniMax M2.7 High Speed",contextWindow:204800,maxTokens:131100,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"MiMo V2 Pro",contextWindow:1e6,maxTokens:128000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT 5.4 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt"},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT 5.4 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.19999999999999998,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt"},"mistral/mistral-small":{id:"mistral/mistral-small",name:"Mistral Small (latest)",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-16",family:"mistral-small"},"zai/glm-5-turbo":{id:"zai/glm-5-turbo",name:"GLM 5 Turbo",contextWindow:202800,maxTokens:131100,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-15",family:"glm"},"zai/glm-4.7-flash":{id:"zai/glm-4.7-flash",name:"GLM 4.7 Flash",contextWindow:200000,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-13",family:"glm"},"xai/grok-4.20-multi-agent-beta":{id:"xai/grok-4.20-multi-agent-beta",name:"Grok 4.20 Multi Agent Beta",contextWindow:2000000,maxTokens:1e5,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11",family:"grok"},"xai/grok-4.20-non-reasoning-beta":{id:"xai/grok-4.20-non-reasoning-beta",name:"Grok 4.20 Beta Non-Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11",family:"grok"},"xai/grok-4.20-reasoning-beta":{id:"xai/grok-4.20-reasoning-beta",name:"Grok 4.20 Beta Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11",family:"grok"},"xai/grok-4.20-multi-agent":{id:"xai/grok-4.20-multi-agent",name:"Grok 4.20 Multi-Agent",contextWindow:2000000,maxTokens:1e5,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"xai/grok-4.20-non-reasoning":{id:"xai/grok-4.20-non-reasoning",name:"Grok 4.20 Non-Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"xai/grok-4.20-reasoning":{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT 5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT 5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1e6,maxTokens:65000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03",family:"gemini"},"openai/gpt-5.3-chat":{id:"openai/gpt-5.3-chat",name:"GPT-5.3 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-03-03",family:"gpt"},"alibaba/qwen3.5-flash":{id:"alibaba/qwen3.5-flash",name:"Qwen 3.5 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.001,cacheWrite:0.125},releaseDate:"2026-02-24",family:"qwen"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.024999999999999998,cacheWrite:0},releaseDate:"2026-02-24",family:"mercury"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT 5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24",family:"gpt"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"alibaba/qwen3.5-plus":{id:"alibaba/qwen3.5-plus",name:"Qwen 3.5 Plus",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2.4,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2026-02-16",family:"qwen"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12",family:"minimax"},"minimax/minimax-m2.5-highspeed":{id:"minimax/minimax-m2.5-highspeed",name:"MiniMax M2.5 High Speed",contextWindow:0,maxTokens:0,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12",family:"minimax"},"zai/glm-5":{id:"zai/glm-5",name:"GLM-5",contextWindow:202800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12",family:"glm"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02",family:"claude-opus"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-26",family:"kimi"},"zai/glm-4.7":{id:"zai/glm-4.7",name:"GLM 4.7",contextWindow:202752,maxTokens:120000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.43,output:1.75,cacheRead:0.08,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"google/gemini-3-flash":{id:"google/gemini-3-flash",name:"Gemini 3 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo V2 Flash",contextWindow:262144,maxTokens:32000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17",family:"mimo"},"mistral/devstral-2":{id:"mistral/devstral-2",name:"Devstral 2",contextWindow:256000,maxTokens:12800,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09",family:"devstral"},"deepseek/deepseek-v3.2-thinking":{id:"deepseek/deepseek-v3.2-thinking",name:"DeepSeek V3.2 Thinking",contextWindow:128000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.28,output:0.42,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek-thinking"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12",family:"gpt-codex"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"INTELLECT 3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26",family:"intellect"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:18.75},releaseDate:"2025-11-24",family:"claude-opus"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18",family:"gemini-pro"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:216144,maxTokens:10807,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.47,output:2,cacheRead:0.14,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"moonshotai/kimi-k2-thinking-turbo":{id:"moonshotai/kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262114,maxTokens:13105,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:262114,maxTokens:13105,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.27,output:1.15,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27",family:"minimax"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27",family:"minimax"},"minimax/minimax-m2.1-lightning":{id:"minimax/minimax-m2.1-lightning",name:"MiniMax M2.1 Lightning",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:2.4,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27",family:"minimax"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"bytedance/seed-1.8":{id:"bytedance/seed-1.8",name:"Seed 1.8",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-10",family:"seed"},"zai/glm-4.6":{id:"zai/glm-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:96000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.45,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"zai/glm-4.6v":{id:"zai/glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.9,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"zai/glm-4.6v-flash":{id:"zai/glm-4.6v-flash",name:"GLM-4.6V-Flash",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek V3.2 Exp",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29",family:"deepseek"},"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",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"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",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.383},releaseDate:"2025-09-25",family:"gemini-flash"},"alibaba/qwen3-vl-instruct":{id:"alibaba/qwen3-vl-instruct",name:"Qwen3 VL Instruct",contextWindow:131072,maxTokens:129024,capabilities:["images","tools","temperature"],pricing:{input:0.7,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24",family:"qwen"},"alibaba/qwen3-vl-thinking":{id:"alibaba/qwen3-vl-thinking",name:"Qwen3 VL Thinking",contextWindow:131072,maxTokens:129024,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.7,output:8.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24",family:"qwen"},"alibaba/qwen3-max":{id:"alibaba/qwen3-max",name:"Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:1.2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23",family:"qwen"},"alibaba/qwen3-max-preview":{id:"alibaba/qwen3-max-preview",name:"Qwen3 Max Preview",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-09-23",family:"qwen"},"meituan/longcat-flash-thinking":{id:"meituan/longcat-flash-thinking",name:"LongCat Flash Thinking",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23",family:"longcat"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"deepseek"},"xai/grok-4-fast-non-reasoning":{id:"xai/grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19",family:"grok"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"alibaba/qwen3-next-80b-a3b-instruct":{id:"alibaba/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.09,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12",family:"qwen"},"alibaba/qwen3-next-80b-a3b-thinking":{id:"alibaba/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12",family:"qwen"},"moonshotai/kimi-k2-turbo":{id:"moonshotai/kimi-k2-turbo",name:"Kimi K2 Turbo",contextWindow:256000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:2.4,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"bytedance/seed-1.6":{id:"bytedance/seed-1.6",name:"Seed 1.6",contextWindow:256000,maxTokens:32000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09",family:"seed"},"meituan/longcat-flash-chat":{id:"meituan/longcat-flash-chat",name:"LongCat Flash Chat",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-30",family:"longcat"},"xai/grok-code-fast-1":{id:"xai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28",family:"grok"},"deepseek/deepseek-v3.1":{id:"deepseek/deepseek-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"Nvidia Nemotron Nano 9B V2",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18",family:"nemotron"},"zai/glm-4.5v":{id:"zai/glm-4.5v",name:"GLM 4.5V",contextWindow:66000,maxTokens:3300,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11",family:"glm"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-chat":{id:"openai/gpt-5-chat",name:"GPT-5 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 pro",contextWindow:400000,maxTokens:272000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.1-instant":{id:"openai/gpt-5.1-instant",name:"GPT-5.1 Instant",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.1-thinking":{id:"openai/gpt-5.1-thinking",name:"GPT 5.1 Thinking",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT 5.2 ",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"zai/glm-4.5":{id:"zai/glm-4.5",name:"GLM 4.5",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm"},"zai/glm-4.5-air":{id:"zai/glm-4.5-air",name:"GLM 4.5 Air",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-air"},"alibaba/qwen3-coder-plus":{id:"alibaba/qwen3-coder-plus",name:"Qwen3 Coder Plus",contextWindow:1e6,maxTokens:50000,capabilities:["tools","temperature"],pricing:{input:1,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"alibaba/qwen3-coder-next":{id:"alibaba/qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22",family:"qwen"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"xai/grok-4-fast-reasoning":{id:"xai/grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning",contextWindow:2000000,maxTokens:256000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"xai/grok-4.1-fast-non-reasoning":{id:"xai/grok-4.1-fast-non-reasoning",name:"Grok 4.1 Fast Non-Reasoning",contextWindow:2000000,maxTokens:30000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"xai/grok-4.1-fast-reasoning":{id:"xai/grok-4.1-fast-reasoning",name:"Grok 4.1 Fast Reasoning",contextWindow:2000000,maxTokens:30000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"vercel/v0-1.5-md":{id:"vercel/v0-1.5-md",name:"v0-1.5-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-09",family:"v0"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"vercel/v0-1.0-md":{id:"vercel/v0-1.0-md",name:"v0-1.0-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-22",family:"v0"},"openai/codex-mini":{id:"openai/codex-mini",name:"Codex Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.5,output:6,cacheRead:0.38,cacheWrite:0},releaseDate:"2025-05-16",family:"gpt-codex-mini"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-05-16",family:"gpt"},"mistral/devstral-small":{id:"mistral/devstral-small",name:"Devstral Small 1.1",contextWindow:128000,maxTokens:64000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"devstral"},"mistral/devstral-small-2":{id:"mistral/devstral-small-2",name:"Devstral Small 2",contextWindow:256000,maxTokens:12800,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"devstral"},"mistral/mistral-medium":{id:"mistral/mistral-medium",name:"Mistral Medium 3.1",contextWindow:128000,maxTokens:64000,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"mistral-medium"},"openai/o3":{id:"openai/o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16",family:"o"},"openai/o3-pro":{id:"openai/o3-pro",name:"o3 Pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-16",family:"o-pro"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-nano"},"meta/llama-4-maverick":{id:"meta/llama-4-maverick",name:"Llama-4-Maverick-17B-128E-Instruct-FP8",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"meta/llama-4-scout":{id:"meta/llama-4-scout",name:"Llama-4-Scout-17B-16E-Instruct-FP8",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"alibaba/qwen-3-14b":{id:"alibaba/qwen-3-14b",name:"Qwen3-14B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen-3-235b":{id:"alibaba/qwen-3-235b",name:"Qwen3 235B A22B Instruct 2507",contextWindow:40960,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.13,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen-3-30b":{id:"alibaba/qwen-3-30b",name:"Qwen3-30B-A3B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.08,output:0.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen-3-32b":{id:"alibaba/qwen-3-32b",name:"Qwen 3.32B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen3-235b-a22b-thinking":{id:"alibaba/qwen3-235b-a22b-thinking",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262114,maxTokens:13105,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen3-coder":{id:"alibaba/qwen3-coder",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.38,output:1.53,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen3-coder-30b-a3b":{id:"alibaba/qwen3-coder-30b-a3b",name:"Qwen 3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-flash"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"},"mistral/magistral-medium":{id:"mistral/magistral-medium",name:"Magistral Medium (latest)",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17",family:"magistral-medium"},"mistral/magistral-small":{id:"mistral/magistral-small",name:"Magistral Small",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17",family:"magistral-small"},"cohere/command-a":{id:"cohere/command-a",name:"Command A",contextWindow:256000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-13",family:"command"},"inception/mercury-coder-small":{id:"inception/mercury-coder-small",name:"Mercury Coder Small Beta",contextWindow:32000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-26",family:"mercury"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"perplexity/sonar":{id:"perplexity/sonar",name:"Sonar",contextWindow:127000,maxTokens:8000,capabilities:["images","tools","temperature"],pricing:{input:1,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-19",family:"sonar"},"perplexity/sonar-pro":{id:"perplexity/sonar-pro",name:"Sonar Pro",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-19",family:"sonar-pro"},"xai/grok-3":{id:"xai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"xai/grok-3-fast":{id:"xai/grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"xai/grok-3-mini":{id:"xai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"xai/grok-3-mini-fast":{id:"xai/grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek-R1",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20",family:"deepseek-thinking"},"alibaba/qwen3-max-thinking":{id:"alibaba/qwen3-max-thinking",name:"Qwen 3 Max Thinking",contextWindow:256000,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-01",family:"qwen"},"arcee-ai/trinity-large-preview":{id:"arcee-ai/trinity-large-preview",name:"Trinity Large Preview",contextWindow:131000,maxTokens:6550,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01",family:"trinity"},"zai/glm-4.7-flashx":{id:"zai/glm-4.7-flashx",name:"GLM 4.7 FlashX",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.06,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-01",family:"glm-flash"},"deepseek/deepseek-v3":{id:"deepseek/deepseek-v3",name:"DeepSeek V3 0324",contextWindow:163840,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.77,output:0.77,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-26",family:"deepseek"},"openai/o3-mini":{id:"openai/o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20",family:"o-mini"},"google/gemini-2.0-flash":{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash"},"google/gemini-2.0-flash-lite":{id:"google/gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash-lite"},"meta/llama-3.3-70b":{id:"meta/llama-3.3-70b",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"openai/o1":{id:"openai/o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05",family:"o"},"amazon/nova-lite":{id:"amazon/nova-lite",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-lite"},"amazon/nova-micro":{id:"amazon/nova-micro",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-micro"},"amazon/nova-pro":{id:"amazon/nova-pro",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-pro"},"nvidia/nemotron-nano-12b-v2-vl":{id:"nvidia/nemotron-nano-12b-v2-vl",name:"Nvidia Nemotron Nano 12B V2 VL",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12",family:"nemotron"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"gpt-oss-safeguard-20b",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.08,output:0.3,cacheRead:0.04,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"mistral/pixtral-large":{id:"mistral/pixtral-large",name:"Pixtral Large (latest)",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-01",family:"pixtral"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"anthropic/claude-3.5-sonnet":{id:"anthropic/claude-3.5-sonnet",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"mistral/ministral-3b":{id:"mistral/ministral-3b",name:"Ministral 3B (latest)",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01",family:"ministral"},"mistral/ministral-8b":{id:"mistral/ministral-8b",name:"Ministral 8B (latest)",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01",family:"ministral"},"meta/llama-3.2-11b":{id:"meta/llama-3.2-11b",name:"Llama 3.2 11B Vision Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.16,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta/llama-3.2-90b":{id:"meta/llama-3.2-90b",name:"Llama 3.2 90B Vision Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"mistral/pixtral-12b":{id:"mistral/pixtral-12b",name:"Pixtral 12B",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-01",family:"pixtral"},"xai/grok-2-vision":{id:"xai/grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"meta/llama-3.1-70b":{id:"meta/llama-3.1-70b",name:"Llama 3.1 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"meta/llama-3.1-8b":{id:"meta/llama-3.1-8b",name:"Llama 3.1 8B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.03,output:0.05,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"},"mistral/mistral-nemo":{id:"mistral/mistral-nemo",name:"Mistral Nemo",contextWindow:60288,maxTokens:16000,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.17,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-01",family:"mistral-nemo"},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26",family:"o"},"anthropic/claude-3.5-sonnet-20240620":{id:"anthropic/claude-3.5-sonnet-20240620",name:"Claude 3.5 Sonnet (2024-06-20)",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-06-20",family:"claude-sonnet"},"mistral/codestral":{id:"mistral/codestral",name:"Codestral (latest)",contextWindow:256000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-29",family:"codestral"},"openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13",family:"gpt"},"mistral/mixtral-8x22b-instruct":{id:"mistral/mixtral-8x22b-instruct",name:"Mixtral 8x22B",contextWindow:64000,maxTokens:3200,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-17",family:"mixtral"},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13",family:"claude-haiku"},"anthropic/claude-3-opus":{id:"anthropic/claude-3-opus",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29",family:"claude-opus"},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06",family:"gpt"}},vertex:{"claude-opus-4-7@default":{id:"claude-opus-4-7@default",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"claude-sonnet-4-6@default":{id:"claude-sonnet-4-6@default",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"claude-opus-4-6@default":{id:"claude-opus-4-6@default",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"claude-opus-4-5@20251101":{id:"claude-opus-4-5@20251101",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-01",family:"claude-opus"},"claude-haiku-4-5@20251001":{id:"claude-haiku-4-5@20251001",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"claude-sonnet-4-5@20250929":{id:"claude-sonnet-4-5@20250929",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"claude-opus-4-1@20250805":{id:"claude-opus-4-1@20250805",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"claude-opus-4@20250514":{id:"claude-opus-4@20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"claude-sonnet-4@20250514":{id:"claude-sonnet-4@20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"claude-3-7-sonnet@20250219":{id:"claude-3-7-sonnet@20250219",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"claude-3-5-haiku@20241022":{id:"claude-3-5-haiku@20241022",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"claude-3-5-sonnet@20241022":{id:"claude-3-5-sonnet@20241022",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"}},wandb:{"zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM-5.1",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8":{id:"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8",name:"NVIDIA Nemotron 3 Super 120B",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"zai-org/GLM-5-FP8":{id:"zai-org/GLM-5-FP8",name:"GLM 5",contextWindow:200000,maxTokens:1e4,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:2.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:161000,maxTokens:8050,capabilities:["tools","structured_output","temperature"],pricing:{input:0.55,output:1.65,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"gpt-oss-120b",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"gpt-oss-20b",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3 30B A3B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"qwen"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"OpenPipe/Qwen3-14B-Instruct":{id:"OpenPipe/Qwen3-14B-Instruct",name:"OpenPipe Qwen3 14B Instruct",contextWindow:32768,maxTokens:1638,capabilities:["tools","structured_output","temperature"],pricing:{input:0.05,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-29",family:"qwen"},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28",family:"qwen"},"meta-llama/Llama-4-Scout-17B-16E-Instruct":{id:"meta-llama/Llama-4-Scout-17B-16E-Instruct",name:"Llama 4 Scout 17B 16E Instruct",contextWindow:64000,maxTokens:3200,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-31",family:"llama"},"microsoft/Phi-4-mini-instruct":{id:"microsoft/Phi-4-mini-instruct",name:"Phi-4-mini-instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.08,output:0.35,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11",family:"phi"},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.71,output:0.71,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"meta-llama/Llama-3.1-70B-Instruct":{id:"meta-llama/Llama-3.1-70B-Instruct",name:"Llama 3.1 70B",contextWindow:128000,maxTokens:6400,capabilities:["tools","structured_output","temperature"],pricing:{input:0.8,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"meta-llama/Llama-3.1-8B-Instruct":{id:"meta-llama/Llama-3.1-8B-Instruct",name:"Meta-Llama-3.1-8B-Instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"}},xai:{"grok-4.3":{id:"grok-4.3",name:"Grok 4.3",contextWindow:1e6,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-05-01",family:"grok"},"grok-4.20-0309-non-reasoning":{id:"grok-4.20-0309-non-reasoning",name:"Grok 4.20 (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"grok-4.20-0309-reasoning":{id:"grok-4.20-0309-reasoning",name:"Grok 4.20 (Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"grok-4-1-fast":{id:"grok-4-1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19",family:"grok"},"grok-4-1-fast-non-reasoning":{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19",family:"grok"},"grok-4-fast":{id:"grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19",family:"grok"},"grok-4-fast-non-reasoning":{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19",family:"grok"},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28",family:"grok"},"grok-4":{id:"grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"grok-3":{id:"grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-fast":{id:"grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-fast-latest":{id:"grok-3-fast-latest",name:"Grok 3 Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-latest":{id:"grok-3-latest",name:"Grok 3 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini":{id:"grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini-fast":{id:"grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini-fast-latest":{id:"grok-3-mini-fast-latest",name:"Grok 3 Mini Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini-latest":{id:"grok-3-mini-latest",name:"Grok 3 Mini Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-2-1212":{id:"grok-2-1212",name:"Grok 2 (1212)",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-12-12",family:"grok"},"grok-beta":{id:"grok-beta",name:"Grok Beta",contextWindow:131072,maxTokens:4096,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01",family:"grok-beta"},"grok-vision-beta":{id:"grok-vision-beta",name:"Grok Vision Beta",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01",family:"grok-vision"},"grok-2":{id:"grok-2",name:"Grok 2",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-latest":{id:"grok-2-latest",name:"Grok 2 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-vision":{id:"grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-vision-1212":{id:"grok-2-vision-1212",name:"Grok 2 Vision (1212)",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-vision-latest":{id:"grok-2-vision-latest",name:"Grok 2 Vision Latest",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"}},xiaomi:{"mimo-v2.5":{id:"mimo-v2.5",name:"MiMo-V2.5",contextWindow:1048576,maxTokens:131072,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"mimo-v2.5-pro":{id:"mimo-v2.5-pro",name:"MiMo-V2.5-Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"mimo-v2-omni":{id:"mimo-v2-omni",name:"MiMo-V2-Omni",contextWindow:262144,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"mimo-v2-pro":{id:"mimo-v2-pro",name:"MiMo-V2-Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"mimo-v2-flash":{id:"mimo-v2-flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-12-16",family:"mimo"}},zai:{"glm-5v-turbo":{id:"glm-5v-turbo",name:"GLM-5V-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"glm-5.1":{id:"glm-5.1",name:"GLM-5.1",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"glm-5-turbo":{id:"glm-5-turbo",name:"GLM-5-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-16",family:"glm"},"glm-5":{id:"glm-5",name:"GLM-5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"glm-4.7-flash":{id:"glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19",family:"glm-flash"},"glm-4.7-flashx":{id:"glm-4.7-flashx",name:"GLM-4.7-FlashX",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.07,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2026-01-19",family:"glm-flash"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-08",family:"glm"},"glm-4.6":{id:"glm-4.6",name:"GLM-4.6",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"glm-4.5v":{id:"glm-4.5v",name:"GLM-4.5V",contextWindow:64000,maxTokens:16384,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11",family:"glm"},"glm-4.5":{id:"glm-4.5",name:"GLM-4.5",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-07-28",family:"glm"},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM-4.5-Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.1,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-air"},"glm-4.5-flash":{id:"glm-4.5-flash",name:"GLM-4.5-Flash",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-flash"}},"zai-coding-plan":{"glm-5v-turbo":{id:"glm-5v-turbo",name:"GLM-5V-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"glm-5.1":{id:"glm-5.1",name:"GLM-5.1",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"glm-5-turbo":{id:"glm-5-turbo",name:"GLM-5-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-16",family:"glm"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM-4.5-Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-air"}}}};var qd=[{modelsDevKey:"openai",generatedProviderId:"openai-native",runtimeProviderId:"openai-native"},{modelsDevKey:"openai",generatedProviderId:"openai-native",runtimeProviderId:"openai-codex"},{modelsDevKey:"openai",generatedProviderId:"openai-native",runtimeProviderId:"openai-codex-cli"},{modelsDevKey:"anthropic",generatedProviderId:"anthropic"},{modelsDevKey:"anthropic",generatedProviderId:"anthropic",runtimeProviderId:"claude-code"},{modelsDevKey:"google",generatedProviderId:"gemini"},{modelsDevKey:"deepseek",generatedProviderId:"deepseek",runtimeProviderId:"deepseek"},{modelsDevKey:"xai",generatedProviderId:"xai"},{modelsDevKey:"togetherai",generatedProviderId:"together",runtimeProviderId:"together"},{modelsDevKey:"sap-ai-core",generatedProviderId:"sapaicore",runtimeProviderId:"sapaicore"},{modelsDevKey:"ollama",runtimeProviderId:"ollama-cloud"},{modelsDevKey:"ollama-cloud",generatedProviderId:"ollama"},{modelsDevKey:"fireworks-ai",generatedProviderId:"fireworks",runtimeProviderId:"fireworks"},{modelsDevKey:"groq",generatedProviderId:"groq",runtimeProviderId:"groq"},{modelsDevKey:"cerebras",generatedProviderId:"cerebras",runtimeProviderId:"cerebras"},{modelsDevKey:"sambanova",generatedProviderId:"sambanova",runtimeProviderId:"sambanova"},{modelsDevKey:"nebius",generatedProviderId:"nebius",runtimeProviderId:"nebius"},{modelsDevKey:"huggingface",generatedProviderId:"huggingface",runtimeProviderId:"huggingface"},{modelsDevKey:"openrouter",generatedProviderId:"openrouter"},{modelsDevKey:"vercel",generatedProviderId:"vercel-ai-gateway",runtimeProviderId:"dify"},{modelsDevKey:"vercel",generatedProviderId:"vercel-ai-gateway"},{modelsDevKey:"openrouter",generatedProviderId:"openrouter",runtimeProviderId:"cline"},{modelsDevKey:"aihubmix",generatedProviderId:"aihubmix",runtimeProviderId:"aihubmix"},{modelsDevKey:"hicap",runtimeProviderId:"hicap"},{modelsDevKey:"nous-research",runtimeProviderId:"nousResearch"},{modelsDevKey:"huawei-cloud-maas",runtimeProviderId:"huawei-cloud-maas"},{modelsDevKey:"baseten",generatedProviderId:"baseten",runtimeProviderId:"baseten"},{modelsDevKey:"zai-coding-plan",generatedProviderId:"zai-coding-plan"},{modelsDevKey:"google-vertex-anthropic",generatedProviderId:"vertex"},{modelsDevKey:"lmstudio",generatedProviderId:"lmstudio"},{modelsDevKey:"zai",generatedProviderId:"zai"},{modelsDevKey:"requesty",generatedProviderId:"requesty"},{modelsDevKey:"amazon-bedrock",generatedProviderId:"bedrock"},{modelsDevKey:"moonshotai",generatedProviderId:"moonshot"},{modelsDevKey:"minimax",generatedProviderId:"minimax"},{modelsDevKey:"wandb",generatedProviderId:"wandb"},{modelsDevKey:"kilo",generatedProviderId:"kilo"},{modelsDevKey:"xiaomi",generatedProviderId:"xiaomi"},{modelsDevKey:"v0",generatedProviderId:"v0"}];function Id(n){return[...new Set(n)]}var id=Object.fromEntries(qd.flatMap((n)=>n.generatedProviderId?[[n.modelsDevKey,n.generatedProviderId]]:[]));function l1(n){let r=qd.flatMap((f)=>{if(!f.generatedProviderId)return[];if(f.generatedProviderId===n||f.runtimeProviderId===n)return[f.generatedProviderId];return[]});if(n==="nousResearch")return Id([...r,"nousresearch",n]);return Id([...r,n])}var f0=4096,y0=4096;function td(n){if(!n)return Number.NEGATIVE_INFINITY;let r=Date.parse(n);return Number.isNaN(r)?Number.NEGATIVE_INFINITY:r}function or(n){return Object.fromEntries(Object.entries(n).sort(([r,f],[y,w])=>{let o=td(f.releaseDate),G=td(w.releaseDate);if(o!==G)return G-o;return r.localeCompare(y)}))}function w0(n){let r=[];if(n.modalities?.input?.includes("image"))r.push("images");if(n.modalities?.input?.includes("pdf"))r.push("files");if(n.tool_call===!0)r.push("tools");if(n.reasoning===!0)r.push("reasoning");if(n.structured_output===!0)r.push("structured_output");if(n.temperature===!0)r.push("temperature");if((n.cost?.cache_read??0)>0)r.push("prompt-cache");return r}function d0(n){if(n==="active"||n==="preview"||n==="deprecated"||n==="legacy")return n;return}function o0(n,r){let f=r.limit?.context??f0,y=r.limit?.output??y0,w=f===y?y*0.05:y;return{id:n,name:r.name||n,contextWindow:f,maxTokens:Math.floor(w),capabilities:w0(r),pricing:{input:r.cost?.input??0,output:r.cost?.output??0,cacheRead:r.cost?.cache_read??0,cacheWrite:r.cost?.cache_write??0},status:d0(r.status),releaseDate:r.release_date,family:r.family}}function G0(n){return n.status==="deprecated"}function P0(n){let r={};for(let[f,y]of Object.entries(id)){let w=n[f];if(!w?.models)continue;let o={};for(let[G,v]of Object.entries(w.models)){if(v.tool_call!==!0||G0(v))continue;o[G]=o0(G,v)}if(Object.keys(o).length>0)r[y]=or(o)}return r}async function u1(n,r=fetch){let f=await r(n);if(!f.ok)throw Error(`Failed to load model catalog from ${n}: HTTP ${f.status}`);let y=await f.json();return P0(y)}var zd,cd=new Map;function q1(){return zd??=Object.fromEntries(Object.entries(jf.providers).map(([n,r])=>[n,or(r)])),zd}function pd(n){let r=cd.get(n);if(r)return r;let f=or(jf.providers[n]??{});return cd.set(n,f),f}var C0="https://code.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm";function v0(n){return Object.fromEntries(Object.entries(n).map(([r,f])=>[r,{...f}]))}function no(n){return v0(pd(n))}function hf(n){let r=Object.entries(no("anthropic")).find(([f])=>n(f));if(r)return r[1];return{id:"sonnet",name:"Claude Sonnet",capabilities:["streaming","reasoning"]}}function $0(){function n(r){return{...r==="opus"?hf((y)=>y.includes("opus")):r==="haiku"?hf((y)=>y.includes("haiku")):hf((y)=>y.includes("sonnet")),id:r,name:`Claude ${r.charAt(0).toUpperCase()}${r.slice(1)}`}}return{opus:n("opus"),sonnet:n("sonnet"),haiku:n("haiku")}}function H0(n,r){let f=new Set(["text"]);for(let w of r.capabilities??[])switch(w){case"tools":f.add("tools");break;case"reasoning":f.add("reasoning");break;case"images":f.add("images");break;case"structured_output":f.add("structured-output");break}let y={};if(r.family)y.family=r.family;if(r.pricing)y.pricing=r.pricing;if(r.status)y.status=r.status;if(r.releaseDate)y.releaseDate=r.releaseDate;return{id:r.id,name:r.name??r.id,providerId:n,description:r.description,contextWindow:r.contextWindow,maxOutputTokens:r.maxTokens,capabilities:[...f],metadata:Object.keys(y).length>0?y:void 0}}function K0(n){if(n.client==="openai")return"openai-responses";switch(n.family){case"openai":return"openai-responses";case"anthropic":case"bedrock":return"anthropic";case"google":case"vertex":return"gemini";default:return"openai-chat"}}function F0(n){if(n.protocol==="openai-responses")return"openai";switch(n.family){case"openai":return"openai";case"anthropic":return"anthropic";case"google":return"gemini";case"vertex":return"vertex";case"bedrock":return"bedrock";case"mistral":case"claude-code":case"openai-codex":case"opencode":case"dify":return"ai-sdk-community";default:return"openai-compatible"}}var E0=[{id:"cline",name:"Cline",description:"Cline API endpoint",family:"openai-compatible",capabilities:["reasoning","prompt-cache","tools","oauth"],modelsProviderId:"openrouter",defaultModelId:"anthropic/claude-sonnet-4.6",apiKeyEnv:["CLINE_API_KEY"],defaults:{baseUrl:"https://api.cline.bot/api/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"deepseek",name:"DeepSeek",description:"Advanced AI models with reasoning capabilities",family:"openai-compatible",capabilities:["reasoning","prompt-cache"],defaultModelId:"deepseek-v4-flash",apiKeyEnv:["DEEPSEEK_API_KEY"],defaults:{baseUrl:"https://api.deepseek.com/v1"}},{id:"xai",name:"xAI",description:"Creator of Grok AI assistant",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"grok-4.20-0309-non-reasoning",apiKeyEnv:["XAI_API_KEY"],defaults:{baseUrl:"https://api.x.ai/v1"}},{id:"together",name:"Together AI",description:"Fast inference for open-source models",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"Qwen/Qwen3.5-397B-A17B",apiKeyEnv:["TOGETHER_API_KEY"],defaults:{baseUrl:"https://api.together.xyz/v1"}},{id:"fireworks",name:"Fireworks AI",description:"High-performance inference platform",family:"openai-compatible",defaultModelId:"accounts/fireworks/models/minimax-m2p5",apiKeyEnv:["FIREWORKS_API_KEY"],defaults:{baseUrl:"https://api.fireworks.ai/inference/v1"}},{id:"groq",name:"Groq",description:"Ultra-fast LPU inference",family:"openai-compatible",defaultModelId:"moonshotai/kimi-k2-instruct-0905",apiKeyEnv:["GROQ_API_KEY"],defaults:{baseUrl:"https://api.groq.com/openai/v1"}},{id:"cerebras",name:"Cerebras",description:"Fast inference on Cerebras wafer-scale chips",family:"openai-compatible",defaultModelId:"zai-glm-4.7",apiKeyEnv:["CEREBRAS_API_KEY"],defaults:{baseUrl:"https://api.cerebras.ai/v1"}},{id:"sambanova",name:"SambaNova",description:"High-performance AI inference",family:"openai-compatible",apiKeyEnv:["SAMBANOVA_API_KEY"],modelsProviderId:"sambanova",defaults:{baseUrl:"https://api.sambanova.ai/v1"}},{id:"nebius",name:"Nebius",description:"European cloud AI infrastructure",family:"openai-compatible",defaultModelId:"nvidia/nemotron-3-super-120b-a12b",apiKeyEnv:["NEBIUS_API_KEY"],defaults:{baseUrl:"https://api.studio.nebius.ai/v1"}},{id:"baseten",name:"Baseten",description:"ML inference platform",family:"openai-compatible",apiKeyEnv:["BASETEN_API_KEY"],modelsProviderId:"baseten",defaults:{baseUrl:"https://model-api.baseten.co/v1"}},{id:"requesty",name:"Requesty",description:"AI router with multiple provider support",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"openai/gpt-5.4",apiKeyEnv:["REQUESTY_API_KEY"],modelsProviderId:"requesty",defaults:{baseUrl:"https://router.requesty.ai/v1"}},{id:"litellm",name:"LiteLLM",description:"Self-hosted LLM proxy",family:"openai-compatible",protocol:"openai-responses",capabilities:["prompt-cache"],defaultModelId:"gpt-5.4",apiKeyEnv:["LITELLM_API_KEY"],defaults:{baseUrl:"http://localhost:4000/v1"}},{id:"huggingface",name:"Hugging Face",description:"Hugging Face inference API",family:"openai-compatible",defaultModelId:"MiniMaxAI/MiniMax-M2.5",apiKeyEnv:["HF_TOKEN"],modelsProviderId:"huggingface",defaults:{baseUrl:"https://api-inference.huggingface.co/v1"}},{id:"vercel-ai-gateway",name:"Vercel AI Gateway",description:"Vercel's AI gateway service",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"alibaba/qwen3.6-plus",apiKeyEnv:["AI_GATEWAY_API_KEY"],modelsProviderId:"vercel-ai-gateway",defaults:{baseUrl:"https://ai-gateway.vercel.sh/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"v0",name:"Vercel V0",description:"The Vercel provider gives you access to the v0 API, designed for building modern web applications.",family:"openai-compatible",protocol:"openai-responses",capabilities:["reasoning","tools"],defaultModelId:"v0-1.5-md",apiKeyEnv:["V0_API_KEY"],modelsProviderId:"v0",defaults:{baseUrl:"https://api.v0.dev/v1"}},{id:"aihubmix",name:"AI Hub Mix",description:"AI model aggregator",family:"openai-compatible",defaultModelId:"gpt-4o",apiKeyEnv:["AIHUBMIX_API_KEY"],modelsProviderId:"aihubmix",defaults:{baseUrl:"https://api.aihubmix.com/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"hicap",name:"HiCap",description:"HiCap AI platform",family:"openai-compatible",defaultModelId:"hicap-pro",apiKeyEnv:["HICAP_API_KEY"],defaults:{baseUrl:"https://api.hicap.ai/v1"}},{id:"nousResearch",name:"Nous Research",description:"Open-source AI research lab",family:"openai-compatible",defaultModelId:"DeepHermes-3-Llama-3-3-70B-Preview",apiKeyEnv:["NOUS_RESEARCH_API_KEY","NOUSRESEARCH_API_KEY"],modelsProviderId:"nousResearch",defaults:{baseUrl:"https://inference-api.nousresearch.com/v1"}},{id:"huawei-cloud-maas",name:"Huawei Cloud MaaS",description:"Huawei's model-as-a-service platform",family:"openai-compatible",defaultModelId:"DeepSeek-R1",apiKeyEnv:["HUAWEI_CLOUD_MAAS_API_KEY"],defaults:{baseUrl:"https://infer-modelarts.cn-southwest-2.myhuaweicloud.com/v1"}},{id:"qwen",name:"Alibaba Qwen",description:"Alibaba Qwen platform models",family:"openai-compatible",capabilities:["tools","reasoning"],defaultModelId:"qwen-plus-latest",apiKeyEnv:["QWEN_API_KEY"],modelsProviderId:"qwen",defaults:{baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"qwen-code",name:"Alibaba Qwen Code",description:"Qwen OAuth coding models",family:"openai-compatible",capabilities:["tools","reasoning"],defaultModelId:"qwen3-coder-plus",modelsProviderId:"qwen-code",defaults:{baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"doubao",name:"Doubao",description:"Volcengine Ark platform models",family:"openai-compatible",capabilities:["tools"],defaultModelId:"doubao-1-5-pro-256k-250115",apiKeyEnv:["DOUBAO_API_KEY"],modelsProviderId:"doubao",defaults:{baseUrl:"https://ark.cn-beijing.volces.com/api/v3"}},{id:"zai",name:"Z.AI",description:"Z.AI's family of LLMs",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"glm-5v-turbo",apiKeyEnv:["ZHIPU_API_KEY"],modelsProviderId:"zai",defaults:{baseUrl:"https://api.z.ai/api/paas/v4"}},{id:"zai-coding-plan",name:"Z.AI Coding Plan",description:"Z.AI's coding-focused models",family:"openai-compatible",capabilities:["reasoning","tools"],defaultModelId:"glm-5v-turbo",apiKeyEnv:["ZHIPU_API_KEY"],modelsProviderId:"zai-coding-plan",defaults:{baseUrl:"https://api.z.ai/api/coding/paas/v4"}},{id:"moonshot",name:"Moonshot",description:"Moonshot AI Studio models",family:"openai-compatible",capabilities:["tools","reasoning"],defaultModelId:"kimi-k2-0905-preview",apiKeyEnv:["MOONSHOT_API_KEY"],modelsProviderId:"moonshot",defaults:{baseUrl:"https://api.moonshot.ai/v1"}},{id:"wandb",name:"W&B by CoreWeave",description:"Weights & Biases",family:"openai-compatible",capabilities:["reasoning","prompt-cache","tools"],defaultModelId:"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8",apiKeyEnv:["WANDB_API_KEY"],modelsProviderId:"wandb",defaults:{baseUrl:"https://api.inference.wandb.ai/v1"}},{id:"xiaomi",name:"Xiaomi",description:"Xiaomi",family:"openai-compatible",protocol:"openai-responses",capabilities:["prompt-cache","tools","reasoning"],defaultModelId:"mimo-v2-omni",apiKeyEnv:["XIAOMI_API_KEY"],modelsProviderId:"xiaomi",defaults:{baseUrl:"https://api.xiaomimimo.com/v1"}},{id:"kilo",name:"Kilo Gateway",description:"Kilo Gateway",family:"openai-compatible",protocol:"openai-responses",capabilities:["prompt-cache","reasoning","tools"],defaultModelId:"gpt-4o",apiKeyEnv:["KILO_GATEWAY_API_KEY"],modelsProviderId:"kilo",defaults:{baseUrl:"https://api.kilo.ai/api/gateway"}},{id:"openrouter",name:"OpenRouter",description:"OpenRouter AI platform",family:"openai-compatible",capabilities:["reasoning","prompt-cache"],defaultModelId:"anthropic/claude-sonnet-4.6",apiKeyEnv:["OPENROUTER_API_KEY"],modelsProviderId:"openrouter",docsUrl:"https://openrouter.ai/models",defaults:{baseUrl:"https://openrouter.ai/api/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"ollama",name:"Ollama",description:"Ollama Cloud and local LLM hosting",family:"openai-compatible",defaultModelId:"",apiKeyEnv:["OLLAMA_API_KEY"],defaults:{baseUrl:"http://localhost:11434/v1"},modelsSourceUrl:"http://localhost:11434/api/tags"},{id:"lmstudio",name:"LM Studio",description:"Local model inference with LM Studio",family:"openai-compatible",defaultModelId:"",apiKeyEnv:["LMSTUDIO_API_KEY"],modelsProviderId:"lmstudio",defaults:{baseUrl:"http://localhost:1234/v1"},modelsSourceUrl:"http://localhost:1234/v1/models"},{id:"oca",name:"Oracle Code Assist",description:"Oracle Code Assist (OCA) LiteLLM gateway",family:"openai-compatible",capabilities:["reasoning","prompt-cache","tools"],defaultModelId:"anthropic/claude-3-7-sonnet-20250219",apiKeyEnv:["OCA_API_KEY"],modelsProviderId:"oca",defaults:{baseUrl:C0},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"asksage",name:"AskSage",description:"AskSage platform",family:"openai-compatible",client:"fetch",capabilities:["tools"],defaultModelId:"gpt-4o",apiKeyEnv:["ASKSAGE_API_KEY"],modelsFactory:()=>({}),defaults:{baseUrl:"https://api.asksage.ai/server"}},{id:"sapaicore",name:"SAP AI Core",description:"SAP AI Core inference and orchestration platform",family:"openai-compatible",client:"ai-sdk-community",capabilities:["tools","reasoning","prompt-cache"],defaultModelId:"anthropic--claude-3.5-sonnet",apiKeyEnv:["AICORE_SERVICE_KEY","VCAP_SERVICES"],modelsProviderId:"sapaicore",metadata:{promptCacheStrategy:"anthropic-automatic"}}],Rf=[{id:"openai-native",name:"OpenAI",description:"Creator of GPT and ChatGPT",family:"openai",capabilities:["reasoning"],modelsProviderId:"openai-native",defaultModelId:"gpt-5.4",apiKeyEnv:["OPENAI_API_KEY"],defaults:{baseUrl:"https://api.openai.com/v1"}},{id:"openai-codex",name:"OpenAI ChatGPT Subscription",description:"OpenAI ChatGPT subscription access uses an OAuth device code flow.",family:"openai",capabilities:["reasoning","oauth"],defaultModelId:"gpt-5.4",modelsProviderId:"openai",defaults:{baseUrl:"https://chatgpt.com/backend-api/codex"},metadata:{usageCostDisplay:"hide"}},{id:"openai-codex-cli",name:"OpenAI Codex CLI",description:"OpenAI Codex via the local Codex CLI provider",family:"openai-codex",capabilities:["reasoning","provider-tools","local-auth"],defaultModelId:"gpt-5.3-codex",modelsProviderId:"openai",defaults:{baseUrl:"https://chatgpt.com/backend-api/codex"},metadata:{usageCostDisplay:"hide"}},{id:"anthropic",name:"Anthropic",description:"Creator of Claude, the AI assistant",family:"anthropic",capabilities:["reasoning","prompt-cache"],defaultModelId:"claude-sonnet-4-6",apiKeyEnv:["ANTHROPIC_API_KEY"],modelsProviderId:"anthropic",defaults:{baseUrl:"https://api.anthropic.com/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"claude-code",name:"Claude Code",description:"Use Claude Code SDK with Claude Pro/Max subscription",family:"claude-code",capabilities:["reasoning"],defaultModelId:"sonnet",modelsFactory:$0,defaults:{baseUrl:""}},{id:"gemini",name:"Google Gemini",description:"Google Gemini API",family:"google",capabilities:["reasoning","prompt-cache"],defaultModelId:"gemma-4-26b",apiKeyEnv:["GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"],modelsProviderId:"gemini",defaults:{baseUrl:"https://generativelanguage.googleapis.com/v1beta"}},{id:"vertex",name:"Google Vertex AI",description:"Google Cloud Vertex AI",family:"vertex",capabilities:["reasoning","prompt-cache"],defaultModelId:"claude-sonnet-4-6@default",apiKeyEnv:["GCP_PROJECT_ID","GOOGLE_CLOUD_PROJECT","GOOGLE_APPLICATION_CREDENTIALS","GEMINI_API_KEY","GOOGLE_API_KEY"],modelsProviderId:"vertex",metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"bedrock",name:"AWS Bedrock",description:"Amazon Bedrock managed foundation models",family:"bedrock",capabilities:["reasoning","prompt-cache"],defaultModelId:"minimax.minimax-m2.5",apiKeyEnv:["AWS_REGION","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN"],modelsProviderId:"bedrock",metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"mistral",name:"Mistral",description:"Mistral AI models via AI SDK provider",family:"mistral",capabilities:["reasoning"],defaultModelId:"mistral-medium-latest",apiKeyEnv:["MISTRAL_API_KEY"],modelsFactory:()=>({}),defaults:{baseUrl:"https://api.mistral.ai/v1"}},{id:"minimax",name:"MiniMax",description:"MiniMax models via Anthropic-compatible API",family:"anthropic",capabilities:["tools","reasoning","prompt-cache"],defaultModelId:"MiniMax-M2.5",apiKeyEnv:["MINIMAX_API_KEY"],modelsProviderId:"minimax",defaults:{baseUrl:"https://api.minimax.io/anthropic"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"opencode",name:"OpenCode",description:"OpenCode SDK multi-provider runtime",family:"opencode",capabilities:["reasoning","oauth"],defaultModelId:"openai/gpt-5.4",modelsProviderId:"opencode",defaults:{baseUrl:""}},{id:"dify",name:"Dify",description:"Dify workflow/application provider via AI SDK",family:"dify",defaultModelId:"default",apiKeyEnv:["DIFY_API_KEY"],modelsFactory:()=>({})},...E0];function b0(n){if(n.modelsFactory)return n.modelsFactory();if(n.modelsProviderId)return no(n.modelsProviderId);return{}}function ro(n){let r=b0(n),f=Object.keys(r).length>0?r:n.defaultModelId?{[n.defaultModelId]:{id:n.defaultModelId,name:n.defaultModelId}}:{},y=Object.keys(f),w=n.defaultModelId||y[0]||"default";return{provider:{id:n.id,name:n.name,description:n.description,protocol:n.protocol??K0(n),baseUrl:n.defaults?.baseUrl,modelsSourceUrl:n.modelsSourceUrl,defaultModelId:w,capabilities:n.capabilities,env:n.apiKeyEnv?[...n.apiKeyEnv]:void 0,client:n.client??F0(n),source:"system",metadata:n.metadata},models:f}}function fo(n){let r=ro(n),f=Object.values(r.models).map((w)=>H0(n.id,w)),y=f.length>0?f:[{id:r.provider.defaultModelId||"default",name:r.provider.defaultModelId||"Default",providerId:n.id,capabilities:["text"]}];return{id:n.id,name:n.name,description:n.description,defaultModelId:r.provider.defaultModelId||y[0]?.id||"default",models:y,capabilities:n.capabilities,env:n.env??["browser","node"],api:n.defaults?.baseUrl,apiKeyEnv:n.apiKeyEnv,docsUrl:n.docsUrl,metadata:n.metadata}}var af=Rf.map(ro),z1=Object.fromEntries(af.map((n)=>[n.provider.id,n]));var yo=new Map;async function A0(n){let r=yo.get(n);if(r)return r;let f=(async()=>{switch(n){case"openai":return(await Promise.resolve().then(() => (V(),T))).createOpenAIProvider;case"openai-compatible":return(await Promise.resolve().then(() => (V(),T))).createOpenAICompatibleProvider;case"anthropic":return(await Promise.resolve().then(() => (V(),T))).createAnthropicProvider;case"google":return(await Promise.resolve().then(() => (V(),T))).createGoogleProvider;case"vertex":return(await Promise.resolve().then(() => (V(),T))).createVertexProvider;case"bedrock":return(await Promise.resolve().then(() => (V(),T))).createBedrockProvider;case"mistral":return(await Promise.resolve().then(() => (V(),T))).createMistralProvider;case"claude-code":return(await Promise.resolve().then(() => (V(),T))).createClaudeCodeProvider;case"openai-codex":return(await Promise.resolve().then(() => (V(),T))).createOpenAICodexProvider;case"opencode":return(await Promise.resolve().then(() => (V(),T))).createOpenCodeProvider;case"dify":return(await Promise.resolve().then(() => (V(),T))).createDifyProvider}})();return yo.set(n,f),f}function Y0(n){if(n.family==="openai"||n.protocol==="openai-responses"||n.client==="openai")return"openai";return n.family}var Un=Rf.map((n)=>({manifest:fo(n),defaults:{...n.defaults,apiKeyEnv:n.apiKeyEnv,baseUrl:n.defaults?.baseUrl},loadProvider:async()=>({createProvider:await A0(Y0(n))})}));async function*wo(n){for await(let r of n)yield r}function oo(n){return{...n,models:n.models.map((r)=>({...r})),capabilities:n.capabilities?[...n.capabilities]:void 0,env:n.env?[...n.env]:void 0,api:n.api,apiKeyEnv:n.apiKeyEnv?[...n.apiKeyEnv]:void 0,docsUrl:n.docsUrl,metadata:n.metadata?{...n.metadata}:void 0}}function S0(n,r){let f=new Map;for(let y of n.models)f.set(y.id,{...y});for(let y of r?.models??[])f.set(y.id,{...y,providerId:n.id});return Array.from(f.values())}function J0(n,r){return{id:r,name:r,providerId:n.id}}class Lf{providers=new Map;providerConfigs=new Map;fallbackFetch;constructor(n){this.fallbackFetch=n}registerProvider(n){if(!n.createProvider&&!n.loadProvider)throw Error(`Provider "${n.manifest.id}" must include createProvider or loadProvider.`);this.providers.set(n.manifest.id,{manifest:oo(n.manifest),defaults:n.defaults?{providerId:n.manifest.id,apiKey:n.defaults.apiKey,apiKeyResolver:n.defaults.apiKeyResolver,apiKeyEnv:n.defaults.apiKeyEnv,baseUrl:n.defaults.baseUrl,headers:n.defaults.headers?{...n.defaults.headers}:void 0,timeoutMs:n.defaults.timeoutMs,fetch:n.defaults.fetch,options:n.defaults.options?{...n.defaults.options}:void 0,metadata:n.defaults.metadata?{...n.defaults.metadata}:void 0}:void 0,createProvider:n.createProvider,loadProvider:n.loadProvider})}configureProvider(n){this.providerConfigs.set(n.providerId,{providerId:n.providerId,apiKey:n.apiKey,apiKeyResolver:n.apiKeyResolver,apiKeyEnv:n.apiKeyEnv,baseUrl:n.baseUrl,headers:n.headers?{...n.headers}:void 0,timeoutMs:n.timeoutMs,fetch:n.fetch,options:n.options?{...n.options}:void 0,metadata:n.metadata?{...n.metadata}:void 0,enabled:n.enabled??!0,defaultModelId:n.defaultModelId,models:n.models?.map((r)=>({...r}))})}listProviders(){return Array.from(this.providers.values()).map((n)=>this.getManifest(n.manifest.id)).filter((n)=>n!==void 0)}listModels(n){if(n)return[...this.getManifest(n)?.models??[]];return this.listProviders().flatMap((r)=>r.models.map((f)=>({...f})))}getManifest(n){let r=this.providers.get(n);if(!r)return;let f=this.providerConfigs.get(n);if(f&&!f.enabled)return;let y=S0(r.manifest,f),w=f?.defaultModelId??r.manifest.defaultModelId??y[0]?.id;if(!w)return;return{...oo(r.manifest),defaultModelId:w,models:y,metadata:f?.metadata||r.manifest.metadata?{...r.manifest.metadata??{},...f?.metadata??{}}:void 0}}resolveModel(n){let r=this.getManifest(n.providerId);if(!r)throw Error(`Unknown or disabled provider "${n.providerId}".`);let f=n.modelId??r.defaultModelId,y=r.models.find((w)=>w.id===f)??J0(r,f);return{provider:r,model:y}}async createProvider(n){let r=this.providers.get(n);if(!r)throw Error(`Unknown provider "${n}".`);if(!r.createProvider){let G=await r.loadProvider?.();if(!G?.createProvider)throw Error(`Provider "${n}" could not be loaded.`);r.createProvider=G.createProvider}let f=this.getManifest(n);if(!f)throw Error(`Provider "${n}" is disabled.`);let y=this.providerConfigs.get(n),w={...r.defaults?.metadata??{},...y?.metadata??{}},o=Object.keys(w).length>0?w:void 0;return{manifest:f,config:{providerId:n,apiKey:y?.apiKey??r.defaults?.apiKey,apiKeyResolver:y?.apiKeyResolver??r.defaults?.apiKeyResolver,apiKeyEnv:y?.apiKeyEnv??r.defaults?.apiKeyEnv,baseUrl:y?.baseUrl??r.defaults?.baseUrl,headers:{...r.defaults?.headers??{},...y?.headers??{}},timeoutMs:y?.timeoutMs??r.defaults?.timeoutMs,fetch:y?.fetch??r.defaults?.fetch??this.fallbackFetch,options:{...r.defaults?.options??{},...y?.options??{}},metadata:o},createProvider:r.createProvider}}}class Go{gateway;selection;defaults;constructor(n,r,f){this.gateway=n;this.selection=r;this.defaults=f}stream(n){let r=n.options?.reasoning,f=n.options?.thinking,y=n.options?.reasoningEffort,w=n.options?.thinkingBudgetTokens,o=y==="low"||y==="medium"||y==="high"?y:void 0,G=typeof f==="boolean"||o!==void 0||typeof w==="number"?{enabled:typeof f==="boolean"?f:void 0,effort:o,budgetTokens:typeof w==="number"?w:void 0}:void 0;return this.gateway.stream({providerId:this.selection.providerId,modelId:this.selection.modelId??"",systemPrompt:n.systemPrompt,messages:n.messages,tools:this.defaults?.tools??n.tools,temperature:n.options?.temperature??this.defaults?.temperature,maxTokens:n.options?.maxTokens??this.defaults?.maxTokens,metadata:n.options?.metadata??this.defaults?.metadata,reasoning:r??G??this.defaults?.reasoning,signal:n.signal??this.defaults?.signal})}}class Po{registry;logger;constructor(n={}){if(this.registry=new Lf(n.fetch),this.logger=n.logger,n.builtins!==!1){let r=new Set(n.builtins??Un.map((f)=>f.manifest.id));for(let f of Un)if(r.has(f.manifest.id))this.registry.registerProvider(f)}for(let r of n.providers??[])this.registry.registerProvider(r);for(let r of n.providerConfigs??[])this.registry.configureProvider(r)}registerProvider(n){return this.registry.registerProvider(n),this}configureProvider(n){return this.registry.configureProvider(n),this}listProviders(){return this.registry.listProviders()}listModels(n){return this.registry.listModels(n)}createAgentModel(n,r){return new Go(this,n,r)}async stream(n){let r=this.registry.resolveModel({providerId:n.providerId,modelId:n.modelId||void 0}),f=await this.registry.createProvider(n.providerId),w=await(await f.createProvider(f.config)).stream({...n,modelId:r.model.id,providerId:r.provider.id},{provider:r.provider,model:r.model,config:f.config,signal:n.signal,logger:this.logger});return wo(w)}}function Nf(n){return new Po(n)}function M0(){let n=new Map;for(let r of af)n.set(r.provider.id,{provider:{...r.provider},models:Object.fromEntries(Object.entries(r.models).map(([f,y])=>[f,{...y}]))});return n}var gn=M0(),En=new Map,Pn=new Map;function Gn(n){return Pn.get(n)??gn.get(n)}function Co(){let n=Array.from(gn.keys()),r=Array.from(Pn.keys()).filter((f)=>!gn.has(f));return[...n,...r]}function PH(n){return gn.has(n)||Pn.has(n)}async function CH(n){return Gn(n)?.provider}function _f(n){return Gn(n)}async function mf(n){return Gn(n)}async function vH(n){let f=Gn(n)?.models??{},y=En.get(n);if(y)return{...f,...Object.fromEntries(y)};return f}async function $H(){return Co().map((n)=>Gn(n)?.provider).filter((n)=>n!==void 0)}function HH(n){Pn.set(n.provider.id,n)}function KH(n,r,f){if(!En.has(n))En.set(n,new Map);En.get(n)?.set(r,{...f,id:r})}function FH(n){return En.delete(n),Pn.delete(n)}function EH(){En.clear(),Pn.clear()}var bH=new Proxy({},{get(n,r){return Gn(r)},has(n,r){return gn.has(r)||Pn.has(r)},ownKeys(){return Co()},getOwnPropertyDescriptor(n,r){let f=Gn(r);if(f===void 0)return;return{configurable:!0,enumerable:!0,value:f}}});var bn=new Map(Un.map((n)=>[n.manifest.id,n]));function X0(n){if(!n?.length)return;let r=new Set;for(let f of n)switch(f){case"tools":case"reasoning":case"images":case"audio":r.add(f);break;case"files":case"streaming":case"temperature":case"prompt-cache":case"reasoning-effort":case"computer-use":case"global-endpoint":r.add("text");break;case"structured_output":r.add("structured-output");break;default:r.add("text")}return r.add("text"),[...r]}function Tf(n,r){return{id:r.id,name:r.name??r.id,description:r.description,providerId:n,contextWindow:r.contextWindow,maxOutputTokens:r.maxTokens,capabilities:X0(r.capabilities),metadata:{family:r.family,pricing:r.pricing,status:r.status,releaseDate:r.releaseDate}}}function vo(n,r){if(r?.client==="openai"||r?.protocol==="openai-responses")return nr;switch(r?.client){case"anthropic":return fr;case"gemini":return yr;case"vertex":return wr;case"bedrock":return dr;case"openai-compatible":return rr}switch(N(n)){case"openai-codex":case"openai-native":return nr;case"anthropic":case"minimax":return fr;case"gemini":return yr;case"vertex":return wr;case"bedrock":return dr;case"mistral":return Qf;case"claude-code":return Df;case"openai-codex-cli":return Wf;case"opencode":return Uf;case"dify":return gf;default:return rr}}async function k0(n){let r=N(n.providerId),f=N(Ln(n));if(bn.get(r)&&r===f)return;let w=await mf(r)??(r!==f?await mf(f):void 0);if(!w){let G=bn.get(f);if(!G||r===f)return;return{manifest:{...G.manifest,id:r,name:G.manifest.name,models:G.manifest.models.map((v)=>({...v,providerId:r}))},defaults:G.defaults,createProvider:G.createProvider,loadProvider:G.loadProvider}}let o=bn.get(f);return{manifest:{id:r,name:w.provider.name,description:w.provider.description,defaultModelId:w.provider.defaultModelId,models:Object.values(w.models).map((G)=>Tf(r,G)),api:w.provider.baseUrl,apiKeyEnv:w.provider.env},defaults:{...o?.defaults??{},baseUrl:w.provider.baseUrl??o?.defaults?.baseUrl,apiKeyEnv:w.provider.env??o?.defaults?.apiKeyEnv},createProvider:o?.createProvider??vo(f,{client:n.clientType??w.provider.client,protocol:w.provider.protocol}),loadProvider:o?.loadProvider}}function Z0(n){let r=N(n.providerId),f=N(Ln(n));if(bn.get(r)&&r===f)return;let w=_f(r)??(r!==f?_f(f):void 0);if(!w){let G=bn.get(f);if(!G||r===f)return;return{manifest:{...G.manifest,id:r,models:G.manifest.models.map((v)=>({...v,providerId:r}))},defaults:G.defaults,createProvider:G.createProvider,loadProvider:G.loadProvider}}let o=bn.get(f);return{manifest:{id:r,name:w.provider.name,description:w.provider.description,defaultModelId:w.provider.defaultModelId,models:Object.values(w.models).map((G)=>Tf(r,G)),api:w.provider.baseUrl,apiKeyEnv:w.provider.env},defaults:{...o?.defaults??{},baseUrl:w.provider.baseUrl??o?.defaults?.baseUrl,apiKeyEnv:w.provider.env??o?.defaults?.apiKeyEnv},createProvider:o?.createProvider??vo(f,{client:n.clientType??w.provider.client,protocol:w.provider.protocol}),loadProvider:o?.loadProvider}}function Q0(n){let r=new Map;for(let f of n){if(!Array.isArray(f.content))continue;for(let y of f.content)if(y.type==="tool_use"){if(r.set(y.id,y.name),y.call_id)r.set(y.call_id,y.name)}}return n.map((f)=>{let y=typeof f.content==="string"?[{type:"text",text:f.content}]:f.content.flatMap((w)=>{switch(w.type){case"text":return[{type:"text",text:w.text}];case"thinking":return[{type:"reasoning",text:w.thinking,metadata:w.signature||w.call_id?{signature:w.signature,callId:w.call_id,details:w.details}:void 0}];case"tool_use":return[{type:"tool-call",toolCallId:w.call_id??w.id,toolName:w.name,input:w.input,metadata:w.signature?{thoughtSignature:w.signature}:void 0}];case"tool_result":return[{type:"tool-result",toolCallId:w.tool_use_id,toolName:r.get(w.tool_use_id)??"tool",output:w.content,isError:w.is_error??!1}];case"image":return[{type:"image",image:`data:${w.mediaType};base64,${w.data}`,mediaType:w.mediaType}];case"file":return[{type:"text",text:w.content}];case"redacted_thinking":return[];default:return[]}});return{id:Bf(),role:f.role,content:y,createdAt:Date.now()}})}function D0(n){return n?.map((r)=>({name:r.name,description:r.description,inputSchema:r.inputSchema}))}function Vf(n,r,f,y,w){return{providerId:N(n.providerId),modelId:n.modelId,systemPrompt:r,messages:Q0(f),tools:D0(y),maxTokens:n.maxOutputTokens,reasoning:n.thinking!==void 0||n.reasoningEffort||n.thinkingBudgetTokens!==void 0?{enabled:n.thinking,effort:n.reasoningEffort==="xhigh"?"high":n.reasoningEffort==="low"||n.reasoningEffort==="medium"||n.reasoningEffort==="high"?n.reasoningEffort:void 0,budgetTokens:n.thinkingBudgetTokens}:void 0,signal:w}}function $o(n){let r=N(n.providerId);return{providerId:r,apiKey:n.apiKey??n.accessToken,baseUrl:n.baseUrl,headers:n.headers,timeoutMs:n.timeoutMs,fetch:n.fetch,defaultModelId:n.modelId,models:n.knownModels?Object.values(n.knownModels).map((f)=>{let y=Tf(r,f),{providerId:w,...o}=y;return o}):void 0,options:{region:n.region??n.gcp?.region,project:n.gcp?.projectId,projectId:n.gcp?.projectId,location:n.region??n.gcp?.region,accessKeyId:n.aws?.accessKey,secretAccessKey:n.aws?.secretKey,sessionToken:n.aws?.sessionToken,credentialProvider:n.aws?.profile,authentication:n.aws?.authentication,endpoint:n.aws?.endpoint,customModelBaseId:n.aws?.customModelBaseId,apiVersion:n.azure?.apiVersion,useIdentity:n.azure?.useIdentity,mode:n.oca?.mode,usePromptCache:n.aws?.usePromptCache??n.oca?.usePromptCache,...n.codex,...n.claudeCode,...n.opencode,...n.sap}}}function Ho(n,r){switch(r.type){case"text-delta":return{type:"text",id:n,text:r.text};case"reasoning-delta":{let f=r.metadata;return{type:"reasoning",id:n,reasoning:r.text,signature:typeof f?.thoughtSignature==="string"?f.thoughtSignature:typeof f?.signature==="string"?f.signature:void 0,details:f?.details}}case"tool-call-delta":{let f=r.metadata,y=typeof r.inputText==="string"||r.input===void 0?r.inputText:r.input;return{type:"tool_calls",id:n,signature:typeof f?.thoughtSignature==="string"?f.thoughtSignature:void 0,tool_call:{call_id:r.toolCallId,function:{id:r.toolCallId,name:r.toolName,arguments:y}}}}case"usage":return{type:"usage",id:n,inputTokens:r.usage.inputTokens??0,outputTokens:r.usage.outputTokens??0,cacheReadTokens:r.usage.cacheReadTokens,cacheWriteTokens:r.usage.cacheWriteTokens,totalCost:r.usage.totalCost};case"finish":return{type:"done",id:n,success:r.reason!=="error",error:r.error,incompleteReason:r.reason==="max-tokens"?"max_tokens":void 0}}}function W0(n){return n.modelInfo??(n.modelId?n.knownModels?.[n.modelId]:void 0)??{id:n.modelId,name:n.modelId,capabilities:["streaming"]}}class lf{config;abortSignal;constructor(n){this.config=n;this.abortSignal=n.abortSignal}getMessages(n,r){return Vf(this.config,n,r,void 0,this.abortSignal)}createMessage(n,r,f){let y=Nf({providerConfigs:[$o(this.config)],fetch:this.config.fetch,logger:this.config.logger??this.config.extensionContext?.logger}),w=Z0(this.config);if(w)y.registerProvider(w);let o=Vf(this.config,n,r,f,this.abortSignal),G=`gw_${Bf(10)}`,v=async function*(){for await(let A of await y.stream(o))yield Ho(G,A)}();return v.id=G,v}getModel(){return{id:this.config.modelId,info:W0(this.config)}}abort(){}setAbortSignal(n){this.abortSignal=n}}function Ko(n){return new lf(n)}async function Fo(n){let r=Nf({providerConfigs:[$o(n)],fetch:n.fetch,logger:n.logger??n.extensionContext?.logger}),f=await k0(n);if(f)r.registerProvider(f);return new class extends lf{createMessage(y,w,o){let G=Vf(n,y,w,o,n.abortSignal),v=`gw_${Bf(10)}`,A=async function*(){for await(let $ of await r.stream(G))yield Ho(v,$)}();return A.id=v,A}}(n)}var An=new Map;function U0(n,r){An.set(n,{factory:r,isAsync:!1})}function g0(n,r){An.set(n,{factory:r,isAsync:!0})}function Of(n){return An.has(n)}function Eo(n,r){let f=An.get(n);if(!f)return;if(f.isAsync)throw Error(`Handler for "${n}" is registered as async. Use getRegisteredHandlerAsync() or createHandlerAsync() instead.`);return f.factory(r)}async function bo(n,r){let f=An.get(n);if(!f)return;if(f.isAsync)return f.factory(r);return f.factory(r)}function Ao(n){return An.get(n)?.isAsync??!1}function Yo(n){let r=N(n.providerId),f=n.routingProviderId?N(n.routingProviderId):void 0;if(r===n.providerId&&f===n.routingProviderId)return n;return{...n,providerId:r,routingProviderId:f}}function jH(n){let r=Yo(n),{providerId:f}=r;if(Of(f)){if(Ao(f))throw Error(`Handler for "${f}" is registered as async. Use createHandlerAsync() instead.`);let y=Eo(f,r);if(y)return y}return Ko(r)}async function hH(n){let r=Yo(n),{providerId:f}=r;if(Of(f)){let y=await bo(f,r);if(y)return y}return Fo(r)}export{U0 as registerHandler,g0 as registerAsyncHandler,N as normalizeProviderId,vr as isBuiltInProviderId,hH as createHandlerAsync,jH as createHandler,an as BUILT_IN_PROVIDER_IDS,Sn as BUILT_IN_PROVIDER};