@easbot/agent 0.2.2 → 0.2.3
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.
- package/dist/cli.cjs +2 -2
- package/dist/cli.d.cts +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.mjs +2 -2
- package/dist/index.cjs +2 -2
- package/dist/index.d.cts +31814 -0
- package/dist/index.d.ts +31814 -0
- package/dist/index.mjs +2 -2
- package/package.json +13 -12
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import*as Oe from'path';import Oe__default,{sep,basename,join}from'path';import {pathToFileURL,fileURLToPath}from'url';import*as Io from'fs/promises';import Io__default,{realpath,readFile,mkdir,access,readdir,writeFile,rm as rm$1,unlink,copyFile,stat}from'fs/promises';import _i,{existsSync,createReadStream,createWriteStream,readFileSync,constants,promises,readdirSync}from'fs';import Y,{z}from'zod';import {glob}from'glob';import {NamedError,loadTextFile,loadEnv,Identifier,lazy,parseModelId,Wildcard,lazyAsync,fn as fn$1,iife,Filesystem,PKG,$,work,formatLocalISOCompact,Lock,AsyncQueue,abortAfterAny,shell,defer,withTimeout,Slug,createServer as createServer$1,initLog,formatLogTime,Ignore,git,Context,PackageRegistry,proxied,Archive,whichSync,Token,TruncateContent,Glob,createPkgShell,Locale,loadTextFileAsync}from'@easbot/utils';export{Identifier}from'@easbot/utils';import {createHash,randomUUID}from'crypto';import {xdgData,xdgCache,xdgConfig,xdgState}from'xdg-basedir';import cm,{EOL}from'os';import {pipe,values,sortBy,mapValues,splitWhen,unique,mergeDeep,filter,map,fromEntries,clone,pickBy,omit}from'remeda';import {parse as parse$1,printParseErrorCode,modify,applyEdits}from'jsonc-parser';import a1 from'gray-matter';import {GatewayClient,GatewayConfigSchema,loadConfig,getServerConfig,getChannelConfig,getConnectionPoolConfig,getMessageQueueConfig,getCircuitBreakerConfig,getAgentRegistryConfig,getSessionConfig,getHTTPSConfig,getAuthConfig,getClusterConfig,getDefaultAgent,Gateway}from'@easbot/gateway';import {EventEmitter}from'events';import {createMessageConnection,StreamMessageReader,StreamMessageWriter}from'vscode-jsonrpc/node.js';import {ZipReader,BlobReader,BlobWriter}from'@zip.js/zip.js';import {createTwoFilesPatch,diffLines,applyPatch,structuredPatch,formatPatch}from'diff';import X3 from'fuzzysort';import {createServer,STATUS_CODES}from'http';import {connect}from'net';import {embed,streamText,convertToModelMessages,APICallError,LoadAPIKeyError,streamObject,generateObject,tool,jsonSchema,wrapLanguageModel,asSchema,NoSuchModelError,dynamicTool}from'ai';import {Client}from'@modelcontextprotocol/sdk/client/index.js';import {StreamableHTTPClientTransport}from'@modelcontextprotocol/sdk/client/streamableHttp.js';import {SSEClientTransport}from'@modelcontextprotocol/sdk/client/sse.js';import {StdioClientTransport}from'@modelcontextprotocol/sdk/client/stdio.js';import {UnauthorizedError}from'@modelcontextprotocol/sdk/client/auth.js';import {ToolListChangedNotificationSchema,CallToolResultSchema}from'@modelcontextprotocol/sdk/types.js';import ro,{z as z$1}from'zod/v4';import R6 from'open';import {HookEvent,CommandMetadataSchema}from'@easbot/plugin';import {LRUCache}from'lru-cache';import {spawn}from'child_process';import g8 from'bash-parser';import {createWrapper}from'@parcel/watcher/wrapper.js';import {createRequire}from'module';import {createInterface}from'readline';import {SubAgentStatus}from'@easbot/types';export{SubAgentStatus}from'@easbot/types';import {initLog as initLog$1,createMemorySystem}from'@easbot/memory';import {initLog as initLog$2,createNoteKnowledge}from'@easbot/note';import {initLog as initLog$3,createCodebase}from'@easbot/codebase';import {ulid}from'ulid';import {ndJsonStream,AgentSideConnection,RequestError}from'@agentclientprotocol/sdk';import {WebSocketServer}from'ws';import eR from'turndown';import {parse}from'node-html-parser';import*as hR from'node-pty';import {describeRoute,resolver,validator,openAPIRouteHandler,generateSpecs}from'hono-openapi';import {Hono}from'hono';import {streamSSE,stream}from'hono/streaming';import {zodToJsonSchema}from'zod-to-json-schema';import {Bonjour}from'bonjour-service';import {cors}from'hono/cors';import {proxy}from'hono/proxy';import {basicAuth}from'hono/basic-auth';import {compress}from'hono/compress';import {HTTPException}from'hono/http-exception';import {serve}from'@hono/node-server';import {createEasbotClient}from'@easbot/sdk';import {InvalidResponseDataError,APICallError as APICallError$1,UnsupportedFunctionalityError}from'@ai-sdk/provider';import {withoutTrailingSlash,withUserAgentSuffix,createJsonErrorResponseHandler,parseProviderOptions,postJsonToApi,createJsonResponseHandler,combineHeaders,generateId,createEventSourceResponseHandler,isParsableJson,convertToBase64,createProviderToolFactoryWithOutputSchema,createProviderToolFactory}from'@ai-sdk/provider-utils';import {Decimal}from'decimal.js';import NN,{Chalk}from'chalk';import {Input,truncateToWidth,isKeyRelease,getKeybindings,SettingsList,SelectList,Container,Text,Editor,matchesKey,Key,Markdown}from'@easbot/tui';import {Command}from'commander';var Iw=Object.defineProperty;var kw=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),vw=t=>{throw TypeError(t)};var lP=(t,e,o)=>e in t?Iw(t,e,{enumerable:true,configurable:true,writable:true,value:o}):t[e]=o;var j=(t,e)=>()=>(t&&(e=t(t=0)),e);var Be=(t,e)=>{for(var o in e)Iw(t,o,{get:e[o],enumerable:true});};var Q=(t,e,o)=>lP(t,typeof e!="symbol"?e+"":e,o);var Do=(t,e,o)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&vw("Object expected");var a,n;o&&(a=e[kw("asyncDispose")]),a===void 0&&(a=e[kw("dispose")],o&&(n=a)),typeof a!="function"&&vw("Object not disposable"),n&&(a=function(){try{n.call(this);}catch(i){return Promise.reject(i)}}),t.push([o,a,e]);}else o&&t.push([o]);return e},Ro=(t,e,o)=>{var a=typeof SuppressedError=="function"?SuppressedError:function(s,r,l,c){return c=Error(l),c.name="SuppressedError",c.error=s,c.suppressed=r,c},n=s=>e=o?new a(s,e,"An error was suppressed during disposal"):(o=true,s),i=s=>{for(;s=t.pop();)try{var r=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(r).then(i,l=>(n(l),i()))}catch(l){n(l);}if(o)throw e};return i()};var I=j(()=>{});var Sw=j(()=>{I();});var O,ne=j(()=>{I();(S=>{S.Level=Y.enum(["DEBUG","INFO","WARN","ERROR"]).meta({ref:"LogLevel",description:"Log level"});let e={DEBUG:0,INFO:1,WARN:2,ERROR:3},o="INFO";function a(f){return e[f]>=e[o]}function n(){return o}S.getLevel=n;let i=new Map;S.Default=k({service:"default"});let r="";function l(){return r}S.file=l;let c,p,g=false,u=f=>{try{process.stderr.write(f);}catch{}},m=false,d=false;async function h(f){if(g)return;f.level&&(o=f.level);let v=f.logDir||Oe__default.join(process.env.EASBOT_LOG_PATH??process.cwd(),"logs");if(w(v).catch(C=>{}),await initLog(f),f.print){g=true;return}if(f.logFile)r=Oe__default.join(v,f.logFile);else {let E=formatLogTime(new Date).replace(/:/g,"");r=Oe__default.join(v,f.dev?"dev.log":E+".log");}try{c=await Io__default.open(r,"w"),p=createWriteStream("",{fd:c.fd,autoClose:!1}),u=C=>{if(!(m||d||!p||p.destroyed))try{if(!p.writable)return;p.write(C,E=>{if(E&&!m){let P=E;if(P.code==="EPIPE"||P.code==="EIO"){d=!0,p?.destroy();return}m=!0,setTimeout(()=>{m=!1;},1e3);}});}catch(E){let P=E;if(P.code==="EPIPE"||P.code==="EIO"){d=!0,p?.destroy();return}m||(m=!0,setTimeout(()=>{m=!1;},1e3));}},g=!0;}catch{u=E=>{try{process.stderr.write(E);}catch{}},g=true;}}S.init=h;async function b(){g&&(p&&!p.destroyed&&(await new Promise((f,v)=>{p.end(C=>{C?v(C):f();});}).catch(f=>{console.error("Failed to close log stream:",f);}),p=void 0),c&&(await c.close().catch(f=>{console.error("Failed to close log file handle:",f);}),c=void 0),u=f=>{try{process.stderr.write(f);}catch{}},g=false);}S.close=b;async function w(f){let v=await glob("????????T??????.log",{cwd:f,absolute:true});if(v.length<=5)return;let C=v.slice(0,-10);await Promise.all(C.map(E=>Io__default.unlink(E).catch(()=>{})));}function x(f,v=0){let C=f.message;return f.cause instanceof Error&&v<10?C+" Caused by: "+x(f.cause,v+1):C}let y=Date.now();function k(f){f=f||{};let v=f.service;if(v&&typeof v=="string"){let P=i.get(v);if(P)return P}function C(P,M){let B=Object.entries({...f,...M}).filter(([U,A])=>A!=null).map(([U,A])=>{let T=`${U}=`;return A instanceof Error?T+x(A):typeof A=="object"?T+JSON.stringify(A):T+A}).join(" "),H=new Date,ee=H.getTime()-y;return y=H.getTime(),[formatLogTime(H),"+"+ee+"ms",B,P].filter(Boolean).join(" ")+`
|
|
2
|
-
`}let E={debug(P,M){a("DEBUG")&&u("DEBUG "+C(P,M));},info(P,M){a("INFO")&&u("INFO "+C(P,M));},error(P,M){a("ERROR")&&u("ERROR "+C(P,M));},warn(P,M){a("WARN")&&u("WARN "+C(P,M));},tag(P,M){return f&&(f[P]=M),E},clone(){return S.create({...f})},time(P,M){let B=Date.now();E.info(P,{status:"started",...M});function H(){E.info(P,{status:"completed",duration:Date.now()-B,...M});}return {stop:H,[Symbol.dispose](){H();}}}};return v&&typeof v=="string"&&i.set(v,E),E}S.create=k;})(O||(O={}));});var kn,Fi,kd=j(()=>{I();ne();kn=O.create({service:"connection-registry"}),Fi=class t{constructor(e){Q(this,"storagePath");Q(this,"defaultHistoryScope");Q(this,"defaultHistoryWindowSize");Q(this,"defaultDegradePolicy");Q(this,"peerIndex",new Map);Q(this,"serviceIndex",new Map);Q(this,"connections",new Map);this.storagePath=e?.storagePath??".easbot/client-connections.json",this.defaultHistoryScope=e?.defaultHistoryScope??"session",this.defaultHistoryWindowSize=e?.defaultHistoryWindowSize??10,this.defaultDegradePolicy=e?.defaultDegradePolicy??"streaming_first",kn.info("connection registry created",{storagePath:this.storagePath,defaultHistoryScope:this.defaultHistoryScope});}static async create(e){let o=new t(e);return await o.load(),o}connect(e,o,a,n,i){let s=this.peerIndex.get(o);if(s)for(let p of s){let g=this.connections.get(p);if(g&&g.baseUrl===e&&g.status!=="closed")return n&&g.sessionId!==n&&(g.sessionId=n,g.sessionSequence=g.sessionSequence??[],g.sessionSequence.includes(n)||g.sessionSequence.push(n)),i&&(g.localSessionId=i),g.updatedAt=Date.now(),kn.debug("reused existing connection",{connectionId:p,localPeerId:o,baseUrl:e}),{connectionId:g.connectionId,sessionId:g.sessionId,localPeerId:g.localPeerId,peerId:g.peerId,baseUrl:g.baseUrl}}let r=this.generateConnectionId(),l=n??`session-${this.generateShortId()}`,c={localPeerId:o,peerId:a,connectionId:r,sessionId:l,...i?{localSessionId:i}:{},baseUrl:e,historyScope:this.defaultHistoryScope,historyWindowSize:this.defaultHistoryWindowSize,degradePolicy:this.defaultDegradePolicy,updatedAt:Date.now(),status:"active"};return this.connections.set(r,c),this.peerIndex.has(o)||this.peerIndex.set(o,new Set),this.peerIndex.get(o).add(r),this.serviceIndex.has(e)||this.serviceIndex.set(e,new Set),this.serviceIndex.get(e).add(r),this.save().catch(p=>{kn.warn("failed to persist connections",{error:String(p)});}),kn.debug("new connection created",{connectionId:r,localPeerId:o,peerId:a,baseUrl:e}),{connectionId:r,sessionId:l,localPeerId:o,peerId:a,baseUrl:e}}resolve(e,o=false){let a=this.connections.get(e);if(a)return a;let n=this.peerIndex.get(e);if(n&&n.size>0)for(let i of n){let s=this.connections.get(i);if(s&&s.status!=="closed")return s}for(let i of this.connections.values())if(i.status!=="closed"&&(i.sessionId===e||i.localSessionId===e))return i;if(o){let r=this.connect("http://localhost","system-local","system-remote",e);return this.connections.get(r.connectionId)}}closeConnection(e){let o=this.connections.get(e);if(!o)return;this.connections.delete(e);let a=this.peerIndex.get(o.localPeerId);a&&(a.delete(e),a.size===0&&this.peerIndex.delete(o.localPeerId));let n=this.serviceIndex.get(o.baseUrl);n&&(n.delete(e),n.size===0&&this.serviceIndex.delete(o.baseUrl)),kn.info("connection closed and removed",{connectionId:e,localPeerId:o.localPeerId,peerId:o.peerId}),this.save().catch(i=>{kn.warn("failed to persist connections",{error:String(i)});});}markDegraded(e,o){let a=this.connections.get(e);a&&(a.status="degraded",a.updatedAt=Date.now(),kn.debug("connection marked degraded",{connectionId:e,reason:o}),this.save().catch(n=>{kn.warn("failed to persist connections",{error:String(n)});}));}getConnectionsByPeer(e){let o=this.peerIndex.get(e);return o?Array.from(o).map(a=>this.connections.get(a)).filter(a=>a!==void 0&&a.status!=="closed"):[]}getConnectionsByService(e){let o=this.serviceIndex.get(e);return o?Array.from(o).map(a=>this.connections.get(a)).filter(a=>a!==void 0&&a.status!=="closed"):[]}getAllActiveConnections(){return Array.from(this.connections.values()).filter(e=>e.status!=="closed")}updateLastSeenMessageId(e,o){let a=this.connections.get(e);a&&(a.lastSeenMessageId=o,a.updatedAt=Date.now());}generateConnectionId(){return `conn-${this.generateShortId()}`}generateShortId(){return createHash("sha256").update(`${Date.now()}-${Math.random()}`).digest("hex").substring(0,8)}async save(){try{let e={version:1,connections:Array.from(this.connections.values()),peerIndex:Array.from(this.peerIndex.entries()).map(([a,n])=>({peerId:a,connectionIds:Array.from(n)})),serviceIndex:Array.from(this.serviceIndex.entries()).map(([a,n])=>({baseUrl:a,connectionIds:Array.from(n)})),savedAt:Date.now()},o=Oe__default.dirname(this.storagePath);await Io__default.mkdir(o,{recursive:!0}),await Io__default.writeFile(this.storagePath,JSON.stringify(e,null,2),"utf-8"),kn.debug("connections saved",{count:this.connections.size,path:this.storagePath});}catch(e){throw kn.error("failed to save connections",{error:String(e)}),e}}async load(){try{if(!await Io__default.access(this.storagePath).then(()=>!0,()=>!1))return;let o=await Io__default.readFile(this.storagePath,"utf-8"),a=JSON.parse(o);if(a.connections)for(let n of a.connections)this.connections.set(n.connectionId,n);if(a.peerIndex)for(let n of a.peerIndex)this.peerIndex.set(n.peerId,new Set(n.connectionIds));if(a.serviceIndex)for(let n of a.serviceIndex)this.serviceIndex.set(n.baseUrl,new Set(n.connectionIds));kn.info("connections loaded",{count:this.connections.size,path:this.storagePath});}catch(e){kn.warn("failed to load connections",{error:String(e)});}}async close(){await this.save(),this.connections.clear(),this.peerIndex.clear(),this.serviceIndex.clear(),kn.info("connection registry closed");}};});var Gi,hP,ku,cf,vd,pf=j(()=>{I();ne();Gi=O.create({service:"session-router"}),hP=(i=>(i.EMPTY_CONTEXT="EMPTY_CONTEXT",i.AMBIGUOUS_ROUTE="AMBIGUOUS_ROUTE",i.NOT_FOUND="NOT_FOUND",i.CONNECTION_CLOSED="CONNECTION_CLOSED",i.MISSING_REQUIRED_PARAMS="MISSING_REQUIRED_PARAMS",i))(hP||{}),ku=class extends Error{constructor(o,a,n){super(a);Q(this,"code",o);Q(this,"context",n);this.name="RoutingError";}},cf=class t{static create(){return new t}constructor(){Gi.info("session router created");}route(e){if(!this.isValidContext(e))return {success:false,error:"routing context is empty or invalid"};try{return e.connectionId?this.routeByConnectionId(e.connectionId):e.localPeerId&&e.baseUrl?this.routeByPeerAndBaseUrl(e.localPeerId,e.baseUrl):e.baseUrl&&e.sessionId?this.routeByBaseUrlAndSessionId(e.baseUrl,e.sessionId):{success:!1,error:"insufficient routing parameters: need connectionId, or peerId+baseUrl, or baseUrl+sessionId"}}catch(o){let a=o instanceof Error?o.message:String(o);return Gi.error("routing failed",{context:e,error:a}),{success:false,error:a}}}routeOrThrow(e){let o=this.route(e);if(!o.success)throw new ku(this.getErrorCode(o.error),o.error??"routing failed",e);if(!o.connectionId)throw new ku("NOT_FOUND","connection not found",e);let a=this.getConnectionState(o.connectionId);if(!a)throw new ku("NOT_FOUND","connection state not found",e);if(a.status==="closed")throw new ku("CONNECTION_CLOSED","connection is closed",e);return a}registerConnection(e){return !e.connectionId||!e.localPeerId||!e.peerId||!e.baseUrl||!e.sessionId?{success:false,error:"invalid connection state: missing required fields"}:(Gi.debug("connection registered",{connectionId:e.connectionId,localPeerId:e.localPeerId,peerId:e.peerId,baseUrl:e.baseUrl}),{success:true,connectionId:e.connectionId,sessionId:e.sessionId,localPeerId:e.localPeerId,peerId:e.peerId,baseUrl:e.baseUrl})}unregisterConnection(e){let o=this.getConnectionState(e);return o?(Gi.debug("connection unregistered",{connectionId:e,localPeerId:o.localPeerId,peerId:o.peerId,baseUrl:o.baseUrl}),true):(Gi.debug("connection not found for unregister",{connectionId:e}),false)}isValidContext(e){return !!(e.connectionId||e.peerId||e.baseUrl||e.sessionId)}routeByConnectionId(e){let o=this.getConnectionState(e);return o?o.status==="closed"?{success:false,error:`connection is closed: ${e}`}:{success:true,connectionId:o.connectionId,sessionId:o.sessionId,localPeerId:o.localPeerId,peerId:o.peerId,baseUrl:o.baseUrl}:{success:false,error:`connection not found: ${e}`}}routeByPeerAndBaseUrl(e,o){let n=this.getConnectionsByPeer(e).filter(s=>s.baseUrl===o&&s.status!=="closed");if(n.length===0)return {success:false,error:`no connection found for localPeerId=${e}, baseUrl=${o}`};if(n.length>1)return {success:false,error:`ambiguous route: multiple connections found for localPeerId=${e}, baseUrl=${o}`};let i=n[0];return {success:true,connectionId:i.connectionId,sessionId:i.sessionId,localPeerId:i.localPeerId,peerId:i.peerId,baseUrl:i.baseUrl}}routeByBaseUrlAndSessionId(e,o){let n=this.getConnectionsByService(e).filter(s=>s.sessionId===o&&s.status!=="closed");if(n.length===0)return {success:false,error:`no connection found for baseUrl=${e}, sessionId=${o}`};if(n.length>1)return {success:false,error:`ambiguous route: multiple connections found for baseUrl=${e}, sessionId=${o}`};let i=n[0];return {success:true,connectionId:i.connectionId,sessionId:i.sessionId,localPeerId:i.localPeerId,peerId:i.peerId,baseUrl:i.baseUrl}}getConnectionState(e){Gi.warn("getConnectionState not implemented, returning undefined",{connectionId:e});}getConnectionsByPeer(e){return Gi.warn("getConnectionsByPeer not implemented, returning empty array",{peerId:e}),[]}getConnectionsByService(e){return Gi.warn("getConnectionsByService not implemented, returning empty array",{baseUrl:e}),[]}getErrorCode(e){return e?e.includes("empty")||e.includes("invalid")?"EMPTY_CONTEXT":e.includes("ambiguous")?"AMBIGUOUS_ROUTE":e.includes("not found")?"NOT_FOUND":e.includes("closed")?"CONNECTION_CLOSED":e.includes("insufficient")||e.includes("missing")?"MISSING_REQUIRED_PARAMS":"NOT_FOUND":"NOT_FOUND"}},vd=class t extends cf{constructor(o){super();Q(this,"registry");this.registry=o,Gi.info("registry session router created");}static fromRegistry(o){return new t(o)}getConnectionState(o){return this.registry.resolve(o)}getConnectionsByPeer(o){return this.registry.getConnectionsByPeer(o)}getConnectionsByService(o){return this.registry.getConnectionsByService(o)}};});var wa,xP,wP,Ew,Tw=j(()=>{I();ne();wa=O.create({service:"history-selector"}),xP=10,wP=1e5,Ew=class t{constructor(e){Q(this,"storagePath");Q(this,"defaultHistoryWindowSize");Q(this,"defaultTokenBudget");Q(this,"avgTokensPerMessage");Q(this,"sessionCache",new Map);Q(this,"registry");this.storagePath=e?.storagePath??".easbot/session-history.json",this.defaultHistoryWindowSize=e?.defaultHistoryWindowSize??xP,this.defaultTokenBudget=e?.defaultTokenBudget??wP,this.avgTokensPerMessage=e?.avgTokensPerMessage??500,wa.info("history selector created",{storagePath:this.storagePath,defaultHistoryScope:"session",defaultHistoryWindowSize:this.defaultHistoryWindowSize});}static create(e){return new t(e)}static fromRegistry(e,o){let a=new t(o);return a.registry=e,a}async select(e){let{scope:o,windowSize:a,currentSessionId:n,peerId:i,tokenBudget:s}=e,r=s??this.defaultTokenBudget,l=a??this.defaultHistoryWindowSize;switch(wa.debug("selecting history",{scope:o,windowSize:l,peerId:i,currentSessionId:n}),await this.ensureStorageLoaded(),o){case "session":return this.loadSessionHistory(n,r);case "peer":return this.loadPeerHistory(i,n,l,r);case "global":return this.loadGlobalHistory(i,l,r);default:return this.loadSessionHistory(n,r)}}async composeContext(e,o){let a=o??this.defaultTokenBudget;await this.ensureStorageLoaded();let n=[],i=[],s=0;for(let r of e){let l=await this.loadSessionMessages(r);if(l.length===0)continue;let c=this.estimateTokens(l);if(s+c>a){let p=a-s,g=this.truncateMessages(l,p);n.push(...g),s+=this.estimateTokens(g);break}n.push(...l),i.push(r),s+=c;}return wa.debug("composed context",{sessionCount:e.length,selectedSessions:i.length,totalTokens:s}),{messages:n,sourceSessions:i,totalTokens:s}}async addMessage(e,o){await this.ensureStorageLoaded();let a=this.sessionCache.get(e);a||(a={sessionId:e,peerId:"unknown",baseUrl:"unknown",messages:[],createdAt:Date.now(),updatedAt:Date.now(),isGlobal:false},this.sessionCache.set(e,a)),a.messages.push({...o,timestamp:Date.now()}),a.updatedAt=Date.now(),await this.saveStorage(),wa.debug("message added to session",{sessionId:e,messageId:o.id});}async markAsGlobal(e,o,a){await this.ensureStorageLoaded();let n=this.sessionCache.get(e);n?(n.isGlobal=true,n.peerId=o,n.baseUrl=a,n.updatedAt=Date.now()):(n={sessionId:e,peerId:o,baseUrl:a,messages:[],createdAt:Date.now(),updatedAt:Date.now(),isGlobal:true},this.sessionCache.set(e,n)),await this.saveStorage(),wa.debug("session marked as global",{sessionId:e,peerId:o});}async loadSessionHistory(e,o){wa.debug("loading session history",{sessionId:e,tokenBudget:o});let a=await this.loadSessionMessages(e),i=this.estimateTokens(a)>o?this.truncateMessages(a,o):a;return {messages:i,sourceSessions:[e],totalTokens:this.estimateTokens(i)}}async loadPeerHistory(e,o,a,n){wa.debug("loading peer history",{peerId:e,currentSessionId:o,windowSize:a,tokenBudget:n});let i=await this.getRecentSessionsForPeer(e,a);return this.composeContext(i,n)}async loadGlobalHistory(e,o,a){wa.debug("loading global history",{peerId:e,windowSize:o,tokenBudget:a});let n=await this.getSharedSessions(e,o);return this.composeContext(n,a)}async getRecentSessionsForPeer(e,o){if(this.registry){let i=this.registry.getConnectionsByPeer(e).map(s=>s.sessionId).filter(s=>s!==void 0);if(i.length>0)return i.slice(0,o)}let a=Array.from(this.sessionCache.values()).filter(n=>n.peerId===e).sort((n,i)=>i.updatedAt-n.updatedAt).slice(0,o).map(n=>n.sessionId);return wa.debug("recent sessions for peer",{peerId:e,count:a.length,limit:o}),a}async getSharedSessions(e,o){let a=Array.from(this.sessionCache.values()).filter(n=>n.isGlobal).sort((n,i)=>i.updatedAt-n.updatedAt).slice(0,o).map(n=>n.sessionId);return wa.debug("shared sessions",{peerId:e,count:a.length,limit:o}),a}async loadSessionMessages(e){let o=this.sessionCache.get(e);return !o||o.messages.length===0?(wa.debug("no messages found for session",{sessionId:e}),[]):o.messages.map(a=>({id:a.id,role:a.role,content:a.content,metadata:a.metadata}))}estimateTokens(e){return e.length===0?0:e.length*this.avgTokensPerMessage}truncateMessages(e,o){if(e.length===0||o<=0)return [];let a=Math.floor(o/this.avgTokensPerMessage);if(e.length<=a)return e;let n=e.slice(-a);return wa.debug("messages truncated",{originalCount:e.length,truncatedCount:n.length,maxTokens:o}),n}async ensureStorageLoaded(){if(!(this.sessionCache.size>0))try{if(!await Io__default.access(this.storagePath).then(()=>!0,()=>!1))return;let o=await Io__default.readFile(this.storagePath,"utf-8"),a=JSON.parse(o);if(a.sessions)for(let n of a.sessions)this.sessionCache.set(n.sessionId,n);wa.debug("session storage loaded",{count:this.sessionCache.size});}catch(e){wa.warn("failed to load session storage",{error:String(e)});}}async saveStorage(){try{let e=Array.from(this.sessionCache.values()),o={version:1,sessions:e,savedAt:Date.now()},a=Oe__default.dirname(this.storagePath);await Io__default.mkdir(a,{recursive:!0}),await Io__default.writeFile(this.storagePath,JSON.stringify(o,null,2),"utf-8"),wa.debug("session storage saved",{count:e.length});}catch(e){throw wa.error("failed to save session storage",{error:String(e)}),e}}async close(){await this.saveStorage(),this.sessionCache.clear(),this.registry=void 0,wa.info("history selector closed");}};});var Aw={};Be(Aw,{default:()=>mf});var mf,df=j(()=>{mf={name:"@easbot/agent",version:"0.2.1",description:"Core Agent for the easbot monorepo ecosystem",type:"module",main:"dist/index.cjs",module:"dist/index.mjs",types:"dist/index.d.ts",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.mjs",require:"./dist/index.cjs"},"./package.json":"./package.json"},bin:{easbot:"./dist/cli.mjs"},scripts:{dev:"cross-env NODE_ENV=development tsx src/cli.ts -- tui",start:"cross-env NODE_ENV=production node dist/cli.mjs tui --new",build:"tsup --env.NODE_ENV production",test:"vitest","test:run":"vitest run","test:ui":"vitest --ui","test:watch":"vitest --watch","test:coverage":"vitest run --coverage","test:unit":"vitest run --config ./vitest.unit.config.ts","test:unit:watch":"vitest --config ./vitest.unit.config.ts","test:integration":"vitest run --config ./vitest.integration.config.ts","test:integration:watch":"vitest --config ./vitest.integration.config.ts","test:e2e":"vitest run --config ./vitest.e2e.config.ts","test:e2e:watch":"vitest --config ./vitest.e2e.config.ts",lint:"biome check .","lint:fix":"biome check --write .","lint:fix:unsafe":"biome check --write --unsafe ./src","lint:report":"biome check --reporter=summary .",format:"biome format .","format:fix":"biome format --write .","type-check":"tsc --noEmit",clean:"npx rimraf dist node_modules",prepare:"echo 'agent: Bun environment ready for CLI usage'","publish:npm":"bash scripts/publish.sh","publish:npm:win":"powershell -ExecutionPolicy Bypass -File scripts/publish.ps1"},keywords:["ai","agent","eas","bot","automation"],author:"houjallen",license:"MIT",publishConfig:{access:"public"},repository:{type:"git",url:"https://github.com/houjallen/easbot.git",directory:"packages/agent"},homepage:"https://github.com/houjallen/easbot/tree/main/packages/agent#readme",bugs:{url:"https://github.com/houjallen/easbot/issues"},files:["dist","README.md","README.en.md","LICENSE"],dependencies:{"@agentclientprotocol/sdk":"^0.21.0","@ai-sdk/alibaba":"^1.0.23","@ai-sdk/amazon-bedrock":"^4.0.103","@ai-sdk/anthropic":"^3.0.76","@ai-sdk/azure":"^3.0.64","@ai-sdk/cerebras":"^2.0.51","@ai-sdk/cohere":"3.0.35","@ai-sdk/deepinfra":"^2.0.51","@ai-sdk/deepseek":"^2.0.34","@ai-sdk/gateway":"^3.0.111","@ai-sdk/google":"^3.0.70","@ai-sdk/google-vertex":"^4.0.124","@ai-sdk/groq":"^3.0.39","@ai-sdk/mistral":"^3.0.36","@ai-sdk/openai":"^3.0.63","@ai-sdk/openai-compatible":"^2.0.47","@ai-sdk/perplexity":"^3.0.33","@ai-sdk/provider":"^3.0.10","@ai-sdk/provider-utils":"^4.0.27","@ai-sdk/togetherai":"^2.0.51","@ai-sdk/vercel":"^2.0.49","@ai-sdk/xai":"^3.0.89","@aws-sdk/credential-providers":"^3.1045.0","@clack/prompts":"^1.3.0","@easbot/codebase":"workspace:*","@easbot/gateway":"workspace:*","@easbot/local-model-sdk":"workspace:*","@easbot/memory":"workspace:*","@easbot/note":"workspace:*","@easbot/ollama-sdk":"workspace:*","@easbot/plugin":"workspace:*","@easbot/sdk":"workspace:*","@easbot/tui":"workspace:*","@easbot/types":"workspace:*","@easbot/utils":"workspace:*","@hono/node-server":"^2.0.2","@hono/standard-validator":"^0.2.2","@hono/zod-validator":"^0.7.6","@modelcontextprotocol/sdk":"^1.29.0","@openrouter/ai-sdk-provider":"^2.9.0","@parcel/watcher":"^2.5.6","@standard-schema/spec":"^1.1.0","@types/cross-spawn":"^6.0.6","@wasmer/wasi":"^1.2.2","@zip.js/zip.js":"^2.8.26",ai:"^6.0.176","ai-gateway-provider":"^3.1.3",ajv:"^8.20.0",axios:"^1.16.0","bash-parser":"^0.5.0","bonjour-service":"^1.3.0",chalk:"^5.6.2",clipboardy:"^5.3.1",commander:"^14.0.3","cross-spawn":"^7.0.6","decimal.js":"^10.6.0",diff:"^9.0.0","drizzle-orm":"^0.45.2","fast-check":"^4.7.0",fuzzysort:"^3.1.0","gitlab-ai-provider":"^6.6.0",glob:"^13.0.6","google-auth-library":"^10.6.2","gray-matter":"^4.0.3",hono:"^4.12.18","hono-openapi":"^1.3.0",ignore:"^7.0.5","jieba-wasm":"^2.4.0",jiti:"^2.7.0","jsonc-parser":"^3.3.1","lru-cache":"^11.3.6",minimatch:"^10.2.5","node-gyp":"^12.3.0","node-html-parser":"^7.1.0","node-pty":"^1.1.0",open:"^11.0.0",remeda:"^2.34.0","tree-sitter-bash":"^0.25.1",turndown:"^7.2.4",ulid:"^3.0.2","vscode-jsonrpc":"^8.2.1","vscode-languageserver-types":"^3.17.5",which:"^6.0.1","why-is-node-running":"^3.2.2",ws:"^8.20.0","xdg-basedir":"5.1.0",zod:"^4.4.3","zod-to-json-schema":"^3.25.2"},devDependencies:{"@actions/core":"^3.0.1","@actions/github":"^9.1.1","@octokit/graphql":"^9.0.3","@octokit/rest":"^22.0.1","@octokit/webhooks-types":"^7.6.1","@types/node":"^25.6.2","@types/turndown":"^5.0.6","@types/which":"^3.0.4","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.1.5",dotenv:"^17.4.2",esbuild:"^0.28.0","esbuild-plugin-alias":"^0.2.1",tsup:"^8.5.1",tsx:"^4.21.0",typescript:"^6.0.3",vitest:"^4.1.5"}};});var $i={};Be($i,{Global:()=>ce});var Sd,gf,AP,MP,DP,ce,_t=j(()=>{I();df();Sd="easbot",gf=Filesystem.normalize(Oe__default.join(xdgData,Sd)),AP=Filesystem.normalize(Oe__default.join(xdgCache,Sd)),MP=Filesystem.normalize(Oe__default.join(xdgConfig,Sd)),DP=Filesystem.normalize(Oe__default.join(xdgState,Sd));(u=>{u.Path={get home(){return Filesystem.normalize(process.env.EASBOT_TEST_HOME||cm.homedir())},data:gf,bin:Filesystem.normalize(Oe__default.join(gf,"bin")),log:Filesystem.normalize(Oe__default.join(gf,"log")),cache:AP,config:MP,state:DP};function e(){return (process.env.PATH||process.env.Path||"")+Oe__default.delimiter+u.Path.bin}u.getPathWithBin=e;let o=null,a=null;async function n(){if(o)return o;if(process.env.EASBOT_VERSION)return o=process.env.EASBOT_VERSION,o;try{let m=await Promise.resolve().then(()=>(df(),Aw));o=m.default?.version||m.version||"local";}catch{o="local";}return o||"local"}function i(){if(o)return o;if(process.env.EASBOT_VERSION)return o=process.env.EASBOT_VERSION,o;try{o=mf.version||"local";}catch{o="local";}return o||"local"}u.getVersion=i;function s(){if(a)return a;if(process.env.EASBOT_CHANNEL)return a=process.env.EASBOT_CHANNEL,a;let m=i();return m==="local"||m.includes("dev")?a="local":m.includes("beta")||m.includes("alpha")?a="preview":a="latest",a||"local"}u.getChannel=s;function r(){return s()==="local"}u.isLocal=r;function l(){return s()==="preview"}u.isPreview=l;let c=false,p=null;async function g(){if(!c)return p||(p=(async()=>{await n(),await Promise.all([mkdir(u.Path.data,{recursive:true}),mkdir(u.Path.config,{recursive:true}),mkdir(u.Path.state,{recursive:true}),mkdir(u.Path.log,{recursive:true}),mkdir(u.Path.bin,{recursive:true}),mkdir(u.Path.cache,{recursive:true})]).then(()=>{let b=process.env.PATH||process.env.Path||"";process.env.PATH=b+Oe__default.delimiter+u.Path.bin,process.env.EASBOT_DATA_PATH=u.Path.data,process.env.EASBOT_CONFIG_PATH=u.Path.config,process.env.EASBOT_STATE_PATH=u.Path.state,process.env.EASBOT_LOG_PATH=u.Path.log,process.env.EASBOT_BIN_PATH=u.Path.bin,process.env.EASBOT_CACHE_PATH=u.Path.cache;});let m="1",d=Oe__default.join(u.Path.cache,"version");if(await readFile(d,"utf-8").catch(()=>"0")!==m){try{let b=await readdir(u.Path.cache);await Promise.all(b.map(w=>rm$1(Oe__default.join(u.Path.cache,w),{recursive:!0,force:!0})));}catch{}await writeFile(d,m);}c=true;})(),p)}u.init=g;})(ce||(ce={}));});var Lw={};Be(Lw,{Storage:()=>Ne});var Ne,Ea=j(()=>{I();ne();_t();(g=>{let t=O.create({service:"storage"});g.NotFoundError=NamedError.create("NotFoundError",Y.object({message:Y.string()}));let o=[async u=>{let m=Oe__default.resolve(u,"../project");if(await Filesystem.isDir(m))for await(let d of new PKG.Glob("*").scan({cwd:m})){t.info(`migrating project ${d}`);let h=d,b=Oe__default.join(m,d),w="/";if(h!=="global"){let x=await glob("storage/session/message/*/*.json",{cwd:Oe__default.join(m,d),absolute:true});for(let k of x)if(w=(await Io__default.readFile(k,"utf-8").then(f=>JSON.parse(f))).path?.root??"",w)break;if(!w||!await Filesystem.isDir(w))continue;let[y]=await $`git rev-list --max-parents=0 --all`.quiet().nothrow().cwd(w).text().then(k=>k.split(`
|
|
2
|
+
`}let E={debug(P,M){a("DEBUG")&&u("DEBUG "+C(P,M));},info(P,M){a("INFO")&&u("INFO "+C(P,M));},error(P,M){a("ERROR")&&u("ERROR "+C(P,M));},warn(P,M){a("WARN")&&u("WARN "+C(P,M));},tag(P,M){return f&&(f[P]=M),E},clone(){return S.create({...f})},time(P,M){let B=Date.now();E.info(P,{status:"started",...M});function H(){E.info(P,{status:"completed",duration:Date.now()-B,...M});}return {stop:H,[Symbol.dispose](){H();}}}};return v&&typeof v=="string"&&i.set(v,E),E}S.create=k;})(O||(O={}));});var kn,Fi,kd=j(()=>{I();ne();kn=O.create({service:"connection-registry"}),Fi=class t{constructor(e){Q(this,"storagePath");Q(this,"defaultHistoryScope");Q(this,"defaultHistoryWindowSize");Q(this,"defaultDegradePolicy");Q(this,"peerIndex",new Map);Q(this,"serviceIndex",new Map);Q(this,"connections",new Map);this.storagePath=e?.storagePath??".easbot/client-connections.json",this.defaultHistoryScope=e?.defaultHistoryScope??"session",this.defaultHistoryWindowSize=e?.defaultHistoryWindowSize??10,this.defaultDegradePolicy=e?.defaultDegradePolicy??"streaming_first",kn.info("connection registry created",{storagePath:this.storagePath,defaultHistoryScope:this.defaultHistoryScope});}static async create(e){let o=new t(e);return await o.load(),o}connect(e,o,a,n,i){let s=this.peerIndex.get(o);if(s)for(let p of s){let g=this.connections.get(p);if(g&&g.baseUrl===e&&g.status!=="closed")return n&&g.sessionId!==n&&(g.sessionId=n,g.sessionSequence=g.sessionSequence??[],g.sessionSequence.includes(n)||g.sessionSequence.push(n)),i&&(g.localSessionId=i),g.updatedAt=Date.now(),kn.debug("reused existing connection",{connectionId:p,localPeerId:o,baseUrl:e}),{connectionId:g.connectionId,sessionId:g.sessionId,localPeerId:g.localPeerId,peerId:g.peerId,baseUrl:g.baseUrl}}let r=this.generateConnectionId(),l=n??`session-${this.generateShortId()}`,c={localPeerId:o,peerId:a,connectionId:r,sessionId:l,...i?{localSessionId:i}:{},baseUrl:e,historyScope:this.defaultHistoryScope,historyWindowSize:this.defaultHistoryWindowSize,degradePolicy:this.defaultDegradePolicy,updatedAt:Date.now(),status:"active"};return this.connections.set(r,c),this.peerIndex.has(o)||this.peerIndex.set(o,new Set),this.peerIndex.get(o).add(r),this.serviceIndex.has(e)||this.serviceIndex.set(e,new Set),this.serviceIndex.get(e).add(r),this.save().catch(p=>{kn.warn("failed to persist connections",{error:String(p)});}),kn.debug("new connection created",{connectionId:r,localPeerId:o,peerId:a,baseUrl:e}),{connectionId:r,sessionId:l,localPeerId:o,peerId:a,baseUrl:e}}resolve(e,o=false){let a=this.connections.get(e);if(a)return a;let n=this.peerIndex.get(e);if(n&&n.size>0)for(let i of n){let s=this.connections.get(i);if(s&&s.status!=="closed")return s}for(let i of this.connections.values())if(i.status!=="closed"&&(i.sessionId===e||i.localSessionId===e))return i;if(o){let r=this.connect("http://localhost","system-local","system-remote",e);return this.connections.get(r.connectionId)}}closeConnection(e){let o=this.connections.get(e);if(!o)return;this.connections.delete(e);let a=this.peerIndex.get(o.localPeerId);a&&(a.delete(e),a.size===0&&this.peerIndex.delete(o.localPeerId));let n=this.serviceIndex.get(o.baseUrl);n&&(n.delete(e),n.size===0&&this.serviceIndex.delete(o.baseUrl)),kn.info("connection closed and removed",{connectionId:e,localPeerId:o.localPeerId,peerId:o.peerId}),this.save().catch(i=>{kn.warn("failed to persist connections",{error:String(i)});});}markDegraded(e,o){let a=this.connections.get(e);a&&(a.status="degraded",a.updatedAt=Date.now(),kn.debug("connection marked degraded",{connectionId:e,reason:o}),this.save().catch(n=>{kn.warn("failed to persist connections",{error:String(n)});}));}getConnectionsByPeer(e){let o=this.peerIndex.get(e);return o?Array.from(o).map(a=>this.connections.get(a)).filter(a=>a!==void 0&&a.status!=="closed"):[]}getConnectionsByService(e){let o=this.serviceIndex.get(e);return o?Array.from(o).map(a=>this.connections.get(a)).filter(a=>a!==void 0&&a.status!=="closed"):[]}getAllActiveConnections(){return Array.from(this.connections.values()).filter(e=>e.status!=="closed")}updateLastSeenMessageId(e,o){let a=this.connections.get(e);a&&(a.lastSeenMessageId=o,a.updatedAt=Date.now());}generateConnectionId(){return `conn-${this.generateShortId()}`}generateShortId(){return createHash("sha256").update(`${Date.now()}-${Math.random()}`).digest("hex").substring(0,8)}async save(){try{let e={version:1,connections:Array.from(this.connections.values()),peerIndex:Array.from(this.peerIndex.entries()).map(([a,n])=>({peerId:a,connectionIds:Array.from(n)})),serviceIndex:Array.from(this.serviceIndex.entries()).map(([a,n])=>({baseUrl:a,connectionIds:Array.from(n)})),savedAt:Date.now()},o=Oe__default.dirname(this.storagePath);await Io__default.mkdir(o,{recursive:!0}),await Io__default.writeFile(this.storagePath,JSON.stringify(e,null,2),"utf-8"),kn.debug("connections saved",{count:this.connections.size,path:this.storagePath});}catch(e){throw kn.error("failed to save connections",{error:String(e)}),e}}async load(){try{if(!await Io__default.access(this.storagePath).then(()=>!0,()=>!1))return;let o=await Io__default.readFile(this.storagePath,"utf-8"),a=JSON.parse(o);if(a.connections)for(let n of a.connections)this.connections.set(n.connectionId,n);if(a.peerIndex)for(let n of a.peerIndex)this.peerIndex.set(n.peerId,new Set(n.connectionIds));if(a.serviceIndex)for(let n of a.serviceIndex)this.serviceIndex.set(n.baseUrl,new Set(n.connectionIds));kn.info("connections loaded",{count:this.connections.size,path:this.storagePath});}catch(e){kn.warn("failed to load connections",{error:String(e)});}}async close(){await this.save(),this.connections.clear(),this.peerIndex.clear(),this.serviceIndex.clear(),kn.info("connection registry closed");}};});var Gi,hP,ku,cf,vd,pf=j(()=>{I();ne();Gi=O.create({service:"session-router"}),hP=(i=>(i.EMPTY_CONTEXT="EMPTY_CONTEXT",i.AMBIGUOUS_ROUTE="AMBIGUOUS_ROUTE",i.NOT_FOUND="NOT_FOUND",i.CONNECTION_CLOSED="CONNECTION_CLOSED",i.MISSING_REQUIRED_PARAMS="MISSING_REQUIRED_PARAMS",i))(hP||{}),ku=class extends Error{constructor(o,a,n){super(a);Q(this,"code",o);Q(this,"context",n);this.name="RoutingError";}},cf=class t{static create(){return new t}constructor(){Gi.info("session router created");}route(e){if(!this.isValidContext(e))return {success:false,error:"routing context is empty or invalid"};try{return e.connectionId?this.routeByConnectionId(e.connectionId):e.localPeerId&&e.baseUrl?this.routeByPeerAndBaseUrl(e.localPeerId,e.baseUrl):e.baseUrl&&e.sessionId?this.routeByBaseUrlAndSessionId(e.baseUrl,e.sessionId):{success:!1,error:"insufficient routing parameters: need connectionId, or peerId+baseUrl, or baseUrl+sessionId"}}catch(o){let a=o instanceof Error?o.message:String(o);return Gi.error("routing failed",{context:e,error:a}),{success:false,error:a}}}routeOrThrow(e){let o=this.route(e);if(!o.success)throw new ku(this.getErrorCode(o.error),o.error??"routing failed",e);if(!o.connectionId)throw new ku("NOT_FOUND","connection not found",e);let a=this.getConnectionState(o.connectionId);if(!a)throw new ku("NOT_FOUND","connection state not found",e);if(a.status==="closed")throw new ku("CONNECTION_CLOSED","connection is closed",e);return a}registerConnection(e){return !e.connectionId||!e.localPeerId||!e.peerId||!e.baseUrl||!e.sessionId?{success:false,error:"invalid connection state: missing required fields"}:(Gi.debug("connection registered",{connectionId:e.connectionId,localPeerId:e.localPeerId,peerId:e.peerId,baseUrl:e.baseUrl}),{success:true,connectionId:e.connectionId,sessionId:e.sessionId,localPeerId:e.localPeerId,peerId:e.peerId,baseUrl:e.baseUrl})}unregisterConnection(e){let o=this.getConnectionState(e);return o?(Gi.debug("connection unregistered",{connectionId:e,localPeerId:o.localPeerId,peerId:o.peerId,baseUrl:o.baseUrl}),true):(Gi.debug("connection not found for unregister",{connectionId:e}),false)}isValidContext(e){return !!(e.connectionId||e.peerId||e.baseUrl||e.sessionId)}routeByConnectionId(e){let o=this.getConnectionState(e);return o?o.status==="closed"?{success:false,error:`connection is closed: ${e}`}:{success:true,connectionId:o.connectionId,sessionId:o.sessionId,localPeerId:o.localPeerId,peerId:o.peerId,baseUrl:o.baseUrl}:{success:false,error:`connection not found: ${e}`}}routeByPeerAndBaseUrl(e,o){let n=this.getConnectionsByPeer(e).filter(s=>s.baseUrl===o&&s.status!=="closed");if(n.length===0)return {success:false,error:`no connection found for localPeerId=${e}, baseUrl=${o}`};if(n.length>1)return {success:false,error:`ambiguous route: multiple connections found for localPeerId=${e}, baseUrl=${o}`};let i=n[0];return {success:true,connectionId:i.connectionId,sessionId:i.sessionId,localPeerId:i.localPeerId,peerId:i.peerId,baseUrl:i.baseUrl}}routeByBaseUrlAndSessionId(e,o){let n=this.getConnectionsByService(e).filter(s=>s.sessionId===o&&s.status!=="closed");if(n.length===0)return {success:false,error:`no connection found for baseUrl=${e}, sessionId=${o}`};if(n.length>1)return {success:false,error:`ambiguous route: multiple connections found for baseUrl=${e}, sessionId=${o}`};let i=n[0];return {success:true,connectionId:i.connectionId,sessionId:i.sessionId,localPeerId:i.localPeerId,peerId:i.peerId,baseUrl:i.baseUrl}}getConnectionState(e){Gi.warn("getConnectionState not implemented, returning undefined",{connectionId:e});}getConnectionsByPeer(e){return Gi.warn("getConnectionsByPeer not implemented, returning empty array",{peerId:e}),[]}getConnectionsByService(e){return Gi.warn("getConnectionsByService not implemented, returning empty array",{baseUrl:e}),[]}getErrorCode(e){return e?e.includes("empty")||e.includes("invalid")?"EMPTY_CONTEXT":e.includes("ambiguous")?"AMBIGUOUS_ROUTE":e.includes("not found")?"NOT_FOUND":e.includes("closed")?"CONNECTION_CLOSED":e.includes("insufficient")||e.includes("missing")?"MISSING_REQUIRED_PARAMS":"NOT_FOUND":"NOT_FOUND"}},vd=class t extends cf{constructor(o){super();Q(this,"registry");this.registry=o,Gi.info("registry session router created");}static fromRegistry(o){return new t(o)}getConnectionState(o){return this.registry.resolve(o)}getConnectionsByPeer(o){return this.registry.getConnectionsByPeer(o)}getConnectionsByService(o){return this.registry.getConnectionsByService(o)}};});var wa,xP,wP,Ew,Tw=j(()=>{I();ne();wa=O.create({service:"history-selector"}),xP=10,wP=1e5,Ew=class t{constructor(e){Q(this,"storagePath");Q(this,"defaultHistoryWindowSize");Q(this,"defaultTokenBudget");Q(this,"avgTokensPerMessage");Q(this,"sessionCache",new Map);Q(this,"registry");this.storagePath=e?.storagePath??".easbot/session-history.json",this.defaultHistoryWindowSize=e?.defaultHistoryWindowSize??xP,this.defaultTokenBudget=e?.defaultTokenBudget??wP,this.avgTokensPerMessage=e?.avgTokensPerMessage??500,wa.info("history selector created",{storagePath:this.storagePath,defaultHistoryScope:"session",defaultHistoryWindowSize:this.defaultHistoryWindowSize});}static create(e){return new t(e)}static fromRegistry(e,o){let a=new t(o);return a.registry=e,a}async select(e){let{scope:o,windowSize:a,currentSessionId:n,peerId:i,tokenBudget:s}=e,r=s??this.defaultTokenBudget,l=a??this.defaultHistoryWindowSize;switch(wa.debug("selecting history",{scope:o,windowSize:l,peerId:i,currentSessionId:n}),await this.ensureStorageLoaded(),o){case "session":return this.loadSessionHistory(n,r);case "peer":return this.loadPeerHistory(i,n,l,r);case "global":return this.loadGlobalHistory(i,l,r);default:return this.loadSessionHistory(n,r)}}async composeContext(e,o){let a=o??this.defaultTokenBudget;await this.ensureStorageLoaded();let n=[],i=[],s=0;for(let r of e){let l=await this.loadSessionMessages(r);if(l.length===0)continue;let c=this.estimateTokens(l);if(s+c>a){let p=a-s,g=this.truncateMessages(l,p);n.push(...g),s+=this.estimateTokens(g);break}n.push(...l),i.push(r),s+=c;}return wa.debug("composed context",{sessionCount:e.length,selectedSessions:i.length,totalTokens:s}),{messages:n,sourceSessions:i,totalTokens:s}}async addMessage(e,o){await this.ensureStorageLoaded();let a=this.sessionCache.get(e);a||(a={sessionId:e,peerId:"unknown",baseUrl:"unknown",messages:[],createdAt:Date.now(),updatedAt:Date.now(),isGlobal:false},this.sessionCache.set(e,a)),a.messages.push({...o,timestamp:Date.now()}),a.updatedAt=Date.now(),await this.saveStorage(),wa.debug("message added to session",{sessionId:e,messageId:o.id});}async markAsGlobal(e,o,a){await this.ensureStorageLoaded();let n=this.sessionCache.get(e);n?(n.isGlobal=true,n.peerId=o,n.baseUrl=a,n.updatedAt=Date.now()):(n={sessionId:e,peerId:o,baseUrl:a,messages:[],createdAt:Date.now(),updatedAt:Date.now(),isGlobal:true},this.sessionCache.set(e,n)),await this.saveStorage(),wa.debug("session marked as global",{sessionId:e,peerId:o});}async loadSessionHistory(e,o){wa.debug("loading session history",{sessionId:e,tokenBudget:o});let a=await this.loadSessionMessages(e),i=this.estimateTokens(a)>o?this.truncateMessages(a,o):a;return {messages:i,sourceSessions:[e],totalTokens:this.estimateTokens(i)}}async loadPeerHistory(e,o,a,n){wa.debug("loading peer history",{peerId:e,currentSessionId:o,windowSize:a,tokenBudget:n});let i=await this.getRecentSessionsForPeer(e,a);return this.composeContext(i,n)}async loadGlobalHistory(e,o,a){wa.debug("loading global history",{peerId:e,windowSize:o,tokenBudget:a});let n=await this.getSharedSessions(e,o);return this.composeContext(n,a)}async getRecentSessionsForPeer(e,o){if(this.registry){let i=this.registry.getConnectionsByPeer(e).map(s=>s.sessionId).filter(s=>s!==void 0);if(i.length>0)return i.slice(0,o)}let a=Array.from(this.sessionCache.values()).filter(n=>n.peerId===e).sort((n,i)=>i.updatedAt-n.updatedAt).slice(0,o).map(n=>n.sessionId);return wa.debug("recent sessions for peer",{peerId:e,count:a.length,limit:o}),a}async getSharedSessions(e,o){let a=Array.from(this.sessionCache.values()).filter(n=>n.isGlobal).sort((n,i)=>i.updatedAt-n.updatedAt).slice(0,o).map(n=>n.sessionId);return wa.debug("shared sessions",{peerId:e,count:a.length,limit:o}),a}async loadSessionMessages(e){let o=this.sessionCache.get(e);return !o||o.messages.length===0?(wa.debug("no messages found for session",{sessionId:e}),[]):o.messages.map(a=>({id:a.id,role:a.role,content:a.content,metadata:a.metadata}))}estimateTokens(e){return e.length===0?0:e.length*this.avgTokensPerMessage}truncateMessages(e,o){if(e.length===0||o<=0)return [];let a=Math.floor(o/this.avgTokensPerMessage);if(e.length<=a)return e;let n=e.slice(-a);return wa.debug("messages truncated",{originalCount:e.length,truncatedCount:n.length,maxTokens:o}),n}async ensureStorageLoaded(){if(!(this.sessionCache.size>0))try{if(!await Io__default.access(this.storagePath).then(()=>!0,()=>!1))return;let o=await Io__default.readFile(this.storagePath,"utf-8"),a=JSON.parse(o);if(a.sessions)for(let n of a.sessions)this.sessionCache.set(n.sessionId,n);wa.debug("session storage loaded",{count:this.sessionCache.size});}catch(e){wa.warn("failed to load session storage",{error:String(e)});}}async saveStorage(){try{let e=Array.from(this.sessionCache.values()),o={version:1,sessions:e,savedAt:Date.now()},a=Oe__default.dirname(this.storagePath);await Io__default.mkdir(a,{recursive:!0}),await Io__default.writeFile(this.storagePath,JSON.stringify(o,null,2),"utf-8"),wa.debug("session storage saved",{count:e.length});}catch(e){throw wa.error("failed to save session storage",{error:String(e)}),e}}async close(){await this.saveStorage(),this.sessionCache.clear(),this.registry=void 0,wa.info("history selector closed");}};});var Aw={};Be(Aw,{default:()=>mf});var mf,df=j(()=>{mf={name:"@easbot/agent",version:"0.2.2",description:"Core Agent for the easbot monorepo ecosystem",type:"module",main:"dist/index.cjs",module:"dist/index.mjs",types:"dist/index.d.ts",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.mjs",require:"./dist/index.cjs"},"./package.json":"./package.json"},bin:{easbot:"./dist/cli.mjs"},scripts:{dev:"cross-env NODE_ENV=development tsx src/cli.ts -- tui",start:"cross-env NODE_ENV=production node dist/cli.mjs tui --new",build:"tsup --env.NODE_ENV production",test:"vitest","test:run":"vitest run","test:ui":"vitest --ui","test:watch":"vitest --watch","test:coverage":"vitest run --coverage","test:unit":"vitest run --config ./vitest.unit.config.ts","test:unit:watch":"vitest --config ./vitest.unit.config.ts","test:integration":"vitest run --config ./vitest.integration.config.ts","test:integration:watch":"vitest --config ./vitest.integration.config.ts","test:e2e":"vitest run --config ./vitest.e2e.config.ts","test:e2e:watch":"vitest --config ./vitest.e2e.config.ts",lint:"biome check .","lint:fix":"biome check --write .","lint:fix:unsafe":"biome check --write --unsafe ./src","lint:report":"biome check --reporter=summary .",format:"biome format .","format:fix":"biome format --write .","type-check":"tsc --noEmit",clean:"npx rimraf dist node_modules",prepare:"echo 'agent: Bun environment ready for CLI usage'","publish:npm":"bash scripts/publish.sh","publish:npm:win":"powershell -ExecutionPolicy Bypass -File scripts/publish.ps1"},keywords:["ai","agent","eas","bot","automation"],author:"houjallen",license:"MIT",publishConfig:{access:"public"},repository:{type:"git",url:"https://github.com/houjallen/easbot.git",directory:"packages/agent"},homepage:"https://github.com/houjallen/easbot/tree/main/packages/agent#readme",bugs:{url:"https://github.com/houjallen/easbot/issues"},files:["dist","README.md","README.en.md","LICENSE"],dependencies:{"@agentclientprotocol/sdk":"^0.21.0","@ai-sdk/alibaba":"^1.0.23","@ai-sdk/amazon-bedrock":"^4.0.103","@ai-sdk/anthropic":"^3.0.76","@ai-sdk/azure":"^3.0.64","@ai-sdk/cerebras":"^2.0.51","@ai-sdk/cohere":"3.0.35","@ai-sdk/deepinfra":"^2.0.51","@ai-sdk/deepseek":"^2.0.34","@ai-sdk/gateway":"^3.0.111","@ai-sdk/google":"^3.0.70","@ai-sdk/google-vertex":"^4.0.124","@ai-sdk/groq":"^3.0.39","@ai-sdk/mistral":"^3.0.36","@ai-sdk/openai":"^3.0.63","@ai-sdk/openai-compatible":"^2.0.47","@ai-sdk/perplexity":"^3.0.33","@ai-sdk/provider":"^3.0.10","@ai-sdk/provider-utils":"^4.0.27","@ai-sdk/togetherai":"^2.0.51","@ai-sdk/vercel":"^2.0.49","@ai-sdk/xai":"^3.0.89","@aws-sdk/credential-providers":"^3.1045.0","@clack/prompts":"^1.3.0","@easbot/codebase":"workspace:*","@easbot/gateway":"workspace:*","@easbot/local-model-sdk":"workspace:*","@easbot/memory":"workspace:*","@easbot/note":"workspace:*","@easbot/ollama-sdk":"workspace:*","@easbot/plugin":"workspace:*","@easbot/sdk":"workspace:*","@easbot/tui":"workspace:*","@easbot/types":"workspace:*","@easbot/utils":"workspace:*","@hono/node-server":"^2.0.2","@hono/node-ws":"^1.3.0","@hono/standard-validator":"^0.2.2","@hono/zod-validator":"^0.7.6","@modelcontextprotocol/sdk":"^1.29.0","@openrouter/ai-sdk-provider":"^2.9.0","@parcel/watcher":"^2.5.6","@standard-schema/spec":"^1.1.0","@types/cross-spawn":"^6.0.6","@wasmer/wasi":"^1.2.2","@zip.js/zip.js":"^2.8.26",ai:"^6.0.176","ai-gateway-provider":"^3.1.3",ajv:"^8.20.0",axios:"^1.16.0","bash-parser":"^0.5.0","bonjour-service":"^1.3.0",chalk:"^5.6.2",clipboardy:"^5.3.1",commander:"^14.0.3","cross-spawn":"^7.0.6","decimal.js":"^10.6.0",diff:"^9.0.0","drizzle-orm":"^0.45.2","fast-check":"^4.7.0",fuzzysort:"^3.1.0","gitlab-ai-provider":"^6.6.0",glob:"^13.0.6","google-auth-library":"^10.6.2","gray-matter":"^4.0.3",hono:"^4.12.18","hono-openapi":"^1.3.0",ignore:"^7.0.5","jieba-wasm":"^2.4.0",jiti:"^2.7.0","jsonc-parser":"^3.3.1","lru-cache":"^11.3.6",minimatch:"^10.2.5","node-gyp":"^12.3.0","node-html-parser":"^7.1.0","node-pty":"^1.1.0",open:"^11.0.0",remeda:"^2.34.0","tree-sitter-bash":"^0.25.1",turndown:"^7.2.4",ulid:"^3.0.2","vscode-jsonrpc":"^8.2.1","vscode-languageserver-types":"^3.17.5",which:"^6.0.1","why-is-node-running":"^3.2.2",ws:"^8.20.0","xdg-basedir":"5.1.0",zod:"^4.4.3","zod-to-json-schema":"^3.25.2"},devDependencies:{"@actions/core":"^3.0.1","@actions/github":"^9.1.1","@octokit/graphql":"^9.0.3","@octokit/rest":"^22.0.1","@octokit/webhooks-types":"^7.6.1","@types/node":"^25.6.2","@types/turndown":"^5.0.6","@types/which":"^3.0.4","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.1.5",dotenv:"^17.4.2",esbuild:"^0.28.0","esbuild-plugin-alias":"^0.2.1",tsup:"^8.5.1",tsx:"^4.21.0",typescript:"^6.0.3",vitest:"^4.1.5"}};});var $i={};Be($i,{Global:()=>ce});var Sd,gf,AP,MP,DP,ce,_t=j(()=>{I();df();Sd="easbot",gf=Filesystem.normalize(Oe__default.join(xdgData,Sd)),AP=Filesystem.normalize(Oe__default.join(xdgCache,Sd)),MP=Filesystem.normalize(Oe__default.join(xdgConfig,Sd)),DP=Filesystem.normalize(Oe__default.join(xdgState,Sd));(u=>{u.Path={get home(){return Filesystem.normalize(process.env.EASBOT_TEST_HOME||cm.homedir())},data:gf,bin:Filesystem.normalize(Oe__default.join(gf,"bin")),log:Filesystem.normalize(Oe__default.join(gf,"log")),cache:AP,config:MP,state:DP};function e(){return (process.env.PATH||process.env.Path||"")+Oe__default.delimiter+u.Path.bin}u.getPathWithBin=e;let o=null,a=null;async function n(){if(o)return o;if(process.env.EASBOT_VERSION)return o=process.env.EASBOT_VERSION,o;try{let m=await Promise.resolve().then(()=>(df(),Aw));o=m.default?.version||m.version||"local";}catch{o="local";}return o||"local"}function i(){if(o)return o;if(process.env.EASBOT_VERSION)return o=process.env.EASBOT_VERSION,o;try{o=mf.version||"local";}catch{o="local";}return o||"local"}u.getVersion=i;function s(){if(a)return a;if(process.env.EASBOT_CHANNEL)return a=process.env.EASBOT_CHANNEL,a;let m=i();return m==="local"||m.includes("dev")?a="local":m.includes("beta")||m.includes("alpha")?a="preview":a="latest",a||"local"}u.getChannel=s;function r(){return s()==="local"}u.isLocal=r;function l(){return s()==="preview"}u.isPreview=l;let c=false,p=null;async function g(){if(!c)return p||(p=(async()=>{await n(),await Promise.all([mkdir(u.Path.data,{recursive:true}),mkdir(u.Path.config,{recursive:true}),mkdir(u.Path.state,{recursive:true}),mkdir(u.Path.log,{recursive:true}),mkdir(u.Path.bin,{recursive:true}),mkdir(u.Path.cache,{recursive:true})]).then(()=>{let b=process.env.PATH||process.env.Path||"";process.env.PATH=b+Oe__default.delimiter+u.Path.bin,process.env.EASBOT_DATA_PATH=u.Path.data,process.env.EASBOT_CONFIG_PATH=u.Path.config,process.env.EASBOT_STATE_PATH=u.Path.state,process.env.EASBOT_LOG_PATH=u.Path.log,process.env.EASBOT_BIN_PATH=u.Path.bin,process.env.EASBOT_CACHE_PATH=u.Path.cache;});let m="1",d=Oe__default.join(u.Path.cache,"version");if(await readFile(d,"utf-8").catch(()=>"0")!==m){try{let b=await readdir(u.Path.cache);await Promise.all(b.map(w=>rm$1(Oe__default.join(u.Path.cache,w),{recursive:!0,force:!0})));}catch{}await writeFile(d,m);}c=true;})(),p)}u.init=g;})(ce||(ce={}));});var Lw={};Be(Lw,{Storage:()=>Ne});var Ne,Ea=j(()=>{I();ne();_t();(g=>{let t=O.create({service:"storage"});g.NotFoundError=NamedError.create("NotFoundError",Y.object({message:Y.string()}));let o=[async u=>{let m=Oe__default.resolve(u,"../project");if(await Filesystem.isDir(m))for await(let d of new PKG.Glob("*").scan({cwd:m})){t.info(`migrating project ${d}`);let h=d,b=Oe__default.join(m,d),w="/";if(h!=="global"){let x=await glob("storage/session/message/*/*.json",{cwd:Oe__default.join(m,d),absolute:true});for(let k of x)if(w=(await Io__default.readFile(k,"utf-8").then(f=>JSON.parse(f))).path?.root??"",w)break;if(!w||!await Filesystem.isDir(w))continue;let[y]=await $`git rev-list --max-parents=0 --all`.quiet().nothrow().cwd(w).text().then(k=>k.split(`
|
|
3
3
|
`).filter(Boolean).map(S=>S.trim()).toSorted());if(!y)continue;h=y,await PKG.write(Oe__default.join(u,"project",h+".json"),JSON.stringify({id:y,vcs:"git",worktree:w,time:{created:Date.now(),initialized:Date.now()}})),t.info(`migrating sessions for project ${h}`);for await(let k of new PKG.Glob("storage/session/info/*.json").scan({cwd:b,absolute:true})){let S=Oe__default.join(u,"session",h,Oe__default.basename(k));t.info("copying",{sessionFile:k,dest:S});let f=await Io__default.readFile(k,"utf-8").then(v=>JSON.parse(v));await Io__default.writeFile(S,JSON.stringify(f)),t.info(`migrating messages for session ${f.id}`);for await(let v of new PKG.Glob(`storage/session/message/${f.id}/*.json`).scan({cwd:b,absolute:true})){let C=Oe__default.join(u,"message",f.id,Oe__default.basename(v));t.info("copying",{msgFile:v,dest:C});let E=await Io__default.readFile(v,"utf-8").then(P=>JSON.parse(P));await Io__default.writeFile(C,JSON.stringify(E)),t.info(`migrating parts for message ${E.id}`);for await(let P of new PKG.Glob(`storage/session/part/${f.id}/${E.id}/*.json`).scan({cwd:b,absolute:true})){let M=Oe__default.join(u,"part",E.id,Oe__default.basename(P)),B=await PKG.file(P).json();t.info("copying",{partFile:P,dest:M}),await PKG.write(M,JSON.stringify(B));}}}}}},async u=>{for await(let m of new PKG.Glob("session/*/*.json").scan({cwd:u,absolute:true})){let d=await PKG.file(m).json();if(!d.projectID||!d.summary?.diffs)continue;let{diffs:h}=d.summary;await PKG.write(Oe__default.join(u,"session_diff",d.id+".json"),JSON.stringify(h)),await PKG.write(Oe__default.join(u,"session",d.projectID,d.id+".json"),JSON.stringify({...d,summary:{additions:h.reduce((b,w)=>b+w.additions,0),deletions:h.reduce((b,w)=>b+w.deletions,0)}}));}}],a=lazy(async()=>{let u=Oe__default.join(ce.Path.data,"storage");await Io__default.mkdir(u,{recursive:true});let m=Oe__default.join(u,"migration"),d=await Io__default.readFile(m,"utf-8").then(h=>parseInt(h,10)).catch(()=>0);for(let h=d;h<o.length;h++){t.info("running migration",{index:h});let b=o[h];b&&(await b(u).catch(()=>t.error("failed to run migration",{index:h})),await Io__default.writeFile(m,(h+1).toString(),"utf-8"));}return {dir:u}});async function n(u){let m=await a().then(h=>h.dir),d=Oe__default.join(m,...u)+".json";return l(async()=>{await Io__default.unlink(d).catch(()=>{});})}g.remove=n;async function i(u){let m=await a().then(h=>h.dir),d=Oe__default.join(m,...u)+".json";return l(async()=>{var w=[];try{let h=Do(w,await Lock.read(d));let b=await Io__default.readFile(d,"utf-8");return JSON.parse(b)}catch(x){var y=x,k=true;}finally{Ro(w,y,k);}})}g.read=i;async function s(u,m){let d=await a().then(b=>b.dir),h=Oe__default.join(d,...u)+".json";return l(async()=>{var x=[];try{let b=Do(x,await Lock.write(h));let w=await Io__default.readFile(h,"utf-8").then(f=>JSON.parse(f));m(w);await Io__default.writeFile(h,JSON.stringify(w,null,2),"utf-8");return w}catch(y){var k=y,S=true;}finally{Ro(x,k,S);}})}g.update=s;async function r(u,m){let d=await a().then(b=>b.dir),h=Oe__default.join(d,...u)+".json";return l(async()=>{var w=[];try{let b=Do(w,await Lock.write(h));await Io__default.mkdir(Oe__default.dirname(h),{recursive:!0});await Io__default.writeFile(h,JSON.stringify(m,null,2),"utf-8");}catch(x){var y=x,k=true;}finally{Ro(w,y,k);}})}g.write=r;async function l(u){return u().catch(m=>{if(!(m instanceof Error))throw m;let d=m;throw d.code==="ENOENT"?new g.NotFoundError({message:`Resource not found: ${d.path}`}):m})}let c="**/*";async function p(u){let m=await a().then(d=>d.dir);try{let h=(await glob(c,{cwd:Oe__default.join(m,...u),nodir:!0})).map(b=>[...u,...b.slice(0,-5).split(Oe__default.sep)]);return h.sort(),h}catch{return []}}g.list=p;})(Ne||(Ne={}));});function $t(t){let e=process.env[t]?.toLowerCase();return e==="true"||e==="1"}function Ow(t,e){let o=process.env[t];if(o===void 0)return e;let a=Number(o);return Number.isNaN(a)?e:a}var xe,_o=j(()=>{I();(oe=>{oe.EASBOT_CONFIG=process.env.EASBOT_CONFIG,oe.EASBOT_CONFIG_CONTENT=process.env.EASBOT_CONFIG_CONTENT,oe.EASBOT_AUTO_SHARE=$t("EASBOT_AUTO_SHARE"),oe.EASBOT_DISABLE_AUTOUPDATE=$t("EASBOT_DISABLE_AUTOUPDATE"),oe.EASBOT_DISABLE_PRUNE=$t("EASBOT_DISABLE_PRUNE"),oe.EASBOT_DISABLE_TERMINAL_TITLE=$t("EASBOT_DISABLE_TERMINAL_TITLE"),oe.EASBOT_DISABLE_DEFAULT_PLUGINS=$t("EASBOT_DISABLE_DEFAULT_PLUGINS"),oe.EASBOT_DISABLE_LSP_DOWNLOAD=$t("EASBOT_DISABLE_LSP_DOWNLOAD"),oe.EASBOT_DISABLE_AUTOCOMPACT=$t("EASBOT_DISABLE_AUTOCOMPACT"),oe.EASBOT_DISABLE_MODELS_FETCH=$t("EASBOT_DISABLE_MODELS_FETCH"),oe.EASBOT_DISABLE_FILETIME_CHECK=$t("EASBOT_DISABLE_FILETIME_CHECK"),oe.EASBOT_ENABLE_EXPERIMENTAL_MODELS=$t("EASBOT_ENABLE_EXPERIMENTAL_MODELS"),oe.EASBOT_ENABLE_QUESTION_TOOL=$t("EASBOT_ENABLE_QUESTION_TOOL"),oe.EASBOT_DISABLE_EXTERNAL_SKILLS=$t("EASBOT_DISABLE_EXTERNAL_SKILLS"),oe.EASBOT_GIT_BASH_PATH=process.env.EASBOT_GIT_BASH_PATH,oe.EASBOT_MODELS_URL=process.env.EASBOT_MODELS_URL,oe.EASBOT_MODELS_PATH=process.env.EASBOT_MODELS_PATH,oe.EASBOT_PERMISSION=process.env.EASBOT_PERMISSION,oe.EASBOT_SERVER_USERNAME=process.env.EASBOT_SERVER_USERNAME,oe.EASBOT_SERVER_PASSWORD=process.env.EASBOT_SERVER_PASSWORD,oe.EASBOT_FAKE_VCS=process.env.EASBOT_FAKE_VCS,oe.EASBOT_EXPERIMENTAL=$t("EASBOT_EXPERIMENTAL"),oe.EASBOT_EXPERIMENTAL_FILEWATCHER=$t("EASBOT_EXPERIMENTAL_FILEWATCHER"),oe.EASBOT_EXPERIMENTAL_DISABLE_FILEWATCHER=$t("EASBOT_EXPERIMENTAL_DISABLE_FILEWATCHER"),oe.EASBOT_EXPERIMENTAL_ICON_DISCOVERY=oe.EASBOT_EXPERIMENTAL||$t("EASBOT_EXPERIMENTAL_ICON_DISCOVERY"),oe.EASBOT_EXPERIMENTAL_DISABLE_COPY_ON_SELECT=$t("EASBOT_EXPERIMENTAL_DISABLE_COPY_ON_SELECT"),oe.EASBOT_ENABLE_EXA=$t("EASBOT_ENABLE_EXA")||oe.EASBOT_EXPERIMENTAL||$t("EASBOT_EXPERIMENTAL_EXA"),oe.EASBOT_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS=fe("EASBOT_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS"),oe.EASBOT_EXPERIMENTAL_OUTPUT_TOKEN_MAX=fe("EASBOT_EXPERIMENTAL_OUTPUT_TOKEN_MAX"),oe.EASBOT_EXPERIMENTAL_OXFMT=oe.EASBOT_EXPERIMENTAL||$t("EASBOT_EXPERIMENTAL_OXFMT"),oe.EASBOT_EXPERIMENTAL_LSP_TY=$t("EASBOT_EXPERIMENTAL_LSP_TY"),oe.EASBOT_EXPERIMENTAL_LSP_TOOL=oe.EASBOT_EXPERIMENTAL||$t("EASBOT_EXPERIMENTAL_LSP_TOOL"),oe.EASBOT_LSP_INIT_TIMEOUT=Ow("EASBOT_LSP_INIT_TIMEOUT",3e5),oe.EASBOT_LSP_DIAGNOSTICS_TIMEOUT=Ow("EASBOT_LSP_DIAGNOSTICS_TIMEOUT",3e4),oe.EASBOT_EXPERIMENTAL_PLAN_MODE=oe.EASBOT_EXPERIMENTAL||$t("EASBOT_EXPERIMENTAL_PLAN_MODE"),oe.EASBOT_EXPERIMENTAL_WORKSPACES=oe.EASBOT_EXPERIMENTAL||$t("EASBOT_EXPERIMENTAL_WORKSPACES"),oe.EASBOT_EXPERIMENTAL_MARKDOWN=$t("EASBOT_EXPERIMENTAL_MARKDOWN"),oe.EASBOT_DISABLE_EMBEDDED_WEB_UI=$t("EASBOT_DISABLE_EMBEDDED_WEB_UI"),oe.EASBOT_DISABLE_COMPACT=$t("EASBOT_DISABLE_COMPACT"),oe.EASBOT_DISABLE_AUTO_COMPACT=$t("EASBOT_DISABLE_AUTO_COMPACT"),oe.EASBOT_AUTOCOMPACT_PCT_OVERRIDE=fe("EASBOT_AUTOCOMPACT_PCT_OVERRIDE"),oe.EASBOT_AUTO_COMPACT_WINDOW=fe("EASBOT_AUTO_COMPACT_WINDOW"),oe.EASBOT_BLOCKING_LIMIT_OVERRIDE=fe("EASBOT_BLOCKING_LIMIT_OVERRIDE"),oe.EASBOT_MAX_CONTEXT_TOKENS=fe("EASBOT_MAX_CONTEXT_TOKENS"),oe.EASBOT_MAX_TOOL_USE_CONCURRENCY=fe("EASBOT_MAX_TOOL_USE_CONCURRENCY");function fe(Z){let ge=process.env[Z];if(!ge)return;let ue=Number(ge);return Number.isInteger(ue)&&ue>0?ue:void 0}})(xe||(xe={}));Object.defineProperty(xe,"EASBOT_DISABLE_PROJECT_CONFIG",{get(){return $t("EASBOT_DISABLE_PROJECT_CONFIG")},enumerable:true,configurable:false});Object.defineProperty(xe,"EASBOT_CONFIG_DIR",{get(){return process.env.EASBOT_CONFIG_DIR},enumerable:true,configurable:false});Object.defineProperty(xe,"EASBOT_CLIENT",{get(){return process.env.EASBOT_CLIENT??"cli"},enumerable:true,configurable:false});});var Pe,jt=j(()=>{I();ne();(n=>{O.create({service:"event"});let e=new Map;function o(i,s){let r={type:i,properties:s};return e.set(i,r),r}n.define=o;function a(){return Y.discriminatedUnion("type",e.entries().map(([i,s])=>Y.object({type:Y.literal(i),properties:s.properties}).meta({ref:"Event."+s.type})).toArray()).meta({ref:"Event"})}n.payloads=a;})(Pe||(Pe={}));});var qw={};Be(qw,{Installation:()=>vt});var vt,Za=j(()=>{I();jt();ne();_o();_t();(d=>{let t=O.create({service:"installation"});d.Event={Updated:Pe.define("installation.updated",Y.object({version:Y.string()})),UpdateAvailable:Pe.define("installation.update-available",Y.object({version:Y.string()}))},d.Info=Y.object({version:Y.string(),latest:Y.string()}).meta({ref:"InstallationInfo"});async function a(){return {version:p(),latest:await m()}}d.info=a;function n(){return ce.isPreview()}d.isPreview=n;function i(){return ce.isLocal()}d.isLocal=i;async function s(){if(process.execPath.includes(Oe__default.join(".easbot","bin"))||process.execPath.includes(Oe__default.join(".local","bin")))return "curl";let h=process.execPath.toLowerCase(),b=[{name:"npm",command:()=>$`npm list -g --depth=0`.throws(false).quiet().text()},{name:"yarn",command:()=>$`yarn global list`.throws(false).quiet().text()},{name:"pnpm",command:()=>$`pnpm list -g --depth=0`.throws(false).quiet().text()},{name:"bun",command:()=>$`bun pm ls -g`.throws(false).quiet().text()},{name:"brew",command:()=>$`brew list --formula easbot`.throws(false).quiet().text()},{name:"scoop",command:()=>$`scoop list easbot`.throws(false).quiet().text()},{name:"choco",command:()=>$`choco list --limit-output easbot`.throws(false).quiet().text()}];b.sort((w,x)=>{let y=h.includes(w.name),k=h.includes(x.name);return y&&!k?-1:!y&&k?1:0});for(let w of b){let x=await w.command(),y=(w.name==="brew"||w.name==="choco"||w.name==="scoop","easbot");if(x.includes(y))return w.name}return "unknown"}d.method=s,d.UpgradeFailedError=NamedError.create("UpgradeFailedError",Y.object({stderr:Y.string()}));async function l(){return (await $`brew list --formula anomalyco/tap/easbot`.throws(false).quiet().text()).includes("easbot")?"anomalyco/tap/easbot":((await $`brew list --formula easbot`.throws(false).quiet().text()).includes("easbot"),"easbot")}async function c(h,b){let w;switch(h){case "curl":w=$`curl -fsSL https://easbot.cn/install | bash`.env({...process.env,VERSION:b});break;case "npm":w=$`npm install -g easbot@${b}`;break;case "pnpm":w=$`pnpm install -g easbot@${b}`;break;case "bun":w=$`bun install -g easbot@${b}`;break;case "brew":{let y=await l();if(y.includes("/")){w=$`brew tap anomalyco/tap && cd "$(brew --repo anomalyco/tap)" && git pull --ff-only && brew upgrade ${y}`.env({HOMEBREW_NO_AUTO_UPDATE:"1",...process.env});break}w=$`brew upgrade ${y}`.env({HOMEBREW_NO_AUTO_UPDATE:"1",...process.env});break}case "choco":w=$`echo Y | choco upgrade easbot --version=${b}`;break;case "scoop":w=$`scoop install easbot@${b}`;break;default:throw new Error(`Unknown method: ${h}`)}let x=await w.quiet().throws(false);if(x.exitCode!==0){let y=h==="choco"?"not running from an elevated command shell":x.stderr.toString("utf8");throw new d.UpgradeFailedError({stderr:y})}t.info("upgraded",{method:h,target:b,stdout:x.stdout.toString(),stderr:x.stderr.toString()}),await $`${process.execPath} --version`.nothrow().quiet().text();}d.upgrade=c;function p(){return ce.getVersion()}d.getVersion=p;function g(){return ce.getChannel()}d.getChannel=g;function u(){return `easbot/${g()}/${p()}/${xe.EASBOT_CLIENT}`}d.getUserAgent=u;async function m(h){let b=h||await s();if(b==="brew"){let w=await l();if(w.includes("/")){let x=await $`brew info --json=v2 ${w}`.quiet().text(),k=JSON.parse(x).formulae?.[0]?.versions?.stable;if(!k)throw new Error(`Could not detect version for tap formula: ${w}`);return k}return fetch("https://formulae.brew.sh/api/formula/easbot.json").then(x=>{if(!x.ok)throw new Error(x.statusText);return x.json()}).then(x=>x.versions.stable)}if(b==="npm"||b==="bun"||b==="pnpm"){let w=await iife(async()=>{let k=(await $`npm config get registry`.quiet().nothrow().text()).trim()||"https://registry.npmjs.org";return k.endsWith("/")?k.slice(0,-1):k}),x=g();return fetch(`${w}/easbot/${x}`).then(y=>{if(!y.ok)throw new Error(y.statusText);return y.json()}).then(y=>y.version)}return b==="choco"?fetch("https://community.chocolatey.org/api/v2/Packages?$filter=Id%20eq%20%27easbot%27%20and%20IsLatestVersion&$select=Version",{headers:{Accept:"application/json;odata=verbose"}}).then(w=>{if(!w.ok)throw new Error(w.statusText);return w.json()}).then(w=>w.d.results[0].Version):b==="scoop"?fetch("https://raw.githubusercontent.com/ScoopInstaller/Main/master/bucket/easbot.json",{headers:{Accept:"application/json"}}).then(w=>{if(!w.ok)throw new Error(w.statusText);return w.json()}).then(w=>w.version):fetch("https://api.github.com/repos/houjallen/easbot/releases/latest").then(w=>{if(!w.ok)throw new Error(w.statusText);return w.json()}).then(w=>w.tag_name.replace(/^v/,""))}d.latest=m;})(vt||(vt={}));});var Nw={};Be(Nw,{snapshot:()=>NP});var NP,jw=j(()=>{I();NP={evroc:{id:"evroc",env:["EVROC_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://models.think.evroc.com/v1",name:"evroc",doc:"https://docs.evroc.com/products/think/overview.html",models:{"intfloat/multilingual-e5-large-instruct":{id:"intfloat/multilingual-e5-large-instruct",name:"E5 Multi-Lingual Large Embeddings 0.6B",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,release_date:"2024-06-01",last_updated:"2024-06-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.12,output:.12},limit:{context:512,output:512}},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",family:"kimi",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:1.47,output:5.9},limit:{context:262144,output:262144}},"nvidia/Llama-3.3-70B-Instruct-FP8":{id:"nvidia/Llama-3.3-70B-Instruct-FP8",name:"Llama 3.3 70B",family:"llama",attachment:false,reasoning:false,tool_call:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.18,output:1.18},limit:{context:131072,output:32768}},"KBLab/kb-whisper-large":{id:"KBLab/kb-whisper-large",name:"KB Whisper",family:"whisper",attachment:false,reasoning:false,tool_call:false,release_date:"2024-10-01",last_updated:"2024-10-01",modalities:{input:["audio"],output:["text"]},open_weights:true,cost:{input:.00236,output:.00236,output_audio:2.36},limit:{context:448,output:448}},"microsoft/Phi-4-multimodal-instruct":{id:"microsoft/Phi-4-multimodal-instruct",name:"Phi-4 15B",family:"phi",attachment:false,reasoning:false,tool_call:true,release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text","image"]},open_weights:true,cost:{input:.24,output:.47},limit:{context:32e3,output:32e3}},"openai/whisper-large-v3":{id:"openai/whisper-large-v3",name:"Whisper 3 Large",family:"whisper",attachment:false,reasoning:false,tool_call:false,release_date:"2024-10-01",last_updated:"2024-10-01",modalities:{input:["audio"],output:["text"]},open_weights:true,cost:{input:.00236,output:.00236,output_audio:2.36},limit:{context:448,output:4096}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.24,output:.94},limit:{context:65536,output:65536}},"mistralai/Voxtral-Small-24B-2507":{id:"mistralai/Voxtral-Small-24B-2507",name:"Voxtral Small 24B",family:"voxtral",attachment:false,reasoning:false,tool_call:false,release_date:"2025-03-01",last_updated:"2025-03-01",modalities:{input:["audio","text"],output:["text"]},open_weights:true,cost:{input:.00236,output:.00236,output_audio:2.36},limit:{context:32e3,output:32e3}},"mistralai/Magistral-Small-2509":{id:"mistralai/Magistral-Small-2509",name:"Magistral Small 1.2 24B",family:"magistral-small",attachment:false,reasoning:false,tool_call:true,release_date:"2025-06-01",last_updated:"2025-06-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.59,output:2.36},limit:{context:131072,output:131072}},"mistralai/devstral-small-2-24b-instruct-2512":{id:"mistralai/devstral-small-2-24b-instruct-2512",name:"Devstral Small 2 24B Instruct 2512",family:"devstral",attachment:false,reasoning:false,tool_call:true,release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.12,output:.47},limit:{context:32768,output:32768}},"Qwen/Qwen3-Embedding-8B":{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,release_date:"2025-07-30",last_updated:"2025-07-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.12,output:.12},limit:{context:40960,output:40960}},"Qwen/Qwen3-VL-30B-A3B-Instruct":{id:"Qwen/Qwen3-VL-30B-A3B-Instruct",name:"Qwen3 VL 30B",family:"qwen",attachment:false,reasoning:false,tool_call:true,release_date:"2025-07-30",last_updated:"2025-07-30",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.24,output:.94},limit:{context:1e5,output:1e5}},"Qwen/Qwen3-30B-A3B-Instruct-2507-FP8":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507-FP8",name:"Qwen3 30B 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,release_date:"2025-07-30",last_updated:"2025-07-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.35,output:1.42},limit:{context:64e3,output:64e3}}}},"privatemode-ai":{id:"privatemode-ai",env:["PRIVATEMODE_API_KEY","PRIVATEMODE_ENDPOINT"],npm:"@ai-sdk/openai-compatible",api:"http://localhost:8080/v1",name:"Privatemode AI",doc:"https://docs.privatemode.ai/api/overview",models:{"whisper-large-v3":{id:"whisper-large-v3",name:"Whisper large-v3",family:"whisper",attachment:true,reasoning:false,tool_call:false,structured_output:false,temperature:true,knowledge:"2023-09",release_date:"2023-09-01",last_updated:"2023-09-01",modalities:{input:["audio"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:0,output:4096}},"qwen3-embedding-4b":{id:"qwen3-embedding-4b",name:"Qwen3-Embedding 4B",family:"qwen",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,knowledge:"2025-06",release_date:"2025-06-06",last_updated:"2025-06-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32e3,output:2560}},"gpt-oss-120b":{id:"gpt-oss-120b",name:"gpt-oss-120b",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-08",release_date:"2025-08-04",last_updated:"2025-08-14",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},"gemma-3-27b":{id:"gemma-3-27b",name:"Gemma 3 27B",family:"gemma",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-08",release_date:"2025-03-12",last_updated:"2025-03-12",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"qwen3-coder-30b-a3b":{id:"qwen3-coder-30b-a3b",name:"Qwen3-Coder 30B-A3B",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:32768}}}},stepfun:{id:"stepfun",env:["STEPFUN_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.stepfun.com/v1",name:"StepFun",doc:"https://platform.stepfun.com/docs/zh/overview/concept",models:{"step-2-16k":{id:"step-2-16k",name:"Step 2 (16K)",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2025-01-01",last_updated:"2026-02-13",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:5.21,output:16.44,cache_read:1.04},limit:{context:16384,input:16384,output:8192}},"step-1-32k":{id:"step-1-32k",name:"Step 1 (32K)",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2025-01-01",last_updated:"2026-02-13",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2.05,output:9.59,cache_read:.41},limit:{context:32768,input:32768,output:32768}},"step-3.5-flash":{id:"step-3.5-flash",name:"Step 3.5 Flash",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2026-01-29",last_updated:"2026-02-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.096,output:.288,cache_read:.019},limit:{context:256e3,input:256e3,output:256e3}}}},"moonshotai-cn":{id:"moonshotai-cn",env:["MOONSHOT_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.moonshot.cn/v1",name:"Moonshot AI (China)",doc:"https://platform.moonshot.cn/docs/api/chat",models:{"kimi-k2-0905-preview":{id:"kimi-k2-0905-preview",name:"Kimi K2 0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5,cache_read:.15},limit:{context:262144,output:262144}},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5,cache_read:.15},limit:{context:262144,output:262144}},"kimi-k2-0711-preview":{id:"kimi-k2-0711-preview",name:"Kimi K2 0711",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-14",last_updated:"2025-07-14",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5,cache_read:.15},limit:{context:131072,output:16384}},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",family:"kimi",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:false,knowledge:"2025-01",release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3,cache_read:.1},limit:{context:262144,output:262144}},"kimi-k2-turbo-preview":{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.4,output:10,cache_read:.6},limit:{context:262144,output:262144}},"kimi-k2-thinking-turbo":{id:"kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.15,output:8,cache_read:.15},limit:{context:262144,output:262144}}}},firmware:{id:"firmware",env:["FIRMWARE_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://app.firmware.ai/api/v1",name:"Firmware",doc:"https://docs.firmware.ai",models:{"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:.5,output:3,cache_read:.05},limit:{context:1048576,output:65536}},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3}},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2026-02-17",release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05-31",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:128e3}},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-11-24",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.2},limit:{context:1e6,output:64e3}},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-07-17",last_updated:"2025-07-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.075},limit:{context:1048576,output:65536}},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",family:"gpt-nano",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.05,output:.4,cache_read:.01},limit:{context:4e5,output:128e3}},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-09",release_date:"2024-05-13",last_updated:"2024-08-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.5,output:10,cache_read:1.25},limit:{context:128e3,output:16384}},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.03},limit:{context:4e5,output:128e3}},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-03-20",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.31},limit:{context:1048576,output:65536}},"gpt-oss-20b":{id:"gpt-oss-20b",name:"GPT OSS 20B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"1970-01-01",last_updated:"1970-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.2},limit:{context:131072,output:32768}},"gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"1970-01-01",last_updated:"1970-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:131072,output:32768}},"gpt-5":{id:"gpt-5",name:"GPT-5",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:4e5,output:128e3}},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,output:128e3}}}},nova:{id:"nova",env:["NOVA_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.nova.amazon.com/v1",name:"Nova",doc:"https://nova.amazon.com/dev/documentation",models:{"nova-2-lite-v1":{id:"nova-2-lite-v1",name:"Nova 2 Lite",family:"nova-lite",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text","image","video","pdf"],output:["text"]},open_weights:false,cost:{input:0,output:0,reasoning:0},limit:{context:1e6,output:64e3}},"nova-2-pro-v1":{id:"nova-2-pro-v1",name:"Nova 2 Pro",family:"nova-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-03",last_updated:"2026-01-03",modalities:{input:["text","image","video","pdf"],output:["text"]},open_weights:false,cost:{input:0,output:0,reasoning:0},limit:{context:1e6,output:64e3}}}},lucidquery:{id:"lucidquery",env:["LUCIDQUERY_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://lucidquery.com/api/v1",name:"LucidQuery AI",doc:"https://lucidquery.com/api/docs",models:{"lucidquery-nexus-coder":{id:"lucidquery-nexus-coder",name:"LucidQuery Nexus Coder",family:"lucid",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-08-01",release_date:"2025-09-01",last_updated:"2025-09-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2,output:5},limit:{context:25e4,output:6e4}},"lucidnova-rf1-100b":{id:"lucidnova-rf1-100b",name:"LucidNova RF1 100B",family:"nova",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-09-16",release_date:"2024-12-28",last_updated:"2025-09-10",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2,output:5},limit:{context:12e4,output:8e3}}}},moonshotai:{id:"moonshotai",env:["MOONSHOT_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.moonshot.ai/v1",name:"Moonshot AI",doc:"https://platform.moonshot.ai/docs/api/chat",models:{"kimi-k2-thinking-turbo":{id:"kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.15,output:8,cache_read:.15},limit:{context:262144,output:262144}},"kimi-k2-turbo-preview":{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.4,output:10,cache_read:.6},limit:{context:262144,output:262144}},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",family:"kimi",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:false,knowledge:"2025-01",release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3,cache_read:.1},limit:{context:262144,output:262144}},"kimi-k2-0711-preview":{id:"kimi-k2-0711-preview",name:"Kimi K2 0711",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-14",last_updated:"2025-07-14",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5,cache_read:.15},limit:{context:131072,output:16384}},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5,cache_read:.15},limit:{context:262144,output:262144}},"kimi-k2-0905-preview":{id:"kimi-k2-0905-preview",name:"Kimi K2 0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5,cache_read:.15},limit:{context:262144,output:262144}}}},"302ai":{id:"302ai",env:["302AI_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.302.ai/v1",name:"302.AI",doc:"https://doc.302.ai",models:{"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"gpt-4.1-nano",family:"gpt-nano",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.1,output:.4},limit:{context:1e6,output:32768}},"doubao-seed-code-preview-251028":{id:"doubao-seed-code-preview-251028",name:"doubao-seed-code-preview-251028",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-11-11",last_updated:"2025-11-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.17,output:1.14},limit:{context:256e3,output:32e3}},"glm-4.7":{id:"glm-4.7",name:"glm-4.7",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.286,output:1.142},limit:{context:2e5,output:131072}},"grok-4-fast-non-reasoning":{id:"grok-4-fast-non-reasoning",name:"grok-4-fast-non-reasoning",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-09-23",last_updated:"2025-09-23",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5},limit:{context:2e6,output:3e4}},"qwen3-235b-a22b-instruct-2507":{id:"qwen3-235b-a22b-instruct-2507",name:"qwen3-235b-a22b-instruct-2507",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-30",last_updated:"2025-07-30",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.29,output:1.143},limit:{context:128e3,output:65536}},"grok-4-fast-reasoning":{id:"grok-4-fast-reasoning",name:"grok-4-fast-reasoning",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-09-23",last_updated:"2025-09-23",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5},limit:{context:2e6,output:3e4}},"mistral-large-2512":{id:"mistral-large-2512",name:"mistral-large-2512",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-12-16",last_updated:"2025-12-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:3.3},limit:{context:128e3,output:262144}},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"gemini-3-flash-preview",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-12-18",last_updated:"2025-12-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.5,output:3},limit:{context:1e6,output:65536}},"MiniMax-M2":{id:"MiniMax-M2",name:"MiniMax-M2",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-10-26",last_updated:"2025-10-26",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.33,output:1.32},limit:{context:1e6,output:128e3}},"grok-4-1-fast-reasoning":{id:"grok-4-1-fast-reasoning",name:"grok-4-1-fast-reasoning",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-11-20",last_updated:"2025-11-20",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5},limit:{context:2e6,output:3e4}},"deepseek-v3.2-thinking":{id:"deepseek-v3.2-thinking",name:"DeepSeek-V3.2-Thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.29,output:.43},limit:{context:128e3,output:128e3}},"ministral-14b-2512":{id:"ministral-14b-2512",name:"ministral-14b-2512",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-12-16",last_updated:"2025-12-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.33,output:.33},limit:{context:128e3,output:128e3}},"glm-4.5":{id:"glm-4.5",name:"GLM-4.5",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-29",last_updated:"2025-07-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.286,output:1.142},limit:{context:128e3,output:98304}},"gpt-5-thinking":{id:"gpt-5-thinking",name:"gpt-5-thinking",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-08",last_updated:"2025-08-08",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},"kimi-k2-thinking-turbo":{id:"kimi-k2-thinking-turbo",name:"kimi-k2-thinking-turbo",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.265,output:9.119},limit:{context:262144,output:262144}},"gemini-2.5-flash-image":{id:"gemini-2.5-flash-image",name:"gemini-2.5-flash-image",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-01",release_date:"2025-10-08",last_updated:"2025-10-08",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.3,output:30},limit:{context:32768,output:32768}},"deepseek-chat":{id:"deepseek-chat",name:"Deepseek-Chat",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-11-29",last_updated:"2024-11-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.29,output:.43},limit:{context:128e3,output:8192}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"gemini-3-pro-preview",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-11-19",last_updated:"2025-11-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:12},limit:{context:1e6,output:64e3}},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"gemini-2.5-flash",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5},limit:{context:1e6,output:65536}},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"gpt-4.1-mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:1.6},limit:{context:1e6,output:32768}},"gemini-2.0-flash-lite":{id:"gemini-2.0-flash-lite",name:"gemini-2.0-flash-lite",family:"gemini-flash-lite",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-11",release_date:"2025-06-16",last_updated:"2025-06-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.075,output:.3},limit:{context:2e6,output:8192}},"claude-sonnet-4-5-20250929-thinking":{id:"claude-sonnet-4-5-20250929-thinking",name:"claude-sonnet-4-5-20250929-thinking",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:2e5,output:64e3}},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"claude-opus-4-5-20251101",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-11-25",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:5,output:25},limit:{context:2e5,output:64e3}},"qwen3-max-2025-09-23":{id:"qwen3-max-2025-09-23",name:"qwen3-max-2025-09-23",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-24",last_updated:"2025-09-24",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.86,output:3.43},limit:{context:258048,output:65536}},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"claude-sonnet-4-5-20250929",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:2e5,output:64e3}},"grok-4.1":{id:"grok-4.1",name:"grok-4.1",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:10},limit:{context:2e5,output:64e3}},"chatgpt-4o-latest":{id:"chatgpt-4o-latest",name:"chatgpt-4o-latest",family:"gpt",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-09",release_date:"2024-08-08",last_updated:"2024-08-08",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:5,output:15},limit:{context:128e3,output:16384}},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"kimi-k2-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.575,output:2.3},limit:{context:262144,output:262144}},"gpt-5.2-chat-latest":{id:"gpt-5.2-chat-latest",name:"gpt-5.2-chat-latest",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-12-12",last_updated:"2025-12-12",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14},limit:{context:128e3,output:16384}},"gpt-5.1":{id:"gpt-5.1",name:"gpt-5.1",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},"doubao-seed-1-6-vision-250815":{id:"doubao-seed-1-6-vision-250815",name:"doubao-seed-1-6-vision-250815",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.114,output:1.143},limit:{context:256e3,output:32e3}},"qwen-flash":{id:"qwen-flash",name:"Qwen-Flash",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.022,output:.22},limit:{context:1e6,output:32768}},"gemini-3-pro-image-preview":{id:"gemini-3-pro-image-preview",name:"gemini-3-pro-image-preview",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-06",release_date:"2025-11-20",last_updated:"2025-11-20",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:120},limit:{context:32768,output:64e3}},"kimi-k2-0905-preview":{id:"kimi-k2-0905-preview",name:"kimi-k2-0905-preview",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.632,output:2.53},limit:{context:262144,output:262144}},"gpt-4o":{id:"gpt-4o",name:"gpt-4o",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-09",release_date:"2024-05-13",last_updated:"2024-05-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.5,output:10},limit:{context:128e3,output:16384}},"doubao-seed-1-6-thinking-250715":{id:"doubao-seed-1-6-thinking-250715",name:"doubao-seed-1-6-thinking-250715",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-15",last_updated:"2025-07-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.121,output:1.21},limit:{context:256e3,output:16e3}},"gpt-4.1":{id:"gpt-4.1",name:"gpt-4.1",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8},limit:{context:1e6,output:32768}},"qwen-plus":{id:"qwen-plus",name:"Qwen-Plus",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.12,output:1.2},limit:{context:1e6,output:32768}},"glm-4.5v":{id:"glm-4.5v",name:"GLM-4.5V",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-29",last_updated:"2025-07-29",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.29,output:.86},limit:{context:64e3,output:16384}},"glm-4.6":{id:"glm-4.6",name:"glm-4.6",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.286,output:1.142},limit:{context:2e5,output:131072}},"gemini-2.5-flash-preview-09-2025":{id:"gemini-2.5-flash-preview-09-2025",name:"gemini-2.5-flash-preview-09-2025",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-26",last_updated:"2025-09-26",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5},limit:{context:1e6,output:65536}},"gpt-5-mini":{id:"gpt-5-mini",name:"gpt-5-mini",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-08",last_updated:"2025-08-08",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2},limit:{context:4e5,output:128e3}},"claude-opus-4-1-20250805-thinking":{id:"claude-opus-4-1-20250805-thinking",name:"claude-opus-4-1-20250805-thinking",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-05-27",last_updated:"2025-05-27",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:75},limit:{context:2e5,output:32e3}},"qwen3-235b-a22b":{id:"qwen3-235b-a22b",name:"Qwen3-235B-A22B",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-29",last_updated:"2025-04-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.29,output:2.86},limit:{context:128e3,output:16384}},"MiniMax-M1":{id:"MiniMax-M1",name:"MiniMax-M1",family:"minimax",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-06-16",last_updated:"2025-06-16",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.132,output:1.254},limit:{context:1e6,output:128e3}},"deepseek-reasoner":{id:"deepseek-reasoner",name:"Deepseek-Reasoner",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.29,output:.43},limit:{context:128e3,output:128e3}},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"gemini-2.5-pro",family:"gemini-pro",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10},limit:{context:1e6,output:65536}},"qwen-max-latest":{id:"qwen-max-latest",name:"Qwen-Max-Latest",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2024-04-03",last_updated:"2025-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.343,output:1.372},limit:{context:131072,output:8192}},"qwen3-coder-480b-a35b-instruct":{id:"qwen3-coder-480b-a35b-instruct",name:"qwen3-coder-480b-a35b-instruct",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.86,output:3.43},limit:{context:262144,output:65536}},"gpt-5":{id:"gpt-5",name:"gpt-5",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-08",last_updated:"2025-08-08",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},"qwen3-30b-a3b":{id:"qwen3-30b-a3b",name:"Qwen3-30B-A3B",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-29",last_updated:"2025-04-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.11,output:1.08},limit:{context:128e3,output:8192}},"deepseek-v3.2":{id:"deepseek-v3.2",name:"deepseek-v3.2",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.29,output:.43},limit:{context:128e3,output:8192}},"MiniMax-M2.1":{id:"MiniMax-M2.1",name:"MiniMax-M2.1",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-12-19",last_updated:"2025-12-19",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.2},limit:{context:1e6,output:131072}},"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-2025",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-26",last_updated:"2025-09-26",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.1,output:.4},limit:{context:1e6,output:65536}},"grok-4-1-fast-non-reasoning":{id:"grok-4-1-fast-non-reasoning",name:"grok-4-1-fast-non-reasoning",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-11-20",last_updated:"2025-11-20",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5},limit:{context:2e6,output:3e4}},"doubao-seed-1-8-251215":{id:"doubao-seed-1-8-251215",name:"doubao-seed-1-8-251215",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-12-18",last_updated:"2025-12-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.114,output:.286},limit:{context:224e3,output:64e3}},"gpt-5-pro":{id:"gpt-5-pro",name:"gpt-5-pro",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-10-08",last_updated:"2025-10-08",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:120},limit:{context:4e5,output:272e3}},"gemini-2.5-flash-nothink":{id:"gemini-2.5-flash-nothink",name:"gemini-2.5-flash-nothink",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-24",last_updated:"2025-06-24",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5},limit:{context:1e6,output:65536}},"claude-opus-4-1-20250805":{id:"claude-opus-4-1-20250805",name:"claude-opus-4-1-20250805",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:75},limit:{context:2e5,output:32e3}},"gpt-5.2":{id:"gpt-5.2",name:"gpt-5.2",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-12-12",last_updated:"2025-12-12",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14},limit:{context:4e5,output:128e3}},"gpt-5.1-chat-latest":{id:"gpt-5.1-chat-latest",name:"gpt-5.1-chat-latest",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10},limit:{context:128e3,output:16384}},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-12-08",last_updated:"2025-12-08",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.145,output:.43},limit:{context:128e3,output:32768}},"claude-opus-4-5-20251101-thinking":{id:"claude-opus-4-5-20251101-thinking",name:"claude-opus-4-5-20251101-thinking",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-11-25",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:5,output:25},limit:{context:2e5,output:64e3}},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"claude-haiku-4-5-20251001",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-10-16",last_updated:"2025-10-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1,output:5},limit:{context:2e5,output:64e3}}}},"qihang-ai":{id:"qihang-ai",env:["QIHANG_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.qhaigc.net/v1",name:"QiHang",doc:"https://www.qhaigc.net/docs",models:{"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:.07,output:.43,context_over_200k:{input:.07,output:.43}},limit:{context:1048576,output:65536}},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.14,output:1.14},limit:{context:4e5,input:272e3,output:128e3}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-19",last_updated:"2025-11-19",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:.57,output:3.43},limit:{context:1e6,output:65e3}},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:.09,output:.71,context_over_200k:{input:.09,output:.71}},limit:{context:1048576,output:65536}},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-11-01",last_updated:"2025-11-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.71,output:3.57},limit:{context:2e5,output:32e3}},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.43,output:2.14},limit:{context:2e5,output:64e3}},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5-Mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-09-30",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.04,output:.29},limit:{context:2e5,output:64e3}},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2},limit:{context:4e5,input:272e3,output:128e3}},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-10-01",last_updated:"2025-10-01",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.14,output:.71},limit:{context:2e5,output:64e3}}}},"zai-coding-plan":{id:"zai-coding-plan",env:["ZHIPU_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.z.ai/api/coding/paas/v4",name:"Z.AI Coding Plan",doc:"https://docs.z.ai/devpack/overview",models:{"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:204800,output:131072}},"glm-5":{id:"glm-5",name:"GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:204800,output:131072}},"glm-4.5-flash":{id:"glm-4.5-flash",name:"GLM-4.5-Flash",family:"glm-flash",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:131072,output:98304}},"glm-4.5":{id:"glm-4.5",name:"GLM-4.5",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:131072,output:98304}},"glm-4.7-flash":{id:"glm-4.7-flash",name:"GLM-4.7-Flash",family:"glm-flash",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2026-01-19",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:2e5,output:131072}},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM-4.5-Air",family:"glm-air",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:131072,output:98304}},"glm-4.5v":{id:"glm-4.5v",name:"GLM-4.5V",family:"glm",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-08-11",last_updated:"2025-08-11",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:64e3,output:16384}},"glm-4.6":{id:"glm-4.6",name:"GLM-4.6",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:204800,output:131072}},"glm-4.7-flashx":{id:"glm-4.7-flashx",name:"GLM-4.7-FlashX",family:"glm-flash",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2026-01-19",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.4,cache_read:.01,cache_write:0},limit:{context:2e5,output:131072}},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",family:"glm",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-12-08",last_updated:"2025-12-08",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:32768}}}},"ollama-cloud":{id:"ollama-cloud",env:["OLLAMA_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://ollama.com/v1",name:"Ollama Cloud",doc:"https://docs.ollama.com/cloud",models:{"glm-4.7":{id:"glm-4.7",name:"glm-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,release_date:"2025-12-22",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:202752,output:131072}},"glm-5":{id:"glm-5",name:"glm-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:202752,output:131072}},"qwen3-next:80b":{id:"qwen3-next:80b",name:"qwen3-next:80b",family:"qwen",attachment:false,reasoning:true,tool_call:true,release_date:"2025-09-15",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:262144,output:32768}},"cogito-2.1:671b":{id:"cogito-2.1:671b",name:"cogito-2.1:671b",family:"cogito",attachment:false,reasoning:true,tool_call:true,release_date:"2025-11-19",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:163840,output:32e3}},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"gemini-3-flash-preview",family:"gemini-flash",attachment:false,reasoning:true,tool_call:true,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:1048576,output:65536}},"qwen3-vl:235b":{id:"qwen3-vl:235b",name:"qwen3-vl:235b",family:"qwen",attachment:true,reasoning:true,tool_call:true,release_date:"2025-09-22",last_updated:"2026-01-19",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:262144,output:32768}},"ministral-3:3b":{id:"ministral-3:3b",name:"ministral-3:3b",family:"ministral",attachment:true,reasoning:false,tool_call:true,release_date:"2024-10-22",last_updated:"2026-01-19",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:262144,output:128e3}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"gemini-3-pro-preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,release_date:"2025-11-18",last_updated:"2026-01-19",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:1048576,output:64e3}},"qwen3-vl:235b-instruct":{id:"qwen3-vl:235b-instruct",name:"qwen3-vl:235b-instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,release_date:"2025-09-22",last_updated:"2026-01-19",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:262144,output:131072}},"devstral-small-2:24b":{id:"devstral-small-2:24b",name:"devstral-small-2:24b",family:"devstral",attachment:true,reasoning:false,tool_call:true,release_date:"2025-12-09",last_updated:"2026-01-19",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:262144,output:262144}},"kimi-k2.5":{id:"kimi-k2.5",name:"kimi-k2.5",family:"kimi",attachment:true,reasoning:true,tool_call:true,release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:262144,output:262144}},"minimax-m2":{id:"minimax-m2",name:"minimax-m2",family:"minimax",attachment:false,reasoning:false,tool_call:true,release_date:"2025-10-23",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:204800,output:128e3}},"qwen3-coder:480b":{id:"qwen3-coder:480b",name:"qwen3-coder:480b",family:"qwen",attachment:false,reasoning:false,tool_call:true,release_date:"2025-07-22",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:262144,output:65536}},"gpt-oss:20b":{id:"gpt-oss:20b",name:"gpt-oss:20b",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,release_date:"2025-08-05",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:131072,output:32768}},"gemma3:27b":{id:"gemma3:27b",name:"gemma3:27b",family:"gemma",attachment:true,reasoning:false,tool_call:false,release_date:"2025-07-27",last_updated:"2026-01-19",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:131072,output:131072}},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"kimi-k2-thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:262144,output:262144}},"rnj-1:8b":{id:"rnj-1:8b",name:"rnj-1:8b",family:"rnj",attachment:false,reasoning:false,tool_call:true,release_date:"2025-12-06",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:32768,output:4096}},"qwen3.5:397b":{id:"qwen3.5:397b",name:"qwen3.5:397b",family:"qwen",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},release_date:"2026-02-15",last_updated:"2026-02-17",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:262144,output:81920}},"deepseek-v3.1:671b":{id:"deepseek-v3.1:671b",name:"deepseek-v3.1:671b",family:"deepseek",attachment:false,reasoning:true,tool_call:true,release_date:"2025-08-21",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:163840,output:163840}},"ministral-3:8b":{id:"ministral-3:8b",name:"ministral-3:8b",family:"ministral",attachment:true,reasoning:false,tool_call:true,release_date:"2024-12-01",last_updated:"2026-01-19",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:262144,output:128e3}},"glm-4.6":{id:"glm-4.6",name:"glm-4.6",family:"glm",attachment:false,reasoning:true,tool_call:true,release_date:"2025-09-29",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:202752,output:131072}},"kimi-k2:1t":{id:"kimi-k2:1t",name:"kimi-k2:1t",family:"kimi",attachment:false,reasoning:false,tool_call:true,knowledge:"2024-10",release_date:"2025-07-11",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:262144,output:262144}},"devstral-2:123b":{id:"devstral-2:123b",name:"devstral-2:123b",family:"devstral",attachment:false,reasoning:false,tool_call:true,release_date:"2025-12-09",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:262144,output:262144}},"gpt-oss:120b":{id:"gpt-oss:120b",name:"gpt-oss:120b",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,release_date:"2025-08-05",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:131072,output:32768}},"gemma3:4b":{id:"gemma3:4b",name:"gemma3:4b",family:"gemma",attachment:true,reasoning:false,tool_call:false,release_date:"2024-12-01",last_updated:"2026-01-19",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:131072,output:131072}},"nemotron-3-nano:30b":{id:"nemotron-3-nano:30b",name:"nemotron-3-nano:30b",family:"nemotron",attachment:false,reasoning:true,tool_call:true,release_date:"2025-12-15",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:1048576,output:131072}},"ministral-3:14b":{id:"ministral-3:14b",name:"ministral-3:14b",family:"ministral",attachment:true,reasoning:false,tool_call:true,release_date:"2024-12-01",last_updated:"2026-01-19",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:262144,output:128e3}},"mistral-large-3:675b":{id:"mistral-large-3:675b",name:"mistral-large-3:675b",family:"mistral-large",attachment:true,reasoning:false,tool_call:true,release_date:"2025-12-02",last_updated:"2026-01-19",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:262144,output:262144}},"minimax-m2.1":{id:"minimax-m2.1",name:"minimax-m2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,release_date:"2025-12-23",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:204800,output:131072}},"deepseek-v3.2":{id:"deepseek-v3.2",name:"deepseek-v3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,release_date:"2025-06-15",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:163840,output:65536}},"qwen3-coder-next":{id:"qwen3-coder-next",name:"qwen3-coder-next",family:"qwen",attachment:false,reasoning:false,tool_call:true,release_date:"2026-02-02",last_updated:"2026-02-08",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:262144,output:65536}},"gemma3:12b":{id:"gemma3:12b",name:"gemma3:12b",family:"gemma",attachment:true,reasoning:false,tool_call:false,release_date:"2024-12-01",last_updated:"2026-01-19",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:131072,output:131072}},"minimax-m2.5":{id:"minimax-m2.5",name:"minimax-m2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,knowledge:"2025-01",release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:204800,output:131072}}}},xiaomi:{id:"xiaomi",env:["XIAOMI_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.xiaomimimo.com/v1",name:"Xiaomi",doc:"https://platform.xiaomimimo.com/#/docs",models:{"mimo-v2-flash":{id:"mimo-v2-flash",name:"MiMo-V2-Flash",family:"mimo",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-12-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.21},limit:{context:256e3,output:32e3}}}},alibaba:{id:"alibaba",env:["DASHSCOPE_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1",name:"Alibaba",doc:"https://www.alibabacloud.com/help/en/model-studio/models",models:{"qwen3-livetranslate-flash-realtime":{id:"qwen3-livetranslate-flash-realtime",name:"Qwen3-LiveTranslate Flash Realtime",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-04",release_date:"2025-09-22",last_updated:"2025-09-22",modalities:{input:["text","image","audio","video"],output:["text","audio"]},open_weights:false,cost:{input:10,output:10,input_audio:10,output_audio:38},limit:{context:53248,output:4096}},"qwen3-asr-flash":{id:"qwen3-asr-flash",name:"Qwen3-ASR Flash",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2024-04",release_date:"2025-09-08",last_updated:"2025-09-08",modalities:{input:["audio"],output:["text"]},open_weights:false,cost:{input:.035,output:.035},limit:{context:53248,output:4096}},"qwen-omni-turbo":{id:"qwen-omni-turbo",name:"Qwen-Omni Turbo",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-01-19",last_updated:"2025-03-26",modalities:{input:["text","image","audio","video"],output:["text","audio"]},open_weights:false,cost:{input:.07,output:.27,input_audio:4.44,output_audio:8.89},limit:{context:32768,output:2048}},"qwen-vl-max":{id:"qwen-vl-max",name:"Qwen-VL Max",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-04-08",last_updated:"2025-08-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.8,output:3.2},limit:{context:131072,output:8192}},"qwen3-next-80b-a3b-instruct":{id:"qwen3-next-80b-a3b-instruct",name:"Qwen3-Next 80B-A3B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09",last_updated:"2025-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.5,output:2},limit:{context:131072,output:32768}},"qwen-turbo":{id:"qwen-turbo",name:"Qwen Turbo",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-11-01",last_updated:"2025-04-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.05,output:.2,reasoning:.5},limit:{context:1e6,output:16384}},"qwen3-vl-235b-a22b":{id:"qwen3-vl-235b-a22b",name:"Qwen3-VL 235B-A22B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.7,output:2.8,reasoning:8.4},limit:{context:131072,output:32768}},"qwen3-coder-flash":{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.5},limit:{context:1e6,output:65536}},"qwen3-vl-30b-a3b":{id:"qwen3-vl-30b-a3b",name:"Qwen3-VL 30B-A3B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.2,output:.8,reasoning:2.4},limit:{context:131072,output:32768}},"qwen3-14b":{id:"qwen3-14b",name:"Qwen3 14B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.35,output:1.4,reasoning:4.2},limit:{context:131072,output:8192}},"qvq-max":{id:"qvq-max",name:"QVQ Max",family:"qvq",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-03-25",last_updated:"2025-03-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.2,output:4.8},limit:{context:131072,output:8192}},"qwen3.5-397b-a17b":{id:"qwen3.5-397b-a17b",name:"Qwen3.5 397B-A17B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2026-02",last_updated:"2026-02",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3.6,reasoning:3.6},limit:{context:262144,output:65536}},"qwen-plus-character-ja":{id:"qwen-plus-character-ja",name:"Qwen Plus Character (Japanese)",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-01",last_updated:"2024-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:1.4},limit:{context:8192,output:512}},"qwen2-5-14b-instruct":{id:"qwen2-5-14b-instruct",name:"Qwen2.5 14B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.35,output:1.4},limit:{context:131072,output:8192}},"qwq-plus":{id:"qwq-plus",name:"QwQ Plus",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-03-05",last_updated:"2025-03-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.8,output:2.4},limit:{context:131072,output:8192}},"qwen3-coder-30b-a3b-instruct":{id:"qwen3-coder-30b-a3b-instruct",name:"Qwen3-Coder 30B-A3B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.45,output:2.25},limit:{context:262144,output:65536}},"qwen-vl-ocr":{id:"qwen-vl-ocr",name:"Qwen-VL OCR",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-04",release_date:"2024-10-28",last_updated:"2025-04-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.72,output:.72},limit:{context:34096,output:4096}},"qwen2-5-72b-instruct":{id:"qwen2-5-72b-instruct",name:"Qwen2.5 72B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.4,output:5.6},limit:{context:131072,output:8192}},"qwen3-omni-flash":{id:"qwen3-omni-flash",name:"Qwen3-Omni Flash",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image","audio","video"],output:["text","audio"]},open_weights:false,cost:{input:.43,output:1.66,input_audio:3.81,output_audio:15.11},limit:{context:65536,output:16384}},"qwen-flash":{id:"qwen-flash",name:"Qwen Flash",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.05,output:.4},limit:{context:1e6,output:32768}},"qwen3-8b":{id:"qwen3-8b",name:"Qwen3 8B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.18,output:.7,reasoning:2.1},limit:{context:131072,output:8192}},"qwen3-omni-flash-realtime":{id:"qwen3-omni-flash-realtime",name:"Qwen3-Omni Flash Realtime",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image","audio","video"],output:["text","audio"]},open_weights:false,cost:{input:.52,output:1.99,input_audio:4.57,output_audio:18.13},limit:{context:65536,output:16384}},"qwen2-5-vl-72b-instruct":{id:"qwen2-5-vl-72b-instruct",name:"Qwen2.5-VL 72B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:2.8,output:8.4},limit:{context:131072,output:8192}},"qwen3-vl-plus":{id:"qwen3-vl-plus",name:"Qwen3-VL Plus",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-23",last_updated:"2025-09-23",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:1.6,reasoning:4.8},limit:{context:262144,output:32768}},"qwen-plus":{id:"qwen-plus",name:"Qwen Plus",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-01-25",last_updated:"2025-09-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.4,output:1.2,reasoning:4},limit:{context:1e6,output:32768}},"qwen2-5-32b-instruct":{id:"qwen2-5-32b-instruct",name:"Qwen2.5 32B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.7,output:2.8},limit:{context:131072,output:8192}},"qwen2-5-omni-7b":{id:"qwen2-5-omni-7b",name:"Qwen2.5-Omni 7B",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-12",last_updated:"2024-12",modalities:{input:["text","image","audio","video"],output:["text","audio"]},open_weights:true,cost:{input:.1,output:.4,input_audio:6.76},limit:{context:32768,output:2048}},"qwen-max":{id:"qwen-max",name:"Qwen Max",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-04-03",last_updated:"2025-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.6,output:6.4},limit:{context:32768,output:8192}},"qwen2-5-7b-instruct":{id:"qwen2-5-7b-instruct",name:"Qwen2.5 7B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.175,output:.7},limit:{context:131072,output:8192}},"qwen2-5-vl-7b-instruct":{id:"qwen2-5-vl-7b-instruct",name:"Qwen2.5-VL 7B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.35,output:1.05},limit:{context:131072,output:8192}},"qwen3-235b-a22b":{id:"qwen3-235b-a22b",name:"Qwen3 235B-A22B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.7,output:2.8,reasoning:8.4},limit:{context:131072,output:16384}},"qwen-omni-turbo-realtime":{id:"qwen-omni-turbo-realtime",name:"Qwen-Omni Turbo Realtime",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-05-08",last_updated:"2025-05-08",modalities:{input:["text","image","audio"],output:["text","audio"]},open_weights:false,cost:{input:.27,output:1.07,input_audio:4.44,output_audio:8.89},limit:{context:32768,output:2048}},"qwen-mt-turbo":{id:"qwen-mt-turbo",name:"Qwen-MT Turbo",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-04",release_date:"2025-01",last_updated:"2025-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.16,output:.49},limit:{context:16384,output:8192}},"qwen3-coder-480b-a35b-instruct":{id:"qwen3-coder-480b-a35b-instruct",name:"Qwen3-Coder 480B-A35B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.5,output:7.5},limit:{context:262144,output:65536}},"qwen-mt-plus":{id:"qwen-mt-plus",name:"Qwen-MT Plus",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-04",release_date:"2025-01",last_updated:"2025-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2.46,output:7.37},limit:{context:16384,output:8192}},"qwen3-max":{id:"qwen3-max",name:"Qwen3 Max",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-23",last_updated:"2025-09-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.2,output:6},limit:{context:262144,output:65536}},"qwen3.5-plus":{id:"qwen3.5-plus",name:"Qwen3.5 Plus",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2026-02",last_updated:"2026-02",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.4,output:2.4,reasoning:2.4},limit:{context:1e6,output:65536}},"qwen3-coder-plus":{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:5},limit:{context:1048576,output:65536}},"qwen3-next-80b-a3b-thinking":{id:"qwen3-next-80b-a3b-thinking",name:"Qwen3-Next 80B-A3B (Thinking)",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09",last_updated:"2025-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.5,output:6},limit:{context:131072,output:32768}},"qwen3-32b":{id:"qwen3-32b",name:"Qwen3 32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.7,output:2.8,reasoning:8.4},limit:{context:131072,output:16384}},"qwen-vl-plus":{id:"qwen-vl-plus",name:"Qwen-VL Plus",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-01-25",last_updated:"2025-08-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.21,output:.63},limit:{context:131072,output:8192}}}},xai:{id:"xai",env:["XAI_API_KEY"],npm:"@ai-sdk/xai",name:"xAI",doc:"https://docs.x.ai/docs/models",models:{"grok-4-fast-non-reasoning":{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-09-19",last_updated:"2025-09-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:3e4}},"grok-3-fast":{id:"grok-3-fast",name:"Grok 3 Fast",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:1.25},limit:{context:131072,output:8192}},"grok-4":{id:"grok-4",name:"Grok 4",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,reasoning:15,cache_read:.75},limit:{context:256e3,output:64e3}},"grok-2-vision":{id:"grok-2-vision",name:"Grok 2 Vision",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-08-20",last_updated:"2024-08-20",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:10,cache_read:2},limit:{context:8192,output:4096}},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2025-08-28",last_updated:"2025-08-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:1.5,cache_read:.02},limit:{context:256e3,output:1e4}},"grok-2":{id:"grok-2",name:"Grok 2",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-08-20",last_updated:"2024-08-20",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2,output:10,cache_read:2},limit:{context:131072,output:8192}},"grok-3-mini-fast-latest":{id:"grok-3-mini-fast-latest",name:"Grok 3 Mini Fast Latest",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.6,output:4,reasoning:4,cache_read:.15},limit:{context:131072,output:8192}},"grok-2-vision-1212":{id:"grok-2-vision-1212",name:"Grok 2 Vision (1212)",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-08-20",last_updated:"2024-12-12",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:10,cache_read:2},limit:{context:8192,output:4096}},"grok-3":{id:"grok-3",name:"Grok 3",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75},limit:{context:131072,output:8192}},"grok-4-fast":{id:"grok-4-fast",name:"Grok 4 Fast",family:"grok",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-09-19",last_updated:"2025-09-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:3e4}},"grok-2-latest":{id:"grok-2-latest",name:"Grok 2 Latest",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-08-20",last_updated:"2024-12-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2,output:10,cache_read:2},limit:{context:131072,output:8192}},"grok-4-1-fast":{id:"grok-4-1-fast",name:"Grok 4.1 Fast",family:"grok",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-11-19",last_updated:"2025-11-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:3e4}},"grok-2-1212":{id:"grok-2-1212",name:"Grok 2 (1212)",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-12-12",last_updated:"2024-12-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2,output:10,cache_read:2},limit:{context:131072,output:8192}},"grok-3-fast-latest":{id:"grok-3-fast-latest",name:"Grok 3 Fast Latest",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:1.25},limit:{context:131072,output:8192}},"grok-3-latest":{id:"grok-3-latest",name:"Grok 3 Latest",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75},limit:{context:131072,output:8192}},"grok-2-vision-latest":{id:"grok-2-vision-latest",name:"Grok 2 Vision Latest",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-08-20",last_updated:"2024-12-12",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:10,cache_read:2},limit:{context:8192,output:4096}},"grok-vision-beta":{id:"grok-vision-beta",name:"Grok Vision Beta",family:"grok-vision",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-11-01",last_updated:"2024-11-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:5,output:15,cache_read:5},limit:{context:8192,output:4096}},"grok-3-mini":{id:"grok-3-mini",name:"Grok 3 Mini",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:.5,reasoning:.5,cache_read:.075},limit:{context:131072,output:8192}},"grok-beta":{id:"grok-beta",name:"Grok Beta",family:"grok-beta",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-11-01",last_updated:"2024-11-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:5,output:15,cache_read:5},limit:{context:131072,output:4096}},"grok-3-mini-latest":{id:"grok-3-mini-latest",name:"Grok 3 Mini Latest",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:.5,reasoning:.5,cache_read:.075},limit:{context:131072,output:8192}},"grok-4-1-fast-non-reasoning":{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast (Non-Reasoning)",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-11-19",last_updated:"2025-11-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:3e4}},"grok-3-mini-fast":{id:"grok-3-mini-fast",name:"Grok 3 Mini Fast",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.6,output:4,reasoning:4,cache_read:.15},limit:{context:131072,output:8192}}}},vultr:{id:"vultr",env:["VULTR_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.vultrinference.com/v1",name:"Vultr",doc:"https://api.vultrinference.com/",models:{"deepseek-r1-distill-qwen-32b":{id:"deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:121808,output:8192}},"qwen2.5-coder-32b-instruct":{id:"qwen2.5-coder-32b-instruct",name:"Qwen2.5 Coder 32B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-11-06",last_updated:"2024-11-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:12952,output:2048}},"kimi-k2-instruct":{id:"kimi-k2-instruct",name:"Kimi K2 Instruct",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:58904,output:4096}},"deepseek-r1-distill-llama-70b":{id:"deepseek-r1-distill-llama-70b",name:"DeepSeek R1 Distill Llama 70B",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:121808,output:8192}},"gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-06-23",last_updated:"2025-06-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:121808,output:8192}}}},nvidia:{id:"nvidia",env:["NVIDIA_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://integrate.api.nvidia.com/v1",name:"Nvidia",doc:"https://docs.api.nvidia.com/nim/",models:{"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",family:"kimi",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-07",release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:262144}},"moonshotai/kimi-k2-instruct-0905":{id:"moonshotai/kimi-k2-instruct-0905",name:"Kimi K2 0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:262144}},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:true,structured_output:true,temperature:true,knowledge:"2025-07",release_date:"2025-11",last_updated:"2025-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:262144,output:262144}},"moonshotai/kimi-k2-instruct":{id:"moonshotai/kimi-k2-instruct",name:"Kimi K2 Instruct",family:"kimi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-01",release_date:"2025-01-01",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"nvidia/nvidia-nemotron-nano-9b-v2":{id:"nvidia/nvidia-nemotron-nano-9b-v2",name:"nvidia-nemotron-nano-9b-v2",family:"nemotron",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2025-08-18",last_updated:"2025-08-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"nvidia/cosmos-nemotron-34b":{id:"nvidia/cosmos-nemotron-34b",name:"Cosmos Nemotron 34B",family:"nemotron",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2024-01",release_date:"2024-01-01",last_updated:"2025-09-05",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:131072,output:8192}},"nvidia/llama-embed-nemotron-8b":{id:"nvidia/llama-embed-nemotron-8b",name:"Llama Embed Nemotron 8B",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2025-03",release_date:"2025-03-18",last_updated:"2025-03-18",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:32768,output:2048}},"nvidia/nemotron-3-nano-30b-a3b":{id:"nvidia/nemotron-3-nano-30b-a3b",name:"nemotron-3-nano-30b-a3b",family:"nemotron",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2024-12",last_updated:"2024-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"nvidia/parakeet-tdt-0.6b-v2":{id:"nvidia/parakeet-tdt-0.6b-v2",name:"Parakeet TDT 0.6B v2",family:"parakeet",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2024-01",release_date:"2024-01-01",last_updated:"2025-09-05",modalities:{input:["audio"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:0,output:4096}},"nvidia/nemoretriever-ocr-v1":{id:"nvidia/nemoretriever-ocr-v1",name:"NeMo Retriever OCR v1",family:"nemoretriever",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2024-01",release_date:"2024-01-01",last_updated:"2025-09-05",modalities:{input:["image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:0,output:4096}},"nvidia/llama-3.3-nemotron-super-49b-v1":{id:"nvidia/llama-3.3-nemotron-super-49b-v1",name:"Llama 3.3 Nemotron Super 49b V1",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2025-03-16",last_updated:"2025-03-16",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"nvidia/llama-3.1-nemotron-51b-instruct":{id:"nvidia/llama-3.1-nemotron-51b-instruct",name:"Llama 3.1 Nemotron 51b Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-09-22",last_updated:"2024-09-22",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"nvidia/llama3-chatqa-1.5-70b":{id:"nvidia/llama3-chatqa-1.5-70b",name:"Llama3 Chatqa 1.5 70b",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-04-28",last_updated:"2024-04-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"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",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-07-01",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:131072,output:8192}},"nvidia/llama-3.1-nemotron-70b-instruct":{id:"nvidia/llama-3.1-nemotron-70b-instruct",name:"Llama 3.1 Nemotron 70b Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-10-12",last_updated:"2024-10-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"nvidia/nemotron-4-340b-instruct":{id:"nvidia/nemotron-4-340b-instruct",name:"Nemotron 4 340b Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-06-13",last_updated:"2024-06-13",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"nvidia/llama-3.3-nemotron-super-49b-v1.5":{id:"nvidia/llama-3.3-nemotron-super-49b-v1.5",name:"Llama 3.3 Nemotron Super 49b V1.5",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2025-03-16",last_updated:"2025-03-16",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"minimaxai/minimax-m2":{id:"minimaxai/minimax-m2",name:"MiniMax-M2",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-10-27",last_updated:"2025-10-31",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"minimaxai/minimax-m2.1":{id:"minimaxai/minimax-m2.1",name:"MiniMax-M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:204800,output:131072}},"google/gemma-3n-e2b-it":{id:"google/gemma-3n-e2b-it",name:"Gemma 3n E2b It",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-06",release_date:"2025-06-12",last_updated:"2025-06-12",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"google/codegemma-1.1-7b":{id:"google/codegemma-1.1-7b",name:"Codegemma 1.1 7b",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2024-04-30",last_updated:"2024-04-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"google/gemma-3n-e4b-it":{id:"google/gemma-3n-e4b-it",name:"Gemma 3n E4b It",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-06",release_date:"2025-06-03",last_updated:"2025-06-03",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"google/gemma-2-2b-it":{id:"google/gemma-2-2b-it",name:"Gemma 2 2b It",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-07-16",last_updated:"2024-07-16",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"google/gemma-3-12b-it":{id:"google/gemma-3-12b-it",name:"Gemma 3 12b It",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-03-01",last_updated:"2025-03-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"google/codegemma-7b":{id:"google/codegemma-7b",name:"Codegemma 7b",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2024-03-21",last_updated:"2024-03-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"google/gemma-3-1b-it":{id:"google/gemma-3-1b-it",name:"Gemma 3 1b It",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-03-10",last_updated:"2025-03-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"google/gemma-2-27b-it":{id:"google/gemma-2-27b-it",name:"Gemma 2 27b It",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-06-24",last_updated:"2024-06-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma-3-27B-IT",family:"gemma",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2024-12-01",last_updated:"2025-09-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:131072,output:8192}},"microsoft/phi-3-medium-128k-instruct":{id:"microsoft/phi-3-medium-128k-instruct",name:"Phi 3 Medium 128k Instruct",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-10",release_date:"2024-05-07",last_updated:"2024-05-07",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"microsoft/phi-3-small-128k-instruct":{id:"microsoft/phi-3-small-128k-instruct",name:"Phi 3 Small 128k Instruct",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-10",release_date:"2024-05-07",last_updated:"2024-05-07",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"microsoft/phi-3.5-vision-instruct":{id:"microsoft/phi-3.5-vision-instruct",name:"Phi 3.5 Vision Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-08-16",last_updated:"2024-08-16",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"microsoft/phi-3-small-8k-instruct":{id:"microsoft/phi-3-small-8k-instruct",name:"Phi 3 Small 8k Instruct",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-10",release_date:"2024-05-07",last_updated:"2024-05-07",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:8e3,output:4096}},"microsoft/phi-3.5-moe-instruct":{id:"microsoft/phi-3.5-moe-instruct",name:"Phi 3.5 Moe Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-08-17",last_updated:"2024-08-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"microsoft/phi-4-mini-instruct":{id:"microsoft/phi-4-mini-instruct",name:"Phi-4-Mini",family:"phi",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2024-12-01",last_updated:"2025-09-05",modalities:{input:["text","image","audio"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:131072,output:8192}},"microsoft/phi-3-medium-4k-instruct":{id:"microsoft/phi-3-medium-4k-instruct",name:"Phi 3 Medium 4k Instruct",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-10",release_date:"2024-05-07",last_updated:"2024-05-07",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:4e3,output:4096}},"microsoft/phi-3-vision-128k-instruct":{id:"microsoft/phi-3-vision-128k-instruct",name:"Phi 3 Vision 128k Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-05-19",last_updated:"2024-05-19",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"openai/whisper-large-v3":{id:"openai/whisper-large-v3",name:"Whisper Large v3",family:"whisper",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2023-09",release_date:"2023-09-01",last_updated:"2025-09-05",modalities:{input:["audio"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:0,output:4096}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT-OSS-120B",family:"gpt-oss",attachment:true,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-08",release_date:"2025-08-04",last_updated:"2025-08-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"z-ai/glm4.7":{id:"z-ai/glm4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:204800,output:131072}},"z-ai/glm5":{id:"z-ai/glm5",name:"GLM5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:202752,output:131e3}},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen3-Next-80B-A3B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2024-12-01",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:262144,output:16384}},"qwen/qwen2.5-coder-32b-instruct":{id:"qwen/qwen2.5-coder-32b-instruct",name:"Qwen2.5 Coder 32b Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-11-06",last_updated:"2024-11-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"qwen/qwen2.5-coder-7b-instruct":{id:"qwen/qwen2.5-coder-7b-instruct",name:"Qwen2.5 Coder 7b Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-09-17",last_updated:"2024-09-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"qwen/qwen3-235b-a22b":{id:"qwen/qwen3-235b-a22b",name:"Qwen3-235B-A22B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2024-12-01",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:131072,output:8192}},"qwen/qwen3-coder-480b-a35b-instruct":{id:"qwen/qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:262144,output:66536}},"qwen/qwq-32b":{id:"qwen/qwq-32b",name:"Qwq 32b",attachment:false,reasoning:true,tool_call:false,structured_output:false,temperature:true,release_date:"2025-03-05",last_updated:"2025-03-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen3-Next-80B-A3B-Thinking",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2024-12-01",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:16384}},"mistralai/devstral-2-123b-instruct-2512":{id:"mistralai/devstral-2-123b-instruct-2512",name:"Devstral-2-123B-Instruct-2512",family:"devstral",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-12",release_date:"2025-12-08",last_updated:"2025-12-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:262144}},"mistralai/mistral-large-3-675b-instruct-2512":{id:"mistralai/mistral-large-3-675b-instruct-2512",name:"Mistral Large 3 675B Instruct 2512",family:"mistral-large",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-02",last_updated:"2025-12-02",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:262144}},"mistralai/ministral-14b-instruct-2512":{id:"mistralai/ministral-14b-instruct-2512",name:"Ministral 3 14B Instruct 2512",family:"ministral",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-12",release_date:"2025-12-01",last_updated:"2025-12-08",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:262144}},"mistralai/mamba-codestral-7b-v0.1":{id:"mistralai/mamba-codestral-7b-v0.1",name:"Mamba Codestral 7b V0.1",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2024-07-16",last_updated:"2024-07-16",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"mistralai/mistral-large-2-instruct":{id:"mistralai/mistral-large-2-instruct",name:"Mistral Large 2 Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-07-24",last_updated:"2024-07-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"mistralai/codestral-22b-instruct-v0.1":{id:"mistralai/codestral-22b-instruct-v0.1",name:"Codestral 22b Instruct V0.1",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-05-29",last_updated:"2024-05-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"mistralai/mistral-small-3.1-24b-instruct-2503":{id:"mistralai/mistral-small-3.1-24b-instruct-2503",name:"Mistral Small 3.1 24b Instruct 2503",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-03-11",last_updated:"2025-03-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"meta/llama-3.2-11b-vision-instruct":{id:"meta/llama-3.2-11b-vision-instruct",name:"Llama 3.2 11b Vision Instruct",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-18",last_updated:"2024-09-18",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"meta/llama3-70b-instruct":{id:"meta/llama3-70b-instruct",name:"Llama3 70b Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-04-17",last_updated:"2024-04-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"meta/llama-3.3-70b-instruct":{id:"meta/llama-3.3-70b-instruct",name:"Llama 3.3 70b Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-11-26",last_updated:"2024-11-26",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"meta/llama-3.2-1b-instruct":{id:"meta/llama-3.2-1b-instruct",name:"Llama 3.2 1b Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-18",last_updated:"2024-09-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"meta/llama-4-scout-17b-16e-instruct":{id:"meta/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17b 16e Instruct",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-02",release_date:"2025-04-02",last_updated:"2025-04-02",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"meta/llama-4-maverick-17b-128e-instruct":{id:"meta/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick 17b 128e Instruct",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-02",release_date:"2025-04-01",last_updated:"2025-04-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"meta/codellama-70b":{id:"meta/codellama-70b",name:"Codellama 70b",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2024-01-29",last_updated:"2024-01-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"meta/llama-3.1-405b-instruct":{id:"meta/llama-3.1-405b-instruct",name:"Llama 3.1 405b Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-07-16",last_updated:"2024-07-16",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"meta/llama3-8b-instruct":{id:"meta/llama3-8b-instruct",name:"Llama3 8b Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-04-17",last_updated:"2024-04-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"meta/llama-3.1-70b-instruct":{id:"meta/llama-3.1-70b-instruct",name:"Llama 3.1 70b Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-07-16",last_updated:"2024-07-16",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"deepseek-ai/deepseek-r1-0528":{id:"deepseek-ai/deepseek-r1-0528",name:"Deepseek R1 0528",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"deepseek-ai/deepseek-r1":{id:"deepseek-ai/deepseek-r1",name:"Deepseek R1",attachment:false,reasoning:true,tool_call:false,structured_output:false,temperature:true,release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"deepseek-ai/deepseek-v3.1-terminus":{id:"deepseek-ai/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-22",last_updated:"2025-09-22",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"deepseek-ai/deepseek-v3.1":{id:"deepseek-ai/deepseek-v3.1",name:"DeepSeek V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-08-20",last_updated:"2025-08-26",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"deepseek-ai/deepseek-v3.2":{id:"deepseek-ai/deepseek-v3.2",name:"DeepSeek V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:163840,output:65536}},"deepseek-ai/deepseek-coder-6.7b-instruct":{id:"deepseek-ai/deepseek-coder-6.7b-instruct",name:"Deepseek Coder 6.7b Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2023-10-29",last_updated:"2023-10-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"black-forest-labs/flux.1-dev":{id:"black-forest-labs/flux.1-dev",name:"FLUX.1-dev",family:"flux",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-08",release_date:"2024-08-01",last_updated:"2025-09-05",modalities:{input:["text"],output:["image"]},open_weights:false,cost:{input:0,output:0},limit:{context:4096,output:0}}}},cohere:{id:"cohere",env:["COHERE_API_KEY"],npm:"@ai-sdk/cohere",name:"Cohere",doc:"https://docs.cohere.com/docs/models",models:{"command-a-translate-08-2025":{id:"command-a-translate-08-2025",name:"Command A Translate",family:"command-a",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-06-01",release_date:"2025-08-28",last_updated:"2025-08-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.5,output:10},limit:{context:8e3,output:8e3}},"command-r7b-arabic-02-2025":{id:"command-r7b-arabic-02-2025",name:"Command R7B Arabic",family:"command-r",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-06-01",release_date:"2025-02-27",last_updated:"2025-02-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.0375,output:.15},limit:{context:128e3,output:4e3}},"command-a-03-2025":{id:"command-a-03-2025",name:"Command A",family:"command-a",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06-01",release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.5,output:10},limit:{context:256e3,output:8e3}},"command-r-08-2024":{id:"command-r-08-2024",name:"Command R",family:"command-r",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06-01",release_date:"2024-08-30",last_updated:"2024-08-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:128e3,output:4e3}},"command-r-plus-08-2024":{id:"command-r-plus-08-2024",name:"Command R+",family:"command-r",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06-01",release_date:"2024-08-30",last_updated:"2024-08-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.5,output:10},limit:{context:128e3,output:4e3}},"c4ai-aya-vision-32b":{id:"c4ai-aya-vision-32b",name:"Aya Vision 32B",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-03-04",last_updated:"2025-05-14",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:16e3,output:4e3}},"command-r7b-12-2024":{id:"command-r7b-12-2024",name:"Command R7B",family:"command-r",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-06-01",release_date:"2024-02-27",last_updated:"2024-02-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.0375,output:.15},limit:{context:128e3,output:4e3}},"c4ai-aya-expanse-32b":{id:"c4ai-aya-expanse-32b",name:"Aya Expanse 32B",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-10-24",last_updated:"2024-10-24",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:128e3,output:4e3}},"command-a-reasoning-08-2025":{id:"command-a-reasoning-08-2025",name:"Command A Reasoning",family:"command-a",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06-01",release_date:"2025-08-21",last_updated:"2025-08-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.5,output:10},limit:{context:256e3,output:32e3}},"c4ai-aya-vision-8b":{id:"c4ai-aya-vision-8b",name:"Aya Vision 8B",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-03-04",last_updated:"2025-05-14",modalities:{input:["text","image"],output:["text"]},open_weights:true,limit:{context:16e3,output:4e3}},"command-a-vision-07-2025":{id:"command-a-vision-07-2025",name:"Command A Vision",family:"command-a",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-06-01",release_date:"2025-07-31",last_updated:"2025-07-31",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:2.5,output:10},limit:{context:128e3,output:8e3}},"c4ai-aya-expanse-8b":{id:"c4ai-aya-expanse-8b",name:"Aya Expanse 8B",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-10-24",last_updated:"2024-10-24",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:8e3,output:4e3}}}},upstage:{id:"upstage",env:["UPSTAGE_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.upstage.ai/v1/solar",name:"Upstage",doc:"https://developers.upstage.ai/docs/apis/chat",models:{"solar-mini":{id:"solar-mini",name:"solar-mini",family:"solar-mini",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2024-06-12",last_updated:"2025-04-22",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:.15},limit:{context:32768,output:4096}},"solar-pro3":{id:"solar-pro3",name:"solar-pro3",family:"solar-pro",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:.25},limit:{context:131072,output:8192}},"solar-pro2":{id:"solar-pro2",name:"solar-pro2",family:"solar-pro",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-05-20",last_updated:"2025-05-20",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:.25},limit:{context:65536,output:8192}}}},groq:{id:"groq",env:["GROQ_API_KEY"],npm:"@ai-sdk/groq",name:"Groq",doc:"https://console.groq.com/docs/models",models:{"llama-3.1-8b-instant":{id:"llama-3.1-8b-instant",name:"Llama 3.1 8B Instant",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.08},limit:{context:131072,output:131072}},"mistral-saba-24b":{id:"mistral-saba-24b",name:"Mistral Saba 24B",family:"mistral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-02-06",last_updated:"2025-02-06",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.79,output:.79},limit:{context:32768,output:32768},status:"deprecated"},"llama3-8b-8192":{id:"llama3-8b-8192",name:"Llama 3 8B",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-03",release_date:"2024-04-18",last_updated:"2024-04-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.08},limit:{context:8192,output:8192},status:"deprecated"},"qwen-qwq-32b":{id:"qwen-qwq-32b",name:"Qwen QwQ 32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2024-11-27",last_updated:"2024-11-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.29,output:.39},limit:{context:131072,output:16384},status:"deprecated"},"llama3-70b-8192":{id:"llama3-70b-8192",name:"Llama 3 70B",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-03",release_date:"2024-04-18",last_updated:"2024-04-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.59,output:.79},limit:{context:8192,output:8192},status:"deprecated"},"deepseek-r1-distill-llama-70b":{id:"deepseek-r1-distill-llama-70b",name:"DeepSeek R1 Distill Llama 70B",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.75,output:.99},limit:{context:131072,output:8192},status:"deprecated"},"llama-guard-3-8b":{id:"llama-guard-3-8b",name:"Llama Guard 3 8B",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:8192,output:8192},status:"deprecated"},"gemma2-9b-it":{id:"gemma2-9b-it",name:"Gemma 2 9B",family:"gemma",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2024-06-27",last_updated:"2024-06-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:8192,output:8192},status:"deprecated"},"llama-3.3-70b-versatile":{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B Versatile",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.59,output:.79},limit:{context:131072,output:32768}},"moonshotai/kimi-k2-instruct-0905":{id:"moonshotai/kimi-k2-instruct-0905",name:"Kimi K2 Instruct 0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3},limit:{context:262144,output:16384}},"moonshotai/kimi-k2-instruct":{id:"moonshotai/kimi-k2-instruct",name:"Kimi K2 Instruct",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-14",last_updated:"2025-07-14",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3},limit:{context:131072,output:16384},status:"deprecated"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.075,output:.3},limit:{context:131072,output:65536}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:131072,output:65536}},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen3 32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-11-08",release_date:"2024-12-23",last_updated:"2024-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.29,output:.59},limit:{context:131072,output:16384}},"meta-llama/llama-4-scout-17b-16e-instruct":{id:"meta-llama/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B",family:"llama",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.11,output:.34},limit:{context:131072,output:8192}},"meta-llama/llama-4-maverick-17b-128e-instruct":{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick 17B",family:"llama",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.2,output:.6},limit:{context:131072,output:8192}},"meta-llama/llama-guard-4-12b":{id:"meta-llama/llama-guard-4-12b",name:"Llama Guard 4 12B",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:131072,output:1024}}}},bailing:{id:"bailing",env:["BAILING_API_TOKEN"],npm:"@ai-sdk/openai-compatible",api:"https://api.tbox.cn/api/llm/v1/chat/completions",name:"Bailing",doc:"https://alipaytbox.yuque.com/sxs0ba/ling/intro",models:{"Ling-1T":{id:"Ling-1T",name:"Ling-1T",family:"ling",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2025-10",last_updated:"2025-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.57,output:2.29},limit:{context:128e3,output:32e3}},"Ring-1T":{id:"Ring-1T",name:"Ring-1T",family:"ring",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2024-06",release_date:"2025-10",last_updated:"2025-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.57,output:2.29},limit:{context:128e3,output:32e3}}}},"github-copilot":{id:"github-copilot",env:["GITHUB_TOKEN"],npm:"@ai-sdk/openai-compatible",api:"https://api.githubcopilot.com",name:"GitHub Copilot",doc:"https://docs.github.com/en/copilot",models:{"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2-Codex",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:272e3,output:128e3}},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2025-08-27",last_updated:"2025-08-27",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1-Codex",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},"claude-haiku-4.5":{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:32e3}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1-Codex-mini",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-09",release_date:"2024-05-13",last_updated:"2024-05-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:64e3,output:16384}},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:64e3,output:16384}},"claude-opus-41":{id:"claude-opus-41",name:"Claude Opus 4.1",family:"claude-opus",attachment:true,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:8e4,output:16e3}},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5-mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2025-08-13",last_updated:"2025-08-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},"claude-sonnet-4.6":{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:32e3}},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",family:"gemini-pro",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-03-20",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1-Codex-max",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-12-04",last_updated:"2025-12-04",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2026-02-19",last_updated:"2026-02-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},"claude-sonnet-4":{id:"claude-sonnet-4",name:"Claude Sonnet 4",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16e3}},"gpt-5":{id:"gpt-5",name:"GPT-5",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},"claude-opus-4.5":{id:"claude-opus-4.5",name:"Claude Opus 4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-08-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:32e3}},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},"claude-sonnet-4.5":{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:32e3}},"claude-opus-4.6":{id:"claude-opus-4.6",name:"Claude Opus 4.6",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:64e3}}}},jiekou:{id:"jiekou",env:["JIEKOU_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.jiekou.ai/openai",name:"Jiekou.AI",doc:"https://docs.jiekou.ai/docs/support/quickstart?utm_source=github_models.dev",models:{"grok-4-fast-non-reasoning":{id:"grok-4-fast-non-reasoning",name:"grok-4-fast-non-reasoning",family:"grok",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.18,output:.45},limit:{context:2e6,output:2e6}},"grok-4-fast-reasoning":{id:"grok-4-fast-reasoning",name:"grok-4-fast-reasoning",family:"grok",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.18,output:.45},limit:{context:2e6,output:2e6}},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"gemini-3-flash-preview",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:.5,output:3},limit:{context:1048576,output:65536}},"grok-4-1-fast-reasoning":{id:"grok-4-1-fast-reasoning",name:"grok-4-1-fast-reasoning",family:"grok",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.18,output:.45},limit:{context:2e6,output:2e6}},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"gpt-5.2-codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14},limit:{context:4e5,output:128e3}},"grok-code-fast-1":{id:"grok-code-fast-1",name:"grok-code-fast-1",family:"grok",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.18,output:1.35},limit:{context:256e3,output:256e3}},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"gpt-5.1-codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.125,output:9},limit:{context:4e5,output:128e3}},"gemini-2.5-flash-preview-05-20":{id:"gemini-2.5-flash-preview-05-20",name:"gemini-2.5-flash-preview-05-20",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:.135,output:3.15},limit:{context:1048576,output:2e5}},"claude-opus-4-6":{id:"claude-opus-4-6",name:"claude-opus-4-6",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02",last_updated:"2026-02",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:5,output:25},limit:{context:1e6,output:128e3}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"gemini-3-pro-preview",family:"gemini-pro",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:1.8,output:10.8},limit:{context:1048576,output:65536}},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"gemini-2.5-flash",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:.27,output:2.25},limit:{context:1048576,output:65535}},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"claude-opus-4-5-20251101",family:"claude-opus",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:4.5,output:22.5},limit:{context:2e5,output:65536}},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"gemini-2.5-flash-lite",family:"gemini-flash-lite",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:.09,output:.36},limit:{context:1048576,output:65535}},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"claude-sonnet-4-5-20250929",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.7,output:13.5},limit:{context:2e5,output:64e3}},"gpt-5.2-pro":{id:"gpt-5.2-pro",name:"gpt-5.2-pro",family:"gpt-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:18.9,output:151.2},limit:{context:4e5,output:128e3}},"gemini-2.5-pro-preview-06-05":{id:"gemini-2.5-pro-preview-06-05",name:"gemini-2.5-pro-preview-06-05",family:"gemini-pro",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:1.125,output:9},limit:{context:1048576,output:2e5}},"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",family:"gemini-flash-lite",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","video","image","audio"],output:["text"]},open_weights:false,cost:{input:.09,output:.36},limit:{context:1048576,output:65535}},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"gpt-5.1-codex-mini",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.225,output:1.8},limit:{context:4e5,output:128e3}},"grok-4-0709":{id:"grok-4-0709",name:"grok-4-0709",family:"grok",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.7,output:13.5},limit:{context:256e3,output:8192}},"o3-mini":{id:"o3-mini",name:"o3-mini",family:"o",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4},limit:{context:131072,output:131072}},"gpt-5.1":{id:"gpt-5.1",name:"gpt-5.1",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02",last_updated:"2026-02",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.125,output:9},limit:{context:4e5,output:128e3}},"gpt-5-nano":{id:"gpt-5-nano",name:"gpt-5-nano",family:"gpt-nano",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.045,output:.36},limit:{context:4e5,output:128e3}},"gpt-5-codex":{id:"gpt-5-codex",name:"gpt-5-codex",family:"gpt-codex",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.125,output:9},limit:{context:4e5,output:128e3}},"claude-sonnet-4-20250514":{id:"claude-sonnet-4-20250514",name:"claude-sonnet-4-20250514",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.7,output:13.5},limit:{context:2e5,output:64e3}},"o4-mini":{id:"o4-mini",name:"o4-mini",family:"o",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4},limit:{context:2e5,output:1e5}},"claude-opus-4-20250514":{id:"claude-opus-4-20250514",name:"claude-opus-4-20250514",family:"claude-opus",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:13.5,output:67.5},limit:{context:2e5,output:32e3}},"gpt-5-mini":{id:"gpt-5-mini",name:"gpt-5-mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.225,output:1.8},limit:{context:4e5,output:128e3}},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"gemini-2.5-pro",family:"gemini-pro",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:1.125,output:9},limit:{context:1048576,output:65535}},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"gpt-5.1-codex-max",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.125,output:9},limit:{context:4e5,output:128e3}},o3:{id:"o3",name:"o3",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:10,output:40},limit:{context:131072,output:131072}},"gpt-5-chat-latest":{id:"gpt-5-chat-latest",name:"gpt-5-chat-latest",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.125,output:9},limit:{context:4e5,output:128e3}},"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-2025",family:"gemini-flash-lite",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:.09,output:.36},limit:{context:1048576,output:65536}},"grok-4-1-fast-non-reasoning":{id:"grok-4-1-fast-non-reasoning",name:"grok-4-1-fast-non-reasoning",family:"grok",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.18,output:.45},limit:{context:2e6,output:2e6}},"gpt-5-pro":{id:"gpt-5-pro",name:"gpt-5-pro",family:"gpt-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:13.5,output:108},limit:{context:4e5,output:272e3}},"claude-opus-4-1-20250805":{id:"claude-opus-4-1-20250805",name:"claude-opus-4-1-20250805",family:"claude-opus",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:13.5,output:67.5},limit:{context:2e5,output:32e3}},"gpt-5.2":{id:"gpt-5.2",name:"gpt-5.2",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.575,output:12.6},limit:{context:4e5,output:128e3}},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"claude-haiku-4-5-20251001",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.9,output:4.5},limit:{context:2e4,output:64e3}},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",family:"kimi",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3},limit:{context:262144,output:262144}},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"Kimi K2 0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5},limit:{context:262144,output:262144}},"moonshotai/kimi-k2-instruct":{id:"moonshotai/kimi-k2-instruct",name:"Kimi K2 Instruct",family:"kimi",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.57,output:2.3},limit:{context:131072,output:131072}},"xiaomimimo/mimo-v2-flash":{id:"xiaomimimo/mimo-v2-flash",name:"XiaomiMiMo/MiMo-V2-Flash",family:"mimo",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:131072}},"deepseek/deepseek-r1-0528":{id:"deepseek/deepseek-r1-0528",name:"DeepSeek R1 0528",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.7,output:2.5},limit:{context:163840,output:32768}},"deepseek/deepseek-v3.1":{id:"deepseek/deepseek-v3.1",name:"DeepSeek V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:1},limit:{context:163840,output:32768}},"deepseek/deepseek-v3-0324":{id:"deepseek/deepseek-v3-0324",name:"DeepSeek V3 0324",family:"deepseek",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.28,output:1.14},limit:{context:163840,output:163840}},"minimaxai/minimax-m1-80k":{id:"minimaxai/minimax-m1-80k",name:"MiniMax M1",family:"minimax",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.55,output:2.2},limit:{context:1e6,output:4e4}},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"Minimax M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},"baidu/ernie-4.5-300b-a47b-paddle":{id:"baidu/ernie-4.5-300b-a47b-paddle",name:"ERNIE 4.5 300B A47B",family:"ernie",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.28,output:1.1},limit:{context:123e3,output:12e3}},"baidu/ernie-4.5-vl-424b-a47b":{id:"baidu/ernie-4.5-vl-424b-a47b",name:"ERNIE 4.5 VL 424B A47B",family:"ernie",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.42,output:1.25},limit:{context:123e3,output:16e3}},"qwen/qwen3-235b-a22b-instruct-2507":{id:"qwen/qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.8},limit:{context:131072,output:16384}},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:1.5},limit:{context:65536,output:65536}},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22b Thinking 2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:3},limit:{context:131072,output:131072}},"qwen/qwen3-30b-a3b-fp8":{id:"qwen/qwen3-30b-a3b-fp8",name:"Qwen3 30B A3B",family:"qwen",attachment:false,reasoning:true,tool_call:false,structured_output:false,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.09,output:.45},limit:{context:40960,output:2e4}},"qwen/qwen3-32b-fp8":{id:"qwen/qwen3-32b-fp8",name:"Qwen3 32B",family:"qwen",attachment:false,reasoning:true,tool_call:false,structured_output:false,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.45},limit:{context:40960,output:2e4}},"qwen/qwen3-coder-480b-a35b-instruct":{id:"qwen/qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.29,output:1.2},limit:{context:262144,output:65536}},"qwen/qwen3-coder-next":{id:"qwen/qwen3-coder-next",name:"qwen/qwen3-coder-next",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02",last_updated:"2026-02",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:1.5},limit:{context:262144,output:65536}},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:1.5},limit:{context:65536,output:65536}},"qwen/qwen3-235b-a22b-fp8":{id:"qwen/qwen3-235b-a22b-fp8",name:"Qwen3 235B A22B",family:"qwen",attachment:false,reasoning:true,tool_call:false,structured_output:false,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.8},limit:{context:40960,output:2e4}},"zai-org/glm-4.7":{id:"zai-org/glm-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2},limit:{context:204800,output:131072}},"zai-org/glm-4.5":{id:"zai-org/glm-4.5",name:"GLM-4.5",family:"glm",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2},limit:{context:131072,output:98304}},"zai-org/glm-4.7-flash":{id:"zai-org/glm-4.7-flash",name:"GLM-4.7-Flash",family:"glm",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.4},limit:{context:2e5,output:128e3}},"zai-org/glm-4.5v":{id:"zai-org/glm-4.5v",name:"GLM 4.5V",family:"glmv",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:1.8},limit:{context:65536,output:16384}}}},mistral:{id:"mistral",env:["MISTRAL_API_KEY"],npm:"@ai-sdk/mistral",name:"Mistral",doc:"https://docs.mistral.ai/getting-started/models/",models:{"devstral-medium-2507":{id:"devstral-medium-2507",name:"Devstral Medium",family:"devstral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-07-10",last_updated:"2025-07-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:2},limit:{context:128e3,output:128e3}},"mistral-large-2512":{id:"mistral-large-2512",name:"Mistral Large 3",family:"mistral-large",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2024-11-01",last_updated:"2025-12-02",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.5,output:1.5},limit:{context:262144,output:262144}},"open-mixtral-8x22b":{id:"open-mixtral-8x22b",name:"Mixtral 8x22B",family:"mixtral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-04-17",last_updated:"2024-04-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2,output:6},limit:{context:64e3,output:64e3}},"ministral-8b-latest":{id:"ministral-8b-latest",name:"Ministral 8B",family:"ministral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-10-01",last_updated:"2024-10-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.1},limit:{context:128e3,output:128e3}},"pixtral-large-latest":{id:"pixtral-large-latest",name:"Pixtral Large",family:"pixtral",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2024-11-01",last_updated:"2024-11-04",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:2,output:6},limit:{context:128e3,output:128e3}},"mistral-small-2506":{id:"mistral-small-2506",name:"Mistral Small 3.2",family:"mistral-small",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-06-20",last_updated:"2025-06-20",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.1,output:.3},limit:{context:128e3,output:16384}},"devstral-2512":{id:"devstral-2512",name:"Devstral 2",family:"devstral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-12",release_date:"2025-12-09",last_updated:"2025-12-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:2},limit:{context:262144,output:262144}},"ministral-3b-latest":{id:"ministral-3b-latest",name:"Ministral 3B",family:"ministral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-10-01",last_updated:"2024-10-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.04,output:.04},limit:{context:128e3,output:128e3}},"pixtral-12b":{id:"pixtral-12b",name:"Pixtral 12B",family:"pixtral",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2024-09-01",last_updated:"2024-09-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.15,output:.15},limit:{context:128e3,output:128e3}},"mistral-medium-2505":{id:"mistral-medium-2505",name:"Mistral Medium 3",family:"mistral-medium",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-07",last_updated:"2025-05-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:2},limit:{context:131072,output:131072}},"labs-devstral-small-2512":{id:"labs-devstral-small-2512",name:"Devstral Small 2",family:"devstral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-12",release_date:"2025-12-09",last_updated:"2025-12-09",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:256e3,output:256e3}},"devstral-medium-latest":{id:"devstral-medium-latest",name:"Devstral 2",family:"devstral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-12",release_date:"2025-12-02",last_updated:"2025-12-02",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:2},limit:{context:262144,output:262144}},"devstral-small-2505":{id:"devstral-small-2505",name:"Devstral Small 2505",family:"devstral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-07",last_updated:"2025-05-07",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3},limit:{context:128e3,output:128e3}},"mistral-medium-2508":{id:"mistral-medium-2508",name:"Mistral Medium 3.1",family:"mistral-medium",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-08-12",last_updated:"2025-08-12",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:2},limit:{context:262144,output:262144}},"mistral-embed":{id:"mistral-embed",name:"Mistral Embed",family:"mistral-embed",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2023-12-11",last_updated:"2023-12-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:0},limit:{context:8e3,output:3072}},"mistral-small-latest":{id:"mistral-small-latest",name:"Mistral Small",family:"mistral-small",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2024-09-01",last_updated:"2024-09-04",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.1,output:.3},limit:{context:128e3,output:16384}},"magistral-small":{id:"magistral-small",name:"Magistral Small",family:"magistral-small",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-03-17",last_updated:"2025-03-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.5,output:1.5},limit:{context:128e3,output:128e3}},"devstral-small-2507":{id:"devstral-small-2507",name:"Devstral Small",family:"devstral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-07-10",last_updated:"2025-07-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3},limit:{context:128e3,output:128e3}},"codestral-latest":{id:"codestral-latest",name:"Codestral",family:"codestral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-05-29",last_updated:"2025-01-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.9},limit:{context:256e3,output:4096}},"open-mixtral-8x7b":{id:"open-mixtral-8x7b",name:"Mixtral 8x7B",family:"mixtral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-01",release_date:"2023-12-11",last_updated:"2023-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.7,output:.7},limit:{context:32e3,output:32e3}},"mistral-nemo":{id:"mistral-nemo",name:"Mistral Nemo",family:"mistral-nemo",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-07-01",last_updated:"2024-07-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.15},limit:{context:128e3,output:128e3}},"open-mistral-7b":{id:"open-mistral-7b",name:"Mistral 7B",family:"mistral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2023-09-27",last_updated:"2023-09-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.25,output:.25},limit:{context:8e3,output:8e3}},"mistral-large-latest":{id:"mistral-large-latest",name:"Mistral Large",family:"mistral-large",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2024-11-01",last_updated:"2025-12-02",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.5,output:1.5},limit:{context:262144,output:262144}},"mistral-medium-latest":{id:"mistral-medium-latest",name:"Mistral Medium",family:"mistral-medium",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-07",last_updated:"2025-05-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.4,output:2},limit:{context:128e3,output:16384}},"mistral-large-2411":{id:"mistral-large-2411",name:"Mistral Large 2.1",family:"mistral-large",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2024-11-01",last_updated:"2024-11-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2,output:6},limit:{context:131072,output:16384}},"magistral-medium-latest":{id:"magistral-medium-latest",name:"Magistral Medium",family:"magistral-medium",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-03-17",last_updated:"2025-03-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2,output:5},limit:{context:128e3,output:16384}}}},"cloudferro-sherlock":{id:"cloudferro-sherlock",env:["CLOUDFERRO_SHERLOCK_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api-sherlock.cloudferro.com/openai/v1/",name:"CloudFerro Sherlock",doc:"https://docs.sherlock.cloudferro.com/",models:{"speakleash/Bielik-11B-v3.0-Instruct":{id:"speakleash/Bielik-11B-v3.0-Instruct",name:"Bielik 11B v3.0 Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-03",release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.67,output:.67},limit:{context:32e3,output:32e3}},"speakleash/Bielik-11B-v2.6-Instruct":{id:"speakleash/Bielik-11B-v2.6-Instruct",name:"Bielik 11B v2.6 Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-03",release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.67,output:.67},limit:{context:32e3,output:32e3}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"OpenAI GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-28",last_updated:"2025-08-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.92,output:2.92},limit:{context:131e3,output:131e3}},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10-09",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.92,output:2.92},limit:{context:7e4,output:7e4}}}},abacus:{id:"abacus",env:["ABACUS_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://routellm.abacus.ai/v1",name:"Abacus",doc:"https://abacus.ai/help/api",models:{"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 Nano",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.1,output:.4},limit:{context:1047576,output:32768}},"grok-4-fast-non-reasoning":{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5},limit:{context:2e6,output:16384}},"gemini-2.0-flash-001":{id:"gemini-2.0-flash-001",name:"Gemini 2.0 Flash",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-02-05",last_updated:"2025-02-05",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:.1,output:.4},limit:{context:1e6,output:8192}},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.5,output:3},limit:{context:1048576,output:65536}},"route-llm":{id:"route-llm",name:"Route LLM",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-01-01",last_updated:"2024-01-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.5,output:1.5},limit:{context:128e3,output:16384}},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-09-01",last_updated:"2025-09-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:1.5},limit:{context:256e3,output:16384}},"kimi-k2-turbo-preview":{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo Preview",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-08",last_updated:"2025-07-08",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:8},limit:{context:256e3,output:8192}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-06-01",last_updated:"2025-06-01",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:2,output:12},limit:{context:1e6,output:65e3}},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-03-20",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5},limit:{context:1048576,output:65536}},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 Mini",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:1.6},limit:{context:1047576,output:32768}},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-01",last_updated:"2025-11-01",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25},limit:{context:2e5,output:64e3}},"qwen-2.5-coder-32b":{id:"qwen-2.5-coder-32b",name:"Qwen 2.5 Coder 32B",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-11-11",last_updated:"2024-11-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.79,output:.79},limit:{context:128e3,output:8192}},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:2e5,output:64e3}},"grok-4-0709":{id:"grok-4-0709",name:"Grok 4",family:"grok",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:256e3,output:16384}},"o3-mini":{id:"o3-mini",name:"o3-mini",family:"o-mini",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05",release_date:"2024-12-20",last_updated:"2025-01-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4},limit:{context:2e5,output:1e5}},"gpt-5.2-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat Latest",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-09-30",release_date:"2026-01-01",last_updated:"2026-01-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.5,output:12},limit:{context:4e5,output:128e3}},"gemini-2.0-pro-exp-02-05":{id:"gemini-2.0-pro-exp-02-05",name:"Gemini 2.0 Pro Exp",family:"gemini-pro",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-02-05",last_updated:"2025-02-05",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,limit:{context:2e6,output:8192}},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",family:"gpt-nano",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.05,output:.4},limit:{context:4e5,output:128e3}},"claude-sonnet-4-20250514":{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-05-14",last_updated:"2025-05-14",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:2e5,output:64e3}},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8},limit:{context:1047576,output:32768}},"o4-mini":{id:"o4-mini",name:"o4-mini",family:"o-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4},limit:{context:2e5,output:1e5}},"claude-opus-4-20250514":{id:"claude-opus-4-20250514",name:"Claude Opus 4",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-05-14",last_updated:"2025-05-14",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75},limit:{context:2e5,output:32e3}},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2},limit:{context:4e5,output:128e3}},"o3-pro":{id:"o3-pro",name:"o3-pro",family:"o-pro",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05",release_date:"2025-06-10",last_updated:"2025-06-10",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:20,output:80},limit:{context:2e5,output:1e5}},"claude-3-7-sonnet-20250219":{id:"claude-3-7-sonnet-20250219",name:"Claude Sonnet 3.7",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10-31",release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:2e5,output:64e3}},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-03-25",last_updated:"2025-03-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10},limit:{context:1048576,output:65536}},"gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-11-20",last_updated:"2024-11-20",modalities:{input:["text","image","audio"],output:["text"]},open_weights:false,cost:{input:2.5,output:10},limit:{context:128e3,output:16384}},o3:{id:"o3",name:"o3",family:"o",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8},limit:{context:2e5,output:1e5}},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o Mini",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.15,output:.6},limit:{context:128e3,output:16384}},"qwen3-max":{id:"qwen3-max",name:"Qwen3 Max",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.2,output:6},limit:{context:131072,output:16384}},"gpt-5":{id:"gpt-5",name:"GPT-5",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},"grok-4-1-fast-non-reasoning":{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast (Non-Reasoning)",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-11-17",last_updated:"2025-11-17",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5},limit:{context:2e6,output:16384}},"llama-3.3-70b-versatile":{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B Versatile",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.59,output:.79},limit:{context:128e3,output:32768}},"claude-opus-4-1-20250805":{id:"claude-opus-4-1-20250805",name:"Claude Opus 4.1",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75},limit:{context:2e5,output:32e3}},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14},limit:{context:4e5,output:128e3}},"gpt-5.1-chat-latest":{id:"gpt-5.1-chat-latest",name:"GPT-5.1 Chat Latest",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5},limit:{context:2e5,output:64e3}},"deepseek/deepseek-v3.1":{id:"deepseek/deepseek-v3.1",name:"DeepSeek V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.14,output:.28},limit:{context:128e3,output:8192}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B",family:"gpt-oss",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.08,output:.44},limit:{context:128e3,output:32768}},"meta-llama/Meta-Llama-3.1-8B-Instruct":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Llama 3.1 8B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.05},limit:{context:128e3,output:4096}},"meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo":{id:"meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo",name:"Llama 3.1 405B Instruct Turbo",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:3.5,output:3.5},limit:{context:128e3,output:4096}},"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8":{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick 17B 128E Instruct FP8",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.14,output:.59},limit:{context:1e6,output:32768}},"meta-llama/Meta-Llama-3.1-70B-Instruct":{id:"meta-llama/Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:.4},limit:{context:128e3,output:4096}},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-01",last_updated:"2025-07-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.13,output:.6},limit:{context:262144,output:8192}},"Qwen/Qwen2.5-72B-Instruct":{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-09-19",last_updated:"2024-09-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.11,output:.38},limit:{context:128e3,output:8192}},"Qwen/QwQ-32B":{id:"Qwen/QwQ-32B",name:"QwQ 32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2024-11-28",last_updated:"2024-11-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:.4},limit:{context:32768,output:32768}},"Qwen/Qwen3-32B":{id:"Qwen/Qwen3-32B",name:"Qwen3 32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-04-29",last_updated:"2025-04-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.09,output:.29},limit:{context:128e3,output:8192}},"Qwen/qwen3-coder-480b-a35b-instruct":{id:"Qwen/qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-22",last_updated:"2025-07-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.29,output:1.2},limit:{context:262144,output:65536}},"zai-org/glm-4.7":{id:"zai-org/glm-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-06-01",last_updated:"2025-06-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.7,output:2.5},limit:{context:128e3,output:8192}},"zai-org/glm-4.5":{id:"zai-org/glm-4.5",name:"GLM-4.5",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2},limit:{context:128e3,output:8192}},"zai-org/glm-4.6":{id:"zai-org/glm-4.6",name:"GLM-4.6",family:"glm",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-03-01",last_updated:"2025-03-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2},limit:{context:128e3,output:8192}},"deepseek-ai/DeepSeek-R1":{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:3,output:7},limit:{context:128e3,output:8192}},"deepseek-ai/DeepSeek-V3.1-Terminus":{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"DeepSeek V3.1 Terminus",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-06-01",last_updated:"2025-06-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:1},limit:{context:128e3,output:8192}},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-06-15",last_updated:"2025-06-15",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:.4},limit:{context:128e3,output:8192}}}},vercel:{id:"vercel",env:["AI_GATEWAY_API_KEY"],npm:"@ai-sdk/gateway",name:"Vercel AI Gateway",doc:"https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway",models:{"moonshotai/kimi-k2-thinking-turbo":{id:"moonshotai/kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.15,output:8,cache_read:.15},limit:{context:262114,output:262114}},"moonshotai/kimi-k2-turbo":{id:"moonshotai/kimi-k2-turbo",name:"Kimi K2 Turbo",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2.4,output:10},limit:{context:256e3,output:16384}},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",family:"kimi",attachment:true,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2025-01",release_date:"2026-01-26",last_updated:"2026-01-26",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:1.2},limit:{context:262144,output:262144}},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"Kimi K2 0905",family:"kimi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.6,output:2.5},limit:{context:131072,output:16384}},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.47,output:2,cache_read:.14},limit:{context:216144,output:216144}},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"Kimi K2 Instruct",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-14",last_updated:"2025-07-14",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3},limit:{context:131072,output:16384},status:"deprecated"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo V2 Flash",family:"mimo",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:.29},limit:{context:262144,output:32e3}},"alibaba/qwen3-coder":{id:"alibaba/qwen3-coder",name:"Qwen3 Coder 480B A35B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.38,output:1.53},limit:{context:262144,output:66536}},"alibaba/qwen3-next-80b-a3b-instruct":{id:"alibaba/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-12",last_updated:"2025-09-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.09,output:1.1},limit:{context:262144,output:32768}},"alibaba/qwen-3-32b":{id:"alibaba/qwen-3-32b",name:"Qwen 3.32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:.3},limit:{context:40960,output:16384}},"alibaba/qwen3-vl-instruct":{id:"alibaba/qwen3-vl-instruct",name:"Qwen3 VL Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-24",last_updated:"2025-09-24",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.7,output:2.8},limit:{context:131072,output:129024}},"alibaba/qwen-3-235b":{id:"alibaba/qwen-3-235b",name:"Qwen3 235B A22B Instruct 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.13,output:.6},limit:{context:40960,output:16384}},"alibaba/qwen-3-14b":{id:"alibaba/qwen-3-14b",name:"Qwen3-14B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.06,output:.24},limit:{context:40960,output:16384}},"alibaba/qwen3-embedding-4b":{id:"alibaba/qwen3-embedding-4b",name:"Qwen3 Embedding 4B",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2025-06-05",last_updated:"2025-06-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.02,output:0},limit:{context:32768,output:32768}},"alibaba/qwen3-max-thinking":{id:"alibaba/qwen3-max-thinking",name:"Qwen 3 Max Thinking",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-01",last_updated:"2025-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.2,output:6,cache_read:.24},limit:{context:256e3,output:65536}},"alibaba/qwen3-235b-a22b-thinking":{id:"alibaba/qwen3-235b-a22b-thinking",name:"Qwen3 235B A22B Thinking 2507",family:"qwen",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.9},limit:{context:262114,output:262114}},"alibaba/qwen-3-30b":{id:"alibaba/qwen-3-30b",name:"Qwen3-30B-A3B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.08,output:.29},limit:{context:40960,output:16384}},"alibaba/qwen3-embedding-0.6b":{id:"alibaba/qwen3-embedding-0.6b",name:"Qwen3 Embedding 0.6B",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.01,output:0},limit:{context:32768,output:32768}},"alibaba/qwen3-vl-thinking":{id:"alibaba/qwen3-vl-thinking",name:"Qwen3 VL Thinking",family:"qwen",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-24",last_updated:"2025-09-24",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.7,output:8.4},limit:{context:131072,output:129024}},"alibaba/qwen3-max":{id:"alibaba/qwen3-max",name:"Qwen3 Max",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-23",last_updated:"2025-09-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.2,output:6},limit:{context:262144,output:32768}},"alibaba/qwen3-embedding-8b":{id:"alibaba/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2025-06-05",last_updated:"2025-06-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.05,output:0},limit:{context:32768,output:32768}},"alibaba/qwen3.5-plus":{id:"alibaba/qwen3.5-plus",name:"Qwen 3.5 Plus",family:"qwen",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-16",last_updated:"2026-02-19",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.4,output:2.4,cache_read:.04,cache_write:.5},limit:{context:1e6,output:64e3}},"alibaba/qwen3-max-preview":{id:"alibaba/qwen3-max-preview",name:"Qwen3 Max Preview",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-23",last_updated:"2025-09-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.2,output:6,cache_read:.24},limit:{context:262144,output:32768}},"alibaba/qwen3-coder-next":{id:"alibaba/qwen3-coder-next",name:"Qwen3 Coder Next",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-22",last_updated:"2026-02-19",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:1.2},limit:{context:256e3,output:256e3}},"alibaba/qwen3-coder-plus":{id:"alibaba/qwen3-coder-plus",name:"Qwen3 Coder Plus",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:5},limit:{context:1e6,output:1e6}},"alibaba/qwen3-next-80b-a3b-thinking":{id:"alibaba/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-12",last_updated:"2025-09-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:1.5},limit:{context:131072,output:65536}},"alibaba/qwen3-coder-30b-a3b":{id:"alibaba/qwen3-coder-30b-a3b",name:"Qwen 3 Coder 30B A3B Instruct",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.07,output:.27},limit:{context:16e4,output:32768}},"meituan/longcat-flash-thinking":{id:"meituan/longcat-flash-thinking",name:"LongCat Flash Thinking",family:"longcat",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-23",last_updated:"2025-09-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:1.5},limit:{context:128e3,output:8192}},"meituan/longcat-flash-chat":{id:"meituan/longcat-flash-chat",name:"LongCat Flash Chat",family:"longcat",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-30",last_updated:"2025-08-30",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:8192}},"xai/grok-4-fast-reasoning":{id:"xai/grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:256e3}},"xai/grok-4.1-fast-reasoning":{id:"xai/grok-4.1-fast-reasoning",name:"Grok 4.1 Fast Reasoning",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:3e4}},"xai/grok-imagine-image":{id:"xai/grok-imagine-image",name:"Grok Imagine Image",family:"grok",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2026-01-28",last_updated:"2026-02-19",modalities:{input:["text"],output:["text","image"]},open_weights:false,limit:{context:0,output:0}},"xai/grok-imagine-image-pro":{id:"xai/grok-imagine-image-pro",name:"Grok Imagine Image Pro",family:"grok",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2026-01-28",last_updated:"2026-02-19",modalities:{input:["text"],output:["text","image"]},open_weights:false,limit:{context:0,output:0}},"xai/grok-4.1-fast-non-reasoning":{id:"xai/grok-4.1-fast-non-reasoning",name:"Grok 4.1 Fast Non-Reasoning",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:3e4}},"xai/grok-3-mini-fast":{id:"xai/grok-3-mini-fast",name:"Grok 3 Mini Fast",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.6,output:4,reasoning:4,cache_read:.15},limit:{context:131072,output:8192}},"xai/grok-3-mini":{id:"xai/grok-3-mini",name:"Grok 3 Mini",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:.5,reasoning:.5,cache_read:.075},limit:{context:131072,output:8192}},"xai/grok-3":{id:"xai/grok-3",name:"Grok 3",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75},limit:{context:131072,output:8192}},"xai/grok-code-fast-1":{id:"xai/grok-code-fast-1",name:"Grok Code Fast 1",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2025-08-28",last_updated:"2025-08-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:1.5,cache_read:.02},limit:{context:256e3,output:1e4}},"xai/grok-2-vision":{id:"xai/grok-2-vision",name:"Grok 2 Vision",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-08-20",last_updated:"2024-08-20",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:10,cache_read:2},limit:{context:8192,output:4096}},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,reasoning:15,cache_read:.75},limit:{context:256e3,output:64e3}},"xai/grok-3-fast":{id:"xai/grok-3-fast",name:"Grok 3 Fast",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:1.25},limit:{context:131072,output:8192}},"xai/grok-4-fast-non-reasoning":{id:"xai/grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-09-19",last_updated:"2025-09-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:3e4}},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"Nvidia Nemotron Nano 9B V2",family:"nemotron",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-18",last_updated:"2025-08-18",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.04,output:.16},limit:{context:131072,output:131072}},"nvidia/nemotron-nano-12b-v2-vl":{id:"nvidia/nemotron-nano-12b-v2-vl",name:"Nvidia Nemotron Nano 12B V2 VL",family:"nemotron",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12",last_updated:"2024-12",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.6},limit:{context:131072,output:131072}},"nvidia/nemotron-3-nano-30b-a3b":{id:"nvidia/nemotron-3-nano-30b-a3b",name:"Nemotron 3 Nano 30B A3B",family:"nemotron",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2024-12",last_updated:"2024-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.06,output:.24},limit:{context:262144,output:262144}},"cohere/embed-v4.0":{id:"cohere/embed-v4.0",name:"Embed v4.0",family:"cohere-embed",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2025-04-15",last_updated:"2025-04-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.12,output:0},limit:{context:8192,output:1536}},"cohere/command-a":{id:"cohere/command-a",name:"Command A",family:"command",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2.5,output:10},limit:{context:256e3,output:8e3}},"kwaipilot/kat-coder-pro-v1":{id:"kwaipilot/kat-coder-pro-v1",name:"KAT-Coder-Pro V1",family:"kat-coder",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2025-10-24",last_updated:"2025-10-24",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:256e3,output:32e3}},"mistral/mistral-medium":{id:"mistral/mistral-medium",name:"Mistral Medium 3.1",family:"mistral-medium",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-05-07",last_updated:"2025-05-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:2},limit:{context:128e3,output:64e3}},"mistral/codestral-embed":{id:"mistral/codestral-embed",name:"Codestral Embed",family:"codestral-embed",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:0},limit:{context:8192,output:1536}},"mistral/devstral-2":{id:"mistral/devstral-2",name:"Devstral 2",family:"devstral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-12-09",last_updated:"2025-12-09",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:256e3,output:256e3}},"mistral/devstral-small":{id:"mistral/devstral-small",name:"Devstral Small 1.1",family:"devstral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-05-07",last_updated:"2025-05-07",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:.3},limit:{context:128e3,output:64e3}},"mistral/mistral-large-3":{id:"mistral/mistral-large-3",name:"Mistral Large 3",family:"mistral-large",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2025-12-02",last_updated:"2025-12-02",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.5,output:1.5},limit:{context:256e3,output:256e3}},"mistral/mistral-embed":{id:"mistral/mistral-embed",name:"Mistral Embed",family:"mistral-embed",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2023-12-11",last_updated:"2023-12-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:0},limit:{context:8192,output:1536}},"mistral/mistral-nemo":{id:"mistral/mistral-nemo",name:"Mistral Nemo",family:"mistral-nemo",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-07-01",last_updated:"2024-07-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.04,output:.17},limit:{context:60288,output:16e3}},"mistral/ministral-14b":{id:"mistral/ministral-14b",name:"Ministral 14B",family:"ministral",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.2,output:.2},limit:{context:256e3,output:256e3}},"mistral/devstral-small-2":{id:"mistral/devstral-small-2",name:"Devstral Small 2",family:"devstral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-05-07",last_updated:"2025-05-07",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:256e3,output:256e3}},"mistral/codestral":{id:"mistral/codestral",name:"Codestral",family:"codestral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-05-29",last_updated:"2025-01-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.9},limit:{context:256e3,output:4096}},"mistral/magistral-medium":{id:"mistral/magistral-medium",name:"Magistral Medium",family:"magistral-medium",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-03-17",last_updated:"2025-03-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2,output:5},limit:{context:128e3,output:16384}},"mistral/pixtral-large":{id:"mistral/pixtral-large",name:"Pixtral Large",family:"pixtral",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2024-11-01",last_updated:"2024-11-04",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:2,output:6},limit:{context:128e3,output:128e3}},"mistral/ministral-8b":{id:"mistral/ministral-8b",name:"Ministral 8B",family:"ministral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-10-01",last_updated:"2024-10-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.1},limit:{context:128e3,output:128e3}},"mistral/ministral-3b":{id:"mistral/ministral-3b",name:"Ministral 3B",family:"ministral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-10-01",last_updated:"2024-10-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.04,output:.04},limit:{context:128e3,output:128e3}},"mistral/magistral-small":{id:"mistral/magistral-small",name:"Magistral Small",family:"magistral-small",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-03-17",last_updated:"2025-03-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.5,output:1.5},limit:{context:128e3,output:128e3}},"mistral/mistral-small":{id:"mistral/mistral-small",name:"Mistral Small",family:"mistral-small",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2024-09-01",last_updated:"2024-09-04",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.1,output:.3},limit:{context:128e3,output:16384}},"mistral/pixtral-12b":{id:"mistral/pixtral-12b",name:"Pixtral 12B",family:"pixtral",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2024-09-01",last_updated:"2024-09-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.15,output:.15},limit:{context:128e3,output:128e3}},"mistral/mixtral-8x22b-instruct":{id:"mistral/mixtral-8x22b-instruct",name:"Mixtral 8x22B",family:"mixtral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-04-17",last_updated:"2024-04-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2,output:6},limit:{context:64e3,output:64e3}},"vercel/v0-1.0-md":{id:"vercel/v0-1.0-md",name:"v0-1.0-md",family:"v0",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:128e3,output:32e3}},"vercel/v0-1.5-md":{id:"vercel/v0-1.5-md",name:"v0-1.5-md",family:"v0",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-06-09",last_updated:"2025-06-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:128e3,output:32e3}},"deepseek/deepseek-v3":{id:"deepseek/deepseek-v3",name:"DeepSeek V3 0324",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-12-26",last_updated:"2024-12-26",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.77,output:.77},limit:{context:163840,output:16384}},"deepseek/deepseek-v3.2-thinking":{id:"deepseek/deepseek-v3.2-thinking",name:"DeepSeek V3.2 Thinking",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2024-07",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.28,output:.42,cache_read:.03},limit:{context:128e3,output:64e3}},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-09-22",last_updated:"2025-09-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:1},limit:{context:131072,output:65536}},"deepseek/deepseek-v3.1":{id:"deepseek/deepseek-v3.1",name:"DeepSeek-V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-08-21",last_updated:"2025-08-21",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1},limit:{context:163840,output:128e3}},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek V3.2 Exp",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:.4},limit:{context:163840,output:163840}},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2",family:"deepseek",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-07",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:.4,cache_read:.22},limit:{context:163842,output:8e3}},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek-R1",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-01-20",last_updated:"2025-05-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.35,output:5.4},limit:{context:128e3,output:32768}},"recraft/recraft-v3":{id:"recraft/recraft-v3",name:"Recraft V3",family:"recraft",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-10",last_updated:"2024-10",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:512,output:0}},"recraft/recraft-v2":{id:"recraft/recraft-v2",name:"Recraft V2",family:"recraft",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-03",last_updated:"2024-03",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:512,output:0}},"bfl/flux-kontext-pro":{id:"bfl/flux-kontext-pro",name:"FLUX.1 Kontext Pro",family:"flux",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2025-06",last_updated:"2025-06",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:512,output:0}},"bfl/flux-kontext-max":{id:"bfl/flux-kontext-max",name:"FLUX.1 Kontext Max",family:"flux",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2025-06",last_updated:"2025-06",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:512,output:0}},"bfl/flux-pro-1.1":{id:"bfl/flux-pro-1.1",name:"FLUX1.1 [pro]",family:"flux",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-10",last_updated:"2024-10",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:512,output:0}},"bfl/flux-pro-1.1-ultra":{id:"bfl/flux-pro-1.1-ultra",name:"FLUX1.1 [pro] Ultra",family:"flux",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-11",last_updated:"2024-11",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:512,output:0}},"bfl/flux-pro-1.0-fill":{id:"bfl/flux-pro-1.0-fill",name:"FLUX.1 Fill [pro]",family:"flux",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-10",last_updated:"2024-10",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:512,output:0}},"arcee-ai/trinity-mini":{id:"arcee-ai/trinity-mini",name:"Trinity Mini",family:"trinity",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2025-12",last_updated:"2025-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.05,output:.15},limit:{context:131072,output:131072}},"arcee-ai/trinity-large-preview":{id:"arcee-ai/trinity-large-preview",name:"Trinity Large Preview",family:"trinity",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-01",last_updated:"2025-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:1},limit:{context:131e3,output:131e3}},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2024-10",release_date:"2025-10-27",last_updated:"2025-10-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:1.15,cache_read:.03,cache_write:.38},limit:{context:262114,output:262114}},"minimax/minimax-m2.1-lightning":{id:"minimax/minimax-m2.1-lightning",name:"MiniMax M2.1 Lightning",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-10-27",last_updated:"2025-10-27",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:2.4,cache_read:.03,cache_write:.38},limit:{context:204800,output:131072}},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2024-10",release_date:"2025-10-27",last_updated:"2025-10-27",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.2,cache_read:.03,cache_write:.38},limit:{context:204800,output:131072}},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-19",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.2,cache_read:.03,cache_write:.375},limit:{context:204800,output:131e3}},"bytedance/seed-1.6":{id:"bytedance/seed-1.6",name:"Seed 1.6",family:"seed",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-09",last_updated:"2025-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.05},limit:{context:256e3,output:32e3}},"bytedance/seed-1.8":{id:"bytedance/seed-1.8",name:"Seed 1.8",family:"seed",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-10",last_updated:"2025-10",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.05},limit:{context:256e3,output:64e3}},"voyage/voyage-code-2":{id:"voyage/voyage-code-2",name:"voyage-code-2",family:"voyage",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-01",last_updated:"2024-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.12,output:0},limit:{context:8192,output:1536}},"voyage/voyage-3.5-lite":{id:"voyage/voyage-3.5-lite",name:"voyage-3.5-lite",family:"voyage",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2025-05-20",last_updated:"2025-05-20",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.02,output:0},limit:{context:8192,output:1536}},"voyage/voyage-3.5":{id:"voyage/voyage-3.5",name:"voyage-3.5",family:"voyage",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2025-05-20",last_updated:"2025-05-20",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.06,output:0},limit:{context:8192,output:1536}},"voyage/voyage-finance-2":{id:"voyage/voyage-finance-2",name:"voyage-finance-2",family:"voyage",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-03",last_updated:"2024-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.12,output:0},limit:{context:8192,output:1536}},"voyage/voyage-law-2":{id:"voyage/voyage-law-2",name:"voyage-law-2",family:"voyage",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-03",last_updated:"2024-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.12,output:0},limit:{context:8192,output:1536}},"voyage/voyage-code-3":{id:"voyage/voyage-code-3",name:"voyage-code-3",family:"voyage",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.18,output:0},limit:{context:8192,output:1536}},"voyage/voyage-3-large":{id:"voyage/voyage-3-large",name:"voyage-3-large",family:"voyage",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.18,output:0},limit:{context:8192,output:1536}},"google/gemini-embedding-001":{id:"google/gemini-embedding-001",name:"Gemini Embedding 001",family:"gemini-embedding",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2025-05-20",last_updated:"2025-05-20",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:0},limit:{context:8192,output:1536}},"google/imagen-4.0-ultra-generate-001":{id:"google/imagen-4.0-ultra-generate-001",name:"Imagen 4 Ultra",family:"imagen",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2025-05-24",last_updated:"2025-05-24",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:480,output:0}},"google/gemini-2.5-flash-image":{id:"google/gemini-2.5-flash-image",name:"Nano Banana (Gemini 2.5 Flash Image)",family:"gemini-flash",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-01",release_date:"2025-03-20",last_updated:"2025-03-20",modalities:{input:["text"],output:["text","image"]},open_weights:false,cost:{input:.3,output:2.5},limit:{context:32768,output:32768}},"google/imagen-4.0-fast-generate-001":{id:"google/imagen-4.0-fast-generate-001",name:"Imagen 4 Fast",family:"imagen",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2025-06",last_updated:"2025-06",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:480,output:0}},"google/imagen-4.0-generate-001":{id:"google/imagen-4.0-generate-001",name:"Imagen 4",family:"imagen",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:480,output:0}},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.2,context_over_200k:{input:4,output:18,cache_read:.4}},limit:{context:1e6,output:64e3}},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",family:"gemini-flash-lite",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.01},limit:{context:1048576,output:65536}},"google/text-multilingual-embedding-002":{id:"google/text-multilingual-embedding-002",name:"Text Multilingual Embedding 002",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-03",last_updated:"2024-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.03,output:0},limit:{context:8192,output:1536}},"google/gemini-3-pro-image":{id:"google/gemini-3-pro-image",name:"Nano Banana Pro (Gemini 3 Pro Image)",family:"gemini-pro",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-03",release_date:"2025-09",last_updated:"2025-09",modalities:{input:["text"],output:["text","image"]},open_weights:false,cost:{input:2,output:120},limit:{context:65536,output:32768}},"google/text-embedding-005":{id:"google/text-embedding-005",name:"Text Embedding 005",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-08",last_updated:"2024-08",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.03,output:0},limit:{context:8192,output:1536}},"google/gemini-2.5-flash-image-preview":{id:"google/gemini-2.5-flash-image-preview",name:"Nano Banana Preview (Gemini 2.5 Flash Image Preview)",family:"gemini-flash",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-01",release_date:"2025-03-20",last_updated:"2025-03-20",modalities:{input:["text"],output:["text","image"]},open_weights:false,cost:{input:.3,output:2.5},limit:{context:32768,output:32768}},"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",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.03,cache_write:.383},limit:{context:1048576,output:65536}},"google/gemini-3-flash":{id:"google/gemini-3-flash",name:"Gemini 3 Flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.5,output:3,cache_read:.05},limit:{context:1e6,output:64e3}},"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",family:"gemini-flash-lite",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.01},limit:{context:1048576,output:65536}},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-03-20",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.31},limit:{context:1048576,output:65536}},"google/gemini-2.0-flash":{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-06",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025},limit:{context:1048576,output:8192}},"google/gemini-2.0-flash-lite":{id:"google/gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",family:"gemini-flash-lite",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-06",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.075,output:.3},limit:{context:1048576,output:8192}},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-03-20",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.075,input_audio:1},limit:{context:1048576,output:65536}},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"INTELLECT 3",family:"intellect",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-11-26",last_updated:"2025-11-26",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:1.1},limit:{context:131072,output:131072}},"inception/mercury-coder-small":{id:"inception/mercury-coder-small",name:"Mercury Coder Small Beta",family:"mercury",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-02-26",last_updated:"2025-02-26",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:1},limit:{context:32e3,output:16384}},"openai/text-embedding-3-small":{id:"openai/text-embedding-3-small",name:"text-embedding-3-small",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-01-25",last_updated:"2024-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.02,output:0},limit:{context:8192,output:1536}},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.18},limit:{context:128e3,output:16384}},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"gpt-oss-safeguard-20b",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.08,output:.3,cache_read:.04},limit:{context:131072,output:65536}},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-12",last_updated:"2025-12",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,output:128e3}},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:4e5,output:128e3}},"openai/gpt-5-chat":{id:"openai/gpt-5-chat",name:"GPT-5 Chat",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image","pdf"],output:["text","image"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:128e3,output:16384}},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"o3-deep-research",family:"o",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-10",release_date:"2024-06-26",last_updated:"2024-06-26",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:10,output:40,cache_read:2.5},limit:{context:2e5,output:1e5}},"openai/gpt-3.5-turbo":{id:"openai/gpt-3.5-turbo",name:"GPT-3.5 Turbo",family:"gpt",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2021-09",release_date:"2023-03-01",last_updated:"2023-03-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:1.5},limit:{context:16385,output:4096}},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT 5.2 ",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:21,output:168},limit:{context:4e5,output:128e3}},"openai/text-embedding-3-large":{id:"openai/text-embedding-3-large",name:"text-embedding-3-large",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-01-25",last_updated:"2024-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.13,output:0},limit:{context:8192,output:1536}},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-05-16",last_updated:"2025-05-16",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.03},limit:{context:4e5,output:128e3}},"openai/gpt-5.1-instant":{id:"openai/gpt-5.1-instant",name:"GPT-5.1 Instant",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image","pdf"],output:["text","image"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:128e3,output:16384}},"openai/gpt-5.1-thinking":{id:"openai/gpt-5.1-thinking",name:"GPT 5.1 Thinking",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-10",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image","pdf"],output:["text","image"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:4e5,output:128e3}},"openai/text-embedding-ada-002":{id:"openai/text-embedding-ada-002",name:"text-embedding-ada-002",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2022-12-15",last_updated:"2022-12-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:0},limit:{context:8192,output:1536}},"openai/o3-pro":{id:"openai/o3-pro",name:"o3 Pro",family:"o-pro",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-10",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:20,output:80},limit:{context:2e5,output:1e5}},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:4e5,output:128e3}},"openai/gpt-3.5-turbo-instruct":{id:"openai/gpt-3.5-turbo-instruct",name:"GPT-3.5 Turbo Instruct",family:"gpt",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2021-09",release_date:"2023-03-01",last_updated:"2023-03-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.5,output:2},limit:{context:8192,output:4096}},"openai/codex-mini":{id:"openai/codex-mini",name:"Codex Mini",family:"gpt-codex-mini",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-05-16",last_updated:"2025-05-16",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1.5,output:6,cache_read:.38},limit:{context:2e5,output:1e5}},"openai/gpt-4o-mini-search-preview":{id:"openai/gpt-4o-mini-search-preview",name:"GPT 4o Mini Search Preview",family:"gpt-mini",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,knowledge:"2023-09",release_date:"2025-01",last_updated:"2025-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:.6},limit:{context:128e3,output:16384}},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.3},limit:{context:131072,output:32768}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.5},limit:{context:131072,output:131072}},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 pro",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image","pdf"],output:["text","image"]},open_weights:false,cost:{input:15,output:120},limit:{context:4e5,output:272e3}},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.18},limit:{context:4e5,output:128e3}},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,input:272e3,output:128e3}},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-09",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.15,output:.6,cache_read:.08},limit:{context:128e3,output:16384}},"openai/o3":{id:"openai/o3",name:"o3",family:"o",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:2e5,output:1e5}},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.025},limit:{context:4e5,input:272e3,output:128e3}},"openai/o1":{id:"openai/o1",name:"o1",family:"o",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2023-09",release_date:"2024-12-05",last_updated:"2024-12-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:60,cache_read:7.5},limit:{context:2e5,output:1e5}},"openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",family:"o-mini",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.28},limit:{context:2e5,output:1e5}},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:1047576,output:32768}},"openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-09",release_date:"2024-05-13",last_updated:"2024-08-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.5,output:10,cache_read:1.25},limit:{context:128e3,output:16384}},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5-Codex",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,input:272e3,output:128e3}},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",family:"gpt-nano",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.05,output:.4,cache_read:.005},limit:{context:4e5,input:272e3,output:128e3}},"openai/o3-mini":{id:"openai/o3-mini",name:"o3-mini",family:"o-mini",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05",release_date:"2024-12-20",last_updated:"2025-01-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.55},limit:{context:2e5,output:1e5}},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"GPT-4 Turbo",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:false,temperature:true,knowledge:"2023-12",release_date:"2023-11-06",last_updated:"2024-04-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:10,output:30},limit:{context:128e3,output:4096}},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:1.6,cache_read:.1},limit:{context:1047576,output:32768}},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"GPT-4.1 nano",family:"gpt-nano",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.03},limit:{context:1047576,output:32768}},"perplexity/sonar-reasoning":{id:"perplexity/sonar-reasoning",name:"Sonar Reasoning",family:"sonar-reasoning",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-09",release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:5},limit:{context:127e3,output:8e3}},"perplexity/sonar":{id:"perplexity/sonar",name:"Sonar",family:"sonar",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-02",release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1,output:1},limit:{context:127e3,output:8e3}},"perplexity/sonar-pro":{id:"perplexity/sonar-pro",name:"Sonar Pro",family:"sonar-pro",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-09",release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:2e5,output:8e3}},"perplexity/sonar-reasoning-pro":{id:"perplexity/sonar-reasoning-pro",name:"Sonar Reasoning Pro",family:"sonar-reasoning",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-09",release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2,output:8},limit:{context:127e3,output:8e3}},"zai/glm-4.7":{id:"zai/glm-4.7",name:"GLM 4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2024-10",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.43,output:1.75,cache_read:.08},limit:{context:202752,output:12e4}},"zai/glm-5":{id:"zai/glm-5",name:"GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-19",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:3.2,cache_read:.2},limit:{context:202800,output:131072}},"zai/glm-4.6v-flash":{id:"zai/glm-4.6v-flash",name:"GLM-4.6V-Flash",family:"glm",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,limit:{context:128e3,output:24e3}},"zai/glm-4.5":{id:"zai/glm-4.5",name:"GLM 4.5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2},limit:{context:131072,output:131072}},"zai/glm-4.5-air":{id:"zai/glm-4.5-air",name:"GLM 4.5 Air",family:"glm-air",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:1.1},limit:{context:128e3,output:96e3}},"zai/glm-4.5v":{id:"zai/glm-4.5v",name:"GLM 4.5V",family:"glm",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2025-08-11",last_updated:"2025-08-11",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.6,output:1.8},limit:{context:66e3,output:66e3}},"zai/glm-4.6":{id:"zai/glm-4.6",name:"GLM 4.6",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.45,output:1.8},limit:{context:2e5,output:96e3}},"zai/glm-4.7-flashx":{id:"zai/glm-4.7-flashx",name:"GLM 4.7 FlashX",family:"glm-flash",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2025-01",release_date:"2025-01",last_updated:"2025-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.06,output:.4,cache_read:.01},limit:{context:2e5,output:128e3}},"zai/glm-4.6v":{id:"zai/glm-4.6v",name:"GLM-4.6V",family:"glm",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:.9,cache_read:.05},limit:{context:128e3,output:24e3}},"amazon/nova-2-lite":{id:"amazon/nova-2-lite",name:"Nova 2 Lite",family:"nova",attachment:true,reasoning:true,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5},limit:{context:1e6,output:1e6}},"amazon/titan-embed-text-v2":{id:"amazon/titan-embed-text-v2",name:"Titan Text Embeddings V2",family:"titan-embed",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-04",last_updated:"2024-04",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.02,output:0},limit:{context:8192,output:1536}},"amazon/nova-micro":{id:"amazon/nova-micro",name:"Nova Micro",family:"nova-micro",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-03",last_updated:"2024-12-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.035,output:.14,cache_read:.00875},limit:{context:128e3,output:8192}},"amazon/nova-pro":{id:"amazon/nova-pro",name:"Nova Pro",family:"nova-pro",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-03",last_updated:"2024-12-03",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.8,output:3.2,cache_read:.2},limit:{context:3e5,output:8192}},"amazon/nova-lite":{id:"amazon/nova-lite",name:"Nova Lite",family:"nova-lite",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-03",last_updated:"2024-12-03",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.06,output:.24,cache_read:.015},limit:{context:3e5,output:8192}},"morph/morph-v3-fast":{id:"morph/morph-v3-fast",name:"Morph v3 Fast",family:"morph",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-08-15",last_updated:"2024-08-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.8,output:1.2},limit:{context:16e3,output:16e3}},"morph/morph-v3-large":{id:"morph/morph-v3-large",name:"Morph v3 Large",family:"morph",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-08-15",last_updated:"2024-08-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.9,output:1.9},limit:{context:32e3,output:32e3}},"meta/llama-3.1-8b":{id:"meta/llama-3.1-8b",name:"Llama 3.1 8B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.03,output:.05},limit:{context:131072,output:16384}},"meta/llama-3.2-90b":{id:"meta/llama-3.2-90b",name:"Llama 3.2 90B Vision Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.72,output:.72},limit:{context:128e3,output:8192}},"meta/llama-3.2-1b":{id:"meta/llama-3.2-1b",name:"Llama 3.2 1B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-12",release_date:"2024-09-18",last_updated:"2024-09-18",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:.1},limit:{context:128e3,output:8192}},"meta/llama-3.2-11b":{id:"meta/llama-3.2-11b",name:"Llama 3.2 11B Vision Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.16,output:.16},limit:{context:128e3,output:8192}},"meta/llama-3.2-3b":{id:"meta/llama-3.2-3b",name:"Llama 3.2 3B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-12",release_date:"2024-09-18",last_updated:"2024-09-18",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:.15},limit:{context:128e3,output:8192}},"meta/llama-3.1-70b":{id:"meta/llama-3.1-70b",name:"Llama 3.1 70B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.4,output:.4},limit:{context:131072,output:16384}},"meta/llama-4-scout":{id:"meta/llama-4-scout",name:"Llama-4-Scout-17B-16E-Instruct-FP8",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"meta/llama-3.3-70b":{id:"meta/llama-3.3-70b",name:"Llama-3.3-70B-Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"meta/llama-4-maverick":{id:"meta/llama-4-maverick",name:"Llama-4-Maverick-17B-128E-Instruct-FP8",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3}},"anthropic/claude-3.5-sonnet-20240620":{id:"anthropic/claude-3.5-sonnet-20240620",name:"Claude 3.5 Sonnet (2024-06-20)",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-06-20",last_updated:"2024-06-20",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:2e5,output:8192}},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2025-08",release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:1e6,output:128e3}},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-11-24",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:18.75},limit:{context:2e5,output:64e3}},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2025-05",release_date:"2026-02",last_updated:"2026-02",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:1e6,output:128e3}},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07-31",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.8,output:4,cache_read:.08,cache_write:1},limit:{context:2e5,output:8192}},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10-31",release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"anthropic/claude-3.5-sonnet":{id:"anthropic/claude-3.5-sonnet",name:"Claude Sonnet 3.5 v2",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04-30",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:8192}},"anthropic/claude-3-opus":{id:"anthropic/claude-3-opus",name:"Claude Opus 3",family:"claude-opus",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-08-31",release_date:"2024-02-29",last_updated:"2024-02-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:4096}},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Claude Haiku 3",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-08-31",release_date:"2024-03-13",last_updated:"2024-03-13",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.25,output:1.25,cache_read:.03,cache_write:.3},limit:{context:2e5,output:4096}},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}}}},nebius:{id:"nebius",env:["NEBIUS_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.tokenfactory.nebius.com/v1",name:"Nebius Token Factory",doc:"https://docs.tokenfactory.nebius.com/",models:{"NousResearch/hermes-4-70b":{id:"NousResearch/hermes-4-70b",name:"Hermes-4-70B",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-11",release_date:"2026-01-30",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.13,output:.4,reasoning:.4,cache_read:.013,cache_write:.16},limit:{context:128e3,input:12e4,output:8192}},"NousResearch/hermes-4-405b":{id:"NousResearch/hermes-4-405b",name:"Hermes-4-405B",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-11",release_date:"2026-01-30",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3,reasoning:3,cache_read:.1,cache_write:1.25},limit:{context:128e3,input:12e4,output:8192}},"intfloat/e5-mistral-7b-instruct":{id:"intfloat/e5-mistral-7b-instruct",name:"e5-mistral-7b-instruct",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:false,knowledge:"2023-12",release_date:"2024-01-01",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.01,output:0},limit:{context:32768,input:32768,output:0}},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",family:"kimi",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-06",release_date:"2025-12-15",last_updated:"2026-02-04",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.5,output:2.5,reasoning:2.5,cache_read:.05,cache_write:.625},limit:{context:262144,input:25e4,output:8192}},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi-K2-Thinking",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-10",release_date:"2026-01-05",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5,reasoning:2.5,cache_read:.06,cache_write:.75},limit:{context:128e3,input:12e4,output:16384}},"moonshotai/kimi-k2-instruct":{id:"moonshotai/kimi-k2-instruct",name:"Kimi-K2-Instruct",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-10",release_date:"2026-01-05",last_updated:"2026-02-04",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.5,output:2.4,cache_read:.05,cache_write:.625},limit:{context:2e5,input:19e4,output:8192}},"MiniMaxAI/minimax-m2.1":{id:"MiniMaxAI/minimax-m2.1",name:"MiniMax-M2.1",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-10",release_date:"2026-02-01",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,reasoning:1.2,cache_read:.03,cache_write:.375},limit:{context:128e3,input:12e4,output:8192}},"nvidia/nemotron-nano-v2-12b":{id:"nvidia/nemotron-nano-v2-12b",name:"Nemotron-Nano-V2-12b",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-03-15",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.2,cache_read:.007,cache_write:.08},limit:{context:32e3,input:3e4,output:4096}},"nvidia/llama-3_1-nemotron-ultra-253b-v1":{id:"nvidia/llama-3_1-nemotron-ultra-253b-v1",name:"Llama-3.1-Nemotron-Ultra-253B-v1",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-15",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:1.8,cache_read:.06,cache_write:.75},limit:{context:128e3,input:12e4,output:4096}},"nvidia/nvidia-nemotron-3-nano-30b-a3b":{id:"nvidia/nvidia-nemotron-3-nano-30b-a3b",name:"Nemotron-3-Nano-30B-A3B",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-05",release_date:"2025-08-10",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.06,output:.24,cache_read:.006,cache_write:.075},limit:{context:32e3,input:3e4,output:4096}},"PrimeIntellect/intellect-3":{id:"PrimeIntellect/intellect-3",name:"INTELLECT-3",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-10",release_date:"2026-01-25",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:1.1,cache_read:.02,cache_write:.25},limit:{context:128e3,input:12e4,output:8192}},"BAAI/bge-en-icl":{id:"BAAI/bge-en-icl",name:"BGE-ICL",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:false,knowledge:"2024-06",release_date:"2024-07-30",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.01,output:0},limit:{context:32768,input:32768,output:0}},"BAAI/bge-multilingual-gemma2":{id:"BAAI/bge-multilingual-gemma2",name:"bge-multilingual-gemma2",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:false,knowledge:"2024-06",release_date:"2024-07-30",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.01,output:0},limit:{context:8192,input:8192,output:0}},"google/gemma-2-9b-it-fast":{id:"google/gemma-2-9b-it-fast",name:"Gemma-2-9b-it (Fast)",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,knowledge:"2024-06",release_date:"2024-06-27",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.09,cache_read:.003,cache_write:.0375},limit:{context:8192,input:8e3,output:4096}},"google/gemma-3-27b-it-fast":{id:"google/gemma-3-27b-it-fast",name:"Gemma-3-27b-it (Fast)",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-10",release_date:"2026-01-20",last_updated:"2026-02-04",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.2,output:.6,cache_read:.02,cache_write:.25},limit:{context:128e3,input:12e4,output:8192}},"google/gemma-2-2b-it":{id:"google/gemma-2-2b-it",name:"Gemma-2-2b-it",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,knowledge:"2024-06",release_date:"2024-07-31",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.06,cache_read:.002,cache_write:.025},limit:{context:8192,input:8e3,output:4096}},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma-3-27b-it",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-10",release_date:"2026-01-20",last_updated:"2026-02-04",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.1,output:.3,cache_read:.01,cache_write:.125},limit:{context:128e3,input:12e4,output:8192}},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"gpt-oss-20b",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-09",release_date:"2026-01-10",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.2,cache_read:.005,cache_write:.06},limit:{context:128e3,input:124e3,output:4096}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"gpt-oss-120b",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-09",release_date:"2026-01-10",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6,reasoning:.6,cache_read:.015,cache_write:.18},limit:{context:128e3,input:124e3,output:8192}},"qwen/qwen3-235b-a22b-instruct-2507":{id:"qwen/qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct 2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-25",last_updated:"2025-10-04",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.6},limit:{context:262144,output:8192}},"qwen/qwen3-32b-fast":{id:"qwen/qwen3-32b-fast",name:"Qwen3-32B (Fast)",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-12",release_date:"2026-01-28",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.6,cache_read:.02,cache_write:.25},limit:{context:128e3,input:12e4,output:8192}},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen3-30B-A3B-Thinking-2507",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-12",release_date:"2026-01-28",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3,reasoning:.3,cache_read:.01,cache_write:.125},limit:{context:128e3,input:12e4,output:16384}},"qwen/qwen2.5-vl-72b-instruct":{id:"qwen/qwen2.5-vl-72b-instruct",name:"Qwen2.5-VL-72B-Instruct",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-20",last_updated:"2026-02-04",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.25,output:.75,cache_read:.025,cache_write:.31},limit:{context:128e3,input:12e4,output:8192}},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen3-30B-A3B-Instruct-2507",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-12",release_date:"2026-01-28",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3,cache_read:.01,cache_write:.125},limit:{context:128e3,input:12e4,output:8192}},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen3-Coder-30B-A3B-Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-12",release_date:"2026-01-28",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3,cache_read:.01,cache_write:.125},limit:{context:128e3,input:12e4,output:8192}},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-25",last_updated:"2025-10-04",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.8},limit:{context:262144,output:8192}},"qwen/qwen2.5-coder-7b-fast":{id:"qwen/qwen2.5-coder-7b-fast",name:"Qwen2.5-Coder-7B (Fast)",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-09",release_date:"2024-09-19",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.09,cache_read:.003,cache_write:.03},limit:{context:128e3,input:12e4,output:8192}},"qwen/qwen3-coder-480b-a35b-instruct":{id:"qwen/qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-10-04",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.4,output:1.8},limit:{context:262144,output:66536}},"qwen/qwen3-embedding-8b":{id:"qwen/qwen3-embedding-8b",name:"Qwen3-Embedding-8B",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:false,knowledge:"2025-10",release_date:"2026-01-10",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.01,output:0},limit:{context:32768,input:32768,output:0}},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen3-Next-80B-A3B-Thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-12",release_date:"2026-01-28",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:1.2,reasoning:1.2,cache_read:.015,cache_write:.18},limit:{context:128e3,input:12e4,output:16384}},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen3-32B",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-12",release_date:"2026-01-28",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3,cache_read:.01,cache_write:.125},limit:{context:128e3,input:12e4,output:8192}},"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)",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-12",release_date:"2024-07-23",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.09,cache_read:.003,cache_write:.03},limit:{context:128e3,input:12e4,output:4096}},"meta-llama/llama-3.3-70b-instruct-fast":{id:"meta-llama/llama-3.3-70b-instruct-fast",name:"Llama-3.3-70B-Instruct (Fast)",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-08",release_date:"2025-12-05",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.25,output:.75,cache_read:.025,cache_write:.31},limit:{context:128e3,input:12e4,output:8192}},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-08",release_date:"2025-12-05",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.13,output:.4,cache_read:.013,cache_write:.16},limit:{context:128e3,input:12e4,output:8192}},"meta-llama/meta-llama-3.1-8b-instruct":{id:"meta-llama/meta-llama-3.1-8b-instruct",name:"Meta-Llama-3.1-8B-Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-12",release_date:"2024-07-23",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.06,cache_read:.002,cache_write:.025},limit:{context:128e3,input:12e4,output:4096}},"meta-llama/llama-guard-3-8b":{id:"meta-llama/llama-guard-3-8b",name:"Llama-Guard-3-8B",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:false,knowledge:"2024-04",release_date:"2024-04-18",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.06,cache_read:.002,cache_write:.025},limit:{context:8192,input:8e3,output:1024}},"zai-org/glm-4.5":{id:"zai-org/glm-4.5",name:"GLM-4.5",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-06",release_date:"2025-11-15",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.6,output:2.2,cache_read:.06,cache_write:.75},limit:{context:128e3,input:124e3,output:4096}},"zai-org/glm-4.5-air":{id:"zai-org/glm-4.5-air",name:"GLM-4.5-Air",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-06",release_date:"2025-11-15",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:1.2,cache_read:.02,cache_write:.25},limit:{context:128e3,input:124e3,output:4096}},"zai-org/glm-4.7-fp8":{id:"zai-org/glm-4.7-fp8",name:"GLM-4.7 (FP8)",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-12",release_date:"2026-01-15",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.4,output:2,cache_read:.04,cache_write:.5},limit:{context:128e3,input:124e3,output:4096}},"deepseek-ai/deepseek-r1-0528-fast":{id:"deepseek-ai/deepseek-r1-0528-fast",name:"DeepSeek R1 0528 Fast",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2,output:6},limit:{context:131072,output:8192}},"deepseek-ai/deepseek-r1-0528":{id:"deepseek-ai/deepseek-r1-0528",name:"DeepSeek-R1-0528",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-11",release_date:"2026-01-15",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.8,output:2.4,reasoning:2.4,cache_read:.08,cache_write:1},limit:{context:128e3,input:12e4,output:32768}},"deepseek-ai/deepseek-v3-0324-fast":{id:"deepseek-ai/deepseek-v3-0324-fast",name:"DeepSeek-V3-0324 (Fast)",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-12",release_date:"2025-03-24",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.75,output:2.25,cache_read:.075,cache_write:.28125},limit:{context:128e3,input:12e4,output:8192}},"deepseek-ai/deepseek-v3-0324":{id:"deepseek-ai/deepseek-v3-0324",name:"DeepSeek-V3-0324",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-12",release_date:"2025-03-24",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.5,output:1.5,cache_read:.05,cache_write:.1875},limit:{context:128e3,input:12e4,output:8192}},"deepseek-ai/deepseek-v3.2":{id:"deepseek-ai/deepseek-v3.2",name:"DeepSeek-V3.2",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-11",release_date:"2026-01-20",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.45,reasoning:.45,cache_read:.03,cache_write:.375},limit:{context:128e3,input:12e4,output:8192}},"black-forest-labs/flux-dev":{id:"black-forest-labs/flux-dev",name:"FLUX.1-dev",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:false,knowledge:"2024-07",release_date:"2024-08-01",last_updated:"2026-02-04",modalities:{input:["text"],output:["image"]},open_weights:true,cost:{input:0,output:0},limit:{context:77,input:77,output:0}},"black-forest-labs/flux-schnell":{id:"black-forest-labs/flux-schnell",name:"FLUX.1-schnell",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:false,knowledge:"2024-07",release_date:"2024-08-01",last_updated:"2026-02-04",modalities:{input:["text"],output:["image"]},open_weights:true,cost:{input:0,output:0},limit:{context:77,input:77,output:0}}}},deepseek:{id:"deepseek",env:["DEEPSEEK_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.deepseek.com",name:"DeepSeek",doc:"https://platform.deepseek.com/api-docs/pricing",models:{"deepseek-chat":{id:"deepseek-chat",name:"DeepSeek Chat",family:"deepseek",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-12-26",last_updated:"2025-09-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.28,output:.42,cache_read:.028},limit:{context:128e3,output:8192}},"deepseek-reasoner":{id:"deepseek-reasoner",name:"DeepSeek Reasoner",family:"deepseek-thinking",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-07",release_date:"2025-01-20",last_updated:"2025-09-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.28,output:.42,cache_read:.028},limit:{context:128e3,output:128e3}}}},"alibaba-cn":{id:"alibaba-cn",env:["DASHSCOPE_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://dashscope.aliyuncs.com/compatible-mode/v1",name:"Alibaba (China)",doc:"https://www.alibabacloud.com/help/en/model-studio/models",models:{"deepseek-r1-distill-qwen-7b":{id:"deepseek-r1-distill-qwen-7b",name:"DeepSeek R1 Distill Qwen 7B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.072,output:.144},limit:{context:32768,output:16384}},"qwen3-asr-flash":{id:"qwen3-asr-flash",name:"Qwen3-ASR Flash",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2024-04",release_date:"2025-09-08",last_updated:"2025-09-08",modalities:{input:["audio"],output:["text"]},open_weights:false,cost:{input:.032,output:.032},limit:{context:53248,output:4096}},"deepseek-r1-0528":{id:"deepseek-r1-0528",name:"DeepSeek R1 0528",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.574,output:2.294},limit:{context:131072,output:16384}},"deepseek-v3":{id:"deepseek-v3",name:"DeepSeek V3",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.287,output:1.147},limit:{context:65536,output:8192}},"qwen-omni-turbo":{id:"qwen-omni-turbo",name:"Qwen-Omni Turbo",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-01-19",last_updated:"2025-03-26",modalities:{input:["text","image","audio","video"],output:["text","audio"]},open_weights:false,cost:{input:.058,output:.23,input_audio:3.584,output_audio:7.168},limit:{context:32768,output:2048}},"qwen-vl-max":{id:"qwen-vl-max",name:"Qwen-VL Max",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-04-08",last_updated:"2025-08-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.23,output:.574},limit:{context:131072,output:8192}},"deepseek-v3-2-exp":{id:"deepseek-v3-2-exp",name:"DeepSeek V3.2 Exp",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.287,output:.431},limit:{context:131072,output:65536}},"qwen3-next-80b-a3b-instruct":{id:"qwen3-next-80b-a3b-instruct",name:"Qwen3-Next 80B-A3B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09",last_updated:"2025-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.144,output:.574},limit:{context:131072,output:32768}},"deepseek-r1":{id:"deepseek-r1",name:"DeepSeek R1",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.574,output:2.294},limit:{context:131072,output:16384}},"qwen-turbo":{id:"qwen-turbo",name:"Qwen Turbo",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-11-01",last_updated:"2025-07-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.044,output:.087,reasoning:.431},limit:{context:1e6,output:16384}},"qwen3-vl-235b-a22b":{id:"qwen3-vl-235b-a22b",name:"Qwen3-VL 235B-A22B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.286705,output:1.14682,reasoning:2.867051},limit:{context:131072,output:32768}},"qwen3-coder-flash":{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.144,output:.574},limit:{context:1e6,output:65536}},"qwen3-vl-30b-a3b":{id:"qwen3-vl-30b-a3b",name:"Qwen3-VL 30B-A3B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.108,output:.431,reasoning:1.076},limit:{context:131072,output:32768}},"qwen3-14b":{id:"qwen3-14b",name:"Qwen3 14B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.144,output:.574,reasoning:1.434},limit:{context:131072,output:8192}},"qvq-max":{id:"qvq-max",name:"QVQ Max",family:"qvq",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-03-25",last_updated:"2025-03-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.147,output:4.588},limit:{context:131072,output:8192}},"kimi-k2.5":{id:"kimi-k2.5",name:"Moonshot Kimi K2.5",family:"kimi",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:false,temperature:true,release_date:"2025-01-27",last_updated:"2025-01-27",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.574,output:2.411},limit:{context:262144,output:32768}},"qwen3.5-397b-a17b":{id:"qwen3.5-397b-a17b",name:"Qwen3.5 397B-A17B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2026-02",last_updated:"2026-02",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.43,output:2.58,reasoning:2.58},limit:{context:262144,output:65536}},"deepseek-r1-distill-qwen-32b":{id:"deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.287,output:.861},limit:{context:32768,output:16384}},"qwen-plus-character":{id:"qwen-plus-character",name:"Qwen Plus Character",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-01",last_updated:"2024-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.115,output:.287},limit:{context:32768,output:4096}},"qwen2-5-14b-instruct":{id:"qwen2-5-14b-instruct",name:"Qwen2.5 14B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.144,output:.431},limit:{context:131072,output:8192}},"qwq-plus":{id:"qwq-plus",name:"QwQ Plus",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-03-05",last_updated:"2025-03-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.23,output:.574},limit:{context:131072,output:8192}},"qwen2-5-coder-32b-instruct":{id:"qwen2-5-coder-32b-instruct",name:"Qwen2.5-Coder 32B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-11",last_updated:"2024-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.287,output:.861},limit:{context:131072,output:8192}},"qwen3-coder-30b-a3b-instruct":{id:"qwen3-coder-30b-a3b-instruct",name:"Qwen3-Coder 30B-A3B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.216,output:.861},limit:{context:262144,output:65536}},"qwen-math-plus":{id:"qwen-math-plus",name:"Qwen Math Plus",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-08-16",last_updated:"2024-09-19",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.574,output:1.721},limit:{context:4096,output:3072}},"qwen-vl-ocr":{id:"qwen-vl-ocr",name:"Qwen-VL OCR",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-04",release_date:"2024-10-28",last_updated:"2025-04-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.717,output:.717},limit:{context:34096,output:4096}},"qwen-doc-turbo":{id:"qwen-doc-turbo",name:"Qwen Doc Turbo",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-01",last_updated:"2024-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.087,output:.144},limit:{context:131072,output:8192}},"qwen-deep-research":{id:"qwen-deep-research",name:"Qwen Deep Research",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-01",last_updated:"2024-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:7.742,output:23.367},limit:{context:1e6,output:32768}},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Moonshot Kimi K2 Thinking",family:"kimi",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.574,output:2.294},limit:{context:262144,output:16384}},"qwen2-5-72b-instruct":{id:"qwen2-5-72b-instruct",name:"Qwen2.5 72B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.574,output:1.721},limit:{context:131072,output:8192}},"qwen3-omni-flash":{id:"qwen3-omni-flash",name:"Qwen3-Omni Flash",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image","audio","video"],output:["text","audio"]},open_weights:false,cost:{input:.058,output:.23,input_audio:3.584,output_audio:7.168},limit:{context:65536,output:16384}},"qwen-flash":{id:"qwen-flash",name:"Qwen Flash",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.022,output:.216},limit:{context:1e6,output:32768}},"qwen3-8b":{id:"qwen3-8b",name:"Qwen3 8B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.072,output:.287,reasoning:.717},limit:{context:131072,output:8192}},"qwen3-omni-flash-realtime":{id:"qwen3-omni-flash-realtime",name:"Qwen3-Omni Flash Realtime",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image","audio"],output:["text","audio"]},open_weights:false,cost:{input:.23,output:.918,input_audio:3.584,output_audio:7.168},limit:{context:65536,output:16384}},"qwen2-5-vl-72b-instruct":{id:"qwen2-5-vl-72b-instruct",name:"Qwen2.5-VL 72B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:2.294,output:6.881},limit:{context:131072,output:8192}},"qwen3-vl-plus":{id:"qwen3-vl-plus",name:"Qwen3-VL Plus",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-23",last_updated:"2025-09-23",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.143353,output:1.433525,reasoning:4.300576},limit:{context:262144,output:32768}},"qwen-plus":{id:"qwen-plus",name:"Qwen Plus",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-01-25",last_updated:"2025-09-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.115,output:.287,reasoning:1.147},limit:{context:1e6,output:32768}},"qwen2-5-32b-instruct":{id:"qwen2-5-32b-instruct",name:"Qwen2.5 32B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.287,output:.861},limit:{context:131072,output:8192}},"qwen2-5-omni-7b":{id:"qwen2-5-omni-7b",name:"Qwen2.5-Omni 7B",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-12",last_updated:"2024-12",modalities:{input:["text","image","audio","video"],output:["text","audio"]},open_weights:true,cost:{input:.087,output:.345,input_audio:5.448},limit:{context:32768,output:2048}},"qwen-max":{id:"qwen-max",name:"Qwen Max",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-04-03",last_updated:"2025-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.345,output:1.377},limit:{context:131072,output:8192}},"qwen-long":{id:"qwen-long",name:"Qwen Long",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-01-25",last_updated:"2025-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.072,output:.287},limit:{context:1e7,output:8192}},"qwen2-5-math-72b-instruct":{id:"qwen2-5-math-72b-instruct",name:"Qwen2.5-Math 72B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.574,output:1.721},limit:{context:4096,output:3072}},"moonshot-kimi-k2-instruct":{id:"moonshot-kimi-k2-instruct",name:"Moonshot Kimi K2 Instruct",family:"kimi",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.574,output:2.294},limit:{context:131072,output:8192}},"tongyi-intent-detect-v3":{id:"tongyi-intent-detect-v3",name:"Tongyi Intent Detect V3",family:"yi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-04",release_date:"2024-01",last_updated:"2024-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.058,output:.144},limit:{context:8192,output:1024}},"qwen2-5-7b-instruct":{id:"qwen2-5-7b-instruct",name:"Qwen2.5 7B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.072,output:.144},limit:{context:131072,output:8192}},"qwen2-5-vl-7b-instruct":{id:"qwen2-5-vl-7b-instruct",name:"Qwen2.5-VL 7B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.287,output:.717},limit:{context:131072,output:8192}},"deepseek-v3-1":{id:"deepseek-v3-1",name:"DeepSeek V3.1",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.574,output:1.721},limit:{context:131072,output:65536}},"deepseek-r1-distill-llama-70b":{id:"deepseek-r1-distill-llama-70b",name:"DeepSeek R1 Distill Llama 70B",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.287,output:.861},limit:{context:32768,output:16384}},"qwen3-235b-a22b":{id:"qwen3-235b-a22b",name:"Qwen3 235B-A22B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.287,output:1.147,reasoning:2.868},limit:{context:131072,output:16384}},"qwen2-5-coder-7b-instruct":{id:"qwen2-5-coder-7b-instruct",name:"Qwen2.5-Coder 7B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-11",last_updated:"2024-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.144,output:.287},limit:{context:131072,output:8192}},"deepseek-r1-distill-qwen-14b":{id:"deepseek-r1-distill-qwen-14b",name:"DeepSeek R1 Distill Qwen 14B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.144,output:.431},limit:{context:32768,output:16384}},"qwen-omni-turbo-realtime":{id:"qwen-omni-turbo-realtime",name:"Qwen-Omni Turbo Realtime",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-05-08",last_updated:"2025-05-08",modalities:{input:["text","image","audio"],output:["text","audio"]},open_weights:false,cost:{input:.23,output:.918,input_audio:3.584,output_audio:7.168},limit:{context:32768,output:2048}},"qwen-math-turbo":{id:"qwen-math-turbo",name:"Qwen Math Turbo",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09-19",last_updated:"2024-09-19",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.287,output:.861},limit:{context:4096,output:3072}},"qwen-mt-turbo":{id:"qwen-mt-turbo",name:"Qwen-MT Turbo",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-04",release_date:"2025-01",last_updated:"2025-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.101,output:.28},limit:{context:16384,output:8192}},"deepseek-r1-distill-llama-8b":{id:"deepseek-r1-distill-llama-8b",name:"DeepSeek R1 Distill Llama 8B",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:32768,output:16384}},"qwen3-coder-480b-a35b-instruct":{id:"qwen3-coder-480b-a35b-instruct",name:"Qwen3-Coder 480B-A35B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.861,output:3.441},limit:{context:262144,output:65536}},"qwen-mt-plus":{id:"qwen-mt-plus",name:"Qwen-MT Plus",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-04",release_date:"2025-01",last_updated:"2025-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.259,output:.775},limit:{context:16384,output:8192}},"qwen3-max":{id:"qwen3-max",name:"Qwen3 Max",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-23",last_updated:"2025-09-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.861,output:3.441},limit:{context:262144,output:65536}},"qwen3.5-plus":{id:"qwen3.5-plus",name:"Qwen3.5 Plus",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2026-02",last_updated:"2026-02",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.573,output:3.44,reasoning:3.44},limit:{context:1e6,output:65536}},"qwq-32b":{id:"qwq-32b",name:"QwQ 32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-12",last_updated:"2024-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.287,output:.861},limit:{context:131072,output:8192}},"qwen2-5-math-7b-instruct":{id:"qwen2-5-math-7b-instruct",name:"Qwen2.5-Math 7B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-09",last_updated:"2024-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.144,output:.287},limit:{context:4096,output:3072}},"qwen3-next-80b-a3b-thinking":{id:"qwen3-next-80b-a3b-thinking",name:"Qwen3-Next 80B-A3B (Thinking)",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09",last_updated:"2025-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.144,output:1.434},limit:{context:131072,output:32768}},"deepseek-r1-distill-qwen-1-5b":{id:"deepseek-r1-distill-qwen-1-5b",name:"DeepSeek R1 Distill Qwen 1.5B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:32768,output:16384}},"qwen3-32b":{id:"qwen3-32b",name:"Qwen3 32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.287,output:1.147,reasoning:2.868},limit:{context:131072,output:16384}},"qwen-vl-plus":{id:"qwen-vl-plus",name:"Qwen-VL Plus",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-01-25",last_updated:"2025-08-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.115,output:.287},limit:{context:131072,output:8192}},"qwen3-coder-plus":{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:5},limit:{context:1048576,output:65536}}}},"google-vertex-anthropic":{id:"google-vertex-anthropic",env:["GOOGLE_VERTEX_PROJECT","GOOGLE_VERTEX_LOCATION","GOOGLE_APPLICATION_CREDENTIALS"],npm:"@ai-sdk/google-vertex/anthropic",name:"Vertex (Anthropic)",doc:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/claude",models:{"claude-sonnet-4-6@default":{id:"claude-sonnet-4-6@default",name:"Claude Sonnet 4.6",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:2e5,output:64e3}},"claude-opus-4-5@20251101":{id:"claude-opus-4-5@20251101",name:"Claude Opus 4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-11-24",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3}},"claude-3-5-sonnet@20241022":{id:"claude-3-5-sonnet@20241022",name:"Claude Sonnet 3.5 v2",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04-30",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:8192}},"claude-3-5-haiku@20241022":{id:"claude-3-5-haiku@20241022",name:"Claude Haiku 3.5",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07-31",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.8,output:4,cache_read:.08,cache_write:1},limit:{context:2e5,output:8192}},"claude-sonnet-4@20250514":{id:"claude-sonnet-4@20250514",name:"Claude Sonnet 4",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"claude-sonnet-4-5@20250929":{id:"claude-sonnet-4-5@20250929",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"claude-opus-4-1@20250805":{id:"claude-opus-4-1@20250805",name:"Claude Opus 4.1",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"claude-haiku-4-5@20251001":{id:"claude-haiku-4-5@20251001",name:"Claude Haiku 4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3}},"claude-3-7-sonnet@20250219":{id:"claude-3-7-sonnet@20250219",name:"Claude Sonnet 3.7",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10-31",release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"claude-opus-4-6@default":{id:"claude-opus-4-6@default",name:"Claude Opus 4.6",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25,context_over_200k:{input:10,output:37.5,cache_read:1,cache_write:12.5}},limit:{context:1e6,output:128e3}},"claude-opus-4@20250514":{id:"claude-opus-4@20250514",name:"Claude Opus 4",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}}}},"novita-ai":{id:"novita-ai",env:["NOVITA_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.novita.ai/openai",name:"NovitaAI",doc:"https://novita.ai/docs/guides/introduction",models:{"baichuan/baichuan-m2-32b":{id:"baichuan/baichuan-m2-32b",name:"baichuan-m2-32b",family:"baichuan",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,knowledge:"2024-12",release_date:"2025-08-13",last_updated:"2025-08-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.07},limit:{context:131072,output:131072}},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",family:"kimi",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3,cache_read:.1},limit:{context:262144,output:262144}},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"Kimi K2 0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5},limit:{context:262144,output:262144}},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",family:"kimi",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-11-07",last_updated:"2025-11-07",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5},limit:{context:262144,output:262144}},"moonshotai/kimi-k2-instruct":{id:"moonshotai/kimi-k2-instruct",name:"Kimi K2 Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-11",last_updated:"2025-07-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.57,output:2.3},limit:{context:131072,output:131072}},"nousresearch/hermes-2-pro-llama-3-8b":{id:"nousresearch/hermes-2-pro-llama-3-8b",name:"Hermes 2 Pro Llama 3 8B",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2024-06-27",last_updated:"2024-06-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.14,output:.14},limit:{context:8192,output:8192}},"paddlepaddle/paddleocr-vl":{id:"paddlepaddle/paddleocr-vl",name:"PaddleOCR-VL",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2025-10-22",last_updated:"2025-10-22",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.02,output:.02},limit:{context:16384,output:16384}},"kwaipilot/kat-coder":{id:"kwaipilot/kat-coder",name:"KAT-Coder-Pro V1(Free)",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:256e3,output:32e3}},"kwaipilot/kat-coder-pro":{id:"kwaipilot/kat-coder-pro",name:"Kat Coder Pro",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01-05",last_updated:"2026-01-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.06},limit:{context:256e3,output:128e3}},"xiaomimimo/mimo-v2-flash":{id:"xiaomimimo/mimo-v2-flash",name:"XiaomiMiMo/MiMo-V2-Flash",family:"mimo",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-12",release_date:"2025-12-19",last_updated:"2025-12-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3,cache_read:.3},limit:{context:262144,output:32e3}},"deepseek/deepseek-ocr-2":{id:"deepseek/deepseek-ocr-2",name:"deepseek/deepseek-ocr-2",attachment:true,reasoning:false,tool_call:false,release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.03,output:.03},limit:{context:8192,output:8192}},"deepseek/deepseek-prover-v2-671b":{id:"deepseek/deepseek-prover-v2-671b",name:"Deepseek Prover V2 671B",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-30",last_updated:"2025-04-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.7,output:2.5},limit:{context:16e4,output:16e4}},"deepseek/deepseek-r1-0528":{id:"deepseek/deepseek-r1-0528",name:"DeepSeek R1 0528",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-07",release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.7,output:2.5,cache_read:.35},limit:{context:163840,output:32768}},"deepseek/deepseek-r1-0528-qwen3-8b":{id:"deepseek/deepseek-r1-0528-qwen3-8b",name:"DeepSeek R1 0528 Qwen3 8B",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-05-29",last_updated:"2025-05-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.06,output:.09},limit:{context:128e3,output:32e3}},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"Deepseek V3.1 Terminus",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-22",last_updated:"2025-09-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:1,cache_read:.135},limit:{context:131072,output:32768}},"deepseek/deepseek-v3.1":{id:"deepseek/deepseek-v3.1",name:"DeepSeek V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-21",last_updated:"2025-08-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:1,cache_read:.135},limit:{context:131072,output:32768}},"deepseek/deepseek-v3-0324":{id:"deepseek/deepseek-v3-0324",name:"DeepSeek V3 0324",family:"deepseek",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-07",release_date:"2025-03-25",last_updated:"2025-03-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:1.12,cache_read:.135},limit:{context:163840,output:163840}},"deepseek/deepseek-r1-turbo":{id:"deepseek/deepseek-r1-turbo",name:"DeepSeek R1 (Turbo) ",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-03-05",last_updated:"2025-03-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.7,output:2.5},limit:{context:64e3,output:16e3}},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"Deepseek V3.2 Exp",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:.41},limit:{context:163840,output:65536}},"deepseek/deepseek-r1-distill-llama-70b":{id:"deepseek/deepseek-r1-distill-llama-70b",name:"DeepSeek R1 Distill LLama 70B",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:false,structured_output:true,temperature:true,release_date:"2025-01-27",last_updated:"2025-01-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.8,output:.8},limit:{context:8192,output:8192}},"deepseek/deepseek-ocr":{id:"deepseek/deepseek-ocr",name:"DeepSeek-OCR",attachment:true,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-10-24",last_updated:"2025-10-24",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.03,output:.03},limit:{context:8192,output:8192}},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"Deepseek V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.269,output:.4,cache_read:.1345},limit:{context:163840,output:65536}},"deepseek/deepseek-v3-turbo":{id:"deepseek/deepseek-v3-turbo",name:"DeepSeek V3 (Turbo) ",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-03-05",last_updated:"2025-03-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:1.3},limit:{context:64e3,output:16e3}},"sao10k/l3-8b-lunaris":{id:"sao10k/l3-8b-lunaris",name:"Sao10k L3 8B Lunaris ",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2024-11-28",last_updated:"2024-11-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.05},limit:{context:8192,output:8192}},"sao10k/L3-8B-Stheno-v3.2":{id:"sao10k/L3-8B-Stheno-v3.2",name:"L3 8B Stheno V3.2",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-11-29",last_updated:"2024-11-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.05},limit:{context:8192,output:32e3}},"sao10k/l31-70b-euryale-v2.2":{id:"sao10k/l31-70b-euryale-v2.2",name:"L31 70B Euryale V2.2",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-09-19",last_updated:"2024-09-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.48,output:1.48},limit:{context:8192,output:8192}},"sao10k/l3-70b-euryale-v2.1":{id:"sao10k/l3-70b-euryale-v2.1",name:"L3 70B Euryale V2.1 ",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-06-18",last_updated:"2024-06-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.48,output:1.48},limit:{context:8192,output:8192}},"skywork/r1v4-lite":{id:"skywork/r1v4-lite",name:"Skywork R1V4-Lite",family:"skywork",attachment:true,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.2,output:.6},limit:{context:262144,output:65536}},"minimaxai/minimax-m1-80k":{id:"minimaxai/minimax-m1-80k",name:"MiniMax M1",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.55,output:2.2},limit:{context:1e6,output:4e4}},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax-M2",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2025-10-27",last_updated:"2025-10-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.03},limit:{context:204800,output:131072}},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"Minimax M2.1",family:"minimax",attachment:false,reasoning:false,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.03},limit:{context:204800,output:131072}},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.2,cache_read:.03},limit:{context:204800,output:131100}},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma 3 27B",family:"gemma",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2025-03-25",last_updated:"2025-03-25",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.119,output:.2},limit:{context:98304,output:16384}},"microsoft/wizardlm-2-8x22b":{id:"microsoft/wizardlm-2-8x22b",name:"Wizardlm 2 8x22B",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-04-24",last_updated:"2024-04-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.62,output:.62},limit:{context:65535,output:8e3}},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"OpenAI: GPT OSS 20B",attachment:true,reasoning:true,tool_call:false,structured_output:true,temperature:true,release_date:"2025-08-06",last_updated:"2025-08-06",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.04,output:.15},limit:{context:131072,output:32768}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"OpenAI GPT OSS 120B",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-06",last_updated:"2025-08-06",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.05,output:.25},limit:{context:131072,output:32768}},"gryphe/mythomax-l2-13b":{id:"gryphe/mythomax-l2-13b",name:"Mythomax L2 13B",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-04-25",last_updated:"2024-04-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.09,output:.09},limit:{context:4096,output:3200}},"baidu/ernie-4.5-vl-28b-a3b-thinking":{id:"baidu/ernie-4.5-vl-28b-a3b-thinking",name:"ERNIE-4.5-VL-28B-A3B-Thinking",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-11-26",last_updated:"2025-11-26",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.39,output:.39},limit:{context:131072,output:65536}},"baidu/ernie-4.5-300b-a47b-paddle":{id:"baidu/ernie-4.5-300b-a47b-paddle",name:"ERNIE 4.5 300B A47B",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-06-30",last_updated:"2025-06-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.28,output:1.1},limit:{context:123e3,output:12e3}},"baidu/ernie-4.5-21B-a3b":{id:"baidu/ernie-4.5-21B-a3b",name:"ERNIE 4.5 21B A3B",family:"ernie",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-06-30",last_updated:"2025-06-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.28},limit:{context:12e4,output:8e3}},"baidu/ernie-4.5-21B-a3b-thinking":{id:"baidu/ernie-4.5-21B-a3b-thinking",name:"ERNIE-4.5-21B-A3B-Thinking",family:"ernie",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-03",release_date:"2025-09-19",last_updated:"2025-09-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.28},limit:{context:131072,output:65536}},"baidu/ernie-4.5-vl-424b-a47b":{id:"baidu/ernie-4.5-vl-424b-a47b",name:"ERNIE 4.5 VL 424B A47B",attachment:true,reasoning:true,tool_call:false,temperature:true,release_date:"2025-06-30",last_updated:"2025-06-30",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.42,output:1.25},limit:{context:123e3,output:16e3}},"baidu/ernie-4.5-vl-28b-a3b":{id:"baidu/ernie-4.5-vl-28b-a3b",name:"ERNIE 4.5 VL 28B A3B",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-06-30",last_updated:"2025-06-30",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:1.4,output:5.6},limit:{context:3e4,output:8e3}},"qwen/qwen3-vl-30b-a3b-thinking":{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"qwen/qwen3-vl-30b-a3b-thinking",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-11",last_updated:"2025-10-11",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.2,output:1},limit:{context:131072,output:32768}},"qwen/qwen3-235b-a22b-instruct-2507":{id:"qwen/qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-22",last_updated:"2025-07-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.09,output:.58},limit:{context:131072,output:16384}},"qwen/qwen3-omni-30b-a3b-thinking":{id:"qwen/qwen3-omni-30b-a3b-thinking",name:"Qwen3 Omni 30B A3B Thinking",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-24",last_updated:"2025-09-24",modalities:{input:["text","audio","video","image"],output:["text"]},open_weights:true,cost:{input:.25,output:.97,input_audio:2.2,output_audio:1.788},limit:{context:65536,output:16384}},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-10",last_updated:"2025-09-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:1.5},limit:{context:131072,output:32768}},"qwen/qwen3-8b-fp8":{id:"qwen/qwen3-8b-fp8",name:"Qwen3 8B",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-04-29",last_updated:"2025-04-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.035,output:.138},limit:{context:128e3,output:2e4}},"qwen/qwen2.5-vl-72b-instruct":{id:"qwen/qwen2.5-vl-72b-instruct",name:"Qwen2.5 VL 72B Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2025-03-25",last_updated:"2025-03-25",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.8,output:.8},limit:{context:32768,output:32768}},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen3.5-397B-A17B",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3.6},limit:{context:262144,output:64e3}},"qwen/qwen3-4b-fp8":{id:"qwen/qwen3-4b-fp8",name:"Qwen3 4B",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-04-29",last_updated:"2025-04-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.03},limit:{context:128e3,output:2e4}},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen3 Coder 30b A3B Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-09",last_updated:"2025-10-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.27},limit:{context:16e4,output:32768}},"qwen/qwen3-vl-8b-instruct":{id:"qwen/qwen3-vl-8b-instruct",name:"qwen/qwen3-vl-8b-instruct",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-17",last_updated:"2025-10-17",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.08,output:.5},limit:{context:131072,output:32768}},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22b Thinking 2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-25",last_updated:"2025-07-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:3},limit:{context:131072,output:32768}},"qwen/qwen2.5-7b-instruct":{id:"qwen/qwen2.5-7b-instruct",name:"Qwen2.5 7B Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.07},limit:{context:32e3,output:32e3}},"qwen/qwen3-30b-a3b-fp8":{id:"qwen/qwen3-30b-a3b-fp8",name:"Qwen3 30B A3B",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-04-29",last_updated:"2025-04-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.09,output:.45},limit:{context:40960,output:2e4}},"qwen/qwen3-32b-fp8":{id:"qwen/qwen3-32b-fp8",name:"Qwen3 32B",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-04-29",last_updated:"2025-04-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.45},limit:{context:40960,output:2e4}},"qwen/qwen3-omni-30b-a3b-instruct":{id:"qwen/qwen3-omni-30b-a3b-instruct",name:"Qwen3 Omni 30B A3B Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-04",release_date:"2025-09-24",last_updated:"2025-09-24",modalities:{input:["text","video","audio","image"],output:["text","audio"]},open_weights:true,cost:{input:.25,output:.97,input_audio:2.2,output_audio:1.788},limit:{context:65536,output:16384}},"qwen/qwen-2.5-72b-instruct":{id:"qwen/qwen-2.5-72b-instruct",name:"Qwen 2.5 72B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-04",release_date:"2024-10-15",last_updated:"2024-10-15",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.38,output:.4},limit:{context:32e3,output:8192}},"qwen/qwen3-coder-480b-a35b-instruct":{id:"qwen/qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.3},limit:{context:262144,output:65536}},"qwen/qwen3-vl-235b-a22b-thinking":{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen3 VL 235B A22B Thinking",attachment:true,reasoning:true,tool_call:false,temperature:true,release_date:"2025-09-24",last_updated:"2025-09-24",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.98,output:3.95},limit:{context:131072,output:32768}},"qwen/qwen-mt-plus":{id:"qwen/qwen-mt-plus",name:"Qwen MT Plus",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-09-03",last_updated:"2025-09-03",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.25,output:.75},limit:{context:16384,output:8192}},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen3 Max",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-24",last_updated:"2025-09-24",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2.11,output:8.45},limit:{context:262144,output:65536}},"qwen/qwen3-vl-235b-a22b-instruct":{id:"qwen/qwen3-vl-235b-a22b-instruct",name:"Qwen3 VL 235B A22B Instruct",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-24",last_updated:"2025-09-24",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.3,output:1.5},limit:{context:131072,output:32768}},"qwen/qwen3-vl-30b-a3b-instruct":{id:"qwen/qwen3-vl-30b-a3b-instruct",name:"qwen/qwen3-vl-30b-a3b-instruct",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-11",last_updated:"2025-10-11",modalities:{input:["text","video","image"],output:["text"]},open_weights:true,cost:{input:.2,output:.7},limit:{context:131072,output:32768}},"qwen/qwen3-coder-next":{id:"qwen/qwen3-coder-next",name:"Qwen3 Coder Next",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-03",last_updated:"2026-02-03",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:1.5},limit:{context:262144,output:65536}},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-10",last_updated:"2025-09-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:1.5},limit:{context:131072,output:32768}},"qwen/qwen3-235b-a22b-fp8":{id:"qwen/qwen3-235b-a22b-fp8",name:"Qwen3 235B A22B",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-04-29",last_updated:"2025-04-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.8},limit:{context:40960,output:2e4}},"mistralai/mistral-nemo":{id:"mistralai/mistral-nemo",name:"Mistral Nemo",family:"mistral-nemo",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2024-07-30",last_updated:"2024-07-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.04,output:.17},limit:{context:60288,output:16e3}},"meta-llama/llama-3-70b-instruct":{id:"meta-llama/llama-3-70b-instruct",name:"Llama3 70B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2024-04-25",last_updated:"2024-04-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.51,output:.74},limit:{context:8192,output:8e3}},"meta-llama/llama-3-8b-instruct":{id:"meta-llama/llama-3-8b-instruct",name:"Llama 3 8B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-04-25",last_updated:"2024-04-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.04,output:.04},limit:{context:8192,output:8192}},"meta-llama/llama-3.1-8b-instruct":{id:"meta-llama/llama-3.1-8b-instruct",name:"Llama 3.1 8B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-07-24",last_updated:"2024-07-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.05},limit:{context:16384,output:16384}},"meta-llama/llama-4-maverick-17b-128e-instruct-fp8":{id:"meta-llama/llama-4-maverick-17b-128e-instruct-fp8",name:"Llama 4 Maverick Instruct",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-06",last_updated:"2025-04-06",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.27,output:.85},limit:{context:1048576,output:8192}},"meta-llama/llama-3.3-70b-instruct":{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-07",last_updated:"2024-12-07",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.135,output:.4},limit:{context:131072,output:12e4}},"meta-llama/llama-4-scout-17b-16e-instruct":{id:"meta-llama/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout Instruct",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-06",last_updated:"2025-04-06",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.18,output:.59},limit:{context:131072,output:131072}},"zai-org/glm-4.7":{id:"zai-org/glm-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2,cache_read:.11},limit:{context:204800,output:131072}},"zai-org/glm-5":{id:"zai-org/glm-5",name:"GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-02-11",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3.2,cache_read:.2},limit:{context:202800,output:131072}},"zai-org/glm-4.5":{id:"zai-org/glm-4.5",name:"GLM-4.5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2,cache_read:.11},limit:{context:131072,output:98304}},"zai-org/glm-4.7-flash":{id:"zai-org/glm-4.7-flash",name:"GLM-4.7-Flash",family:"glm",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2026-01-19",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.4,cache_read:.01},limit:{context:2e5,output:128e3}},"zai-org/glm-4.5-air":{id:"zai-org/glm-4.5-air",name:"GLM 4.5 Air",family:"glm-air",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-10-13",last_updated:"2025-10-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.13,output:.85},limit:{context:131072,output:98304}},"zai-org/glm-4.5v":{id:"zai-org/glm-4.5v",name:"GLM 4.5V",family:"glmv",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-08-11",last_updated:"2025-08-11",modalities:{input:["text","video","image"],output:["text"]},open_weights:true,cost:{input:.6,output:1.8,cache_read:.11},limit:{context:65536,output:16384}},"zai-org/glm-4.6":{id:"zai-org/glm-4.6",name:"GLM 4.6",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.55,output:2.2,cache_read:.11},limit:{context:204800,output:131072}},"zai-org/glm-4.6v":{id:"zai-org/glm-4.6v",name:"GLM 4.6V",family:"glmv",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-12-08",last_updated:"2025-12-08",modalities:{input:["text","video","image"],output:["text"]},open_weights:true,cost:{input:.3,output:.9,cache_read:.055},limit:{context:131072,output:32768}},"zai-org/autoglm-phone-9b-multilingual":{id:"zai-org/autoglm-phone-9b-multilingual",name:"AutoGLM-Phone-9B-Multilingual",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2025-12-10",last_updated:"2025-12-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.035,output:.138},limit:{context:65536,output:65536}}}},venice:{id:"venice",env:["VENICE_API_KEY"],npm:"venice-ai-sdk-provider",name:"Venice AI",doc:"https://docs.venice.ai",models:{"grok-41-fast":{id:"grok-41-fast",name:"Grok 4.1 Fast",family:"grok",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-07",release_date:"2025-12-01",last_updated:"2026-01-28",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.5,output:1.25,cache_read:.125},limit:{context:256e3,output:64e3}},"qwen3-235b-a22b-instruct-2507":{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen 3 235B A22B Instruct 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-07",release_date:"2025-04-29",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.75},limit:{context:128e3,output:32e3}},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-19",last_updated:"2026-01-28",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.7,output:3.75,cache_read:.07},limit:{context:256e3,output:64e3}},"claude-opus-45":{id:"claude-opus-45",name:"Claude Opus 4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-03",release_date:"2025-12-06",last_updated:"2026-01-28",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:6,output:30,cache_read:.6,cache_write:7.5},limit:{context:198e3,output:49500}},"mistral-31-24b":{id:"mistral-31-24b",name:"Venice Medium",family:"mistral",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-10",release_date:"2025-03-18",last_updated:"2026-01-28",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.5,output:2},limit:{context:128e3,output:32e3}},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",family:"grok",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-01",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:1.87,cache_read:.03},limit:{context:256e3,output:64e3}},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-17",last_updated:"2026-02-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3.75,output:18.75,cache_read:.375,cache_write:4.69,context_over_200k:{input:6,output:25,cache_read:.6,cache_write:7.5}},limit:{context:1e6,output:128e3}},"zai-org-glm-4.7":{id:"zai-org-glm-4.7",name:"GLM 4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-12-24",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.55,output:2.65,cache_read:.11},limit:{context:198e3,output:49500}},"qwen3-vl-235b-a22b":{id:"qwen3-vl-235b-a22b",name:"Qwen3 VL 235B",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01-16",last_updated:"2026-01-28",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.25,output:1.5},limit:{context:256e3,output:64e3}},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-05",last_updated:"2026-02-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:6,output:30,cache_read:.6,cache_write:7.5,context_over_200k:{input:11,output:41.25,cache_read:1.1,cache_write:13.75}},limit:{context:1e6,output:128e3}},"venice-uncensored":{id:"venice-uncensored",name:"Venice Uncensored 1.1",family:"venice",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,knowledge:"2023-10",release_date:"2025-03-18",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.9},limit:{context:32e3,output:8e3}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-04",release_date:"2025-12-02",last_updated:"2026-01-28",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:2.5,output:15,cache_read:.625},limit:{context:198e3,output:49500}},"openai-gpt-52":{id:"openai-gpt-52",name:"GPT-5.2",family:"gpt",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-08-31",release_date:"2025-12-13",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2.19,output:17.5,cache_read:.219},limit:{context:256e3,output:64e3}},"minimax-m25":{id:"minimax-m25",name:"MiniMax M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2026-02-12",last_updated:"2026-02-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:1.6,cache_read:.04},limit:{context:198e3,output:32e3}},"qwen3-4b":{id:"qwen3-4b",name:"Venice Small",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-07",release_date:"2025-04-29",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.15},limit:{context:32e3,output:8e3}},"llama-3.3-70b":{id:"llama-3.3-70b",name:"Llama 3.3 70B",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2025-04-06",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.7,output:2.8},limit:{context:128e3,output:32e3}},"claude-sonnet-45":{id:"claude-sonnet-45",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-09",release_date:"2025-01-15",last_updated:"2026-01-28",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3.75,output:18.75,cache_read:.375,cache_write:4.69},limit:{context:198e3,output:49500}},"openai-gpt-oss-120b":{id:"openai-gpt-oss-120b",name:"OpenAI GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-11-06",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.3},limit:{context:128e3,output:32e3}},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-04",release_date:"2025-12-10",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.75,output:3.2,cache_read:.375},limit:{context:256e3,output:64e3}},"qwen3-235b-a22b-thinking-2507":{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen 3 235B A22B Thinking 2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-07",release_date:"2025-04-29",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.45,output:3.5},limit:{context:128e3,output:32e3}},"gemini-3-1-pro-preview":{id:"gemini-3-1-pro-preview",name:"Gemini 3.1 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-19",last_updated:"2026-02-19",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:2.5,output:15,cache_read:.5,cache_write:.5,context_over_200k:{input:5,output:22.5,cache_read:.5}},limit:{context:1e6,output:25e4}},"zai-org-glm-4.7-flash":{id:"zai-org-glm-4.7-flash",name:"GLM 4.7 Flash",family:"glm-flash",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01-29",last_updated:"2026-02-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.125,output:.5},limit:{context:128e3,output:32e3}},"llama-3.2-3b":{id:"llama-3.2-3b",name:"Llama 3.2 3B",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-10-03",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:128e3,output:32e3}},"google-gemma-3-27b-it":{id:"google-gemma-3-27b-it",name:"Google Gemma 3 27B Instruct",family:"gemma",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-07",release_date:"2025-11-04",last_updated:"2026-01-28",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.12,output:.2},limit:{context:198e3,output:49500}},"kimi-k2-5":{id:"kimi-k2-5",name:"Kimi K2.5",family:"kimi",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2024-04",release_date:"2026-01-27",last_updated:"2026-01-28",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.75,output:3.75,cache_read:.125},limit:{context:256e3,output:64e3}},"hermes-3-llama-3.1-405b":{id:"hermes-3-llama-3.1-405b",name:"Hermes 3 Llama 3.1 405b",family:"hermes",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-04",release_date:"2025-09-25",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.1,output:3},limit:{context:128e3,output:32e3}},"olafangensan-glm-4.7-flash-heretic":{id:"olafangensan-glm-4.7-flash-heretic",name:"GLM 4.7 Flash Heretic",family:"glm-flash",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-04",last_updated:"2026-02-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.14,output:.8},limit:{context:128e3,output:32e3}},"minimax-m21":{id:"minimax-m21",name:"MiniMax M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-01",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:1.6,cache_read:.04},limit:{context:198e3,output:49500}},"qwen3-next-80b":{id:"qwen3-next-80b",name:"Qwen 3 Next 80b",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-07",release_date:"2025-04-29",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.35,output:1.9},limit:{context:256e3,output:64e3}},"qwen3-coder-480b-a35b-instruct":{id:"qwen3-coder-480b-a35b-instruct",name:"Qwen 3 Coder 480b",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-07",release_date:"2025-04-29",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.75,output:3},limit:{context:256e3,output:64e3}},"openai-gpt-52-codex":{id:"openai-gpt-52-codex",name:"GPT-5.2 Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-08",release_date:"2025-01-15",last_updated:"2026-01-28",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.19,output:17.5,cache_read:.219},limit:{context:256e3,output:64e3}},"deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-10",release_date:"2025-12-04",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:1,cache_read:.2},limit:{context:16e4,output:4e4}},"zai-org-glm-5":{id:"zai-org-glm-5",name:"GLM 5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3.2,cache_read:.2},limit:{context:198e3,output:49500}}}},"siliconflow-cn":{id:"siliconflow-cn",env:["SILICONFLOW_CN_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.siliconflow.cn/v1",name:"SiliconFlow (China)",doc:"https://cloud.siliconflow.com/models",models:{"inclusionAI/Ring-flash-2.0":{id:"inclusionAI/Ring-flash-2.0",name:"inclusionAI/Ring-flash-2.0",family:"ring",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-29",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.57},limit:{context:131e3,output:131e3}},"inclusionAI/Ling-flash-2.0":{id:"inclusionAI/Ling-flash-2.0",name:"inclusionAI/Ling-flash-2.0",family:"ling",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.57},limit:{context:131e3,output:131e3}},"inclusionAI/Ling-mini-2.0":{id:"inclusionAI/Ling-mini-2.0",name:"inclusionAI/Ling-mini-2.0",family:"ling",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-10",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.07,output:.28},limit:{context:131e3,output:131e3}},"Kwaipilot/KAT-Dev":{id:"Kwaipilot/KAT-Dev",name:"Kwaipilot/KAT-Dev",family:"kat-coder",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-27",last_updated:"2026-01-16",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.6},limit:{context:128e3,output:128e3}},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"moonshotai/Kimi-K2-Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-11-07",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.55,output:2.5},limit:{context:262e3,output:262e3}},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"moonshotai/Kimi-K2-Instruct-0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-08",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.4,output:2},limit:{context:262e3,output:262e3}},"tencent/Hunyuan-A13B-Instruct":{id:"tencent/Hunyuan-A13B-Instruct",name:"tencent/Hunyuan-A13B-Instruct",family:"hunyuan",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-06-30",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.57},limit:{context:131e3,output:131e3}},"tencent/Hunyuan-MT-7B":{id:"tencent/Hunyuan-MT-7B",name:"tencent/Hunyuan-MT-7B",family:"hunyuan",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:33e3,output:33e3}},"THUDM/GLM-Z1-32B-0414":{id:"THUDM/GLM-Z1-32B-0414",name:"THUDM/GLM-Z1-32B-0414",family:"glm-z",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.57},limit:{context:131e3,output:131e3}},"THUDM/GLM-4-9B-0414":{id:"THUDM/GLM-4-9B-0414",name:"THUDM/GLM-4-9B-0414",family:"glm",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.086,output:.086},limit:{context:33e3,output:33e3}},"THUDM/GLM-Z1-9B-0414":{id:"THUDM/GLM-Z1-9B-0414",name:"THUDM/GLM-Z1-9B-0414",family:"glm-z",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.086,output:.086},limit:{context:131e3,output:131e3}},"THUDM/GLM-4-32B-0414":{id:"THUDM/GLM-4-32B-0414",name:"THUDM/GLM-4-32B-0414",family:"glm",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:.27},limit:{context:33e3,output:33e3}},"ascend-tribe/pangu-pro-moe":{id:"ascend-tribe/pangu-pro-moe",name:"ascend-tribe/pangu-pro-moe",family:"pangu",attachment:false,reasoning:true,tool_call:false,structured_output:true,temperature:true,release_date:"2025-07-02",last_updated:"2026-01-16",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.6},limit:{context:128e3,output:128e3}},"stepfun-ai/Step-3.5-Flash":{id:"stepfun-ai/Step-3.5-Flash",name:"stepfun-ai/Step-3.5-Flash",family:"step",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:.3},limit:{context:262e3,output:262e3}},"baidu/ERNIE-4.5-300B-A47B":{id:"baidu/ERNIE-4.5-300B-A47B",name:"baidu/ERNIE-4.5-300B-A47B",family:"ernie",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-02",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.28,output:1.1},limit:{context:131e3,output:131e3}},"ByteDance-Seed/Seed-OSS-36B-Instruct":{id:"ByteDance-Seed/Seed-OSS-36B-Instruct",name:"ByteDance-Seed/Seed-OSS-36B-Instruct",family:"seed",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-04",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.21,output:.57},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen/Qwen3-Next-80B-A3B-Thinking",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-25",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.57},limit:{context:262e3,output:262e3}},"Qwen/Qwen2.5-14B-Instruct":{id:"Qwen/Qwen2.5-14B-Instruct",name:"Qwen/Qwen2.5-14B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:.1},limit:{context:33e3,output:4e3}},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen/Qwen3-Next-80B-A3B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:1.4},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-VL-32B-Instruct":{id:"Qwen/Qwen3-VL-32B-Instruct",name:"Qwen/Qwen3-VL-32B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-21",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.6},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-Omni-30B-A3B-Thinking":{id:"Qwen/Qwen3-Omni-30B-A3B-Thinking",name:"Qwen/Qwen3-Omni-30B-A3B-Thinking",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-04",last_updated:"2025-11-25",modalities:{input:["text","image","audio"],output:["text"]},open_weights:false,cost:{input:.1,output:.4},limit:{context:66e3,output:66e3}},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen/Qwen3-235B-A22B-Thinking-2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-28",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.13,output:.6},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-VL-32B-Thinking":{id:"Qwen/Qwen3-VL-32B-Thinking",name:"Qwen/Qwen3-VL-32B-Thinking",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-21",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:1.5},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-VL-30B-A3B-Thinking":{id:"Qwen/Qwen3-VL-30B-A3B-Thinking",name:"Qwen/Qwen3-VL-30B-A3B-Thinking",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-11",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.29,output:1},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen/Qwen3-30B-A3B-Instruct-2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-30",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.09,output:.3},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-VL-235B-A22B-Thinking":{id:"Qwen/Qwen3-VL-235B-A22B-Thinking",name:"Qwen/Qwen3-VL-235B-A22B-Thinking",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-04",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.45,output:3.5},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen/Qwen3-Coder-480B-A35B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-31",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:1},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-VL-235B-A22B-Instruct":{id:"Qwen/Qwen3-VL-235B-A22B-Instruct",name:"Qwen/Qwen3-VL-235B-A22B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-04",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.3,output:1.5},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-VL-8B-Instruct":{id:"Qwen/Qwen3-VL-8B-Instruct",name:"Qwen/Qwen3-VL-8B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-15",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.18,output:.68},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-32B":{id:"Qwen/Qwen3-32B",name:"Qwen/Qwen3-32B",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-30",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.57},limit:{context:131e3,output:131e3}},"Qwen/QwQ-32B":{id:"Qwen/QwQ-32B",name:"Qwen/QwQ-32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-03-06",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:.58},limit:{context:131e3,output:131e3}},"Qwen/Qwen2.5-VL-72B-Instruct":{id:"Qwen/Qwen2.5-VL-72B-Instruct",name:"Qwen/Qwen2.5-VL-72B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-01-28",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.59,output:.59},limit:{context:131e3,output:4e3}},"Qwen/Qwen2.5-7B-Instruct":{id:"Qwen/Qwen2.5-7B-Instruct",name:"Qwen/Qwen2.5-7B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.05,output:.05},limit:{context:33e3,output:4e3}},"Qwen/Qwen3-Coder-30B-A3B-Instruct":{id:"Qwen/Qwen3-Coder-30B-A3B-Instruct",name:"Qwen/Qwen3-Coder-30B-A3B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-01",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.07,output:.28},limit:{context:262e3,output:262e3}},"Qwen/Qwen2.5-72B-Instruct":{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen/Qwen2.5-72B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.59,output:.59},limit:{context:33e3,output:4e3}},"Qwen/Qwen2.5-72B-Instruct-128K":{id:"Qwen/Qwen2.5-72B-Instruct-128K",name:"Qwen/Qwen2.5-72B-Instruct-128K",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.59,output:.59},limit:{context:131e3,output:4e3}},"Qwen/Qwen2.5-32B-Instruct":{id:"Qwen/Qwen2.5-32B-Instruct",name:"Qwen/Qwen2.5-32B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-09-19",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.18,output:.18},limit:{context:33e3,output:4e3}},"Qwen/Qwen2.5-Coder-32B-Instruct":{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen/Qwen2.5-Coder-32B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-11-11",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.18,output:.18},limit:{context:33e3,output:4e3}},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen/Qwen3-235B-A22B-Instruct-2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-23",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.09,output:.6},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-VL-8B-Thinking":{id:"Qwen/Qwen3-VL-8B-Thinking",name:"Qwen/Qwen3-VL-8B-Thinking",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-15",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.18,output:2},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-Omni-30B-A3B-Instruct":{id:"Qwen/Qwen3-Omni-30B-A3B-Instruct",name:"Qwen/Qwen3-Omni-30B-A3B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-04",last_updated:"2025-11-25",modalities:{input:["text","image","audio"],output:["text"]},open_weights:false,cost:{input:.1,output:.4},limit:{context:66e3,output:66e3}},"Qwen/Qwen3-8B":{id:"Qwen/Qwen3-8B",name:"Qwen/Qwen3-8B",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-30",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.06,output:.06},limit:{context:131e3,output:131e3}},"Qwen/Qwen3-Omni-30B-A3B-Captioner":{id:"Qwen/Qwen3-Omni-30B-A3B-Captioner",name:"Qwen/Qwen3-Omni-30B-A3B-Captioner",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-04",last_updated:"2025-11-25",modalities:{input:["audio"],output:["text"]},open_weights:false,cost:{input:.1,output:.4},limit:{context:66e3,output:66e3}},"Qwen/Qwen2.5-VL-32B-Instruct":{id:"Qwen/Qwen2.5-VL-32B-Instruct",name:"Qwen/Qwen2.5-VL-32B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-03-24",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.27,output:.27},limit:{context:131e3,output:131e3}},"Qwen/Qwen3-14B":{id:"Qwen/Qwen3-14B",name:"Qwen/Qwen3-14B",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-30",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.07,output:.28},limit:{context:131e3,output:131e3}},"Qwen/Qwen3-VL-30B-A3B-Instruct":{id:"Qwen/Qwen3-VL-30B-A3B-Instruct",name:"Qwen/Qwen3-VL-30B-A3B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-05",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.29,output:1},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-30B-A3B-Thinking-2507":{id:"Qwen/Qwen3-30B-A3B-Thinking-2507",name:"Qwen/Qwen3-30B-A3B-Thinking-2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-31",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.09,output:.3},limit:{context:262e3,output:131e3}},"zai-org/GLM-4.5-Air":{id:"zai-org/GLM-4.5-Air",name:"zai-org/GLM-4.5-Air",family:"glm-air",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-28",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.86},limit:{context:131e3,output:131e3}},"zai-org/GLM-4.5V":{id:"zai-org/GLM-4.5V",name:"zai-org/GLM-4.5V",family:"glm",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-13",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.14,output:.86},limit:{context:66e3,output:66e3}},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"zai-org/GLM-4.6",family:"glm",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-04",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:1.9},limit:{context:205e3,output:205e3}},"zai-org/GLM-4.6V":{id:"zai-org/GLM-4.6V",name:"zai-org/GLM-4.6V",family:"glm",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-07",last_updated:"2025-12-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.3,output:.9},limit:{context:131e3,output:131e3}},"deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"deepseek-ai/DeepSeek-V3",family:"deepseek",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-12-26",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:1},limit:{context:164e3,output:164e3}},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"deepseek-ai/DeepSeek-V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-03",last_updated:"2025-12-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:.42},limit:{context:164e3,output:164e3}},"deepseek-ai/DeepSeek-V3.1-Terminus":{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"deepseek-ai/DeepSeek-V3.1-Terminus",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-29",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:1},limit:{context:164e3,output:164e3}},"deepseek-ai/DeepSeek-R1-Distill-Qwen-14B":{id:"deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",name:"deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-01-20",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:.1},limit:{context:131e3,output:131e3}},"deepseek-ai/deepseek-vl2":{id:"deepseek-ai/deepseek-vl2",name:"deepseek-ai/deepseek-vl2",family:"deepseek",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-12-13",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.15,output:.15},limit:{context:4e3,output:4e3}},"deepseek-ai/DeepSeek-R1-Distill-Qwen-32B":{id:"deepseek-ai/DeepSeek-R1-Distill-Qwen-32B",name:"deepseek-ai/DeepSeek-R1-Distill-Qwen-32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-01-20",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.18,output:.18},limit:{context:131e3,output:131e3}},"deepseek-ai/DeepSeek-R1":{id:"deepseek-ai/DeepSeek-R1",name:"deepseek-ai/DeepSeek-R1",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-05-28",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:2.18},limit:{context:164e3,output:164e3}},"Pro/moonshotai/Kimi-K2.5":{id:"Pro/moonshotai/Kimi-K2.5",name:"Pro/moonshotai/Kimi-K2.5",family:"kimi",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.55,output:3},limit:{context:262e3,output:262e3}},"Pro/moonshotai/Kimi-K2-Instruct-0905":{id:"Pro/moonshotai/Kimi-K2-Instruct-0905",name:"Pro/moonshotai/Kimi-K2-Instruct-0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-08",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.4,output:2},limit:{context:262e3,output:262e3}},"Pro/moonshotai/Kimi-K2-Thinking":{id:"Pro/moonshotai/Kimi-K2-Thinking",name:"Pro/moonshotai/Kimi-K2-Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-11-07",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.55,output:2.5},limit:{context:262e3,output:262e3}},"Pro/MiniMaxAI/MiniMax-M2.1":{id:"Pro/MiniMaxAI/MiniMax-M2.1",name:"Pro/MiniMaxAI/MiniMax-M2.1",family:"minimax",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.2},limit:{context:197e3,output:131e3}},"Pro/zai-org/GLM-5":{id:"Pro/zai-org/GLM-5",name:"Pro/zai-org/GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:3.2},limit:{context:205e3,output:205e3}},"Pro/zai-org/GLM-4.7":{id:"Pro/zai-org/GLM-4.7",name:"Pro/zai-org/GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.6,output:2.2},limit:{context:205e3,output:205e3}},"Pro/deepseek-ai/DeepSeek-R1":{id:"Pro/deepseek-ai/DeepSeek-R1",name:"Pro/deepseek-ai/DeepSeek-R1",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-05-28",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:2.18},limit:{context:164e3,output:164e3}},"Pro/deepseek-ai/DeepSeek-V3.1-Terminus":{id:"Pro/deepseek-ai/DeepSeek-V3.1-Terminus",name:"Pro/deepseek-ai/DeepSeek-V3.1-Terminus",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-29",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:1},limit:{context:164e3,output:164e3}},"Pro/deepseek-ai/DeepSeek-V3.2":{id:"Pro/deepseek-ai/DeepSeek-V3.2",name:"Pro/deepseek-ai/DeepSeek-V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-03",last_updated:"2025-12-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:.42},limit:{context:164e3,output:164e3}},"Pro/deepseek-ai/DeepSeek-V3":{id:"Pro/deepseek-ai/DeepSeek-V3",name:"Pro/deepseek-ai/DeepSeek-V3",family:"deepseek",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-12-26",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:1},limit:{context:164e3,output:164e3}}}},vivgrid:{id:"vivgrid",env:["VIVGRID_API_KEY"],npm:"@ai-sdk/openai",api:"https://api.vivgrid.com/v1",name:"Vivgrid",doc:"https://docs.vivgrid.com/models",models:{"glm-5":{id:"glm-5",name:"GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3.2,cache_read:.2},limit:{context:202752,output:131e3},provider:{npm:"@ai-sdk/openai-compatible"}},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:.5,output:3,cache_read:.05,context_over_200k:{input:.5,output:3,cache_read:.05}},limit:{context:1048576,output:65536},provider:{npm:"@ai-sdk/openai-compatible"}},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-08-31",release_date:"2026-01-14",last_updated:"2026-01-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,output:128e3}},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.2,context_over_200k:{input:4,output:18,cache_read:.4}},limit:{context:1048576,output:65536},provider:{npm:"@ai-sdk/openai-compatible"}},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.03},limit:{context:272e3,output:128e3},provider:{npm:"@ai-sdk/openai-compatible"}},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek-V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.28,output:.42},limit:{context:128e3,output:128e3},provider:{npm:"@ai-sdk/openai-compatible"}}}},chutes:{id:"chutes",env:["CHUTES_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://llm.chutes.ai/v1",name:"Chutes",doc:"https://llm.chutes.ai/v1/models",models:{"NousResearch/Hermes-4.3-36B":{id:"NousResearch/Hermes-4.3-36B",name:"Hermes 4.3 36B",family:"nousresearch",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.39},limit:{context:32768,output:8192}},"NousResearch/Hermes-4-70B":{id:"NousResearch/Hermes-4-70B",name:"Hermes 4 70B",family:"nousresearch",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.11,output:.38},limit:{context:131072,output:131072}},"NousResearch/Hermes-4-14B":{id:"NousResearch/Hermes-4-14B",name:"Hermes 4 14B",family:"nousresearch",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.01,output:.05},limit:{context:40960,output:40960}},"NousResearch/Hermes-4-405B-FP8-TEE":{id:"NousResearch/Hermes-4-405B-FP8-TEE",name:"Hermes 4 405B FP8 TEE",family:"nousresearch",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:131072,output:65536}},"NousResearch/DeepHermes-3-Mistral-24B-Preview":{id:"NousResearch/DeepHermes-3-Mistral-24B-Preview",name:"DeepHermes 3 Mistral 24B Preview",family:"nousresearch",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.1},limit:{context:32768,output:32768}},"rednote-hilab/dots.ocr":{id:"rednote-hilab/dots.ocr",name:"dots.ocr",family:"rednote",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.01,output:.01,cache_read:.005},limit:{context:131072,output:131072}},"moonshotai/Kimi-K2.5-TEE":{id:"moonshotai/Kimi-K2.5-TEE",name:"Kimi K2.5 TEE",family:"kimi",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3},limit:{context:262144,output:65535}},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi K2 Instruct 0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.39,output:1.9,cache_read:.195},limit:{context:262144,output:262144}},"moonshotai/Kimi-K2-Thinking-TEE":{id:"moonshotai/Kimi-K2-Thinking-TEE",name:"Kimi K2 Thinking TEE",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:1.75},limit:{context:262144,output:65535}},"MiniMaxAI/MiniMax-M2.5-TEE":{id:"MiniMaxAI/MiniMax-M2.5-TEE",name:"MiniMax M2.5 TEE",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-02-15",last_updated:"2026-02-15",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:196608,output:65536}},"MiniMaxAI/MiniMax-M2.1-TEE":{id:"MiniMaxAI/MiniMax-M2.1-TEE",name:"MiniMax M2.1 TEE",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:1.12},limit:{context:196608,output:65536}},"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16":{id:"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16",name:"NVIDIA Nemotron 3 Nano 30B A3B BF16",family:"nemotron",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.06,output:.24},limit:{context:262144,output:262144}},"tngtech/TNG-R1T-Chimera-Turbo":{id:"tngtech/TNG-R1T-Chimera-Turbo",name:"TNG R1T Chimera Turbo",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.22,output:.6},limit:{context:163840,output:65536}},"tngtech/DeepSeek-R1T-Chimera":{id:"tngtech/DeepSeek-R1T-Chimera",name:"DeepSeek R1T Chimera",family:"tngtech",attachment:false,reasoning:true,tool_call:false,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:163840,output:163840}},"tngtech/DeepSeek-TNG-R1T2-Chimera":{id:"tngtech/DeepSeek-TNG-R1T2-Chimera",name:"DeepSeek TNG R1T2 Chimera",family:"tngtech",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.25,output:.85},limit:{context:163840,output:163840}},"tngtech/TNG-R1T-Chimera-TEE":{id:"tngtech/TNG-R1T-Chimera-TEE",name:"TNG R1T Chimera TEE",family:"tngtech",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.25,output:.85},limit:{context:163840,output:65536}},"XiaomiMiMo/MiMo-V2-Flash":{id:"XiaomiMiMo/MiMo-V2-Flash",name:"MiMo V2 Flash",family:"mimo",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.09,output:.29},limit:{context:32768,output:8192}},"OpenGVLab/InternVL3-78B-TEE":{id:"OpenGVLab/InternVL3-78B-TEE",name:"InternVL3 78B TEE",family:"opengvlab",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-01-06",last_updated:"2026-01-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.1,output:.39},limit:{context:32768,output:32768}},"openai/gpt-oss-120b-TEE":{id:"openai/gpt-oss-120b-TEE",name:"gpt oss 120b TEE",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.04,output:.18},limit:{context:131072,output:65536}},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"gpt oss 20b",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.1},limit:{context:131072,output:131072}},"chutesai/Mistral-Small-3.1-24B-Instruct-2503":{id:"chutesai/Mistral-Small-3.1-24B-Instruct-2503",name:"Mistral Small 3.1 24B Instruct 2503",family:"chutesai",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.03,output:.11,cache_read:.015},limit:{context:131072,output:131072}},"chutesai/Mistral-Small-3.2-24B-Instruct-2506":{id:"chutesai/Mistral-Small-3.2-24B-Instruct-2506",name:"Mistral Small 3.2 24B Instruct 2506",family:"chutesai",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.06,output:.18},limit:{context:131072,output:131072}},"mistralai/Devstral-2-123B-Instruct-2512-TEE":{id:"mistralai/Devstral-2-123B-Instruct-2512-TEE",name:"Devstral 2 123B Instruct 2512 TEE",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01-10",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.22},limit:{context:262144,output:65536}},"unsloth/Mistral-Nemo-Instruct-2407":{id:"unsloth/Mistral-Nemo-Instruct-2407",name:"Mistral Nemo Instruct 2407",family:"unsloth",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.04,cache_read:.01},limit:{context:131072,output:131072}},"unsloth/gemma-3-4b-it":{id:"unsloth/gemma-3-4b-it",name:"gemma 3 4b it",family:"unsloth",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.01,output:.03},limit:{context:96e3,output:96e3}},"unsloth/Mistral-Small-24B-Instruct-2501":{id:"unsloth/Mistral-Small-24B-Instruct-2501",name:"Mistral Small 24B Instruct 2501",family:"unsloth",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.03,output:.11},limit:{context:32768,output:32768}},"unsloth/Llama-3.2-1B-Instruct":{id:"unsloth/Llama-3.2-1B-Instruct",name:"Llama 3.2 1B Instruct",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.01,output:.01,cache_read:.005},limit:{context:32768,output:8192}},"unsloth/gemma-3-12b-it":{id:"unsloth/gemma-3-12b-it",name:"gemma 3 12b it",family:"unsloth",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.03,output:.1},limit:{context:131072,output:131072}},"unsloth/Llama-3.2-3B-Instruct":{id:"unsloth/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B Instruct",family:"unsloth",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2025-02-12",last_updated:"2025-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.01,output:.01,cache_read:.005},limit:{context:16384,output:16384}},"unsloth/gemma-3-27b-it":{id:"unsloth/gemma-3-27b-it",name:"gemma 3 27b it",family:"unsloth",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.04,output:.15,cache_read:.02},limit:{context:128e3,output:65536}},"Qwen/Qwen3.5-397B-A17B-TEE":{id:"Qwen/Qwen3.5-397B-A17B-TEE",name:"Qwen3.5 397B A17B TEE",family:"qwen",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-02-18",last_updated:"2026-02-18",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.15},limit:{context:262144,output:65536}},"Qwen/Qwen3-30B-A3B":{id:"Qwen/Qwen3-30B-A3B",name:"Qwen3 30B A3B",family:"qwen",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.06,output:.22},limit:{context:40960,output:40960}},"Qwen/Qwen3-14B":{id:"Qwen/Qwen3-14B",name:"Qwen3 14B",family:"qwen",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.22},limit:{context:40960,output:40960}},"Qwen/Qwen2.5-VL-32B-Instruct":{id:"Qwen/Qwen2.5-VL-32B-Instruct",name:"Qwen2.5 VL 32B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.05,output:.22},limit:{context:16384,output:16384}},"Qwen/Qwen3Guard-Gen-0.6B":{id:"Qwen/Qwen3Guard-Gen-0.6B",name:"Qwen3Guard Gen 0.6B",family:"qwen",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.01,output:.01,cache_read:.005},limit:{context:32768,output:8192}},"Qwen/Qwen2.5-Coder-32B-Instruct":{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen2.5 Coder 32B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.11},limit:{context:32768,output:32768}},"Qwen/Qwen2.5-72B-Instruct":{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen2.5 72B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.13,output:.52},limit:{context:32768,output:32768}},"Qwen/Qwen2.5-VL-72B-Instruct-TEE":{id:"Qwen/Qwen2.5-VL-72B-Instruct-TEE",name:"Qwen2.5 VL 72B Instruct TEE",family:"qwen",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:32768,output:32768}},"Qwen/Qwen3-235B-A22B":{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B A22B",family:"qwen",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:40960,output:40960}},"Qwen/Qwen3-235B-A22B-Instruct-2507-TEE":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507-TEE",name:"Qwen3 235B A22B Instruct 2507 TEE",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.08,output:.55,cache_read:.04},limit:{context:262144,output:65536}},"Qwen/Qwen3-32B":{id:"Qwen/Qwen3-32B",name:"Qwen3 32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.08,output:.24,cache_read:.04},limit:{context:40960,output:40960}},"Qwen/Qwen3-VL-235B-A22B-Instruct":{id:"Qwen/Qwen3-VL-235B-A22B-Instruct",name:"Qwen3 VL 235B A22B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:262144,output:262144}},"Qwen/Qwen3-Coder-Next":{id:"Qwen/Qwen3-Coder-Next",name:"Qwen3 Coder Next",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.3},limit:{context:262144,output:65536}},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3 30B A3B Instruct 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.08,output:.33},limit:{context:262144,output:262144}},"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8-TEE":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8-TEE",name:"Qwen3 Coder 480B A35B Instruct FP8 TEE",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.22,output:.95,cache_read:.11},limit:{context:262144,output:262144}},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3 235B A22B Thinking 2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.11,output:.6},limit:{context:262144,output:262144}},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3 Next 80B A3B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.8},limit:{context:262144,output:262144}},"miromind-ai/MiroThinker-v1.5-235B":{id:"miromind-ai/MiroThinker-v1.5-235B",name:"MiroThinker V1.5 235B",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2026-01-10",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.15},limit:{context:262144,output:8192}},"zai-org/GLM-4.6-TEE":{id:"zai-org/GLM-4.6-TEE",name:"GLM 4.6 TEE",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.35,output:1.5},limit:{context:202752,output:65536}},"zai-org/GLM-4.5-TEE":{id:"zai-org/GLM-4.5-TEE",name:"GLM 4.5 TEE",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.35,output:1.55},limit:{context:131072,output:65536}},"zai-org/GLM-4.6V":{id:"zai-org/GLM-4.6V",name:"GLM 4.6V",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.3,output:.9},limit:{context:131072,output:65536}},"zai-org/GLM-4.7-FP8":{id:"zai-org/GLM-4.7-FP8",name:"GLM 4.7 FP8",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:202752,output:65535}},"zai-org/GLM-4.6-FP8":{id:"zai-org/GLM-4.6-FP8",name:"GLM 4.6 FP8",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:202752,output:65535}},"zai-org/GLM-4.7-TEE":{id:"zai-org/GLM-4.7-TEE",name:"GLM 4.7 TEE",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:1.5},limit:{context:202752,output:65535}},"zai-org/GLM-5-TEE":{id:"zai-org/GLM-5-TEE",name:"GLM 5 TEE",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-02-14",last_updated:"2026-02-14",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.75,output:2.5},limit:{context:202752,output:65535}},"zai-org/GLM-4.5-FP8":{id:"zai-org/GLM-4.5-FP8",name:"GLM 4.5 FP8",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:131072,output:65536}},"zai-org/GLM-4.7-Flash":{id:"zai-org/GLM-4.7-Flash",name:"GLM 4.7 Flash",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.06,output:.35},limit:{context:202752,output:65535}},"zai-org/GLM-4.5-Air":{id:"zai-org/GLM-4.5-Air",name:"GLM 4.5 Air",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.22},limit:{context:131072,output:131072}},"deepseek-ai/DeepSeek-V3-0324-TEE":{id:"deepseek-ai/DeepSeek-V3-0324-TEE",name:"DeepSeek V3 0324 TEE",family:"deepseek",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.19,output:.87,cache_read:.095},limit:{context:163840,output:65536}},"deepseek-ai/DeepSeek-V3.2-Speciale-TEE":{id:"deepseek-ai/DeepSeek-V3.2-Speciale-TEE",name:"DeepSeek V3.2 Speciale TEE",family:"deepseek",attachment:false,reasoning:true,tool_call:false,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:.41},limit:{context:163840,output:65536}},"deepseek-ai/DeepSeek-V3.1-Terminus-TEE":{id:"deepseek-ai/DeepSeek-V3.1-Terminus-TEE",name:"DeepSeek V3.1 Terminus TEE",family:"deepseek",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.23,output:.9},limit:{context:163840,output:65536}},"deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3",family:"deepseek",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:163840,output:163840}},"deepseek-ai/DeepSeek-R1-TEE":{id:"deepseek-ai/DeepSeek-R1-TEE",name:"DeepSeek R1 TEE",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:false,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:163840,output:163840}},"deepseek-ai/DeepSeek-R1-Distill-Llama-70B":{id:"deepseek-ai/DeepSeek-R1-Distill-Llama-70B",name:"DeepSeek R1 Distill Llama 70B",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.11},limit:{context:131072,output:131072}},"deepseek-ai/DeepSeek-R1-0528-TEE":{id:"deepseek-ai/DeepSeek-R1-0528-TEE",name:"DeepSeek R1 0528 TEE",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:1.75},limit:{context:163840,output:65536}},"deepseek-ai/DeepSeek-V3.2-TEE":{id:"deepseek-ai/DeepSeek-V3.2-TEE",name:"DeepSeek V3.2 TEE",family:"deepseek",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.25,output:.38,cache_read:.125},limit:{context:163840,output:65536}},"deepseek-ai/DeepSeek-V3.1-TEE":{id:"deepseek-ai/DeepSeek-V3.1-TEE",name:"DeepSeek V3.1 TEE",family:"deepseek",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.8},limit:{context:163840,output:65536}}}},"kimi-for-coding":{id:"kimi-for-coding",env:["KIMI_API_KEY"],npm:"@ai-sdk/anthropic",api:"https://api.kimi.com/coding/v1",name:"Kimi For Coding",doc:"https://www.kimi.com/coding/docs/en/third-party-agents.html",models:{k2p5:{id:"k2p5",name:"Kimi K2.5",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:262144,output:32768}},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-07",release_date:"2025-11",last_updated:"2025-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:262144,output:32768}}}},"kuae-cloud-coding-plan":{id:"kuae-cloud-coding-plan",env:["KUAE_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://coding-plan-endpoint.kuaecloud.net/v1",name:"KUAE Cloud Coding Plan",doc:"https://docs.mthreads.com/kuaecloud/kuaecloud-doc-online/coding_plan/",models:{"GLM-4.7":{id:"GLM-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:204800,output:131072}}}},cortecs:{id:"cortecs",env:["CORTECS_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.cortecs.ai/v1",name:"Cortecs",doc:"https://api.cortecs.ai/v1/models",models:{"nova-pro-v1":{id:"nova-pro-v1",name:"Nova Pro 1.0",family:"nova-pro",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-12-03",last_updated:"2024-12-03",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.016,output:4.061},limit:{context:3e5,output:5e3}},"devstral-2512":{id:"devstral-2512",name:"Devstral 2 2512",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-12",release_date:"2025-12-09",last_updated:"2025-12-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262e3,output:262e3}},"minimax-m2":{id:"minimax-m2",name:"MiniMax-M2",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-11",release_date:"2025-10-27",last_updated:"2025-10-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.39,output:1.57},limit:{context:4e5,output:4e5}},"intellect-3":{id:"intellect-3",name:"INTELLECT 3",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-26",last_updated:"2025-11-26",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.219,output:1.202},limit:{context:128e3,output:128e3}},"claude-4-5-sonnet":{id:"claude-4-5-sonnet",name:"Claude 4.5 Sonnet",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3.259,output:16.296},limit:{context:2e5,output:2e5}},"minimax-m2p1":{id:"minimax-m2p1",name:"MiniMax-M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.34,output:1.34},limit:{context:196e3,output:196e3}},"glm-4p7":{id:"glm-4p7",name:"GLM 4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.45,output:2.23},limit:{context:198e3,output:198e3}},"deepseek-v3-0324":{id:"deepseek-v3-0324",name:"DeepSeek V3 0324",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-03-24",last_updated:"2025-03-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.551,output:1.654},limit:{context:128e3,output:128e3}},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-12",release_date:"2025-12-08",last_updated:"2025-12-08",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.656,output:2.731},limit:{context:262e3,output:262e3}},"kimi-k2-instruct":{id:"kimi-k2-instruct",name:"Kimi K2 Instruct",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-07-11",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.551,output:2.646},limit:{context:131e3,output:131e3}},"gpt-4.1":{id:"gpt-4.1",name:"GPT 4.1",family:"gpt",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.354,output:9.417},limit:{context:1047576,output:32768}},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",family:"gemini-pro",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-03-20",last_updated:"2025-06-17",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.654,output:11.024},limit:{context:1048576,output:65535}},"gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT Oss 120b",family:"gpt-oss",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-01",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},"devstral-small-2512":{id:"devstral-small-2512",name:"Devstral Small 2 2512",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-12",release_date:"2025-12-09",last_updated:"2025-12-09",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262e3,output:262e3}},"glm-4p5-air":{id:"glm-4p5-air",name:"GLM 4.5 Air",family:"glm-air",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-08-01",last_updated:"2025-08-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.22,output:1.34},limit:{context:131072,output:131072}},"qwen3-coder-480b-a35b-instruct":{id:"qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-07-25",last_updated:"2025-07-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.441,output:1.984},limit:{context:262e3,output:262e3}},"claude-sonnet-4":{id:"claude-sonnet-4",name:"Claude Sonnet 4",family:"claude-sonnet",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3.307,output:16.536},limit:{context:2e5,output:64e3}},"llama-3.1-405b-instruct":{id:"llama-3.1-405b-instruct",name:"Llama 3.1 405B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},"glm-4p5":{id:"glm-4p5",name:"GLM 4.5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-07-29",last_updated:"2025-07-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.67,output:2.46},limit:{context:131072,output:131072}},"qwen3-next-80b-a3b-thinking":{id:"qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-11",last_updated:"2025-09-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.164,output:1.311},limit:{context:128e3,output:128e3}},"qwen3-32b":{id:"qwen3-32b",name:"Qwen3 32B",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-04-29",last_updated:"2025-04-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.099,output:.33},limit:{context:16384,output:16384}}}},"github-models":{id:"github-models",env:["GITHUB_TOKEN"],npm:"@ai-sdk/openai-compatible",api:"https://models.github.ai/inference",name:"GitHub Models",doc:"https://docs.github.com/en/github-models",models:{"core42/jais-30b-chat":{id:"core42/jais-30b-chat",name:"JAIS 30b Chat",family:"jais",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-03",release_date:"2023-08-30",last_updated:"2023-08-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:8192,output:2048}},"xai/grok-3":{id:"xai/grok-3",name:"Grok 3",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-09",last_updated:"2024-12-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"xai/grok-3-mini":{id:"xai/grok-3-mini",name:"Grok 3 Mini",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-09",last_updated:"2024-12-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"cohere/cohere-command-r-08-2024":{id:"cohere/cohere-command-r-08-2024",name:"Cohere Command R 08-2024",family:"command-r",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2024-08-01",last_updated:"2024-08-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"cohere/cohere-command-a":{id:"cohere/cohere-command-a",name:"Cohere Command A",family:"command-a",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2024-11-01",last_updated:"2024-11-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"cohere/cohere-command-r-plus-08-2024":{id:"cohere/cohere-command-r-plus-08-2024",name:"Cohere Command R+ 08-2024",family:"command-r",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2024-08-01",last_updated:"2024-08-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"cohere/cohere-command-r":{id:"cohere/cohere-command-r",name:"Cohere Command R",family:"command-r",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2024-03-11",last_updated:"2024-08-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"cohere/cohere-command-r-plus":{id:"cohere/cohere-command-r-plus",name:"Cohere Command R+",family:"command-r",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2024-04-04",last_updated:"2024-08-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"deepseek/deepseek-r1-0528":{id:"deepseek/deepseek-r1-0528",name:"DeepSeek-R1-0528",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:65536,output:8192}},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek-R1",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:65536,output:8192}},"deepseek/deepseek-v3-0324":{id:"deepseek/deepseek-v3-0324",name:"DeepSeek-V3-0324",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2025-03-24",last_updated:"2025-03-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"mistral-ai/mistral-medium-2505":{id:"mistral-ai/mistral-medium-2505",name:"Mistral Medium 3 (25.05)",family:"mistral-medium",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2025-05-01",last_updated:"2025-05-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:32768}},"mistral-ai/ministral-3b":{id:"mistral-ai/ministral-3b",name:"Ministral 3B",family:"ministral",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"mistral-ai/mistral-nemo":{id:"mistral-ai/mistral-nemo",name:"Mistral Nemo",family:"mistral-nemo",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"mistral-ai/mistral-large-2411":{id:"mistral-ai/mistral-large-2411",name:"Mistral Large 24.11",family:"mistral-large",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2024-11-01",last_updated:"2024-11-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:32768}},"mistral-ai/codestral-2501":{id:"mistral-ai/codestral-2501",name:"Codestral 25.01",family:"codestral",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:32e3,output:8192}},"mistral-ai/mistral-small-2503":{id:"mistral-ai/mistral-small-2503",name:"Mistral Small 3.1",family:"mistral-small",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2025-03-01",last_updated:"2025-03-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:32768}},"microsoft/phi-3-medium-128k-instruct":{id:"microsoft/phi-3-medium-128k-instruct",name:"Phi-3-medium instruct (128k)",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"microsoft/phi-3-mini-4k-instruct":{id:"microsoft/phi-3-mini-4k-instruct",name:"Phi-3-mini instruct (4k)",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:4096,output:1024}},"microsoft/phi-3-small-128k-instruct":{id:"microsoft/phi-3-small-128k-instruct",name:"Phi-3-small instruct (128k)",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"microsoft/phi-3.5-vision-instruct":{id:"microsoft/phi-3.5-vision-instruct",name:"Phi-3.5-vision instruct (128k)",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-08-20",last_updated:"2024-08-20",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"microsoft/phi-4":{id:"microsoft/phi-4",name:"Phi-4",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:16e3,output:4096}},"microsoft/phi-4-mini-reasoning":{id:"microsoft/phi-4-mini-reasoning",name:"Phi-4-mini-reasoning",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"microsoft/phi-3-small-8k-instruct":{id:"microsoft/phi-3-small-8k-instruct",name:"Phi-3-small instruct (8k)",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:8192,output:2048}},"microsoft/phi-3.5-mini-instruct":{id:"microsoft/phi-3.5-mini-instruct",name:"Phi-3.5-mini instruct (128k)",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-08-20",last_updated:"2024-08-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"microsoft/phi-4-multimodal-instruct":{id:"microsoft/phi-4-multimodal-instruct",name:"Phi-4-multimodal-instruct",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text","image","audio"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"microsoft/phi-3-mini-128k-instruct":{id:"microsoft/phi-3-mini-128k-instruct",name:"Phi-3-mini instruct (128k)",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"microsoft/phi-3.5-moe-instruct":{id:"microsoft/phi-3.5-moe-instruct",name:"Phi-3.5-MoE instruct (128k)",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-08-20",last_updated:"2024-08-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"microsoft/phi-4-mini-instruct":{id:"microsoft/phi-4-mini-instruct",name:"Phi-4-mini-instruct",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"microsoft/phi-3-medium-4k-instruct":{id:"microsoft/phi-3-medium-4k-instruct",name:"Phi-3-medium instruct (4k)",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:4096,output:1024}},"microsoft/phi-4-reasoning":{id:"microsoft/phi-4-reasoning",name:"Phi-4-Reasoning",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"microsoft/mai-ds-r1":{id:"microsoft/mai-ds-r1",name:"MAI-DS-R1",family:"mai",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:65536,output:8192}},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"GPT-4.1-nano",family:"gpt-nano",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1-mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"openai/o1-preview":{id:"openai/o1-preview",name:"OpenAI o1-preview",family:"o",attachment:false,reasoning:true,tool_call:false,temperature:false,knowledge:"2023-10",release_date:"2024-09-12",last_updated:"2024-09-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:32768}},"openai/o3-mini":{id:"openai/o3-mini",name:"OpenAI o3-mini",family:"o-mini",attachment:false,reasoning:true,tool_call:false,temperature:false,knowledge:"2024-04",release_date:"2025-01-31",last_updated:"2025-01-31",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:2e5,output:1e5}},"openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-05-13",last_updated:"2024-05-13",modalities:{input:["text","image","audio"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"openai/o4-mini":{id:"openai/o4-mini",name:"OpenAI o4-mini",family:"o-mini",attachment:false,reasoning:true,tool_call:false,temperature:false,knowledge:"2024-04",release_date:"2025-01-31",last_updated:"2025-01-31",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:2e5,output:1e5}},"openai/o1":{id:"openai/o1",name:"OpenAI o1",family:"o",attachment:false,reasoning:true,tool_call:false,temperature:false,knowledge:"2023-10",release_date:"2024-09-12",last_updated:"2024-12-17",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:2e5,output:1e5}},"openai/o1-mini":{id:"openai/o1-mini",name:"OpenAI o1-mini",family:"o-mini",attachment:false,reasoning:true,tool_call:false,temperature:false,knowledge:"2023-10",release_date:"2024-09-12",last_updated:"2024-12-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:65536}},"openai/o3":{id:"openai/o3",name:"OpenAI o3",family:"o",attachment:false,reasoning:true,tool_call:false,temperature:false,knowledge:"2024-04",release_date:"2025-01-31",last_updated:"2025-01-31",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:2e5,output:1e5}},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text","image","audio"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"meta/llama-3.2-11b-vision-instruct":{id:"meta/llama-3.2-11b-vision-instruct",name:"Llama-3.2-11B-Vision-Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image","audio"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"meta/meta-llama-3.1-405b-instruct":{id:"meta/meta-llama-3.1-405b-instruct",name:"Meta-Llama-3.1-405B-Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:32768}},"meta/llama-4-maverick-17b-128e-instruct-fp8":{id:"meta/llama-4-maverick-17b-128e-instruct-fp8",name:"Llama 4 Maverick 17B 128E Instruct FP8",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-31",last_updated:"2025-01-31",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"meta/meta-llama-3-70b-instruct":{id:"meta/meta-llama-3-70b-instruct",name:"Meta-Llama-3-70B-Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-04-18",last_updated:"2024-04-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:8192,output:2048}},"meta/meta-llama-3.1-70b-instruct":{id:"meta/meta-llama-3.1-70b-instruct",name:"Meta-Llama-3.1-70B-Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:32768}},"meta/llama-3.3-70b-instruct":{id:"meta/llama-3.3-70b-instruct",name:"Llama-3.3-70B-Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:32768}},"meta/llama-3.2-90b-vision-instruct":{id:"meta/llama-3.2-90b-vision-instruct",name:"Llama-3.2-90B-Vision-Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image","audio"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"meta/meta-llama-3-8b-instruct":{id:"meta/meta-llama-3-8b-instruct",name:"Meta-Llama-3-8B-Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-04-18",last_updated:"2024-04-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:8192,output:2048}},"meta/llama-4-scout-17b-16e-instruct":{id:"meta/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B 16E Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-31",last_updated:"2025-01-31",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"meta/meta-llama-3.1-8b-instruct":{id:"meta/meta-llama-3.1-8b-instruct",name:"Meta-Llama-3.1-8B-Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:32768}},"ai21-labs/ai21-jamba-1.5-large":{id:"ai21-labs/ai21-jamba-1.5-large",name:"AI21 Jamba 1.5 Large",family:"jamba",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2024-08-29",last_updated:"2024-08-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:256e3,output:4096}},"ai21-labs/ai21-jamba-1.5-mini":{id:"ai21-labs/ai21-jamba-1.5-mini",name:"AI21 Jamba 1.5 Mini",family:"jamba",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2024-08-29",last_updated:"2024-08-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:256e3,output:4096}}}},togetherai:{id:"togetherai",env:["TOGETHER_API_KEY"],npm:"@ai-sdk/togetherai",name:"Together AI",doc:"https://docs.together.ai/docs/serverless-models",models:{"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi K2 Instruct",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-14",last_updated:"2025-07-14",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3},limit:{context:131072,output:131072}},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",family:"kimi",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2026-01",release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.5,output:2.8},limit:{context:262144,output:262144}},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi K2 Instruct-0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3},limit:{context:262144,output:262144}},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2025-07",release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.2,output:4},limit:{context:262144,output:262144}},"essentialai/Rnj-1-Instruct":{id:"essentialai/Rnj-1-Instruct",name:"Rnj-1 Instruct",family:"rnj",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-12-05",last_updated:"2025-12-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.15},limit:{context:32768,output:32768}},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:131072,output:131072}},"meta-llama/Llama-3.3-70B-Instruct-Turbo":{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.88,output:.88},limit:{context:131072,output:131072}},"Qwen/Qwen3-Coder-Next-FP8":{id:"Qwen/Qwen3-Coder-Next-FP8",name:"Qwen3 Coder Next FP8",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2026-02-03",release_date:"2026-02-03",last_updated:"2026-02-03",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.5,output:1.2},limit:{context:262144,output:262144}},"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",name:"Qwen3 Coder 480B A35B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2,output:2},limit:{context:262144,output:262144}},"Qwen/Qwen3-235B-A22B-Instruct-2507-tput":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507-tput",name:"Qwen3 235B A22B Instruct 2507 FP8",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-25",last_updated:"2025-07-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.6},limit:{context:262144,output:262144}},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-25",last_updated:"2025-07-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:1.5},limit:{context:262144,output:262144}},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-11",release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3.2},limit:{context:202752,output:131072}},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-25",last_updated:"2025-07-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.45,output:2},limit:{context:2e5,output:2e5}},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",family:"glm",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2},limit:{context:2e5,output:2e5}},"deepseek-ai/DeepSeek-R1":{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2024-07",release_date:"2024-12-26",last_updated:"2025-03-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:3,output:7},limit:{context:163839,output:163839}},"deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-01-20",last_updated:"2025-05-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.25,output:1.25},limit:{context:131072,output:131072}},"deepseek-ai/DeepSeek-V3-1":{id:"deepseek-ai/DeepSeek-V3-1",name:"DeepSeek V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2025-08-21",last_updated:"2025-08-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:1.7},limit:{context:131072,output:131072}}}},azure:{id:"azure",env:["AZURE_RESOURCE_NAME","AZURE_API_KEY"],npm:"@ai-sdk/azure",name:"Azure",doc:"https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models",models:{"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",family:"gpt-nano",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-05",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.03},limit:{context:1047576,output:32768}},"text-embedding-3-small":{id:"text-embedding-3-small",name:"text-embedding-3-small",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,release_date:"2024-01-25",last_updated:"2024-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.02,output:0},limit:{context:8191,output:1536}},"grok-4-fast-non-reasoning":{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-09-19",last_updated:"2025-09-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:3e4}},"deepseek-r1-0528":{id:"deepseek-r1-0528",name:"DeepSeek-R1-0528",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.35,output:5.4},limit:{context:163840,output:163840}},"grok-4-fast-reasoning":{id:"grok-4-fast-reasoning",name:"Grok 4 Fast (Reasoning)",family:"grok",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-09-19",last_updated:"2025-09-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:3e4}},"phi-3-medium-128k-instruct":{id:"phi-3-medium-128k-instruct",name:"Phi-3-medium-instruct (128k)",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.17,output:.68},limit:{context:128e3,output:4096}},"gpt-4":{id:"gpt-4",name:"GPT-4",family:"gpt",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-11",release_date:"2023-03-14",last_updated:"2023-03-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:60,output:120},limit:{context:8192,output:8192}},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3},provider:{npm:"@ai-sdk/anthropic"}},"gpt-5.2-chat":{id:"gpt-5.2-chat",name:"GPT-5.2 Chat",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:128e3,output:16384}},"llama-3.2-11b-vision-instruct":{id:"llama-3.2-11b-vision-instruct",name:"Llama-3.2-11B-Vision-Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.37,output:.37},limit:{context:128e3,output:8192}},"cohere-embed-v-4-0":{id:"cohere-embed-v-4-0",name:"Embed v4",family:"cohere-embed",attachment:true,reasoning:false,tool_call:false,temperature:false,release_date:"2025-04-15",last_updated:"2025-04-15",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.12,output:0},limit:{context:128e3,output:1536}},"cohere-command-r-08-2024":{id:"cohere-command-r-08-2024",name:"Command R",family:"command-r",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06-01",release_date:"2024-08-30",last_updated:"2024-08-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:128e3,output:4e3}},"grok-4":{id:"grok-4",name:"Grok 4",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,reasoning:15,cache_read:.75},limit:{context:256e3,output:64e3}},"cohere-embed-v3-multilingual":{id:"cohere-embed-v3-multilingual",name:"Embed v3 Multilingual",family:"cohere-embed",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2023-11-07",last_updated:"2023-11-07",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:0},limit:{context:512,output:1024}},"phi-4-mini":{id:"phi-4-mini",name:"Phi-4-mini",family:"phi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.075,output:.3},limit:{context:128e3,output:4096}},"gpt-4-32k":{id:"gpt-4-32k",name:"GPT-4 32K",family:"gpt",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-11",release_date:"2023-03-14",last_updated:"2023-03-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:60,output:120},limit:{context:32768,output:32768}},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-08-31",release_date:"2026-01-14",last_updated:"2026-01-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,output:128e3}},"meta-llama-3.1-405b-instruct":{id:"meta-llama-3.1-405b-instruct",name:"Meta-Llama-3.1-405B-Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:5.33,output:16},limit:{context:128e3,output:32768}},"deepseek-r1":{id:"deepseek-r1",name:"DeepSeek-R1",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2024-07",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.35,output:5.4},limit:{context:163840,output:163840}},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2025-08-28",last_updated:"2025-08-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:1.5,cache_read:.02},limit:{context:256e3,output:1e4}},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text","image","audio"],output:["text","image","audio"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"phi-3-mini-4k-instruct":{id:"phi-3-mini-4k-instruct",name:"Phi-3-mini-instruct (4k)",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.13,output:.52},limit:{context:4096,output:1024}},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-02-31",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},"deepseek-v3.2-speciale":{id:"deepseek-v3.2-speciale",name:"DeepSeek-V3.2-Speciale",family:"deepseek",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2024-07",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.58,output:1.68},limit:{context:128e3,output:128e3}},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25,context_over_200k:{input:10,output:37.5,cache_read:1,cache_write:12.5}},limit:{context:2e5,output:128e3},provider:{npm:"@ai-sdk/anthropic"}},"mistral-medium-2505":{id:"mistral-medium-2505",name:"Mistral Medium 3",family:"mistral-medium",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-07",last_updated:"2025-05-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:2},limit:{context:128e3,output:128e3}},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-08-01",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},"phi-3-small-128k-instruct":{id:"phi-3-small-128k-instruct",name:"Phi-3-small-instruct (128k)",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:128e3,output:4096}},"cohere-command-a":{id:"cohere-command-a",name:"Command A",family:"command-a",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06-01",release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.5,output:10},limit:{context:256e3,output:8e3}},"cohere-command-r-plus-08-2024":{id:"cohere-command-r-plus-08-2024",name:"Command R+",family:"command-r",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06-01",release_date:"2024-08-30",last_updated:"2024-08-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.5,output:10},limit:{context:128e3,output:4e3}},"llama-4-maverick-17b-128e-instruct-fp8":{id:"llama-4-maverick-17b-128e-instruct-fp8",name:"Llama 4 Maverick 17B 128E Instruct FP8",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.25,output:1},limit:{context:128e3,output:8192}},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-05",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:1.6,cache_read:.1},limit:{context:1047576,output:32768}},"gpt-5-chat":{id:"gpt-5-chat",name:"GPT-5 Chat",family:"gpt-codex",attachment:true,reasoning:true,tool_call:false,temperature:false,knowledge:"2024-10-24",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:128e3,output:16384}},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",family:"kimi",attachment:false,reasoning:true,tool_call:true,interleaved:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2026-02-06",last_updated:"2026-02-06",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.6,output:3},limit:{context:262144,output:262144}},"deepseek-v3.1":{id:"deepseek-v3.1",name:"DeepSeek-V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-08-21",last_updated:"2025-08-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.56,output:1.68},limit:{context:131072,output:131072}},"phi-4":{id:"phi-4",name:"Phi-4",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.125,output:.5},limit:{context:128e3,output:4096}},"phi-4-mini-reasoning":{id:"phi-4-mini-reasoning",name:"Phi-4-mini-reasoning",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.075,output:.3},limit:{context:128e3,output:4096}},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},"gpt-3.5-turbo-0125":{id:"gpt-3.5-turbo-0125",name:"GPT-3.5 Turbo 0125",family:"gpt",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2021-08",release_date:"2024-01-25",last_updated:"2024-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:1.5},limit:{context:16384,output:16384}},"grok-3":{id:"grok-3",name:"Grok 3",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75},limit:{context:131072,output:8192}},"text-embedding-3-large":{id:"text-embedding-3-large",name:"text-embedding-3-large",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,release_date:"2024-01-25",last_updated:"2024-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.13,output:0},limit:{context:8191,output:3072}},"meta-llama-3-70b-instruct":{id:"meta-llama-3-70b-instruct",name:"Meta-Llama-3-70B-Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-12",release_date:"2024-04-18",last_updated:"2024-04-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.68,output:3.54},limit:{context:8192,output:2048}},"deepseek-v3-0324":{id:"deepseek-v3-0324",name:"DeepSeek-V3-0324",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-03-24",last_updated:"2025-03-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.14,output:4.56},limit:{context:131072,output:131072}},"phi-3-small-8k-instruct":{id:"phi-3-small-8k-instruct",name:"Phi-3-small-instruct (8k)",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:8192,output:2048}},"meta-llama-3.1-70b-instruct":{id:"meta-llama-3.1-70b-instruct",name:"Meta-Llama-3.1-70B-Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.68,output:3.54},limit:{context:128e3,output:32768}},"gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-11",release_date:"2023-11-06",last_updated:"2024-04-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:10,output:30},limit:{context:128e3,output:4096}},"gpt-3.5-turbo-0613":{id:"gpt-3.5-turbo-0613",name:"GPT-3.5 Turbo 0613",family:"gpt",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2021-08",release_date:"2023-06-13",last_updated:"2023-06-13",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:4},limit:{context:16384,output:16384}},"phi-3.5-mini-instruct":{id:"phi-3.5-mini-instruct",name:"Phi-3.5-mini-instruct",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-08-20",last_updated:"2024-08-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.13,output:.52},limit:{context:128e3,output:4096}},"o1-preview":{id:"o1-preview",name:"o1-preview",family:"o",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2023-09",release_date:"2024-09-12",last_updated:"2024-09-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:16.5,output:66,cache_read:8.25},limit:{context:128e3,output:32768}},"llama-3.3-70b-instruct":{id:"llama-3.3-70b-instruct",name:"Llama-3.3-70B-Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.71,output:.71},limit:{context:128e3,output:32768}},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.025},limit:{context:4e5,output:128e3}},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-12-02",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5,cache_read:.15},limit:{context:262144,output:262144}},"model-router":{id:"model-router",name:"Model Router",family:"model-router",attachment:true,reasoning:false,tool_call:true,release_date:"2025-05-19",last_updated:"2025-11-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.14,output:0},limit:{context:128e3,output:16384}},"o3-mini":{id:"o3-mini",name:"o3-mini",family:"o-mini",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05",release_date:"2024-12-20",last_updated:"2025-01-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.55},limit:{context:2e5,output:1e5}},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text","image","audio"],output:["text","image","audio"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:272e3,output:128e3}},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",family:"gpt-nano",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.05,output:.4,cache_read:.01},limit:{context:272e3,output:128e3}},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:4e5,output:128e3}},"llama-3.2-90b-vision-instruct":{id:"llama-3.2-90b-vision-instruct",name:"Llama-3.2-90B-Vision-Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:2.04,output:2.04},limit:{context:128e3,output:8192}},"phi-3-mini-128k-instruct":{id:"phi-3-mini-128k-instruct",name:"Phi-3-mini-instruct (128k)",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.13,output:.52},limit:{context:128e3,output:4096}},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-09",release_date:"2024-05-13",last_updated:"2024-05-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.5,output:10,cache_read:1.25},limit:{context:128e3,output:16384}},"gpt-3.5-turbo-0301":{id:"gpt-3.5-turbo-0301",name:"GPT-3.5 Turbo 0301",family:"gpt",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2021-08",release_date:"2023-03-01",last_updated:"2023-03-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.5,output:2},limit:{context:4096,output:4096}},"ministral-3b":{id:"ministral-3b",name:"Ministral 3B",family:"ministral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.04,output:.04},limit:{context:128e3,output:8192}},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-05",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:1047576,output:32768}},"o4-mini":{id:"o4-mini",name:"o4-mini",family:"o-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.28},limit:{context:2e5,output:1e5}},"phi-4-multimodal":{id:"phi-4-multimodal",name:"Phi-4-multimodal",family:"phi",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text","image","audio"],output:["text"]},open_weights:true,cost:{input:.08,output:.32,input_audio:4},limit:{context:128e3,output:4096}},"meta-llama-3-8b-instruct":{id:"meta-llama-3-8b-instruct",name:"Meta-Llama-3-8B-Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-12",release_date:"2024-04-18",last_updated:"2024-04-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.61},limit:{context:8192,output:2048}},o1:{id:"o1",name:"o1",family:"o",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2023-09",release_date:"2024-12-05",last_updated:"2024-12-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:60,cache_read:7.5},limit:{context:2e5,output:1e5}},"grok-3-mini":{id:"grok-3-mini",name:"Grok 3 Mini",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:.5,reasoning:.5,cache_read:.075},limit:{context:131072,output:8192}},"gpt-5.1-chat":{id:"gpt-5.1-chat",name:"GPT-5.1 Chat",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text","image","audio"],output:["text","image","audio"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:128e3,output:16384}},"phi-3.5-moe-instruct":{id:"phi-3.5-moe-instruct",name:"Phi-3.5-MoE-instruct",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-08-20",last_updated:"2024-08-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.16,output:.64},limit:{context:128e3,output:4096}},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.03},limit:{context:272e3,output:128e3}},"o1-mini":{id:"o1-mini",name:"o1-mini",family:"o-mini",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2023-09",release_date:"2024-09-12",last_updated:"2024-09-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.55},limit:{context:128e3,output:65536}},"llama-4-scout-17b-16e-instruct":{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B 16E Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.2,output:.78},limit:{context:128e3,output:8192}},"cohere-embed-v3-english":{id:"cohere-embed-v3-english",name:"Embed v3 English",family:"cohere-embed",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2023-11-07",last_updated:"2023-11-07",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:0},limit:{context:512,output:1024}},"text-embedding-ada-002":{id:"text-embedding-ada-002",name:"text-embedding-ada-002",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,release_date:"2022-12-15",last_updated:"2022-12-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:0},limit:{context:8192,output:1536}},"meta-llama-3.1-8b-instruct":{id:"meta-llama-3.1-8b-instruct",name:"Meta-Llama-3.1-8B-Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.61},limit:{context:128e3,output:32768}},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"gpt-3.5-turbo-instruct":{id:"gpt-3.5-turbo-instruct",name:"GPT-3.5 Turbo Instruct",family:"gpt",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2021-08",release_date:"2023-09-21",last_updated:"2023-09-21",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.5,output:2},limit:{context:4096,output:4096}},"mistral-nemo":{id:"mistral-nemo",name:"Mistral Nemo",family:"mistral-nemo",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.15},limit:{context:128e3,output:128e3}},o3:{id:"o3",name:"o3",family:"o",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:2e5,output:1e5}},"codex-mini":{id:"codex-mini",name:"Codex Mini",family:"gpt-codex-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-04",release_date:"2025-05-16",last_updated:"2025-05-16",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.5,output:6,cache_read:.375},limit:{context:2e5,output:1e5}},"phi-3-medium-4k-instruct":{id:"phi-3-medium-4k-instruct",name:"Phi-3-medium-instruct (4k)",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.17,output:.68},limit:{context:4096,output:1024}},"phi-4-reasoning":{id:"phi-4-reasoning",name:"Phi-4-reasoning",family:"phi",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.125,output:.5},limit:{context:32e3,output:4096}},"gpt-4-turbo-vision":{id:"gpt-4-turbo-vision",name:"GPT-4 Turbo Vision",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-11",release_date:"2023-11-06",last_updated:"2024-04-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:10,output:30},limit:{context:128e3,output:4096}},"phi-4-reasoning-plus":{id:"phi-4-reasoning-plus",name:"Phi-4-reasoning-plus",family:"phi",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.125,output:.5},limit:{context:32e3,output:4096}},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-09",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.15,output:.6,cache_read:.08},limit:{context:128e3,output:16384}},"gpt-5":{id:"gpt-5",name:"GPT-5",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:272e3,output:128e3}},"mai-ds-r1":{id:"mai-ds-r1",name:"MAI-DS-R1",family:"mai",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2024-06",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.35,output:5.4},limit:{context:128e3,output:8192}},"deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek-V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.58,output:1.68},limit:{context:128e3,output:128e3}},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",family:"gpt-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-10-06",last_updated:"2025-10-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:120},limit:{context:4e5,output:272e3}},"mistral-large-2411":{id:"mistral-large-2411",name:"Mistral Large 24.11",family:"mistral-large",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2024-11-01",last_updated:"2024-11-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2,output:6},limit:{context:128e3,output:32768}},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.125},limit:{context:4e5,output:128e3}},"codestral-2501":{id:"codestral-2501",name:"Codestral 25.01",family:"codestral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:.9},limit:{context:256e3,output:256e3}},"mistral-small-2503":{id:"mistral-small-2503",name:"Mistral Small 3.1",family:"mistral-small",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2025-03-01",last_updated:"2025-03-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.1,output:.3},limit:{context:128e3,output:32768}},"gpt-3.5-turbo-1106":{id:"gpt-3.5-turbo-1106",name:"GPT-3.5 Turbo 1106",family:"gpt",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2021-08",release_date:"2023-11-06",last_updated:"2023-11-06",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:2},limit:{context:16384,output:16384}}}},baseten:{id:"baseten",env:["BASETEN_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://inference.baseten.co/v1",name:"Baseten",doc:"https://docs.baseten.co/development/model-apis/overview",models:{"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",family:"kimi",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-12",release_date:"2026-01-30",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:3},limit:{context:262144,output:8192}},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi K2 Instruct 0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5},limit:{context:262144,output:262144}},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5},limit:{context:262144,output:262144}},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B A35B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.38,output:1.53},limit:{context:262144,output:66536}},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2026-01",release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.95,output:3.15},limit:{context:202752,output:131072}},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2},limit:{context:204800,output:131072}},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",family:"glm",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-08-31",release_date:"2025-09-16",last_updated:"2025-09-16",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2},limit:{context:2e5,output:2e5}},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2",family:"deepseek",attachment:false,reasoning:false,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-10",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.45},limit:{context:163800,output:131100}}}},moark:{id:"moark",env:["MOARK_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://moark.com/v1",name:"Moark",doc:"https://moark.com/docs/openapi/v1#tag/%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90",models:{"GLM-4.7":{id:"GLM-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:3.5,output:14},limit:{context:204800,output:131072}},"MiniMax-M2.1":{id:"MiniMax-M2.1",name:"MiniMax-M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.1,output:8.4},limit:{context:204800,output:131072}}}},siliconflow:{id:"siliconflow",env:["SILICONFLOW_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.siliconflow.com/v1",name:"SiliconFlow",doc:"https://cloud.siliconflow.com/models",models:{"inclusionAI/Ling-mini-2.0":{id:"inclusionAI/Ling-mini-2.0",name:"inclusionAI/Ling-mini-2.0",family:"ling",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-10",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.07,output:.28},limit:{context:131e3,output:131e3}},"inclusionAI/Ling-flash-2.0":{id:"inclusionAI/Ling-flash-2.0",name:"inclusionAI/Ling-flash-2.0",family:"ling",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.57},limit:{context:131e3,output:131e3}},"inclusionAI/Ring-flash-2.0":{id:"inclusionAI/Ring-flash-2.0",name:"inclusionAI/Ring-flash-2.0",family:"ring",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-29",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.57},limit:{context:131e3,output:131e3}},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"moonshotai/Kimi-K2-Instruct",family:"kimi",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-13",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.58,output:2.29},limit:{context:131e3,output:131e3}},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"moonshotai/Kimi-K2.5",family:"kimi",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.55,output:3},limit:{context:262e3,output:262e3}},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"moonshotai/Kimi-K2-Instruct-0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-08",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.4,output:2},limit:{context:262e3,output:262e3}},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"moonshotai/Kimi-K2-Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-11-07",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.55,output:2.5},limit:{context:262e3,output:262e3}},"tencent/Hunyuan-MT-7B":{id:"tencent/Hunyuan-MT-7B",name:"tencent/Hunyuan-MT-7B",family:"hunyuan",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:33e3,output:33e3}},"tencent/Hunyuan-A13B-Instruct":{id:"tencent/Hunyuan-A13B-Instruct",name:"tencent/Hunyuan-A13B-Instruct",family:"hunyuan",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-06-30",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.57},limit:{context:131e3,output:131e3}},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMaxAI/MiniMax-M2.1",family:"minimax",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.2},limit:{context:197e3,output:131e3}},"THUDM/GLM-4-32B-0414":{id:"THUDM/GLM-4-32B-0414",name:"THUDM/GLM-4-32B-0414",family:"glm",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:.27},limit:{context:33e3,output:33e3}},"THUDM/GLM-Z1-9B-0414":{id:"THUDM/GLM-Z1-9B-0414",name:"THUDM/GLM-Z1-9B-0414",family:"glm-z",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.086,output:.086},limit:{context:131e3,output:131e3}},"THUDM/GLM-4-9B-0414":{id:"THUDM/GLM-4-9B-0414",name:"THUDM/GLM-4-9B-0414",family:"glm",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.086,output:.086},limit:{context:33e3,output:33e3}},"THUDM/GLM-Z1-32B-0414":{id:"THUDM/GLM-Z1-32B-0414",name:"THUDM/GLM-Z1-32B-0414",family:"glm-z",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.57},limit:{context:131e3,output:131e3}},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"openai/gpt-oss-20b",family:"gpt-oss",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-13",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.04,output:.18},limit:{context:131e3,output:8e3}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"openai/gpt-oss-120b",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-13",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.05,output:.45},limit:{context:131e3,output:8e3}},"stepfun-ai/Step-3.5-Flash":{id:"stepfun-ai/Step-3.5-Flash",name:"stepfun-ai/Step-3.5-Flash",family:"step",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:.3},limit:{context:262e3,output:262e3}},"nex-agi/DeepSeek-V3.1-Nex-N1":{id:"nex-agi/DeepSeek-V3.1-Nex-N1",name:"nex-agi/DeepSeek-V3.1-Nex-N1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-01-01",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:2},limit:{context:131e3,output:131e3}},"baidu/ERNIE-4.5-300B-A47B":{id:"baidu/ERNIE-4.5-300B-A47B",name:"baidu/ERNIE-4.5-300B-A47B",family:"ernie",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-02",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.28,output:1.1},limit:{context:131e3,output:131e3}},"ByteDance-Seed/Seed-OSS-36B-Instruct":{id:"ByteDance-Seed/Seed-OSS-36B-Instruct",name:"ByteDance-Seed/Seed-OSS-36B-Instruct",family:"seed",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-04",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.21,output:.57},limit:{context:262e3,output:262e3}},"meta-llama/Meta-Llama-3.1-8B-Instruct":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"meta-llama/Meta-Llama-3.1-8B-Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-23",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.06,output:.06},limit:{context:33e3,output:4e3}},"Qwen/Qwen3-30B-A3B-Thinking-2507":{id:"Qwen/Qwen3-30B-A3B-Thinking-2507",name:"Qwen/Qwen3-30B-A3B-Thinking-2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-31",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.09,output:.3},limit:{context:262e3,output:131e3}},"Qwen/Qwen3-VL-30B-A3B-Instruct":{id:"Qwen/Qwen3-VL-30B-A3B-Instruct",name:"Qwen/Qwen3-VL-30B-A3B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-05",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.29,output:1},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-14B":{id:"Qwen/Qwen3-14B",name:"Qwen/Qwen3-14B",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-30",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.07,output:.28},limit:{context:131e3,output:131e3}},"Qwen/Qwen2.5-VL-32B-Instruct":{id:"Qwen/Qwen2.5-VL-32B-Instruct",name:"Qwen/Qwen2.5-VL-32B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-03-24",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.27,output:.27},limit:{context:131e3,output:131e3}},"Qwen/Qwen3-Omni-30B-A3B-Captioner":{id:"Qwen/Qwen3-Omni-30B-A3B-Captioner",name:"Qwen/Qwen3-Omni-30B-A3B-Captioner",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-04",last_updated:"2025-11-25",modalities:{input:["audio"],output:["text"]},open_weights:false,cost:{input:.1,output:.4},limit:{context:66e3,output:66e3}},"Qwen/Qwen3-8B":{id:"Qwen/Qwen3-8B",name:"Qwen/Qwen3-8B",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-30",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.06,output:.06},limit:{context:131e3,output:131e3}},"Qwen/Qwen3-Omni-30B-A3B-Instruct":{id:"Qwen/Qwen3-Omni-30B-A3B-Instruct",name:"Qwen/Qwen3-Omni-30B-A3B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-04",last_updated:"2025-11-25",modalities:{input:["text","image","audio"],output:["text"]},open_weights:false,cost:{input:.1,output:.4},limit:{context:66e3,output:66e3}},"Qwen/Qwen3-VL-8B-Thinking":{id:"Qwen/Qwen3-VL-8B-Thinking",name:"Qwen/Qwen3-VL-8B-Thinking",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-15",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.18,output:2},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen/Qwen3-235B-A22B-Instruct-2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-23",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.09,output:.6},limit:{context:262e3,output:262e3}},"Qwen/Qwen2.5-Coder-32B-Instruct":{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen/Qwen2.5-Coder-32B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-11-11",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.18,output:.18},limit:{context:33e3,output:4e3}},"Qwen/Qwen2.5-32B-Instruct":{id:"Qwen/Qwen2.5-32B-Instruct",name:"Qwen/Qwen2.5-32B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-09-19",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.18,output:.18},limit:{context:33e3,output:4e3}},"Qwen/Qwen2.5-72B-Instruct-128K":{id:"Qwen/Qwen2.5-72B-Instruct-128K",name:"Qwen/Qwen2.5-72B-Instruct-128K",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.59,output:.59},limit:{context:131e3,output:4e3}},"Qwen/Qwen2.5-72B-Instruct":{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen/Qwen2.5-72B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.59,output:.59},limit:{context:33e3,output:4e3}},"Qwen/Qwen3-Coder-30B-A3B-Instruct":{id:"Qwen/Qwen3-Coder-30B-A3B-Instruct",name:"Qwen/Qwen3-Coder-30B-A3B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-01",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.07,output:.28},limit:{context:262e3,output:262e3}},"Qwen/Qwen2.5-7B-Instruct":{id:"Qwen/Qwen2.5-7B-Instruct",name:"Qwen/Qwen2.5-7B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.05,output:.05},limit:{context:33e3,output:4e3}},"Qwen/Qwen3-235B-A22B":{id:"Qwen/Qwen3-235B-A22B",name:"Qwen/Qwen3-235B-A22B",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-30",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.35,output:1.42},limit:{context:131e3,output:131e3}},"Qwen/Qwen2.5-VL-72B-Instruct":{id:"Qwen/Qwen2.5-VL-72B-Instruct",name:"Qwen/Qwen2.5-VL-72B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-01-28",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.59,output:.59},limit:{context:131e3,output:4e3}},"Qwen/QwQ-32B":{id:"Qwen/QwQ-32B",name:"Qwen/QwQ-32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-03-06",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:.58},limit:{context:131e3,output:131e3}},"Qwen/Qwen2.5-VL-7B-Instruct":{id:"Qwen/Qwen2.5-VL-7B-Instruct",name:"Qwen/Qwen2.5-VL-7B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-01-28",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.05,output:.05},limit:{context:33e3,output:4e3}},"Qwen/Qwen3-32B":{id:"Qwen/Qwen3-32B",name:"Qwen/Qwen3-32B",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-30",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.57},limit:{context:131e3,output:131e3}},"Qwen/Qwen3-VL-8B-Instruct":{id:"Qwen/Qwen3-VL-8B-Instruct",name:"Qwen/Qwen3-VL-8B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-15",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.18,output:.68},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-VL-235B-A22B-Instruct":{id:"Qwen/Qwen3-VL-235B-A22B-Instruct",name:"Qwen/Qwen3-VL-235B-A22B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-04",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.3,output:1.5},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen/Qwen3-Coder-480B-A35B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-31",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:1},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-VL-235B-A22B-Thinking":{id:"Qwen/Qwen3-VL-235B-A22B-Thinking",name:"Qwen/Qwen3-VL-235B-A22B-Thinking",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-04",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.45,output:3.5},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen/Qwen3-30B-A3B-Instruct-2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-30",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.09,output:.3},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-VL-30B-A3B-Thinking":{id:"Qwen/Qwen3-VL-30B-A3B-Thinking",name:"Qwen/Qwen3-VL-30B-A3B-Thinking",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-11",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.29,output:1},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-VL-32B-Thinking":{id:"Qwen/Qwen3-VL-32B-Thinking",name:"Qwen/Qwen3-VL-32B-Thinking",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-21",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:1.5},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen/Qwen3-235B-A22B-Thinking-2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-28",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.13,output:.6},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-Omni-30B-A3B-Thinking":{id:"Qwen/Qwen3-Omni-30B-A3B-Thinking",name:"Qwen/Qwen3-Omni-30B-A3B-Thinking",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-04",last_updated:"2025-11-25",modalities:{input:["text","image","audio"],output:["text"]},open_weights:false,cost:{input:.1,output:.4},limit:{context:66e3,output:66e3}},"Qwen/Qwen3-VL-32B-Instruct":{id:"Qwen/Qwen3-VL-32B-Instruct",name:"Qwen/Qwen3-VL-32B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-21",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.6},limit:{context:262e3,output:262e3}},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen/Qwen3-Next-80B-A3B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:1.4},limit:{context:262e3,output:262e3}},"Qwen/Qwen2.5-14B-Instruct":{id:"Qwen/Qwen2.5-14B-Instruct",name:"Qwen/Qwen2.5-14B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:.1},limit:{context:33e3,output:4e3}},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen/Qwen3-Next-80B-A3B-Thinking",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-25",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.57},limit:{context:262e3,output:262e3}},"zai-org/GLM-4.6V":{id:"zai-org/GLM-4.6V",name:"zai-org/GLM-4.6V",family:"glm",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-07",last_updated:"2025-12-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.3,output:.9},limit:{context:131e3,output:131e3}},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"zai-org/GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:3.2},limit:{context:205e3,output:205e3}},"zai-org/GLM-4.5":{id:"zai-org/GLM-4.5",name:"zai-org/GLM-4.5",family:"glm",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-28",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.4,output:2},limit:{context:131e3,output:131e3}},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"zai-org/GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.6,output:2.2},limit:{context:205e3,output:205e3}},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"zai-org/GLM-4.6",family:"glm",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-04",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:1.9},limit:{context:205e3,output:205e3}},"zai-org/GLM-4.5V":{id:"zai-org/GLM-4.5V",name:"zai-org/GLM-4.5V",family:"glm",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-13",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.14,output:.86},limit:{context:66e3,output:66e3}},"zai-org/GLM-4.5-Air":{id:"zai-org/GLM-4.5-Air",name:"zai-org/GLM-4.5-Air",family:"glm-air",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-28",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.86},limit:{context:131e3,output:131e3}},"deepseek-ai/DeepSeek-R1":{id:"deepseek-ai/DeepSeek-R1",name:"deepseek-ai/DeepSeek-R1",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-05-28",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:2.18},limit:{context:164e3,output:164e3}},"deepseek-ai/DeepSeek-R1-Distill-Qwen-32B":{id:"deepseek-ai/DeepSeek-R1-Distill-Qwen-32B",name:"deepseek-ai/DeepSeek-R1-Distill-Qwen-32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-01-20",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.18,output:.18},limit:{context:131e3,output:131e3}},"deepseek-ai/deepseek-vl2":{id:"deepseek-ai/deepseek-vl2",name:"deepseek-ai/deepseek-vl2",family:"deepseek",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-12-13",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.15,output:.15},limit:{context:4e3,output:4e3}},"deepseek-ai/DeepSeek-R1-Distill-Qwen-14B":{id:"deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",name:"deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-01-20",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:.1},limit:{context:131e3,output:131e3}},"deepseek-ai/DeepSeek-V3.2-Exp":{id:"deepseek-ai/DeepSeek-V3.2-Exp",name:"deepseek-ai/DeepSeek-V3.2-Exp",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-10",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:.41},limit:{context:164e3,output:164e3}},"deepseek-ai/DeepSeek-V3.1-Terminus":{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"deepseek-ai/DeepSeek-V3.1-Terminus",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-29",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:1},limit:{context:164e3,output:164e3}},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"deepseek-ai/DeepSeek-V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-03",last_updated:"2025-12-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:.42},limit:{context:164e3,output:164e3}},"deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"deepseek-ai/DeepSeek-V3",family:"deepseek",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-12-26",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:1},limit:{context:164e3,output:164e3}},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"deepseek-ai/DeepSeek-V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-25",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:1},limit:{context:164e3,output:164e3}}}},helicone:{id:"helicone",env:["HELICONE_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://ai-gateway.helicone.ai/v1",name:"Helicone",doc:"https://helicone.ai/models",models:{"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"OpenAI GPT-4.1 Nano",family:"gpt-nano",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.09999999999999999,output:.39999999999999997,cache_read:.024999999999999998},limit:{context:1047576,output:32768}},"grok-4-fast-non-reasoning":{id:"grok-4-fast-non-reasoning",name:"xAI Grok 4 Fast Non-Reasoning",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-19",last_updated:"2025-09-19",modalities:{input:["text","image","audio"],output:["text"]},open_weights:false,cost:{input:.19999999999999998,output:.5,cache_read:.049999999999999996},limit:{context:2e6,output:2e6}},"qwen3-coder":{id:"qwen3-coder",name:"Qwen3 Coder 480B A35B Instruct Turbo",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:.22,output:.95},limit:{context:262144,output:16384}},"deepseek-v3":{id:"deepseek-v3",name:"DeepSeek V3",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2024-12-26",last_updated:"2024-12-26",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.56,output:1.68,cache_read:.07},limit:{context:128e3,output:8192}},"claude-opus-4":{id:"claude-opus-4",name:"Anthropic: Claude Opus 4",family:"claude-opus",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-14",last_updated:"2025-05-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"grok-4-fast-reasoning":{id:"grok-4-fast-reasoning",name:"xAI: Grok 4 Fast Reasoning",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-01",last_updated:"2025-09-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.19999999999999998,output:.5,cache_read:.049999999999999996},limit:{context:2e6,output:2e6}},"llama-3.1-8b-instant":{id:"llama-3.1-8b-instant",name:"Meta Llama 3.1 8B Instant",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-07-01",last_updated:"2024-07-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.049999999999999996,output:.08},limit:{context:131072,output:32678}},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Anthropic: Claude Opus 4.1",family:"claude-opus",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"grok-4":{id:"grok-4",name:"xAI Grok 4",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-07-09",last_updated:"2024-07-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75},limit:{context:256e3,output:256e3}},"qwen3-next-80b-a3b-instruct":{id:"qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.14,output:1.4},limit:{context:262e3,output:16384}},"llama-4-maverick":{id:"llama-4-maverick",name:"Meta Llama 4 Maverick 17B 128E",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.15,output:.6},limit:{context:131072,output:8192}},"llama-prompt-guard-2-86m":{id:"llama-prompt-guard-2-86m",name:"Meta Llama Prompt Guard 2 86M",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2024-10-01",last_updated:"2024-10-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.01,output:.01},limit:{context:512,output:2}},"grok-4-1-fast-reasoning":{id:"grok-4-1-fast-reasoning",name:"xAI Grok 4.1 Fast Reasoning",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-17",last_updated:"2025-11-17",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.19999999999999998,output:.5,cache_read:.049999999999999996},limit:{context:2e6,output:2e6}},"grok-code-fast-1":{id:"grok-code-fast-1",name:"xAI Grok Code Fast 1",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-08-25",last_updated:"2024-08-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.19999999999999998,output:1.5,cache_read:.02},limit:{context:256e3,output:1e4}},"claude-4.5-haiku":{id:"claude-4.5-haiku",name:"Anthropic: Claude 4.5 Haiku",family:"claude-haiku",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-10",release_date:"2025-10-01",last_updated:"2025-10-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.09999999999999999,cache_write:1.25},limit:{context:2e5,output:8192}},"llama-3.1-8b-instruct-turbo":{id:"llama-3.1-8b-instruct-turbo",name:"Meta Llama 3.1 8B Instruct Turbo",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.02,output:.03},limit:{context:128e3,output:128e3}},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"OpenAI: GPT-5.1 Codex",family:"gpt-codex",attachment:false,reasoning:false,tool_call:true,temperature:false,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text","image"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.12500000000000003},limit:{context:4e5,output:128e3}},"gpt-4.1-mini-2025-04-14":{id:"gpt-4.1-mini-2025-04-14",name:"OpenAI GPT-4.1 Mini",family:"gpt-mini",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.39999999999999997,output:1.5999999999999999,cache_read:.09999999999999999},limit:{context:1047576,output:32768}},"llama-guard-4":{id:"llama-guard-4",name:"Meta Llama Guard 4 12B",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.21,output:.21},limit:{context:131072,output:1024}},"llama-3.1-8b-instruct":{id:"llama-3.1-8b-instruct",name:"Meta Llama 3.1 8B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.02,output:.049999999999999996},limit:{context:16384,output:16384}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Google Gemini 3 Pro Preview",family:"gemini-pro",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.19999999999999998},limit:{context:1048576,output:65536}},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Google Gemini 2.5 Flash",family:"gemini-flash",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.075,cache_write:.3},limit:{context:1048576,output:65535}},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"OpenAI GPT-4.1 Mini",family:"gpt-mini",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.39999999999999997,output:1.5999999999999999,cache_read:.09999999999999999},limit:{context:1047576,output:32768}},"deepseek-v3.1-terminus":{id:"deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-22",last_updated:"2025-09-22",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:1,cache_read:.21600000000000003},limit:{context:128e3,output:16384}},"llama-prompt-guard-2-22m":{id:"llama-prompt-guard-2-22m",name:"Meta Llama Prompt Guard 2 22M",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2024-10-01",last_updated:"2024-10-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.01,output:.01},limit:{context:512,output:2}},"claude-3.5-sonnet-v2":{id:"claude-3.5-sonnet-v2",name:"Anthropic: Claude 3.5 Sonnet v2",family:"claude-sonnet",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.30000000000000004,cache_write:3.75},limit:{context:2e5,output:8192}},"sonar-deep-research":{id:"sonar-deep-research",name:"Perplexity Sonar Deep Research",family:"sonar-deep-research",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-01",release_date:"2025-01-27",last_updated:"2025-01-27",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2,output:8},limit:{context:127e3,output:4096}},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Google Gemini 2.5 Flash Lite",family:"gemini-flash-lite",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-22",last_updated:"2025-07-22",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.09999999999999999,output:.39999999999999997,cache_read:.024999999999999998,cache_write:.09999999999999999},limit:{context:1048576,output:65535}},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Anthropic: Claude Sonnet 4.5 (20250929)",family:"claude-sonnet",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.30000000000000004,cache_write:3.75},limit:{context:2e5,output:64e3}},"grok-3":{id:"grok-3",name:"xAI Grok 3",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2024-06-01",last_updated:"2024-06-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75},limit:{context:131072,output:131072}},"mistral-small":{id:"mistral-small",name:"Mistral Small",family:"mistral-small",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-02",release_date:"2024-02-26",last_updated:"2024-02-26",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:75,output:200},limit:{context:128e3,output:128e3}},"kimi-k2-0711":{id:"kimi-k2-0711",name:"Kimi K2 (07/11)",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5700000000000001,output:2.3},limit:{context:131072,output:16384}},"chatgpt-4o-latest":{id:"chatgpt-4o-latest",name:"OpenAI ChatGPT-4o",family:"gpt",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-08-14",last_updated:"2024-08-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:5,output:20,cache_read:2.5},limit:{context:128e3,output:16384}},"qwen3-coder-30b-a3b-instruct":{id:"qwen3-coder-30b-a3b-instruct",name:"Qwen3 Coder 30B A3B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-31",last_updated:"2025-07-31",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.09999999999999999,output:.3},limit:{context:262144,output:262144}},"kimi-k2-0905":{id:"kimi-k2-0905",name:"Kimi K2 (09/05)",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:2,cache_read:.39999999999999997},limit:{context:262144,output:16384}},"sonar-reasoning":{id:"sonar-reasoning",name:"Perplexity Sonar Reasoning",family:"sonar-reasoning",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-01",release_date:"2025-01-27",last_updated:"2025-01-27",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:5},limit:{context:127e3,output:4096}},"llama-3.3-70b-instruct":{id:"llama-3.3-70b-instruct",name:"Meta Llama 3.3 70B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.13,output:.39},limit:{context:128e3,output:16400}},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"OpenAI: GPT-5.1 Codex Mini",family:"gpt-codex",attachment:false,reasoning:false,tool_call:true,temperature:false,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text","image"]},open_weights:false,cost:{input:.25,output:2,cache_read:.024999999999999998},limit:{context:4e5,output:128e3}},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.48,output:2},limit:{context:256e3,output:262144}},"o3-mini":{id:"o3-mini",name:"OpenAI o3 Mini",family:"o-mini",attachment:false,reasoning:false,tool_call:true,temperature:false,knowledge:"2023-10",release_date:"2023-10-01",last_updated:"2023-10-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.55},limit:{context:2e5,output:1e5}},"claude-4.5-sonnet":{id:"claude-4.5-sonnet",name:"Anthropic: Claude Sonnet 4.5",family:"claude-sonnet",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.30000000000000004,cache_write:3.75},limit:{context:2e5,output:64e3}},"gpt-5.1":{id:"gpt-5.1",name:"OpenAI GPT-5.1",family:"gpt",attachment:false,reasoning:false,tool_call:true,temperature:false,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text","image"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.12500000000000003},limit:{context:4e5,output:128e3}},"codex-mini-latest":{id:"codex-mini-latest",name:"OpenAI Codex Mini Latest",family:"gpt-codex-mini",attachment:false,reasoning:false,tool_call:true,temperature:false,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.5,output:6,cache_read:.375},limit:{context:2e5,output:1e5}},"gpt-5-nano":{id:"gpt-5-nano",name:"OpenAI GPT-5 Nano",family:"gpt-nano",attachment:false,reasoning:false,tool_call:true,temperature:false,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.049999999999999996,output:.39999999999999997,cache_read:.005},limit:{context:4e5,output:128e3}},"gpt-5-codex":{id:"gpt-5-codex",name:"OpenAI: GPT-5 Codex",family:"gpt-codex",attachment:false,reasoning:false,tool_call:true,temperature:false,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.12500000000000003},limit:{context:4e5,output:128e3}},"gpt-4o":{id:"gpt-4o",name:"OpenAI GPT-4o",family:"gpt",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-05",release_date:"2024-05-13",last_updated:"2024-05-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.5,output:10,cache_read:1.25},limit:{context:128e3,output:16384}},"deepseek-tng-r1t2-chimera":{id:"deepseek-tng-r1t2-chimera",name:"DeepSeek TNG R1T2 Chimera",family:"deepseek-thinking",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-02",last_updated:"2025-07-02",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.2},limit:{context:13e4,output:163840}},"claude-4.5-opus":{id:"claude-4.5-opus",name:"Anthropic: Claude Opus 4.5",family:"claude-opus",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-24",last_updated:"2025-11-24",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3}},"gpt-4.1":{id:"gpt-4.1",name:"OpenAI GPT-4.1",family:"gpt",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:1047576,output:32768}},sonar:{id:"sonar",name:"Perplexity Sonar",family:"sonar",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-01",release_date:"2025-01-27",last_updated:"2025-01-27",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:1},limit:{context:127e3,output:4096}},"glm-4.6":{id:"glm-4.6",name:"Zai GLM-4.6",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.44999999999999996,output:1.5},limit:{context:204800,output:131072}},"o4-mini":{id:"o4-mini",name:"OpenAI o4 Mini",family:"o-mini",attachment:false,reasoning:false,tool_call:true,temperature:false,knowledge:"2024-06",release_date:"2024-06-01",last_updated:"2024-06-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.275},limit:{context:2e5,output:1e5}},"qwen3-235b-a22b-thinking":{id:"qwen3-235b-a22b-thinking",name:"Qwen3 235B A22B Thinking",family:"qwen",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-07",release_date:"2025-07-25",last_updated:"2025-07-25",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.3,output:2.9000000000000004},limit:{context:262144,output:81920}},"hermes-2-pro-llama-3-8b":{id:"hermes-2-pro-llama-3-8b",name:"Hermes 2 Pro Llama 3 8B",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-05",release_date:"2024-05-27",last_updated:"2024-05-27",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.14},limit:{context:131072,output:131072}},o1:{id:"o1",name:"OpenAI: o1",family:"o",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:15,output:60,cache_read:7.5},limit:{context:2e5,output:1e5}},"grok-3-mini":{id:"grok-3-mini",name:"xAI Grok 3 Mini",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2024-06-01",last_updated:"2024-06-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:.5,cache_read:.075},limit:{context:131072,output:131072}},"sonar-pro":{id:"sonar-pro",name:"Perplexity Sonar Pro",family:"sonar-pro",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-01",release_date:"2025-01-27",last_updated:"2025-01-27",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:2e5,output:4096}},"gpt-5-mini":{id:"gpt-5-mini",name:"OpenAI GPT-5 Mini",family:"gpt-mini",attachment:false,reasoning:false,tool_call:true,temperature:false,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.024999999999999998},limit:{context:4e5,output:128e3}},"deepseek-r1-distill-llama-70b":{id:"deepseek-r1-distill-llama-70b",name:"DeepSeek R1 Distill Llama 70B",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.03,output:.13},limit:{context:128e3,output:4096}},"o1-mini":{id:"o1-mini",name:"OpenAI: o1-mini",family:"o-mini",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.55},limit:{context:128e3,output:65536}},"claude-3.7-sonnet":{id:"claude-3.7-sonnet",name:"Anthropic: Claude 3.7 Sonnet",family:"claude-sonnet",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-02",release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.30000000000000004,cache_write:3.75},limit:{context:2e5,output:64e3}},"claude-3-haiku-20240307":{id:"claude-3-haiku-20240307",name:"Anthropic: Claude 3 Haiku",family:"claude-haiku",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2024-03-07",last_updated:"2024-03-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:1.25,cache_read:.03,cache_write:.3},limit:{context:2e5,output:4096}},"o3-pro":{id:"o3-pro",name:"OpenAI o3 Pro",family:"o-pro",attachment:false,reasoning:false,tool_call:true,temperature:false,knowledge:"2024-06",release_date:"2024-06-01",last_updated:"2024-06-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:20,output:80},limit:{context:2e5,output:1e5}},"qwen2.5-coder-7b-fast":{id:"qwen2.5-coder-7b-fast",name:"Qwen2.5 Coder 7B fast",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-09",release_date:"2024-09-15",last_updated:"2024-09-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.03,output:.09},limit:{context:32e3,output:8192}},"deepseek-reasoner":{id:"deepseek-reasoner",name:"DeepSeek Reasoner",family:"deepseek-thinking",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-01",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.56,output:1.68,cache_read:.07},limit:{context:128e3,output:64e3}},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Google Gemini 2.5 Pro",family:"gemini-pro",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.3125,cache_write:1.25},limit:{context:1048576,output:65536}},"gemma-3-12b-it":{id:"gemma-3-12b-it",name:"Google Gemma 3 12B",family:"gemma",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-12",release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.049999999999999996,output:.09999999999999999},limit:{context:131072,output:8192}},"mistral-nemo":{id:"mistral-nemo",name:"Mistral Nemo",family:"mistral-nemo",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-07",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:20,output:40},limit:{context:128e3,output:16400}},o3:{id:"o3",name:"OpenAI o3",family:"o",attachment:false,reasoning:false,tool_call:true,temperature:false,knowledge:"2024-06",release_date:"2024-06-01",last_updated:"2024-06-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:2e5,output:1e5}},"gpt-oss-20b":{id:"gpt-oss-20b",name:"OpenAI GPT-OSS 20b",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2024-06-01",last_updated:"2024-06-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.049999999999999996,output:.19999999999999998},limit:{context:131072,output:131072}},"gpt-oss-120b":{id:"gpt-oss-120b",name:"OpenAI GPT-OSS 120b",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2024-06-01",last_updated:"2024-06-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.04,output:.16},limit:{context:131072,output:131072}},"claude-3.5-haiku":{id:"claude-3.5-haiku",name:"Anthropic: Claude 3.5 Haiku",family:"claude-haiku",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.7999999999999999,output:4,cache_read:.08,cache_write:1},limit:{context:2e5,output:8192}},"gpt-5-chat-latest":{id:"gpt-5-chat-latest",name:"OpenAI GPT-5 Chat Latest",family:"gpt-codex",attachment:false,reasoning:false,tool_call:true,temperature:false,knowledge:"2024-09",release_date:"2024-09-30",last_updated:"2024-09-30",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.12500000000000003},limit:{context:128e3,output:16384}},"gpt-4o-mini":{id:"gpt-4o-mini",name:"OpenAI GPT-4o-mini",family:"gpt-mini",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.15,output:.6,cache_read:.075},limit:{context:128e3,output:16384}},"gemma2-9b-it":{id:"gemma2-9b-it",name:"Google Gemma 2",family:"gemma",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-06",release_date:"2024-06-25",last_updated:"2024-06-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.01,output:.03},limit:{context:8192,output:8192}},"claude-sonnet-4":{id:"claude-sonnet-4",name:"Anthropic: Claude Sonnet 4",family:"claude-sonnet",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-14",last_updated:"2025-05-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.30000000000000004,cache_write:3.75},limit:{context:2e5,output:64e3}},"sonar-reasoning-pro":{id:"sonar-reasoning-pro",name:"Perplexity Sonar Reasoning Pro",family:"sonar-reasoning",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-01",release_date:"2025-01-27",last_updated:"2025-01-27",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2,output:8},limit:{context:127e3,output:4096}},"gpt-5":{id:"gpt-5",name:"OpenAI GPT-5",family:"gpt",attachment:false,reasoning:false,tool_call:true,temperature:false,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.12500000000000003},limit:{context:4e5,output:128e3}},"qwen3-vl-235b-a22b-instruct":{id:"qwen3-vl-235b-a22b-instruct",name:"Qwen3 VL 235B A22B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-23",last_updated:"2025-09-23",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.3,output:1.5},limit:{context:256e3,output:16384}},"qwen3-30b-a3b":{id:"qwen3-30b-a3b",name:"Qwen3 30B A3B",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-06-01",last_updated:"2025-06-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.08,output:.29},limit:{context:41e3,output:41e3}},"deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek V3.2",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-22",last_updated:"2025-09-22",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:.41},limit:{context:163840,output:65536}},"grok-4-1-fast-non-reasoning":{id:"grok-4-1-fast-non-reasoning",name:"xAI Grok 4.1 Fast Non-Reasoning",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-17",last_updated:"2025-11-17",modalities:{input:["text","image"],output:["text","image"]},open_weights:false,cost:{input:.19999999999999998,output:.5,cache_read:.049999999999999996},limit:{context:2e6,output:3e4}},"gpt-5-pro":{id:"gpt-5-pro",name:"OpenAI: GPT-5 Pro",family:"gpt-pro",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:15,output:120},limit:{context:128e3,output:32768}},"llama-3.3-70b-versatile":{id:"llama-3.3-70b-versatile",name:"Meta Llama 3.3 70B Versatile",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.59,output:.7899999999999999},limit:{context:131072,output:32678}},"mistral-large-2411":{id:"mistral-large-2411",name:"Mistral-Large",family:"mistral-large",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-07-24",last_updated:"2024-07-24",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2,output:6},limit:{context:128e3,output:32768}},"claude-opus-4-1-20250805":{id:"claude-opus-4-1-20250805",name:"Anthropic: Claude Opus 4.1 (20250805)",family:"claude-opus",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"ernie-4.5-21b-a3b-thinking":{id:"ernie-4.5-21b-a3b-thinking",name:"Baidu Ernie 4.5 21B A3B Thinking",family:"ernie",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-03",release_date:"2025-03-16",last_updated:"2025-03-16",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.07,output:.28},limit:{context:128e3,output:8e3}},"gpt-5.1-chat-latest":{id:"gpt-5.1-chat-latest",name:"OpenAI GPT-5.1 Chat",family:"gpt-codex",attachment:false,reasoning:false,tool_call:true,temperature:false,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text","image"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.12500000000000003},limit:{context:128e3,output:16384}},"qwen3-32b":{id:"qwen3-32b",name:"Qwen3 32B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-28",last_updated:"2025-04-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.29,output:.59},limit:{context:131072,output:40960}},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Anthropic: Claude 4.5 Haiku (20251001)",family:"claude-haiku",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-10",release_date:"2025-10-01",last_updated:"2025-10-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.09999999999999999,cache_write:1.25},limit:{context:2e5,output:8192}},"llama-4-scout":{id:"llama-4-scout",name:"Meta Llama 4 Scout 17B 16E",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.08,output:.3},limit:{context:131072,output:8192}}}},huggingface:{id:"huggingface",env:["HF_TOKEN"],npm:"@ai-sdk/openai-compatible",api:"https://router.huggingface.co/v1",name:"Hugging Face",doc:"https://huggingface.co/docs/inference-providers",models:{"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-14",last_updated:"2025-07-14",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3},limit:{context:131072,output:16384}},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",family:"kimi",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-01",release_date:"2026-01-01",last_updated:"2026-01-01",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3,cache_read:.1},limit:{context:262144,output:262144}},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi-K2-Instruct-0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-04",last_updated:"2025-09-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3},limit:{context:262144,output:16384}},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5,cache_read:.15},limit:{context:262144,output:262144}},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-10",release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.03},limit:{context:204800,output:131072}},"XiaomiMiMo/MiMo-V2-Flash":{id:"XiaomiMiMo/MiMo-V2-Flash",name:"MiMo-V2-Flash",family:"mimo",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-12-16",last_updated:"2025-12-16",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3},limit:{context:262144,output:4096}},"Qwen/Qwen3-Embedding-8B":{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen 3 Embedding 8B",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2024-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.01,output:0},limit:{context:32e3,output:4096}},"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5-397B-A17B",family:"qwen",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2026-02-01",last_updated:"2026-02-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.6,output:3.6},limit:{context:262144,output:32768}},"Qwen/Qwen3-Embedding-4B":{id:"Qwen/Qwen3-Embedding-4B",name:"Qwen 3 Embedding 4B",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2024-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.01,output:0},limit:{context:32e3,output:2048}},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2,output:2},limit:{context:262144,output:66536}},"Qwen/Qwen3-Coder-Next":{id:"Qwen/Qwen3-Coder-Next",name:"Qwen3-Coder-Next",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2026-02-03",last_updated:"2026-02-03",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:1.5},limit:{context:262144,output:65536}},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-25",last_updated:"2025-07-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:3},limit:{context:262144,output:131072}},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-11",last_updated:"2025-09-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.25,output:1},limit:{context:262144,output:66536}},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-11",last_updated:"2025-09-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:2},limit:{context:262144,output:131072}},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3.2,cache_read:.2},limit:{context:202752,output:131072}},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2,cache_read:.11},limit:{context:204800,output:131072}},"zai-org/GLM-4.7-Flash":{id:"zai-org/GLM-4.7-Flash",name:"GLM-4.7-Flash",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-08-08",last_updated:"2025-08-08",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:2e5,output:128e3}},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:3,output:5},limit:{context:163840,output:163840}},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.28,output:.4},limit:{context:163840,output:65536}}}},opencode:{id:"opencode",env:["EASBOT_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://opencode.ai/zen/v1",name:"OpenCode Zen",doc:"https://opencode.ai/docs/zen",models:{"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2,cache_read:.1},limit:{context:204800,output:131072}},"glm-5":{id:"glm-5",name:"GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3.2,cache_read:.2},limit:{context:204800,output:131072}},"qwen3-coder":{id:"qwen3-coder",name:"Qwen3 Coder",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.45,output:1.8},limit:{context:262144,output:65536},status:"deprecated"},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3},provider:{npm:"@ai-sdk/anthropic"}},"kimi-k2":{id:"kimi-k2",name:"Kimi K2",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:2.5,cache_read:.4},limit:{context:262144,output:262144}},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2026-01-14",last_updated:"2026-01-14",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,input:272e3,output:128e3},provider:{npm:"@ai-sdk/openai"}},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.07,output:8.5,cache_read:.107},limit:{context:4e5,input:272e3,output:128e3},provider:{npm:"@ai-sdk/openai"}},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2025-07-31",release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:1e6,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08-31",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25,context_over_200k:{input:10,output:37.5,cache_read:1,cache_write:12.5}},limit:{context:1e6,output:128e3},provider:{npm:"@ai-sdk/anthropic"}},"trinity-large-preview-free":{id:"trinity-large-preview-free",name:"Trinity Large Preview",family:"trinity",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2026-01-28",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-11-24",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",family:"kimi",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-10",release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3,cache_read:.08},limit:{context:262144,output:262144}},"gemini-3-pro":{id:"gemini-3-pro",name:"Gemini 3 Pro",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.2,context_over_200k:{input:4,output:18,cache_read:.4}},limit:{context:1048576,output:65536},provider:{npm:"@ai-sdk/google"}},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:1e6,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.025},limit:{context:4e5,input:272e3,output:128e3},provider:{npm:"@ai-sdk/openai"}},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:2.5,cache_read:.4},limit:{context:262144,output:262144}},"glm-5-free":{id:"glm-5-free",name:"GLM-5 Free",family:"glm-free",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0},limit:{context:204800,output:131072}},"gemini-3.1-pro":{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2026-02-19",last_updated:"2026-02-19",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.2,context_over_200k:{input:4,output:18,cache_read:.4}},limit:{context:1048576,output:65536},provider:{npm:"@ai-sdk/google"}},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.07,output:8.5,cache_read:.107},limit:{context:4e5,input:272e3,output:128e3},provider:{npm:"@ai-sdk/openai"}},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",family:"gpt-nano",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0,cache_read:0},limit:{context:4e5,input:272e3,output:128e3},provider:{npm:"@ai-sdk/openai"}},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5 Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.07,output:8.5,cache_read:.107},limit:{context:4e5,input:272e3,output:128e3},provider:{npm:"@ai-sdk/openai"}},"big-pickle":{id:"big-pickle",name:"Big Pickle",family:"big-pickle",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-10-17",last_updated:"2025-10-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:2e5,output:128e3},provider:{npm:"@ai-sdk/anthropic"}},"claude-3-5-haiku":{id:"claude-3-5-haiku",name:"Claude Haiku 3.5",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07-31",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.8,output:4,cache_read:.08,cache_write:1},limit:{context:2e5,output:8192},provider:{npm:"@ai-sdk/anthropic"}},"glm-4.6":{id:"glm-4.6",name:"GLM-4.6",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2,cache_read:.1},limit:{context:204800,output:131072}},"glm-4.7-free":{id:"glm-4.7-free",name:"GLM-4.7 Free",family:"glm-free",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0},limit:{context:204800,output:131072},status:"deprecated"},"grok-code":{id:"grok-code",name:"Grok Code Fast 1",family:"grok",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-20",last_updated:"2025-08-20",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:256e3,output:256e3},status:"deprecated"},"gemini-3-flash":{id:"gemini-3-flash",name:"Gemini 3 Flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:.5,output:3,cache_read:.05},limit:{context:1048576,output:65536},provider:{npm:"@ai-sdk/google"}},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,input:272e3,output:128e3},provider:{npm:"@ai-sdk/openai"}},"minimax-m2.1-free":{id:"minimax-m2.1-free",name:"MiniMax M2.1 Free",family:"minimax-free",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0},limit:{context:204800,output:131072},status:"deprecated",provider:{npm:"@ai-sdk/anthropic"}},"kimi-k2.5-free":{id:"kimi-k2.5-free",name:"Kimi K2.5 Free",family:"kimi-free",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-10",release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0},limit:{context:262144,output:262144},status:"deprecated"},"claude-sonnet-4":{id:"claude-sonnet-4",name:"Claude Sonnet 4",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:1e6,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},"gpt-5":{id:"gpt-5",name:"GPT-5",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.07,output:8.5,cache_read:.107},limit:{context:4e5,input:272e3,output:128e3},provider:{npm:"@ai-sdk/openai"}},"minimax-m2.1":{id:"minimax-m2.1",name:"MiniMax M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-01",release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.1},limit:{context:204800,output:131072}},"minimax-m2.5-free":{id:"minimax-m2.5-free",name:"MiniMax M2.5 Free",family:"minimax-free",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0},limit:{context:204800,output:131072},provider:{npm:"@ai-sdk/anthropic"}},"minimax-m2.5":{id:"minimax-m2.5",name:"MiniMax M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-01",release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.06},limit:{context:204800,output:131072}},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,input:272e3,output:128e3},provider:{npm:"@ai-sdk/openai"}}}},meganova:{id:"meganova",env:["MEGANOVA_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.meganova.ai/v1",name:"Meganova",doc:"https://docs.meganova.ai",models:{"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",family:"kimi",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2026-01",release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.45,output:2.8},limit:{context:262144,output:262144}},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.6},limit:{context:262144,output:262144}},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.28,output:1.2},limit:{context:196608,output:131072}},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},"XiaomiMiMo/MiMo-V2-Flash":{id:"XiaomiMiMo/MiMo-V2-Flash",name:"MiMo V2 Flash",family:"mimo",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-12-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3},limit:{context:262144,output:32e3}},"mistralai/Mistral-Nemo-Instruct-2407":{id:"mistralai/Mistral-Nemo-Instruct-2407",name:"Mistral Nemo Instruct 2407",family:"mistral",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.04},limit:{context:131072,output:65536}},"mistralai/Mistral-Small-3.2-24B-Instruct-2506":{id:"mistralai/Mistral-Small-3.2-24B-Instruct-2506",name:"Mistral Small 3.2 24B Instruct",family:"mistral-small",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-06-20",last_updated:"2025-06-20",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:8192}},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3},limit:{context:131072,output:16384}},"Qwen/Qwen2.5-VL-32B-Instruct":{id:"Qwen/Qwen2.5-VL-32B-Instruct",name:"Qwen2.5 VL 32B Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-03-24",last_updated:"2025-03-24",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.2,output:.6},limit:{context:16384,output:16384}},"Qwen/Qwen3.5-Plus":{id:"Qwen/Qwen3.5-Plus",name:"Qwen3.5 Plus",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2026-02",last_updated:"2026-02",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.4,output:2.4,reasoning:2.4},limit:{context:1e6,output:65536}},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.09,output:.6},limit:{context:262e3,output:262e3}},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.8,output:2.56},limit:{context:202752,output:131072}},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.8},limit:{context:202752,output:131072}},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM-4.6",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.45,output:1.9},limit:{context:202752,output:131072}},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek R1 0528",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:false,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-07",release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.5,output:2.15},limit:{context:163840,output:64e3}},"deepseek-ai/DeepSeek-V3.2-Exp":{id:"deepseek-ai/DeepSeek-V3.2-Exp",name:"DeepSeek V3.2 Exp",family:"deepseek",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-10",last_updated:"2025-10-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:.4},limit:{context:164e3,output:164e3}},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2",family:"deepseek",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-03",last_updated:"2025-12-03",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.26,output:.38},limit:{context:164e3,output:164e3}},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",family:"deepseek",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-25",last_updated:"2025-08-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:1},limit:{context:164e3,output:164e3}},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3 0324",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-03-24",last_updated:"2025-03-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.25,output:.88},limit:{context:163840,output:163840}}}},fastrouter:{id:"fastrouter",env:["FASTROUTER_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://go.fastrouter.ai/api/v1",name:"FastRouter",doc:"https://fastrouter.ai/models",models:{"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"Kimi K2",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-11",last_updated:"2025-07-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.55,output:2.2},limit:{context:131072,output:32768}},"x-ai/grok-4":{id:"x-ai/grok-4",name:"Grok 4",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75,cache_write:15},limit:{context:256e3,output:64e3}},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.0375},limit:{context:1048576,output:65536}},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.31},limit:{context:1048576,output:65536}},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",family:"gpt-nano",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10-01",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.05,output:.4,cache_read:.005},limit:{context:4e5,output:128e3}},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:1047576,output:32768}},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10-01",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.025},limit:{context:4e5,output:128e3}},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.2},limit:{context:131072,output:65536}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:131072,output:32768}},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10-01",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen3 Coder",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:262144,output:66536}},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4.1",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"deepseek-ai/deepseek-r1-distill-llama-70b":{id:"deepseek-ai/deepseek-r1-distill-llama-70b",name:"DeepSeek R1 Distill Llama 70B",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2025-01-23",last_updated:"2025-01-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.14},limit:{context:131072,output:131072}}}},minimax:{id:"minimax",env:["MINIMAX_API_KEY"],npm:"@ai-sdk/anthropic",api:"https://api.minimax.io/anthropic/v1",name:"MiniMax (minimax.io)",doc:"https://platform.minimax.io/docs/guides/quickstart",models:{"MiniMax-M2":{id:"MiniMax-M2",name:"MiniMax-M2",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-10-27",last_updated:"2025-10-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:196608,output:128e3}},"MiniMax-M2.5-highspeed":{id:"MiniMax-M2.5-highspeed",name:"MiniMax-M2.5-highspeed",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-13",last_updated:"2026-02-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.4,cache_read:.06,cache_write:.375},limit:{context:204800,output:131072}},"MiniMax-M2.1":{id:"MiniMax-M2.1",name:"MiniMax-M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},"MiniMax-M2.5":{id:"MiniMax-M2.5",name:"MiniMax-M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.03,cache_write:.375},limit:{context:204800,output:131072}}}},google:{id:"google",env:["GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"],npm:"@ai-sdk/google",name:"Google",doc:"https://ai.google.dev/gemini-api/docs/pricing",models:{"gemini-embedding-001":{id:"gemini-embedding-001",name:"Gemini Embedding 001",family:"gemini",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2025-05",release_date:"2025-05-20",last_updated:"2025-05-20",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:0},limit:{context:2048,output:3072}},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:.5,output:3,cache_read:.05,context_over_200k:{input:.5,output:3,cache_read:.05}},limit:{context:1048576,output:65536}},"gemini-2.5-flash-image":{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image",family:"gemini-flash",attachment:true,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-06",release_date:"2025-08-26",last_updated:"2025-08-26",modalities:{input:["text","image"],output:["text","image"]},open_weights:false,cost:{input:.3,output:30,cache_read:.075},limit:{context:32768,output:32768}},"gemini-2.5-flash-preview-05-20":{id:"gemini-2.5-flash-preview-05-20",name:"Gemini 2.5 Flash Preview 05-20",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-05-20",last_updated:"2025-05-20",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.15,output:.6,cache_read:.0375},limit:{context:1048576,output:65536}},"gemini-flash-lite-latest":{id:"gemini-flash-lite-latest",name:"Gemini Flash-Lite Latest",family:"gemini-flash-lite",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025},limit:{context:1048576,output:65536}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.2,context_over_200k:{input:4,output:18,cache_read:.4}},limit:{context:1e6,output:64e3}},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-03-20",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.075,input_audio:1},limit:{context:1048576,output:65536}},"gemini-flash-latest":{id:"gemini-flash-latest",name:"Gemini Flash Latest",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.075,input_audio:1},limit:{context:1048576,output:65536}},"gemini-2.5-pro-preview-05-06":{id:"gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-05-06",last_updated:"2025-05-06",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.31},limit:{context:1048576,output:65536}},"gemini-2.5-flash-preview-tts":{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash Preview TTS",family:"gemini-flash",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2025-01",release_date:"2025-05-01",last_updated:"2025-05-01",modalities:{input:["text"],output:["audio"]},open_weights:false,cost:{input:.5,output:10},limit:{context:8e3,output:16e3}},"gemini-2.0-flash-lite":{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",family:"gemini-flash-lite",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-06",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.075,output:.3},limit:{context:1048576,output:8192}},"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",family:"gemini-flash",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-01",release_date:"2025-06-17",last_updated:"2025-09-18",modalities:{input:["text","audio","video"],output:["text","audio"]},open_weights:false,cost:{input:.5,output:2,input_audio:3,output_audio:12},limit:{context:131072,output:65536}},"gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2026-02-19",last_updated:"2026-02-19",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.2,context_over_200k:{input:4,output:18,cache_read:.4}},limit:{context:1048576,output:65536}},"gemini-2.0-flash":{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-06",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025},limit:{context:1048576,output:8192}},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",family:"gemini-flash-lite",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025},limit:{context:1048576,output:65536}},"gemini-2.5-pro-preview-06-05":{id:"gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-05",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.31},limit:{context:1048576,output:65536}},"gemini-live-2.5-flash":{id:"gemini-live-2.5-flash",name:"Gemini Live 2.5 Flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-01",last_updated:"2025-09-01",modalities:{input:["text","image","audio","video"],output:["text","audio"]},open_weights:false,cost:{input:.5,output:2,input_audio:3,output_audio:12},limit:{context:128e3,output:8e3}},"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",family:"gemini-flash-lite",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025,input_audio:.3},limit:{context:1048576,output:65536}},"gemini-2.5-flash-image-preview":{id:"gemini-2.5-flash-image-preview",name:"Gemini 2.5 Flash Image (Preview)",family:"gemini-flash",attachment:true,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-06",release_date:"2025-08-26",last_updated:"2025-08-26",modalities:{input:["text","image"],output:["text","image"]},open_weights:false,cost:{input:.3,output:30,cache_read:.075},limit:{context:32768,output:32768}},"gemini-2.5-flash-preview-09-2025":{id:"gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.075,input_audio:1},limit:{context:1048576,output:65536}},"gemini-2.5-flash-preview-04-17":{id:"gemini-2.5-flash-preview-04-17",name:"Gemini 2.5 Flash Preview 04-17",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-04-17",last_updated:"2025-04-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.15,output:.6,cache_read:.0375},limit:{context:1048576,output:65536}},"gemini-2.5-pro-preview-tts":{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro Preview TTS",family:"gemini-flash",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2025-01",release_date:"2025-05-01",last_updated:"2025-05-01",modalities:{input:["text"],output:["audio"]},open_weights:false,cost:{input:1,output:20},limit:{context:8e3,output:16e3}},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-03-20",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.31},limit:{context:1048576,output:65536}},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2026-02-19",last_updated:"2026-02-19",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.2,context_over_200k:{input:4,output:18,cache_read:.4}},limit:{context:1048576,output:65536}},"gemini-1.5-flash":{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-05-14",last_updated:"2024-05-14",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:.075,output:.3,cache_read:.01875},limit:{context:1e6,output:8192}},"gemini-1.5-flash-8b":{id:"gemini-1.5-flash-8b",name:"Gemini 1.5 Flash-8B",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-10-03",last_updated:"2024-10-03",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:.0375,output:.15,cache_read:.01},limit:{context:1e6,output:8192}},"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",family:"gemini-flash-lite",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025},limit:{context:1048576,output:65536}},"gemini-1.5-pro":{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",family:"gemini-pro",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-02-15",last_updated:"2024-02-15",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:1.25,output:5,cache_read:.3125},limit:{context:1e6,output:8192}}}},"google-vertex":{id:"google-vertex",env:["GOOGLE_VERTEX_PROJECT","GOOGLE_VERTEX_LOCATION","GOOGLE_APPLICATION_CREDENTIALS"],npm:"@ai-sdk/google-vertex",name:"Vertex",doc:"https://cloud.google.com/vertex-ai/generative-ai/docs/models",models:{"gemini-embedding-001":{id:"gemini-embedding-001",name:"Gemini Embedding 001",family:"gemini",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2025-05",release_date:"2025-05-20",last_updated:"2025-05-20",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:0},limit:{context:2048,output:3072}},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:.5,output:3,cache_read:.05,context_over_200k:{input:.5,output:3,cache_read:.05}},limit:{context:1048576,output:65536}},"gemini-2.5-flash-preview-05-20":{id:"gemini-2.5-flash-preview-05-20",name:"Gemini 2.5 Flash Preview 05-20",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-05-20",last_updated:"2025-05-20",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.15,output:.6,cache_read:.0375},limit:{context:1048576,output:65536}},"gemini-flash-lite-latest":{id:"gemini-flash-lite-latest",name:"Gemini Flash-Lite Latest",family:"gemini-flash-lite",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025},limit:{context:1048576,output:65536}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.2,context_over_200k:{input:4,output:18,cache_read:.4}},limit:{context:1048576,output:65536}},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.075,cache_write:.383},limit:{context:1048576,output:65536}},"gemini-flash-latest":{id:"gemini-flash-latest",name:"Gemini Flash Latest",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.075,cache_write:.383},limit:{context:1048576,output:65536}},"gemini-2.5-pro-preview-05-06":{id:"gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-05-06",last_updated:"2025-05-06",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.31},limit:{context:1048576,output:65536}},"gemini-2.0-flash-lite":{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",family:"gemini-flash-lite",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.075,output:.3},limit:{context:1048576,output:8192}},"gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2026-02-19",last_updated:"2026-02-19",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.2,context_over_200k:{input:4,output:18,cache_read:.4}},limit:{context:1048576,output:65536}},"gemini-2.0-flash":{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.15,output:.6,cache_read:.025},limit:{context:1048576,output:8192}},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",family:"gemini-flash-lite",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025},limit:{context:1048576,output:65536}},"gemini-2.5-pro-preview-06-05":{id:"gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-05",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.31},limit:{context:1048576,output:65536}},"gemini-2.5-flash-lite-preview-06-17":{id:"gemini-2.5-flash-lite-preview-06-17",name:"Gemini 2.5 Flash Lite Preview 06-17",family:"gemini-flash-lite",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025},limit:{context:65536,output:65536}},"gemini-2.5-flash-preview-09-2025":{id:"gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.075,cache_write:.383},limit:{context:1048576,output:65536}},"gemini-2.5-flash-preview-04-17":{id:"gemini-2.5-flash-preview-04-17",name:"Gemini 2.5 Flash Preview 04-17",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-04-17",last_updated:"2025-04-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.15,output:.6,cache_read:.0375},limit:{context:1048576,output:65536}},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-03-20",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.31},limit:{context:1048576,output:65536}},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2026-02-19",last_updated:"2026-02-19",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.2,context_over_200k:{input:4,output:18,cache_read:.4}},limit:{context:1048576,output:65536}},"gemini-2.5-flash-lite-preview-09-2025":{id:"gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",family:"gemini-flash-lite",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025},limit:{context:1048576,output:65536}},"openai/gpt-oss-120b-maas":{id:"openai/gpt-oss-120b-maas",name:"GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.09,output:.36},limit:{context:131072,output:32768}},"openai/gpt-oss-20b-maas":{id:"openai/gpt-oss-20b-maas",name:"GPT OSS 20B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.25},limit:{context:131072,output:32768}},"qwen/qwen3-235b-a22b-instruct-2507-maas":{id:"qwen/qwen3-235b-a22b-instruct-2507-maas",name:"Qwen3 235B A22B Instruct",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-13",last_updated:"2025-08-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.22,output:.88},limit:{context:262144,output:16384},provider:{npm:"@ai-sdk/openai-compatible",api:"https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"}},"meta/llama-4-maverick-17b-128e-instruct-maas":{id:"meta/llama-4-maverick-17b-128e-instruct-maas",name:"Llama 4 Maverick 17B 128E Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-29",last_updated:"2025-04-29",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.35,output:1.15},limit:{context:524288,output:8192},provider:{npm:"@ai-sdk/openai-compatible",api:"https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"}},"meta/llama-3.3-70b-instruct-maas":{id:"meta/llama-3.3-70b-instruct-maas",name:"Llama 3.3 70B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-12",release_date:"2025-04-29",last_updated:"2025-04-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.72,output:.72},limit:{context:128e3,output:8192},provider:{npm:"@ai-sdk/openai-compatible",api:"https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"}},"zai-org/glm-4.7-maas":{id:"zai-org/glm-4.7-maas",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2026-01-06",last_updated:"2026-01-06",modalities:{input:["text","pdf"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2},limit:{context:2e5,output:128e3},provider:{npm:"@ai-sdk/openai-compatible",api:"https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"}},"zai-org/glm-5-maas":{id:"zai-org/glm-5-maas",name:"GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3.2,cache_read:.1},limit:{context:204800,output:131072},provider:{npm:"@ai-sdk/openai-compatible",api:"https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"}},"deepseek-ai/deepseek-v3.1-maas":{id:"deepseek-ai/deepseek-v3.1-maas",name:"DeepSeek V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-28",last_updated:"2025-08-28",modalities:{input:["text","pdf"],output:["text"]},open_weights:true,cost:{input:.6,output:1.7},limit:{context:163840,output:32768},provider:{npm:"@ai-sdk/openai-compatible",api:"https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi"}}}},"cloudflare-workers-ai":{id:"cloudflare-workers-ai",env:["CLOUDFLARE_ACCOUNT_ID","CLOUDFLARE_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.cloudflare.com/client/v4/accounts/${CLOUDFLARE_ACCOUNT_ID}/ai/v1",name:"Cloudflare Workers AI",doc:"https://developers.cloudflare.com/workers-ai/models/",models:{"@cf/ibm-granite/granite-4.0-h-micro":{id:"@cf/ibm-granite/granite-4.0-h-micro",name:"IBM Granite 4.0 H Micro",family:"granite",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.017,output:.11},limit:{context:128e3,output:16384}},"@cf/facebook/bart-large-cnn":{id:"@cf/facebook/bart-large-cnn",name:"BART Large CNN",family:"bart",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-09",last_updated:"2025-04-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"@cf/mistral/mistral-7b-instruct-v0.1":{id:"@cf/mistral/mistral-7b-instruct-v0.1",name:"Mistral 7B Instruct v0.1",family:"mistral",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.11,output:.19},limit:{context:128e3,output:16384}},"@cf/huggingface/distilbert-sst-2-int8":{id:"@cf/huggingface/distilbert-sst-2-int8",name:"DistilBERT SST-2 INT8",family:"distilbert",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.026,output:0},limit:{context:128e3,output:16384}},"@cf/myshell-ai/melotts":{id:"@cf/myshell-ai/melotts",name:"MyShell MeloTTS",family:"melotts",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"@cf/google/gemma-3-12b-it":{id:"@cf/google/gemma-3-12b-it",name:"Gemma 3 12B IT",family:"gemma",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-11",last_updated:"2025-04-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.35,output:.56},limit:{context:128e3,output:16384}},"@cf/pfnet/plamo-embedding-1b":{id:"@cf/pfnet/plamo-embedding-1b",name:"PLaMo Embedding 1B",family:"plamo",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.019,output:0},limit:{context:128e3,output:16384}},"@cf/openai/gpt-oss-20b":{id:"@cf/openai/gpt-oss-20b",name:"GPT OSS 20B",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.3},limit:{context:128e3,output:16384}},"@cf/openai/gpt-oss-120b":{id:"@cf/openai/gpt-oss-120b",name:"GPT OSS 120B",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.35,output:.75},limit:{context:128e3,output:16384}},"@cf/ai4bharat/indictrans2-en-indic-1B":{id:"@cf/ai4bharat/indictrans2-en-indic-1B",name:"IndicTrans2 EN-Indic 1B",family:"indictrans",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.34,output:.34},limit:{context:128e3,output:16384}},"@cf/pipecat-ai/smart-turn-v2":{id:"@cf/pipecat-ai/smart-turn-v2",name:"Pipecat Smart Turn v2",family:"smart-turn",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"@cf/qwen/qwen2.5-coder-32b-instruct":{id:"@cf/qwen/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-11",last_updated:"2025-04-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.66,output:1},limit:{context:128e3,output:16384}},"@cf/qwen/qwen3-30b-a3b-fp8":{id:"@cf/qwen/qwen3-30b-a3b-fp8",name:"Qwen3 30B A3B FP8",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.051,output:.34},limit:{context:128e3,output:16384}},"@cf/qwen/qwen3-embedding-0.6b":{id:"@cf/qwen/qwen3-embedding-0.6b",name:"Qwen3 Embedding 0.6B",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.012,output:0},limit:{context:128e3,output:16384}},"@cf/qwen/qwq-32b":{id:"@cf/qwen/qwq-32b",name:"QwQ 32B",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-11",last_updated:"2025-04-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.66,output:1},limit:{context:128e3,output:16384}},"@cf/mistralai/mistral-small-3.1-24b-instruct":{id:"@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct",family:"mistral-small",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-11",last_updated:"2025-04-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.35,output:.56},limit:{context:128e3,output:16384}},"@cf/deepgram/aura-2-es":{id:"@cf/deepgram/aura-2-es",name:"Deepgram Aura 2 (ES)",family:"aura",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"@cf/deepgram/aura-2-en":{id:"@cf/deepgram/aura-2-en",name:"Deepgram Aura 2 (EN)",family:"aura",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"@cf/deepgram/nova-3":{id:"@cf/deepgram/nova-3",name:"Deepgram Nova 3",family:"nova",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"@cf/aisingapore/gemma-sea-lion-v4-27b-it":{id:"@cf/aisingapore/gemma-sea-lion-v4-27b-it",name:"Gemma SEA-LION v4 27B IT",family:"gemma",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.35,output:.56},limit:{context:128e3,output:16384}},"@cf/meta/llama-3.2-11b-vision-instruct":{id:"@cf/meta/llama-3.2-11b-vision-instruct",name:"Llama 3.2 11B Vision Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.049,output:.68},limit:{context:128e3,output:16384}},"@cf/meta/llama-3.1-8b-instruct-fp8":{id:"@cf/meta/llama-3.1-8b-instruct-fp8",name:"Llama 3.1 8B Instruct FP8",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:.29},limit:{context:128e3,output:16384}},"@cf/meta/llama-2-7b-chat-fp16":{id:"@cf/meta/llama-2-7b-chat-fp16",name:"Llama 2 7B Chat FP16",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.56,output:6.67},limit:{context:128e3,output:16384}},"@cf/meta/llama-3-8b-instruct":{id:"@cf/meta/llama-3-8b-instruct",name:"Llama 3 8B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.28,output:.83},limit:{context:128e3,output:16384}},"@cf/meta/llama-3.1-8b-instruct":{id:"@cf/meta/llama-3.1-8b-instruct",name:"Llama 3.1 8B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.28,output:.8299999999999998},limit:{context:128e3,output:16384}},"@cf/meta/m2m100-1.2b":{id:"@cf/meta/m2m100-1.2b",name:"M2M100 1.2B",family:"m2m",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.34,output:.34},limit:{context:128e3,output:16384}},"@cf/meta/llama-3.2-3b-instruct":{id:"@cf/meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.051,output:.34},limit:{context:128e3,output:16384}},"@cf/meta/llama-3.3-70b-instruct-fp8-fast":{id:"@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct FP8 Fast",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.29,output:2.25},limit:{context:128e3,output:16384}},"@cf/meta/llama-3-8b-instruct-awq":{id:"@cf/meta/llama-3-8b-instruct-awq",name:"Llama 3 8B Instruct AWQ",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.12,output:.27},limit:{context:128e3,output:16384}},"@cf/meta/llama-3.2-1b-instruct":{id:"@cf/meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.027,output:.2},limit:{context:128e3,output:16384}},"@cf/meta/llama-4-scout-17b-16e-instruct":{id:"@cf/meta/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B 16E Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:.85},limit:{context:128e3,output:16384}},"@cf/meta/llama-guard-3-8b":{id:"@cf/meta/llama-guard-3-8b",name:"Llama Guard 3 8B",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.48,output:.03},limit:{context:128e3,output:16384}},"@cf/meta/llama-3.1-8b-instruct-awq":{id:"@cf/meta/llama-3.1-8b-instruct-awq",name:"Llama 3.1 8B Instruct AWQ",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.12,output:.27},limit:{context:128e3,output:16384}},"@cf/baai/bge-m3":{id:"@cf/baai/bge-m3",name:"BGE M3",family:"bge",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.012,output:0},limit:{context:128e3,output:16384}},"@cf/baai/bge-base-en-v1.5":{id:"@cf/baai/bge-base-en-v1.5",name:"BGE Base EN v1.5",family:"bge",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.067,output:0},limit:{context:128e3,output:16384}},"@cf/baai/bge-large-en-v1.5":{id:"@cf/baai/bge-large-en-v1.5",name:"BGE Large EN v1.5",family:"bge",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:0},limit:{context:128e3,output:16384}},"@cf/baai/bge-reranker-base":{id:"@cf/baai/bge-reranker-base",name:"BGE Reranker Base",family:"bge",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-09",last_updated:"2025-04-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.0031,output:0},limit:{context:128e3,output:16384}},"@cf/baai/bge-small-en-v1.5":{id:"@cf/baai/bge-small-en-v1.5",name:"BGE Small EN v1.5",family:"bge",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.02,output:0},limit:{context:128e3,output:16384}},"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b":{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B",family:"deepseek-thinking",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:4.88},limit:{context:128e3,output:16384}}}},inception:{id:"inception",env:["INCEPTION_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.inceptionlabs.ai/v1/",name:"Inception",doc:"https://platform.inceptionlabs.ai/docs",models:{"mercury-coder":{id:"mercury-coder",name:"Mercury Coder",family:"mercury",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2025-02-26",last_updated:"2025-07-31",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:1,cache_read:.25,cache_write:1},limit:{context:128e3,output:16384}},mercury:{id:"mercury",name:"Mercury",family:"mercury",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2025-06-26",last_updated:"2025-07-31",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:1,cache_read:.25,cache_write:1},limit:{context:128e3,output:16384}}}},wandb:{id:"wandb",env:["WANDB_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.inference.wandb.ai/v1",name:"Weights & Biases",doc:"https://weave-docs.wandb.ai/guides/integrations/inference/",models:{"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-14",last_updated:"2025-07-14",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.35,output:4},limit:{context:128e3,output:16384}},"microsoft/Phi-4-mini-instruct":{id:"microsoft/Phi-4-mini-instruct",name:"Phi-4-mini-instruct",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.08,output:.35},limit:{context:128e3,output:4096}},"meta-llama/Llama-3.1-8B-Instruct":{id:"meta-llama/Llama-3.1-8B-Instruct",name:"Meta-Llama-3.1-8B-Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.22,output:.22},limit:{context:128e3,output:32768}},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.71,output:.71},limit:{context:128e3,output:32768}},"meta-llama/Llama-4-Scout-17B-16E-Instruct":{id:"meta-llama/Llama-4-Scout-17B-16E-Instruct",name:"Llama 4 Scout 17B 16E Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-31",last_updated:"2025-01-31",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.17,output:.66},limit:{context:64e3,output:8192}},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-28",last_updated:"2025-07-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.1},limit:{context:262144,output:131072}},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:1.5},limit:{context:262144,output:66536}},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-25",last_updated:"2025-07-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.1},limit:{context:262144,output:131072}},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.35,output:5.4},limit:{context:161e3,output:163840}},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek-V3-0324",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-03-24",last_updated:"2025-03-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.14,output:2.75},limit:{context:161e3,output:8192}}}},"cloudflare-ai-gateway":{id:"cloudflare-ai-gateway",env:["CLOUDFLARE_API_TOKEN","CLOUDFLARE_ACCOUNT_ID","CLOUDFLARE_GATEWAY_ID"],npm:"ai-gateway-provider",name:"Cloudflare AI Gateway",doc:"https://developers.cloudflare.com/ai-gateway/",models:{"workers-ai/@cf/ibm-granite/granite-4.0-h-micro":{id:"workers-ai/@cf/ibm-granite/granite-4.0-h-micro",name:"IBM Granite 4.0 H Micro",family:"granite",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.017,output:.11},limit:{context:128e3,output:16384}},"workers-ai/@cf/facebook/bart-large-cnn":{id:"workers-ai/@cf/facebook/bart-large-cnn",name:"BART Large CNN",family:"bart",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-09",last_updated:"2025-04-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"workers-ai/@cf/mistral/mistral-7b-instruct-v0.1":{id:"workers-ai/@cf/mistral/mistral-7b-instruct-v0.1",name:"Mistral 7B Instruct v0.1",family:"mistral",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.11,output:.19},limit:{context:128e3,output:16384}},"workers-ai/@cf/huggingface/distilbert-sst-2-int8":{id:"workers-ai/@cf/huggingface/distilbert-sst-2-int8",name:"DistilBERT SST-2 INT8",family:"distilbert",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.026,output:0},limit:{context:128e3,output:16384}},"workers-ai/@cf/myshell-ai/melotts":{id:"workers-ai/@cf/myshell-ai/melotts",name:"MyShell MeloTTS",family:"melotts",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"workers-ai/@cf/google/gemma-3-12b-it":{id:"workers-ai/@cf/google/gemma-3-12b-it",name:"Gemma 3 12B IT",family:"gemma",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-11",last_updated:"2025-04-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.35,output:.56},limit:{context:128e3,output:16384}},"workers-ai/@cf/pfnet/plamo-embedding-1b":{id:"workers-ai/@cf/pfnet/plamo-embedding-1b",name:"PLaMo Embedding 1B",family:"plamo",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.019,output:0},limit:{context:128e3,output:16384}},"workers-ai/@cf/openai/gpt-oss-20b":{id:"workers-ai/@cf/openai/gpt-oss-20b",name:"GPT OSS 20B",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.3},limit:{context:128e3,output:16384}},"workers-ai/@cf/openai/gpt-oss-120b":{id:"workers-ai/@cf/openai/gpt-oss-120b",name:"GPT OSS 120B",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.35,output:.75},limit:{context:128e3,output:16384}},"workers-ai/@cf/ai4bharat/indictrans2-en-indic-1B":{id:"workers-ai/@cf/ai4bharat/indictrans2-en-indic-1B",name:"IndicTrans2 EN-Indic 1B",family:"indictrans",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.34,output:.34},limit:{context:128e3,output:16384}},"workers-ai/@cf/pipecat-ai/smart-turn-v2":{id:"workers-ai/@cf/pipecat-ai/smart-turn-v2",name:"Pipecat Smart Turn v2",family:"smart-turn",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct":{id:"workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-11",last_updated:"2025-04-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.66,output:1},limit:{context:128e3,output:16384}},"workers-ai/@cf/qwen/qwen3-30b-a3b-fp8":{id:"workers-ai/@cf/qwen/qwen3-30b-a3b-fp8",name:"Qwen3 30B A3B FP8",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.051,output:.34},limit:{context:128e3,output:16384}},"workers-ai/@cf/qwen/qwen3-embedding-0.6b":{id:"workers-ai/@cf/qwen/qwen3-embedding-0.6b",name:"Qwen3 Embedding 0.6B",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.012,output:0},limit:{context:128e3,output:16384}},"workers-ai/@cf/qwen/qwq-32b":{id:"workers-ai/@cf/qwen/qwq-32b",name:"QwQ 32B",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-11",last_updated:"2025-04-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.66,output:1},limit:{context:128e3,output:16384}},"workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct":{id:"workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct",family:"mistral-small",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-11",last_updated:"2025-04-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.35,output:.56},limit:{context:128e3,output:16384}},"workers-ai/@cf/deepgram/aura-2-es":{id:"workers-ai/@cf/deepgram/aura-2-es",name:"Deepgram Aura 2 (ES)",family:"aura",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"workers-ai/@cf/deepgram/aura-2-en":{id:"workers-ai/@cf/deepgram/aura-2-en",name:"Deepgram Aura 2 (EN)",family:"aura",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"workers-ai/@cf/deepgram/nova-3":{id:"workers-ai/@cf/deepgram/nova-3",name:"Deepgram Nova 3",family:"nova",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:16384}},"workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it":{id:"workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it",name:"Gemma SEA-LION v4 27B IT",family:"gemma",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.35,output:.56},limit:{context:128e3,output:16384}},"workers-ai/@cf/meta/llama-3.2-11b-vision-instruct":{id:"workers-ai/@cf/meta/llama-3.2-11b-vision-instruct",name:"Llama 3.2 11B Vision Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.049,output:.68},limit:{context:128e3,output:16384}},"workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8":{id:"workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8",name:"Llama 3.1 8B Instruct FP8",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:.29},limit:{context:128e3,output:16384}},"workers-ai/@cf/meta/llama-2-7b-chat-fp16":{id:"workers-ai/@cf/meta/llama-2-7b-chat-fp16",name:"Llama 2 7B Chat FP16",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.56,output:6.67},limit:{context:128e3,output:16384}},"workers-ai/@cf/meta/llama-3-8b-instruct":{id:"workers-ai/@cf/meta/llama-3-8b-instruct",name:"Llama 3 8B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.28,output:.83},limit:{context:128e3,output:16384}},"workers-ai/@cf/meta/llama-3.1-8b-instruct":{id:"workers-ai/@cf/meta/llama-3.1-8b-instruct",name:"Llama 3.1 8B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.28,output:.8299999999999998},limit:{context:128e3,output:16384}},"workers-ai/@cf/meta/m2m100-1.2b":{id:"workers-ai/@cf/meta/m2m100-1.2b",name:"M2M100 1.2B",family:"m2m",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.34,output:.34},limit:{context:128e3,output:16384}},"workers-ai/@cf/meta/llama-3.2-3b-instruct":{id:"workers-ai/@cf/meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.051,output:.34},limit:{context:128e3,output:16384}},"workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast":{id:"workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct FP8 Fast",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.29,output:2.25},limit:{context:128e3,output:16384}},"workers-ai/@cf/meta/llama-3-8b-instruct-awq":{id:"workers-ai/@cf/meta/llama-3-8b-instruct-awq",name:"Llama 3 8B Instruct AWQ",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.12,output:.27},limit:{context:128e3,output:16384}},"workers-ai/@cf/meta/llama-3.2-1b-instruct":{id:"workers-ai/@cf/meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.027,output:.2},limit:{context:128e3,output:16384}},"workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct":{id:"workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B 16E Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:.85},limit:{context:128e3,output:16384}},"workers-ai/@cf/meta/llama-guard-3-8b":{id:"workers-ai/@cf/meta/llama-guard-3-8b",name:"Llama Guard 3 8B",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.48,output:.03},limit:{context:128e3,output:16384}},"workers-ai/@cf/meta/llama-3.1-8b-instruct-awq":{id:"workers-ai/@cf/meta/llama-3.1-8b-instruct-awq",name:"Llama 3.1 8B Instruct AWQ",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.12,output:.27},limit:{context:128e3,output:16384}},"workers-ai/@cf/baai/bge-m3":{id:"workers-ai/@cf/baai/bge-m3",name:"BGE M3",family:"bge",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.012,output:0},limit:{context:128e3,output:16384}},"workers-ai/@cf/baai/bge-base-en-v1.5":{id:"workers-ai/@cf/baai/bge-base-en-v1.5",name:"BGE Base EN v1.5",family:"bge",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.067,output:0},limit:{context:128e3,output:16384}},"workers-ai/@cf/baai/bge-large-en-v1.5":{id:"workers-ai/@cf/baai/bge-large-en-v1.5",name:"BGE Large EN v1.5",family:"bge",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:0},limit:{context:128e3,output:16384}},"workers-ai/@cf/baai/bge-reranker-base":{id:"workers-ai/@cf/baai/bge-reranker-base",name:"BGE Reranker Base",family:"bge",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-09",last_updated:"2025-04-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.0031,output:0},limit:{context:128e3,output:16384}},"workers-ai/@cf/baai/bge-small-en-v1.5":{id:"workers-ai/@cf/baai/bge-small-en-v1.5",name:"BGE Small EN v1.5",family:"bge",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.02,output:0},limit:{context:128e3,output:16384}},"workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b":{id:"workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B",family:"deepseek-thinking",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:4.88},limit:{context:128e3,output:16384}},"openai/gpt-4":{id:"openai/gpt-4",name:"GPT-4",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:false,temperature:true,knowledge:"2023-11",release_date:"2023-11-06",last_updated:"2024-04-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:30,output:60},limit:{context:8192,output:8192}},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1 Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"openai/gpt-3.5-turbo":{id:"openai/gpt-3.5-turbo",name:"GPT-3.5-turbo",family:"gpt",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,knowledge:"2021-09-01",release_date:"2023-03-01",last_updated:"2023-11-06",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:1.5,cache_read:1.25},limit:{context:16385,output:4096}},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"GPT-4 Turbo",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:false,temperature:true,knowledge:"2023-12",release_date:"2023-11-06",last_updated:"2024-04-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:10,output:30},limit:{context:128e3,output:4096}},"openai/o3-mini":{id:"openai/o3-mini",name:"o3-mini",family:"o-mini",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05",release_date:"2024-12-20",last_updated:"2025-01-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.55},limit:{context:2e5,output:1e5}},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:4e5,output:128e3}},"openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-09",release_date:"2024-05-13",last_updated:"2024-08-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.5,output:10,cache_read:1.25},limit:{context:128e3,output:16384}},"openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",family:"o-mini",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.28},limit:{context:2e5,output:1e5}},"openai/o1":{id:"openai/o1",name:"o1",family:"o",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2023-09",release_date:"2024-12-05",last_updated:"2024-12-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:60,cache_read:7.5},limit:{context:2e5,output:1e5}},"openai/o3-pro":{id:"openai/o3-pro",name:"o3-pro",family:"o-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05",release_date:"2025-06-10",last_updated:"2025-06-10",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:20,output:80},limit:{context:2e5,output:1e5}},"openai/o3":{id:"openai/o3",name:"o3",family:"o",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:2e5,output:1e5}},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-09",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.15,output:.6,cache_read:.08},limit:{context:128e3,output:16384}},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,output:128e3}},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4 (latest)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"anthropic/claude-opus-4-1":{id:"anthropic/claude-opus-4-1",name:"Claude Opus 4.1 (latest)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"anthropic/claude-haiku-4-5":{id:"anthropic/claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3}},"anthropic/claude-sonnet-4-6":{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2025-07-31",release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:1e6,output:64e3},provider:{npm:"ai-gateway-provider"}},"anthropic/claude-opus-4-6":{id:"anthropic/claude-opus-4-6",name:"Claude Opus 4.6 (latest)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08-31",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25,context_over_200k:{input:10,output:37.5,cache_read:1,cache_write:12.5}},limit:{context:1e6,output:128e3}},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Claude Haiku 3",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-08-31",release_date:"2024-03-13",last_updated:"2024-03-13",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.25,output:1.25,cache_read:.03,cache_write:.3},limit:{context:2e5,output:4096}},"anthropic/claude-opus-4-5":{id:"anthropic/claude-opus-4-5",name:"Claude Opus 4.5 (latest)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-11-24",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3}},"anthropic/claude-3-opus":{id:"anthropic/claude-3-opus",name:"Claude Opus 3",family:"claude-opus",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-08-31",release_date:"2024-02-29",last_updated:"2024-02-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:4096}},"anthropic/claude-sonnet-4-5":{id:"anthropic/claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"anthropic/claude-3.5-sonnet":{id:"anthropic/claude-3.5-sonnet",name:"Claude Sonnet 3.5 v2",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04-30",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:8192}},"anthropic/claude-3-sonnet":{id:"anthropic/claude-3-sonnet",name:"Claude Sonnet 3",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-08-31",release_date:"2024-03-04",last_updated:"2024-03-04",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:.3},limit:{context:2e5,output:4096}},"anthropic/claude-3-5-haiku":{id:"anthropic/claude-3-5-haiku",name:"Claude Haiku 3.5 (latest)",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07-31",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.8,output:4,cache_read:.08,cache_write:1},limit:{context:2e5,output:8192}},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5 (latest)",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07-31",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.8,output:4,cache_read:.08,cache_write:1},limit:{context:2e5,output:8192}},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4 (latest)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}}}},openai:{id:"openai",env:["OPENAI_API_KEY"],npm:"@ai-sdk/openai",name:"OpenAI",doc:"https://platform.openai.com/docs/models",models:{"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",family:"gpt-nano",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.03},limit:{context:1047576,output:32768}},"text-embedding-3-small":{id:"text-embedding-3-small",name:"text-embedding-3-small",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2024-01",release_date:"2024-01-25",last_updated:"2024-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.02,output:0},limit:{context:8191,output:1536}},"gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",family:"gpt-codex-spark",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:128e3,input:1e5,output:32e3}},"gpt-4":{id:"gpt-4",name:"GPT-4",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:false,temperature:true,knowledge:"2023-11",release_date:"2023-11-06",last_updated:"2024-04-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:30,output:60},limit:{context:8192,output:8192}},"o1-pro":{id:"o1-pro",name:"o1-pro",family:"o-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2023-09",release_date:"2025-03-19",last_updated:"2025-03-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:150,output:600},limit:{context:2e5,output:1e5}},"gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",name:"GPT-4o (2024-05-13)",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-09",release_date:"2024-05-13",last_updated:"2024-05-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:5,output:15},limit:{context:128e3,output:4096}},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,input:272e3,output:128e3}},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,input:272e3,output:128e3}},"gpt-4o-2024-08-06":{id:"gpt-4o-2024-08-06",name:"GPT-4o (2024-08-06)",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-09",release_date:"2024-08-06",last_updated:"2024-08-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.5,output:10,cache_read:1.25},limit:{context:128e3,output:16384}},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:1.6,cache_read:.1},limit:{context:1047576,output:32768}},"o3-deep-research":{id:"o3-deep-research",name:"o3-deep-research",family:"o",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05",release_date:"2024-06-26",last_updated:"2024-06-26",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:10,output:40,cache_read:2.5},limit:{context:2e5,output:1e5}},"gpt-3.5-turbo":{id:"gpt-3.5-turbo",name:"GPT-3.5-turbo",family:"gpt",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,knowledge:"2021-09-01",release_date:"2023-03-01",last_updated:"2023-11-06",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:1.5,cache_read:1.25},limit:{context:16385,output:4096}},"gpt-5.2-pro":{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",family:"gpt-pro",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:21,output:168},limit:{context:4e5,input:272e3,output:128e3}},"text-embedding-3-large":{id:"text-embedding-3-large",name:"text-embedding-3-large",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2024-01",release_date:"2024-01-25",last_updated:"2024-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.13,output:0},limit:{context:8191,output:3072}},"gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:false,temperature:true,knowledge:"2023-12",release_date:"2023-11-06",last_updated:"2024-04-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:10,output:30},limit:{context:128e3,output:4096}},"o1-preview":{id:"o1-preview",name:"o1-preview",family:"o",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2023-09",release_date:"2024-09-12",last_updated:"2024-09-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:15,output:60,cache_read:7.5},limit:{context:128e3,output:32768}},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.025},limit:{context:4e5,input:272e3,output:128e3}},"o3-mini":{id:"o3-mini",name:"o3-mini",family:"o-mini",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05",release_date:"2024-12-20",last_updated:"2025-01-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.55},limit:{context:2e5,output:1e5}},"gpt-5.2-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:128e3,output:16384}},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:4e5,input:272e3,output:128e3}},"codex-mini-latest":{id:"codex-mini-latest",name:"Codex Mini",family:"gpt-codex-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-04",release_date:"2025-05-16",last_updated:"2025-05-16",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.5,output:6,cache_read:.375},limit:{context:2e5,output:1e5}},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",family:"gpt-nano",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.05,output:.4,cache_read:.005},limit:{context:4e5,input:272e3,output:128e3}},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,input:272e3,output:128e3}},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-09",release_date:"2024-05-13",last_updated:"2024-08-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.5,output:10,cache_read:1.25},limit:{context:128e3,output:16384}},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:1047576,output:32768}},"o4-mini":{id:"o4-mini",name:"o4-mini",family:"o-mini",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.28},limit:{context:2e5,output:1e5}},o1:{id:"o1",name:"o1",family:"o",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2023-09",release_date:"2024-12-05",last_updated:"2024-12-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:60,cache_read:7.5},limit:{context:2e5,output:1e5}},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,input:272e3,output:128e3}},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.025},limit:{context:4e5,input:272e3,output:128e3}},"o1-mini":{id:"o1-mini",name:"o1-mini",family:"o-mini",attachment:false,reasoning:true,tool_call:false,structured_output:true,temperature:false,knowledge:"2023-09",release_date:"2024-09-12",last_updated:"2024-09-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.55},limit:{context:128e3,output:65536}},"text-embedding-ada-002":{id:"text-embedding-ada-002",name:"text-embedding-ada-002",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2022-12",release_date:"2022-12-15",last_updated:"2022-12-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:0},limit:{context:8192,output:1536}},"o3-pro":{id:"o3-pro",name:"o3-pro",family:"o-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05",release_date:"2025-06-10",last_updated:"2025-06-10",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:20,output:80},limit:{context:2e5,output:1e5}},"gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-09",release_date:"2024-11-20",last_updated:"2024-11-20",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.5,output:10,cache_read:1.25},limit:{context:128e3,output:16384}},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,input:272e3,output:128e3}},o3:{id:"o3",name:"o3",family:"o",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:2e5,output:1e5}},"o4-mini-deep-research":{id:"o4-mini-deep-research",name:"o4-mini-deep-research",family:"o-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05",release_date:"2024-06-26",last_updated:"2024-06-26",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:2e5,output:1e5}},"gpt-5-chat-latest":{id:"gpt-5-chat-latest",name:"GPT-5 Chat (latest)",family:"gpt-codex",attachment:true,reasoning:true,tool_call:false,structured_output:true,temperature:true,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10},limit:{context:4e5,input:272e3,output:128e3}},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-09",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.15,output:.6,cache_read:.08},limit:{context:128e3,output:16384}},"gpt-5":{id:"gpt-5",name:"GPT-5",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,input:272e3,output:128e3}},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",family:"gpt-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-10-06",last_updated:"2025-10-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:120},limit:{context:4e5,input:272e3,output:272e3}},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,input:272e3,output:128e3}},"gpt-5.1-chat-latest":{id:"gpt-5.1-chat-latest",name:"GPT-5.1 Chat",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:128e3,output:16384}}}},"zhipuai-coding-plan":{id:"zhipuai-coding-plan",env:["ZHIPU_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://open.bigmodel.cn/api/coding/paas/v4",name:"Zhipu AI Coding Plan",doc:"https://docs.bigmodel.cn/cn/coding-plan/overview",models:{"glm-5":{id:"glm-5",name:"GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:204800,output:131072}},"glm-4.6v-flash":{id:"glm-4.6v-flash",name:"GLM-4.6V-Flash",family:"glm",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-12-08",last_updated:"2025-12-08",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:32768}},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",family:"glm",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-12-08",last_updated:"2025-12-08",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:32768}},"glm-4.6":{id:"glm-4.6",name:"GLM-4.6",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:204800,output:131072}},"glm-4.5v":{id:"glm-4.5v",name:"GLM-4.5V",family:"glm",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-08-11",last_updated:"2025-08-11",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:64e3,output:16384}},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM-4.5-Air",family:"glm-air",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:131072,output:98304}},"glm-4.5":{id:"glm-4.5",name:"GLM-4.5",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:131072,output:98304}},"glm-4.5-flash":{id:"glm-4.5-flash",name:"GLM-4.5-Flash",family:"glm-flash",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:131072,output:98304}},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:204800,output:131072}}}},"minimax-cn":{id:"minimax-cn",env:["MINIMAX_API_KEY"],npm:"@ai-sdk/anthropic",api:"https://api.minimaxi.com/anthropic/v1",name:"MiniMax (minimaxi.com)",doc:"https://platform.minimaxi.com/docs/guides/quickstart",models:{"MiniMax-M2":{id:"MiniMax-M2",name:"MiniMax-M2",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-10-27",last_updated:"2025-10-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:196608,output:128e3}},"MiniMax-M2.5-highspeed":{id:"MiniMax-M2.5-highspeed",name:"MiniMax-M2.5-highspeed",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-13",last_updated:"2026-02-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.4,cache_read:.06,cache_write:.375},limit:{context:204800,output:131072}},"MiniMax-M2.1":{id:"MiniMax-M2.1",name:"MiniMax-M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},"MiniMax-M2.5":{id:"MiniMax-M2.5",name:"MiniMax-M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.03,cache_write:.375},limit:{context:204800,output:131072}}}},perplexity:{id:"perplexity",env:["PERPLEXITY_API_KEY"],npm:"@ai-sdk/perplexity",name:"Perplexity",doc:"https://docs.perplexity.ai",models:{"sonar-deep-research":{id:"sonar-deep-research",name:"Perplexity Sonar Deep Research",attachment:false,reasoning:true,tool_call:false,temperature:false,knowledge:"2025-01",release_date:"2025-02-01",last_updated:"2025-09-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2,output:8,reasoning:3},limit:{context:128e3,output:32768}},sonar:{id:"sonar",name:"Sonar",family:"sonar",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-09-01",release_date:"2024-01-01",last_updated:"2025-09-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:1},limit:{context:128e3,output:4096}},"sonar-pro":{id:"sonar-pro",name:"Sonar Pro",family:"sonar-pro",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-09-01",release_date:"2024-01-01",last_updated:"2025-09-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:2e5,output:8192}},"sonar-reasoning-pro":{id:"sonar-reasoning-pro",name:"Sonar Reasoning Pro",family:"sonar-reasoning",attachment:true,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-09-01",release_date:"2024-01-01",last_updated:"2025-09-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8},limit:{context:128e3,output:4096}}}},openrouter:{id:"openrouter",env:["OPENROUTER_API_KEY"],npm:"@openrouter/ai-sdk-provider",api:"https://openrouter.ai/api/v1",name:"OpenRouter",doc:"https://openrouter.ai/models",models:{"stepfun/step-3.5-flash:free":{id:"stepfun/step-3.5-flash:free",name:"Step 3.5 Flash (free)",family:"step",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2026-01-29",last_updated:"2026-01-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:256e3,output:256e3}},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"Step 3.5 Flash",family:"step",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2026-01-29",last_updated:"2026-01-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3,cache_read:.02},limit:{context:256e3,output:256e3}},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"Kimi K2",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-11",last_updated:"2025-07-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.55,output:2.2},limit:{context:131072,output:32768}},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",family:"kimi",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3,cache_read:.1},limit:{context:262144,output:262144}},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"Kimi K2 Instruct 0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5},limit:{context:262144,output:16384}},"moonshotai/kimi-dev-72b:free":{id:"moonshotai/kimi-dev-72b:free",name:"Kimi Dev 72b (free)",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-06",release_date:"2025-06-16",last_updated:"2025-06-16",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},structured_output:true,temperature:true,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5,cache_read:.15},limit:{context:262144,output:262144}},"moonshotai/kimi-k2-0905:exacto":{id:"moonshotai/kimi-k2-0905:exacto",name:"Kimi K2 Instruct 0905 (exacto)",family:"kimi",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5},limit:{context:262144,output:16384}},"moonshotai/kimi-k2:free":{id:"moonshotai/kimi-k2:free",name:"Kimi K2 (free)",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-11",last_updated:"2025-07-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32800,output:32800}},"thudm/glm-z1-32b:free":{id:"thudm/glm-z1-32b:free",name:"GLM Z1 32B (free)",family:"glm-z",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-17",last_updated:"2025-04-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:32768}},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo-V2-Flash",family:"mimo",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-12",release_date:"2025-12-14",last_updated:"2025-12-14",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3,cache_read:.01},limit:{context:262144,output:65536}},"nousresearch/hermes-4-70b":{id:"nousresearch/hermes-4-70b",name:"Hermes 4 70B",family:"hermes",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-12",release_date:"2025-08-25",last_updated:"2025-08-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.13,output:.4},limit:{context:131072,output:131072}},"nousresearch/hermes-4-405b":{id:"nousresearch/hermes-4-405b",name:"Hermes 4 405B",family:"hermes",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2025-08-25",last_updated:"2025-08-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3},limit:{context:131072,output:131072}},"nousresearch/deephermes-3-llama-3-8b-preview":{id:"nousresearch/deephermes-3-llama-3-8b-preview",name:"DeepHermes 3 Llama 3 8B Preview",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-02-28",last_updated:"2025-02-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:8192}},"nousresearch/hermes-3-llama-3.1-405b:free":{id:"nousresearch/hermes-3-llama-3.1-405b:free",name:"Hermes 3 405B Instruct (free)",family:"hermes",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2023-12",release_date:"2024-08-16",last_updated:"2024-08-16",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"nvidia/nemotron-nano-12b-v2-vl:free":{id:"nvidia/nemotron-nano-12b-v2-vl:free",name:"Nemotron Nano 12B 2 VL (free)",family:"nemotron",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-10-28",last_updated:"2026-01-31",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"nvidia-nemotron-nano-9b-v2",family:"nemotron",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2025-08-18",last_updated:"2025-08-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.04,output:.16},limit:{context:131072,output:131072}},"nvidia/nemotron-3-nano-30b-a3b:free":{id:"nvidia/nemotron-3-nano-30b-a3b:free",name:"Nemotron 3 Nano 30B A3B (free)",family:"nemotron",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-11",release_date:"2025-12-14",last_updated:"2026-01-31",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:256e3,output:256e3}},"nvidia/nemotron-nano-9b-v2:free":{id:"nvidia/nemotron-nano-9b-v2:free",name:"Nemotron Nano 9B V2 (free)",family:"nemotron",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-09",release_date:"2025-09-05",last_updated:"2025-08-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},"x-ai/grok-4":{id:"x-ai/grok-4",name:"Grok 4",family:"grok",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75,cache_write:15},limit:{context:256e3,output:64e3}},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1",family:"grok",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-08",release_date:"2025-08-26",last_updated:"2025-08-26",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:1.5,cache_read:.02},limit:{context:256e3,output:1e4}},"x-ai/grok-3":{id:"x-ai/grok-3",name:"Grok 3",family:"grok",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75,cache_write:15},limit:{context:131072,output:8192}},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"Grok 4 Fast",family:"grok",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-11",release_date:"2025-08-19",last_updated:"2025-08-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05,cache_write:.05},limit:{context:2e6,output:3e4}},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"Grok 3 Beta",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75,cache_write:15},limit:{context:131072,output:8192}},"x-ai/grok-3-mini-beta":{id:"x-ai/grok-3-mini-beta",name:"Grok 3 Mini Beta",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:.5,cache_read:.075,cache_write:.5},limit:{context:131072,output:8192}},"x-ai/grok-3-mini":{id:"x-ai/grok-3-mini",name:"Grok 3 Mini",family:"grok",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:.5,cache_read:.075,cache_write:.5},limit:{context:131072,output:8192}},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"Grok 4.1 Fast",family:"grok",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-11",release_date:"2025-11-19",last_updated:"2025-11-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05,cache_write:.05},limit:{context:2e6,output:3e4}},"kwaipilot/kat-coder-pro:free":{id:"kwaipilot/kat-coder-pro:free",name:"Kat Coder Pro (free)",family:"kat-coder",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-10",last_updated:"2025-11-10",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:256e3,output:65536}},"cognitivecomputations/dolphin-mistral-24b-venice-edition:free":{id:"cognitivecomputations/dolphin-mistral-24b-venice-edition:free",name:"Uncensored (free)",family:"mistral",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,knowledge:"2025-06",release_date:"2025-07-09",last_updated:"2026-01-31",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:32768}},"cognitivecomputations/dolphin3.0-mistral-24b":{id:"cognitivecomputations/dolphin3.0-mistral-24b",name:"Dolphin3.0 Mistral 24B",family:"mistral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-02-13",last_updated:"2025-02-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:8192}},"cognitivecomputations/dolphin3.0-r1-mistral-24b":{id:"cognitivecomputations/dolphin3.0-r1-mistral-24b",name:"Dolphin3.0 R1 Mistral 24B",family:"mistral",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-02-13",last_updated:"2025-02-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:8192}},"sourceful/riverflow-v2-max-preview":{id:"sourceful/riverflow-v2-max-preview",name:"Riverflow V2 Max Preview",family:"sourceful",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-06",release_date:"2025-12-08",last_updated:"2026-01-28",modalities:{input:["text","image"],output:["image"]},open_weights:true,cost:{input:0,output:0},limit:{context:8192,output:8192}},"sourceful/riverflow-v2-fast-preview":{id:"sourceful/riverflow-v2-fast-preview",name:"Riverflow V2 Fast Preview",family:"sourceful",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-06",release_date:"2025-12-08",last_updated:"2026-01-28",modalities:{input:["text","image"],output:["image"]},open_weights:true,cost:{input:0,output:0},limit:{context:8192,output:8192}},"sourceful/riverflow-v2-standard-preview":{id:"sourceful/riverflow-v2-standard-preview",name:"Riverflow V2 Standard Preview",family:"sourceful",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-06",release_date:"2025-12-08",last_updated:"2026-01-28",modalities:{input:["text","image"],output:["image"]},open_weights:true,cost:{input:0,output:0},limit:{context:8192,output:8192}},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek-V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-07",release_date:"2025-08-21",last_updated:"2025-08-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.8},limit:{context:163840,output:163840}},"deepseek/deepseek-r1:free":{id:"deepseek/deepseek-r1:free",name:"R1 (free)",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:163840,output:163840}},"deepseek/deepseek-v3.2-speciale":{id:"deepseek/deepseek-v3.2-speciale",name:"DeepSeek V3.2 Speciale",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-07",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:.41},limit:{context:163840,output:65536}},"deepseek/deepseek-v3-base:free":{id:"deepseek/deepseek-v3-base:free",name:"DeepSeek V3 Base (free)",family:"deepseek",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-03",release_date:"2025-03-29",last_updated:"2025-03-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:163840,output:163840}},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-07",release_date:"2025-09-22",last_updated:"2025-09-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:1},limit:{context:131072,output:65536}},"deepseek/deepseek-r1-0528-qwen3-8b:free":{id:"deepseek/deepseek-r1-0528-qwen3-8b:free",name:"Deepseek R1 0528 Qwen3 8B (free)",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-29",last_updated:"2025-05-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"deepseek/deepseek-chat-v3-0324":{id:"deepseek/deepseek-chat-v3-0324",name:"DeepSeek V3 0324",family:"deepseek",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-03-24",last_updated:"2025-03-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:16384,output:8192}},"deepseek/deepseek-r1-0528:free":{id:"deepseek/deepseek-r1-0528:free",name:"R1 0528 (free)",family:"deepseek",attachment:false,reasoning:true,tool_call:false,structured_output:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:163840,output:163840}},"deepseek/deepseek-r1-distill-llama-70b":{id:"deepseek/deepseek-r1-distill-llama-70b",name:"DeepSeek R1 Distill Llama 70B",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:false,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-01-23",last_updated:"2025-01-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:8192,output:8192}},"deepseek/deepseek-r1-distill-qwen-14b":{id:"deepseek/deepseek-r1-distill-qwen-14b",name:"DeepSeek R1 Distill Qwen 14B",family:"qwen",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2025-01-29",last_updated:"2025-01-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:64e3,output:8192}},"deepseek/deepseek-v3.1-terminus:exacto":{id:"deepseek/deepseek-v3.1-terminus:exacto",name:"DeepSeek V3.1 Terminus (exacto)",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-07",release_date:"2025-09-22",last_updated:"2025-09-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:1},limit:{context:131072,output:65536}},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-07",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.28,output:.4},limit:{context:163840,output:65536}},"featherless/qwerky-72b":{id:"featherless/qwerky-72b",name:"Qwerky 72B",family:"qwerky",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2025-03-20",last_updated:"2025-03-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:8192}},"tngtech/tng-r1t-chimera:free":{id:"tngtech/tng-r1t-chimera:free",name:"R1T Chimera (free)",family:"tngtech",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-07",release_date:"2025-11-26",last_updated:"2026-01-31",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:163840,output:163840}},"tngtech/deepseek-r1t2-chimera:free":{id:"tngtech/deepseek-r1t2-chimera:free",name:"DeepSeek R1T2 Chimera (free)",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:false,structured_output:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-08",last_updated:"2025-07-08",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:163840,output:163840}},"allenai/molmo-2-8b:free":{id:"allenai/molmo-2-8b:free",name:"Molmo2 8B (free)",family:"allenai",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-06",release_date:"2026-01-09",last_updated:"2026-01-31",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:36864,output:36864}},"bytedance-seed/seedream-4.5":{id:"bytedance-seed/seedream-4.5",name:"Seedream 4.5",family:"seed",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-06",release_date:"2025-12-23",last_updated:"2026-01-31",modalities:{input:["image","text"],output:["image"]},open_weights:true,cost:{input:0,output:0},limit:{context:4096,output:4096}},"arcee-ai/trinity-mini:free":{id:"arcee-ai/trinity-mini:free",name:"Trinity Mini",family:"trinity-mini",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-06",release_date:"2026-01-28",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"arcee-ai/trinity-large-preview:free":{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview",family:"trinity",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-06",release_date:"2026-01-28",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"liquid/lfm-2.5-1.2b-thinking:free":{id:"liquid/lfm-2.5-1.2b-thinking:free",name:"LFM2.5-1.2B-Thinking (free)",family:"liquid",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-06",release_date:"2026-01-20",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:32768}},"liquid/lfm-2.5-1.2b-instruct:free":{id:"liquid/lfm-2.5-1.2b-instruct:free",name:"LFM2.5-1.2B-Instruct (free)",family:"liquid",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-06",release_date:"2026-01-20",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:32768}},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax M1",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:2.2},limit:{context:1e6,output:4e4}},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},structured_output:true,temperature:true,release_date:"2025-10-23",last_updated:"2025-10-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.28,output:1.15,cache_read:.28,cache_write:1.15},limit:{context:196600,output:118e3}},"minimax/minimax-01":{id:"minimax/minimax-01",name:"MiniMax-01",family:"minimax",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-01-15",last_updated:"2025-01-15",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.2,output:1.1},limit:{context:1e6,output:1e6}},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},structured_output:true,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},structured_output:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.03},limit:{context:204800,output:131072}},"google/gemini-2.0-flash-001":{id:"google/gemini-2.0-flash-001",name:"Gemini 2.0 Flash",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-06",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025},limit:{context:1048576,output:8192}},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.5,output:3,cache_read:.05},limit:{context:1048576,output:65536}},"google/gemma-3-27b-it:free":{id:"google/gemma-3-27b-it:free",name:"Gemma 3 27B (free)",family:"gemma",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-03-12",last_updated:"2025-03-12",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:8192}},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-11-18",last_updated:"2025-11",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:2,output:12},limit:{context:105e4,output:66e3}},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-07-17",last_updated:"2025-07-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.0375},limit:{context:1048576,output:65536}},"google/gemini-2.5-pro-preview-05-06":{id:"google/gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-05-06",last_updated:"2025-05-06",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.31},limit:{context:1048576,output:65536}},"google/gemma-3n-e4b-it":{id:"google/gemma-3n-e4b-it",name:"Gemma 3n 4B",family:"gemma",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-06",release_date:"2025-05-20",last_updated:"2025-05-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.04},limit:{context:32768,output:32768}},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",family:"gemini-flash-lite",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025},limit:{context:1048576,output:65536}},"google/gemini-2.5-pro-preview-06-05":{id:"google/gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-05",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.31},limit:{context:1048576,output:65536}},"google/gemma-3-4b-it":{id:"google/gemma-3-4b-it",name:"Gemma 3 4B",family:"gemma",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.01703,output:.06815},limit:{context:96e3,output:96e3}},"google/gemma-2-9b-it":{id:"google/gemma-2-9b-it",name:"Gemma 2 9B",family:"gemma",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-06",release_date:"2024-06-28",last_updated:"2024-06-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.09},limit:{context:8192,output:8192}},"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",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.031},limit:{context:1048576,output:65536}},"google/gemma-3-12b-it:free":{id:"google/gemma-3-12b-it:free",name:"Gemma 3 12B (free)",family:"gemma",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:8192}},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-03-20",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.31},limit:{context:1048576,output:65536}},"google/gemma-3-12b-it":{id:"google/gemma-3-12b-it",name:"Gemma 3 12B",family:"gemma",attachment:true,reasoning:false,tool_call:false,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.03,output:.1},limit:{context:131072,output:131072}},"google/gemma-3n-e2b-it:free":{id:"google/gemma-3n-e2b-it:free",name:"Gemma 3n 2B (free)",family:"gemma",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-06",release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:8192,output:2e3}},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2026-02-19",last_updated:"2026-02-19",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:2,output:12,reasoning:12,context_over_200k:{input:4,output:18,cache_read:.4}},limit:{context:1048576,output:65536}},"google/gemma-3n-e4b-it:free":{id:"google/gemma-3n-e4b-it:free",name:"Gemma 3n 4B (free)",family:"gemma",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-06",release_date:"2025-05-20",last_updated:"2025-05-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:8192,output:2e3}},"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",family:"gemini-flash-lite",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025},limit:{context:1048576,output:65536}},"google/gemma-3-4b-it:free":{id:"google/gemma-3-4b-it:free",name:"Gemma 3 4B (free)",family:"gemma",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:8192}},"google/gemini-2.0-flash-exp:free":{id:"google/gemini-2.0-flash-exp:free",name:"Gemini 2.0 Flash Experimental (free)",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:1048576,output:1048576}},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma 3 27B",family:"gemma",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-03-12",last_updated:"2025-03-12",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.04,output:.15},limit:{context:96e3,output:96e3}},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"Intellect 3",family:"glm",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-01-15",last_updated:"2025-01-15",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:1.1},limit:{context:131072,output:8192}},"microsoft/mai-ds-r1:free":{id:"microsoft/mai-ds-r1:free",name:"MAI DS R1 (free)",family:"mai",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-21",last_updated:"2025-04-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:163840,output:163840}},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:128e3,output:16384}},"openai/gpt-oss-20b:free":{id:"openai/gpt-oss-20b:free",name:"gpt-oss-20b (free)",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2026-01-31",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:32768}},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-10-29",last_updated:"2025-10-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.075,output:.3},limit:{context:131072,output:65536}},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-08-31",release_date:"2026-01-14",last_updated:"2026-01-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,output:128e3}},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:1.6,cache_read:.1},limit:{context:1047576,output:32768}},"openai/gpt-oss-120b:free":{id:"openai/gpt-oss-120b:free",name:"gpt-oss-120b (free)",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:32768}},"openai/gpt-5-chat":{id:"openai/gpt-5-chat",name:"GPT-5 Chat (latest)",family:"gpt-codex",attachment:true,reasoning:true,tool_call:false,structured_output:true,temperature:true,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",family:"gpt-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:21,output:168},limit:{context:4e5,output:128e3}},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.025},limit:{context:4e5,output:1e5}},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",family:"gpt-nano",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10-01",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.05,output:.4},limit:{context:4e5,output:128e3}},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10-01",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",family:"gpt",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:1047576,output:32768}},"openai/gpt-oss-120b:exacto":{id:"openai/gpt-oss-120b:exacto",name:"GPT OSS 120B (exacto)",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.24},limit:{context:131072,output:32768}},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",family:"o-mini",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-06",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.28},limit:{context:2e5,output:1e5}},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:128e3,output:16384}},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10-01",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2},limit:{context:4e5,output:128e3}},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10-01",release_date:"2025-10-14",last_updated:"2025-10-14",modalities:{input:["text","image","pdf"],output:["text","image"]},open_weights:false,cost:{input:5,output:10,cache_read:1.25},limit:{context:4e5,output:128e3}},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:9,cache_read:.11},limit:{context:4e5,output:128e3}},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.2},limit:{context:131072,output:32768}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.072,output:.28},limit:{context:131072,output:32768}},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o-mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.15,output:.6,cache_read:.08},limit:{context:128e3,output:16384}},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10-01",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",family:"gpt-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-10-06",last_updated:"2025-10-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:120},limit:{context:4e5,output:272e3}},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,output:128e3}},"openrouter/sherlock-think-alpha":{id:"openrouter/sherlock-think-alpha",name:"Sherlock Think Alpha",family:"sherlock",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-15",last_updated:"2025-12-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:184e4,output:0}},"openrouter/sherlock-dash-alpha":{id:"openrouter/sherlock-dash-alpha",name:"Sherlock Dash Alpha",family:"sherlock",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-15",last_updated:"2025-12-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:184e4,output:0}},"openrouter/aurora-alpha":{id:"openrouter/aurora-alpha",name:"Aurora Alpha",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-09",last_updated:"2026-02-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:5e4}},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2,cache_read:.11},limit:{context:204800,output:131072}},"z-ai/glm-5":{id:"z-ai/glm-5",name:"GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3.2,cache_read:.2},limit:{context:202752,output:131e3}},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"GLM 4.5",family:"glm",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2},limit:{context:128e3,output:96e3}},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"GLM-4.7-Flash",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},structured_output:true,temperature:true,release_date:"2026-01-19",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.4},limit:{context:2e5,output:65535}},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"GLM 4.5 Air",family:"glm-air",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:1.1},limit:{context:128e3,output:96e3}},"z-ai/glm-4.5v":{id:"z-ai/glm-4.5v",name:"GLM 4.5V",family:"glm",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-08-11",last_updated:"2025-08-11",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:1.8},limit:{context:64e3,output:16384}},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"GLM 4.6",family:"glm",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2,cache_read:.11},limit:{context:2e5,output:128e3}},"z-ai/glm-4.6:exacto":{id:"z-ai/glm-4.6:exacto",name:"GLM 4.6 (exacto)",family:"glm",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-09",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:1.9,cache_read:.11},limit:{context:2e5,output:128e3}},"z-ai/glm-4.5-air:free":{id:"z-ai/glm-4.5-air:free",name:"GLM 4.5 Air (free)",family:"glm-air",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:96e3}},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen3 Coder",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:262144,output:66536}},"qwen/qwen3-32b:free":{id:"qwen/qwen3-32b:free",name:"Qwen3 32B (free)",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-28",last_updated:"2025-04-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:40960,output:40960}},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-11",last_updated:"2025-09-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.14,output:1.4},limit:{context:262144,output:262144}},"qwen/qwen-2.5-coder-32b-instruct":{id:"qwen/qwen-2.5-coder-32b-instruct",name:"Qwen2.5 Coder 32B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2024-11-11",last_updated:"2024-11-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:8192}},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen3.5 Plus 2026-02-15",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2026-02-16",last_updated:"2026-02-16",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.4,output:2.4},limit:{context:1e6,output:65536}},"qwen/qwen3-235b-a22b:free":{id:"qwen/qwen3-235b-a22b:free",name:"Qwen3 235B A22B (free)",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-28",last_updated:"2025-04-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen3 Coder Flash",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.5},limit:{context:128e3,output:66536}},"qwen/qwen-2.5-vl-7b-instruct:free":{id:"qwen/qwen-2.5-vl-7b-instruct:free",name:"Qwen2.5-VL 7B Instruct (free)",family:"qwen",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-02",release_date:"2024-08-28",last_updated:"2024-08-28",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:32768}},"qwen/qwq-32b:free":{id:"qwen/qwq-32b:free",name:"QwQ 32B (free)",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-03",release_date:"2025-03-05",last_updated:"2025-03-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:32768}},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen3 30B A3B Thinking 2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-29",last_updated:"2025-07-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.8},limit:{context:262e3,output:262e3}},"qwen/qwen3-4b:free":{id:"qwen/qwen3-4b:free",name:"Qwen3 4B (free)",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-30",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:40960,output:40960}},"qwen/qwen3-30b-a3b:free":{id:"qwen/qwen3-30b-a3b:free",name:"Qwen3 30B A3B (free)",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-28",last_updated:"2025-04-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:40960,output:40960}},"qwen/qwen2.5-vl-72b-instruct":{id:"qwen/qwen2.5-vl-72b-instruct",name:"Qwen2.5 VL 72B Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:false,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-02-01",last_updated:"2025-02-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:8192}},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2026-02-16",last_updated:"2026-02-16",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3.6},limit:{context:262144,output:65536}},"qwen/qwen3-14b:free":{id:"qwen/qwen3-14b:free",name:"Qwen3 14B (free)",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-28",last_updated:"2025-04-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:40960,output:40960}},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen3 30B A3B Instruct 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-29",last_updated:"2025-07-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.8},limit:{context:262e3,output:262e3}},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen3 Coder 30B A3B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-31",last_updated:"2025-07-31",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.27},limit:{context:16e4,output:65536}},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-25",last_updated:"2025-07-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.078,output:.312},limit:{context:262144,output:81920}},"qwen/qwen2.5-vl-32b-instruct:free":{id:"qwen/qwen2.5-vl-32b-instruct:free",name:"Qwen2.5 VL 32B Instruct (free)",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-03",release_date:"2025-03-24",last_updated:"2025-03-24",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:8192,output:8192}},"qwen/qwen3-next-80b-a3b-instruct:free":{id:"qwen/qwen3-next-80b-a3b-instruct:free",name:"Qwen3 Next 80B A3B Instruct (free)",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-11",last_updated:"2025-09-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:262144}},"qwen/qwen2.5-vl-72b-instruct:free":{id:"qwen/qwen2.5-vl-72b-instruct:free",name:"Qwen2.5 VL 72B Instruct (free)",family:"qwen",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-02",release_date:"2025-02-01",last_updated:"2025-02-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:32768}},"qwen/qwen3-235b-a22b-07-25:free":{id:"qwen/qwen3-235b-a22b-07-25:free",name:"Qwen3 235B A22B Instruct 2507 (free)",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-28",last_updated:"2025-07-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:131072}},"qwen/qwen3-coder:free":{id:"qwen/qwen3-coder:free",name:"Qwen3 Coder 480B A35B Instruct (free)",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:66536}},"qwen/qwen3-235b-a22b-07-25":{id:"qwen/qwen3-235b-a22b-07-25",name:"Qwen3 235B A22B Instruct 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-28",last_updated:"2025-07-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.85},limit:{context:262144,output:131072}},"qwen/qwen3-8b:free":{id:"qwen/qwen3-8b:free",name:"Qwen3 8B (free)",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-28",last_updated:"2025-04-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:40960,output:40960}},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen3 Max",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.2,output:6},limit:{context:262144,output:32768}},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-11",last_updated:"2025-09-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.14,output:1.4},limit:{context:262144,output:262144}},"qwen/qwen3-coder:exacto":{id:"qwen/qwen3-coder:exacto",name:"Qwen3 Coder (exacto)",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.38,output:1.53},limit:{context:131072,output:32768}},"mistralai/devstral-medium-2507":{id:"mistralai/devstral-medium-2507",name:"Devstral Medium",family:"devstral",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-05",release_date:"2025-07-10",last_updated:"2025-07-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:2},limit:{context:131072,output:131072}},"mistralai/devstral-2512:free":{id:"mistralai/devstral-2512:free",name:"Devstral 2 2512 (free)",family:"devstral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-12",release_date:"2025-09-12",last_updated:"2025-09-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:262144}},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Devstral 2 2512",family:"devstral",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-12",release_date:"2025-09-12",last_updated:"2025-09-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:262144,output:262144}},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Codestral 2508",family:"codestral",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-05",release_date:"2025-08-01",last_updated:"2025-08-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.9},limit:{context:256e3,output:256e3}},"mistralai/mistral-7b-instruct:free":{id:"mistralai/mistral-7b-instruct:free",name:"Mistral 7B Instruct (free)",family:"mistral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-05",release_date:"2024-05-27",last_updated:"2024-05-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:32768}},"mistralai/devstral-small-2505":{id:"mistralai/devstral-small-2505",name:"Devstral Small",family:"devstral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-07",last_updated:"2025-05-07",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.06,output:.12},limit:{context:128e3,output:128e3}},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral Small 3.2 24B Instruct",family:"mistral-small",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-06-20",last_updated:"2025-06-20",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:96e3,output:8192}},"mistralai/devstral-small-2505:free":{id:"mistralai/devstral-small-2505:free",name:"Devstral Small 2505 (free)",family:"devstral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-21",last_updated:"2025-05-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:32768}},"mistralai/mistral-small-3.2-24b-instruct:free":{id:"mistralai/mistral-small-3.2-24b-instruct:free",name:"Mistral Small 3.2 24B (free)",family:"mistral-small",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-06",release_date:"2025-06-20",last_updated:"2025-06-20",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:96e3,output:96e3}},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral Medium 3",family:"mistral-medium",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-07",last_updated:"2025-05-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:2},limit:{context:131072,output:131072}},"mistralai/mistral-small-3.1-24b-instruct":{id:"mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct",family:"mistral-small",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-03-17",last_updated:"2025-03-17",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:8192}},"mistralai/devstral-small-2507":{id:"mistralai/devstral-small-2507",name:"Devstral Small 1.1",family:"devstral",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-05",release_date:"2025-07-10",last_updated:"2025-07-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3},limit:{context:131072,output:131072}},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral Medium 3.1",family:"mistral-medium",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-05",release_date:"2025-08-12",last_updated:"2025-08-12",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:2},limit:{context:262144,output:262144}},"mistralai/mistral-nemo:free":{id:"mistralai/mistral-nemo:free",name:"Mistral Nemo (free)",family:"mistral-nemo",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-07",release_date:"2024-07-19",last_updated:"2024-07-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"rekaai/reka-flash-3":{id:"rekaai/reka-flash-3",name:"Reka Flash 3",family:"reka",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-03-12",last_updated:"2025-03-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:8192}},"meta-llama/llama-3.2-11b-vision-instruct":{id:"meta-llama/llama-3.2-11b-vision-instruct",name:"Llama 3.2 11B Vision Instruct",family:"llama",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:8192}},"meta-llama/llama-3.3-70b-instruct:free":{id:"meta-llama/llama-3.3-70b-instruct:free",name:"Llama 3.3 70B Instruct (free)",family:"llama",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"meta-llama/llama-4-scout:free":{id:"meta-llama/llama-4-scout:free",name:"Llama 4 Scout (free)",family:"llama",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:64e3,output:64e3}},"meta-llama/llama-3.2-3b-instruct:free":{id:"meta-llama/llama-3.2-3b-instruct:free",name:"Llama 3.2 3B Instruct (free)",family:"llama",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"meta-llama/llama-3.1-405b-instruct:free":{id:"meta-llama/llama-3.1-405b-instruct:free",name:"Llama 3.1 405B Instruct (free)",family:"llama",attachment:true,reasoning:false,tool_call:false,structured_output:true,temperature:true,knowledge:"2024-08",release_date:"2024-07-23",last_updated:"2025-04-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3}},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4.1",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-01",release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:128e3}},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:1e6,output:128e3}},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07-31",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.8,output:4,cache_read:.08,cache_write:1},limit:{context:2e5,output:8192}},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:2e5,output:64e3}},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-05-30",release_date:"2025-11-24",last_updated:"2025-11-24",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:32e3}},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:1e6,output:64e3}},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-05-30",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25,context_over_200k:{input:10,output:37.5,cache_read:1,cache_write:12.5}},limit:{context:1e6,output:128e3}},"sarvamai/sarvam-m:free":{id:"sarvamai/sarvam-m:free",name:"Sarvam-M (free)",family:"sarvam",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-25",last_updated:"2025-05-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:32768}},"black-forest-labs/flux.2-klein-4b":{id:"black-forest-labs/flux.2-klein-4b",name:"FLUX.2 Klein 4B",family:"flux",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-06",release_date:"2026-01-14",last_updated:"2026-01-31",modalities:{input:["image","text"],output:["image"]},open_weights:true,cost:{input:0,output:0},limit:{context:40960,output:40960}},"black-forest-labs/flux.2-max":{id:"black-forest-labs/flux.2-max",name:"FLUX.2 Max",family:"flux",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-06",release_date:"2025-12-16",last_updated:"2026-01-31",modalities:{input:["image","text"],output:["image"]},open_weights:false,cost:{input:0,output:0},limit:{context:46864,output:46864}},"black-forest-labs/flux.2-pro":{id:"black-forest-labs/flux.2-pro",name:"FLUX.2 Pro",family:"flux",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-06",release_date:"2025-11-25",last_updated:"2026-01-31",modalities:{input:["image","text"],output:["image"]},open_weights:false,cost:{input:0,output:0},limit:{context:46864,output:46864}},"black-forest-labs/flux.2-flex":{id:"black-forest-labs/flux.2-flex",name:"FLUX.2 Flex",family:"flux",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2025-06",release_date:"2025-11-25",last_updated:"2026-01-31",modalities:{input:["image","text"],output:["image"]},open_weights:false,cost:{input:0,output:0},limit:{context:67344,output:67344}}}},zenmux:{id:"zenmux",env:["ZENMUX_API_KEY"],npm:"@ai-sdk/anthropic",api:"https://zenmux.ai/api/anthropic/v1",name:"ZenMux",doc:"https://docs.zenmux.ai",models:{"stepfun/step-3.5-flash-free":{id:"stepfun/step-3.5-flash-free",name:"Step 3.5 Flash (Free)",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2026-02-02",last_updated:"2026-02-02",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:256e3,output:64e3}},"stepfun/step-3":{id:"stepfun/step-3",name:"Step-3",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-07-31",last_updated:"2025-07-31",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:.21,output:.57},limit:{context:65536,output:64e3}},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"Step 3.5 Flash",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2026-02-02",last_updated:"2026-02-02",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:.3},limit:{context:256e3,output:64e3}},"moonshotai/kimi-k2-thinking-turbo":{id:"moonshotai/kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.15,output:8,cache_read:.15},limit:{context:262e3,output:64e3}},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-01-01",release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.58,output:3.02,cache_read:.1},limit:{context:262e3,output:64e3}},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"Kimi K2 0905",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-09-04",last_updated:"2025-09-04",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.6,output:2.5,cache_read:.15},limit:{context:262e3,output:64e3}},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.6,output:2.5,cache_read:.15},limit:{context:262e3,output:64e3}},"xiaomi/mimo-v2-flash-free":{id:"xiaomi/mimo-v2-flash-free",name:"MiMo-V2-Flash Free",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:262e3,output:64e3}},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo-V2-Flash",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:.3,cache_read:.01},limit:{context:262e3,output:64e3}},"x-ai/grok-4":{id:"x-ai/grok-4",name:"Grok 4",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75},limit:{context:256e3,output:64e3}},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-08-26",last_updated:"2025-08-26",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:1.5,cache_read:.02},limit:{context:256e3,output:64e3}},"x-ai/grok-4.1-fast-non-reasoning":{id:"x-ai/grok-4.1-fast-non-reasoning",name:"Grok 4.1 Fast Non Reasoning",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-11-20",last_updated:"2025-11-20",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:64e3}},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"Grok 4 Fast",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-09-19",last_updated:"2025-09-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:64e3}},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"Grok 4.1 Fast",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-11-20",last_updated:"2025-11-20",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:64e3}},"deepseek/deepseek-chat":{id:"deepseek/deepseek-chat",name:"DeepSeek-V3.2 (Non-thinking Mode)",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.28,output:.42,cache_read:.03},limit:{context:128e3,output:64e3}},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek-V3.2-Exp",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.22,output:.33},limit:{context:163e3,output:64e3}},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-12-05",last_updated:"2025-12-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.28,output:.43},limit:{context:128e3,output:64e3}},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-10-27",last_updated:"2025-10-27",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.2,cache_read:.03,cache_write:.38},limit:{context:204e3,output:64e3}},"minimax/minimax-m2.5-lightning":{id:"minimax/minimax-m2.5-lightning",name:"MiniMax: MiniMax M2.5 highspeed",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-01-01",release_date:"2026-02-13",last_updated:"2026-02-13",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.6,output:4.8,cache_read:.06,cache_write:.75},limit:{context:204800,output:131072}},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.2,cache_read:.03,cache_write:.38},limit:{context:204e3,output:64e3}},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-01-01",release_date:"2026-02-13",last_updated:"2026-02-13",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.2,cache_read:.03,cache_write:.375},limit:{context:204800,output:131072}},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text","image","pdf","audio"],output:["text"]},open_weights:false,cost:{input:.5,output:3,cache_read:.05,cache_write:1},limit:{context:1048e3,output:64e3}},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","pdf","audio","video"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.2,cache_write:4.5},limit:{context:1048e3,output:64e3}},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["pdf","image","text","audio"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.07,cache_write:1},limit:{context:1048e3,output:64e3}},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-07-22",last_updated:"2025-07-22",modalities:{input:["pdf","image","text","audio"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.03,cache_write:1},limit:{context:1048e3,output:64e3}},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["pdf","image","text","audio","video"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.31,cache_write:4.5},limit:{context:1048e3,output:64e3}},"volcengine/doubao-seed-code":{id:"volcengine/doubao-seed-code",name:"Doubao-Seed-Code",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-11-11",last_updated:"2025-11-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.17,output:1.12,cache_read:.03},limit:{context:256e3,output:64e3}},"volcengine/doubao-seed-2.0-mini":{id:"volcengine/doubao-seed-2.0-mini",name:"Doubao-Seed-2.0-mini",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2026-02-14",release_date:"2026-02-14",last_updated:"2026-02-14",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.03,output:.28,cache_read:.01,cache_write:.0024},limit:{context:256e3,output:64e3}},"volcengine/doubao-seed-2.0-pro":{id:"volcengine/doubao-seed-2.0-pro",name:"Doubao-Seed-2.0-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2026-02-14",release_date:"2026-02-14",last_updated:"2026-02-14",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.45,output:2.24,cache_read:.09,cache_write:.0024},limit:{context:256e3,output:64e3}},"volcengine/doubao-seed-1.8":{id:"volcengine/doubao-seed-1.8",name:"Doubao-Seed-1.8",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-12-18",last_updated:"2025-12-18",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.11,output:.28,cache_read:.02,cache_write:.0024},limit:{context:256e3,output:64e3}},"volcengine/doubao-seed-2.0-lite":{id:"volcengine/doubao-seed-2.0-lite",name:"Doubao-Seed-2.0-lite",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2026-02-14",release_date:"2026-02-14",last_updated:"2026-02-14",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.09,output:.51,cache_read:.02,cache_write:.0024},limit:{context:256e3,output:64e3}},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-01-01",release_date:"2026-01-15",last_updated:"2026-01-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.17},limit:{context:4e5,output:64e3}},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.12},limit:{context:4e5,output:64e3}},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.03},limit:{context:4e5,output:64e3}},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["image","text","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.12},limit:{context:4e5,output:64e3}},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-09-23",last_updated:"2025-09-23",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.12},limit:{context:4e5,output:64e3}},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["pdf","image","text"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.12},limit:{context:128e3,output:64e3}},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.12},limit:{context:4e5,output:64e3}},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-01-01",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["image","text","pdf"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.17},limit:{context:4e5,output:64e3}},"baidu/ernie-5.0-thinking-preview":{id:"baidu/ernie-5.0-thinking-preview",name:"ERNIE 5.0",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2026-01-22",last_updated:"2026-01-22",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.84,output:3.37},limit:{context:128e3,output:64e3}},"inclusionai/ring-1t":{id:"inclusionai/ring-1t",name:"Ring-1T",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-10-12",last_updated:"2025-10-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.56,output:2.24,cache_read:.11},limit:{context:128e3,output:64e3}},"inclusionai/ling-1t":{id:"inclusionai/ling-1t",name:"Ling-1T",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-10-09",last_updated:"2025-10-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.56,output:2.24,cache_read:.11},limit:{context:128e3,output:64e3}},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"GLM 4.7",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.28,output:1.14,cache_read:.06},limit:{context:2e5,output:64e3}},"z-ai/glm-4.6v-flash-free":{id:"z-ai/glm-4.6v-flash-free",name:"GLM 4.6V Flash (Free)",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-12-08",last_updated:"2025-12-08",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:2e5,output:64e3}},"z-ai/glm-5":{id:"z-ai/glm-5",name:"GLM 5",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-01-01",release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.58,output:2.6,cache_read:.14},limit:{context:2e5,output:128e3}},"z-ai/glm-4.6v-flash":{id:"z-ai/glm-4.6v-flash",name:"GLM 4.6V FlashX",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-12-08",last_updated:"2025-12-08",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.02,output:.21,cache_read:.0043},limit:{context:2e5,output:64e3}},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"GLM 4.5",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-07-25",last_updated:"2025-07-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.35,output:1.54,cache_read:.07},limit:{context:128e3,output:64e3}},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"GLM 4.5 Air",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-07-25",last_updated:"2025-07-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.11,output:.56,cache_read:.02},limit:{context:128e3,output:64e3}},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"GLM 4.6",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.35,output:1.54,cache_read:.07},limit:{context:2e5,output:64e3}},"z-ai/glm-4.7-flash-free":{id:"z-ai/glm-4.7-flash-free",name:"GLM 4.7 Flash (Free)",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2026-01-19",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:2e5,output:64e3}},"z-ai/glm-4.7-flashx":{id:"z-ai/glm-4.7-flashx",name:"GLM 4.7 FlashX",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-01-01",release_date:"2026-01-19",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.07,output:.42,cache_read:.01},limit:{context:2e5,output:64e3}},"z-ai/glm-4.6v":{id:"z-ai/glm-4.6v",name:"GLM 4.6V",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-12-08",last_updated:"2025-12-08",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.14,output:.42,cache_read:.03},limit:{context:2e5,output:64e3}},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen3-Max-Thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2026-01-23",last_updated:"2026-01-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.2,output:6},limit:{context:256e3,output:64e3}},"qwen/qwen3-coder-plus":{id:"qwen/qwen3-coder-plus",name:"Qwen3-Coder-Plus",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:1e6,output:64e3}},"kuaishou/kat-coder-pro-v1-free":{id:"kuaishou/kat-coder-pro-v1-free",name:"KAT-Coder-Pro-V1 Free",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-10-23",last_updated:"2025-10-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:256e3,output:64e3}},"kuaishou/kat-coder-pro-v1":{id:"kuaishou/kat-coder-pro-v1",name:"KAT-Coder-Pro-V1",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-10-23",last_updated:"2025-10-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.2,cache_read:.06},limit:{context:256e3,output:64e3}},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["image","text","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:64e3}},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3}},"anthropic/claude-3.5-sonnet":{id:"anthropic/claude-3.5-sonnet",name:"Claude 3.5 Sonnet (Retiring Soon)",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4.1",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["image","text","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:64e3}},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude 3.7 Sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-02-24",last_updated:"2025-02-24",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2026-02-18",last_updated:"2026-02-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:1e6,output:64e3}},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude 3.5 Haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2024-11-04",last_updated:"2024-11-04",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.8,output:4,cache_read:.08,cache_write:1},limit:{context:2e5,output:64e3}},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["image","text","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:1e6,output:64e3}},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-11-24",last_updated:"2025-11-24",modalities:{input:["pdf","image","text"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3}},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:1e6,output:64e3}},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-01",release_date:"2026-02-06",last_updated:"2026-02-06",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:1e6,output:128e3}}}},"minimax-coding-plan":{id:"minimax-coding-plan",env:["MINIMAX_API_KEY"],npm:"@ai-sdk/anthropic",api:"https://api.minimax.io/anthropic/v1",name:"MiniMax Coding Plan (minimax.io)",doc:"https://platform.minimax.io/docs/coding-plan/intro",models:{"MiniMax-M2":{id:"MiniMax-M2",name:"MiniMax-M2",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-10-27",last_updated:"2025-10-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:196608,output:128e3}},"MiniMax-M2.5-highspeed":{id:"MiniMax-M2.5-highspeed",name:"MiniMax-M2.5-highspeed",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-13",last_updated:"2026-02-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:204800,output:131072}},"MiniMax-M2.1":{id:"MiniMax-M2.1",name:"MiniMax-M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:204800,output:131072}},"MiniMax-M2.5":{id:"MiniMax-M2.5",name:"MiniMax-M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:204800,output:131072}}}},ovhcloud:{id:"ovhcloud",env:["OVHCLOUD_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://oai.endpoints.kepler.ai.cloud.ovh.net/v1",name:"OVHcloud AI Endpoints",doc:"https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog//",models:{"mixtral-8x7b-instruct-v0.1":{id:"mixtral-8x7b-instruct-v0.1",name:"Mixtral-8x7B-Instruct-v0.1",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-04-01",last_updated:"2025-04-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.7,output:.7},limit:{context:32768,output:32768}},"mistral-7b-instruct-v0.3":{id:"mistral-7b-instruct-v0.3",name:"Mistral-7B-Instruct-v0.3",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-01",last_updated:"2025-04-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.11,output:.11},limit:{context:65536,output:65536}},"llama-3.1-8b-instruct":{id:"llama-3.1-8b-instruct",name:"Llama-3.1-8B-Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-06-11",last_updated:"2025-06-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.11,output:.11},limit:{context:131072,output:131072}},"qwen2.5-vl-72b-instruct":{id:"qwen2.5-vl-72b-instruct",name:"Qwen2.5-VL-72B-Instruct",attachment:true,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-03-31",last_updated:"2025-03-31",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:1.01,output:1.01},limit:{context:32768,output:32768}},"mistral-nemo-instruct-2407":{id:"mistral-nemo-instruct-2407",name:"Mistral-Nemo-Instruct-2407",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-11-20",last_updated:"2024-11-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.14,output:.14},limit:{context:65536,output:65536}},"mistral-small-3.2-24b-instruct-2506":{id:"mistral-small-3.2-24b-instruct-2506",name:"Mistral-Small-3.2-24B-Instruct-2506",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-16",last_updated:"2025-07-16",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.1,output:.31},limit:{context:131072,output:131072}},"qwen2.5-coder-32b-instruct":{id:"qwen2.5-coder-32b-instruct",name:"Qwen2.5-Coder-32B-Instruct",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-03-24",last_updated:"2025-03-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.96,output:.96},limit:{context:32768,output:32768}},"qwen3-coder-30b-a3b-instruct":{id:"qwen3-coder-30b-a3b-instruct",name:"Qwen3-Coder-30B-A3B-Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-28",last_updated:"2025-10-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.26},limit:{context:262144,output:262144}},"deepseek-r1-distill-llama-70b":{id:"deepseek-r1-distill-llama-70b",name:"DeepSeek-R1-Distill-Llama-70B",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-01-30",last_updated:"2025-01-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.74,output:.74},limit:{context:131072,output:131072}},"gpt-oss-20b":{id:"gpt-oss-20b",name:"gpt-oss-20b",attachment:false,reasoning:true,tool_call:true,structured_output:true,release_date:"2025-08-28",last_updated:"2025-08-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.18},limit:{context:131072,output:131072}},"gpt-oss-120b":{id:"gpt-oss-120b",name:"gpt-oss-120b",attachment:false,reasoning:true,tool_call:true,structured_output:true,release_date:"2025-08-28",last_updated:"2025-08-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.09,output:.47},limit:{context:131072,output:131072}},"meta-llama-3_3-70b-instruct":{id:"meta-llama-3_3-70b-instruct",name:"Meta-Llama-3_3-70B-Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-01",last_updated:"2025-04-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.74,output:.74},limit:{context:131072,output:131072}},"qwen3-32b":{id:"qwen3-32b",name:"Qwen3-32B",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-16",last_updated:"2025-07-16",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.09,output:.25},limit:{context:32768,output:32768}}}},v0:{id:"v0",env:["V0_API_KEY"],npm:"@ai-sdk/vercel",name:"v0",doc:"https://sdk.vercel.ai/providers/ai-sdk-providers/vercel",models:{"v0-1.5-lg":{id:"v0-1.5-lg",name:"v0-1.5-lg",family:"v0",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-06-09",last_updated:"2025-06-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:75},limit:{context:512e3,output:32e3}},"v0-1.5-md":{id:"v0-1.5-md",name:"v0-1.5-md",family:"v0",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-06-09",last_updated:"2025-06-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:128e3,output:32e3}},"v0-1.0-md":{id:"v0-1.0-md",name:"v0-1.0-md",family:"v0",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:128e3,output:32e3}}}},iflowcn:{id:"iflowcn",env:["IFLOW_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://apis.iflow.cn/v1",name:"iFlow",doc:"https://platform.iflow.cn/en/docs",models:{"deepseek-v3":{id:"deepseek-v3",name:"DeepSeek-V3",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-26",last_updated:"2024-12-26",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:32e3}},"kimi-k2":{id:"kimi-k2",name:"Kimi-K2",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},"deepseek-r1":{id:"deepseek-r1",name:"DeepSeek-R1",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:32e3}},"qwen3-235b":{id:"qwen3-235b",name:"Qwen3-235B-A22B",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:32e3}},"kimi-k2-0905":{id:"kimi-k2-0905",name:"Kimi-K2-0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:256e3,output:64e3}},"qwen3-235b-a22b-thinking-2507":{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3-235B-A22B-Thinking",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-01",last_updated:"2025-07-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:256e3,output:64e3}},"qwen3-vl-plus":{id:"qwen3-vl-plus",name:"Qwen3-VL-Plus",family:"qwen",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:256e3,output:32e3}},"glm-4.6":{id:"glm-4.6",name:"GLM-4.6",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-01",last_updated:"2025-11-13",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:2e5,output:128e3}},"qwen3-235b-a22b-instruct":{id:"qwen3-235b-a22b-instruct",name:"Qwen3-235B-A22B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-01",last_updated:"2025-07-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:256e3,output:64e3}},"qwen3-max":{id:"qwen3-max",name:"Qwen3-Max",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:256e3,output:32e3}},"deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek-V3.2-Exp",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},"qwen3-max-preview":{id:"qwen3-max-preview",name:"Qwen3-Max-Preview",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:256e3,output:32e3}},"qwen3-coder-plus":{id:"qwen3-coder-plus",name:"Qwen3-Coder-Plus",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-01",last_updated:"2025-07-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:256e3,output:64e3}},"qwen3-32b":{id:"qwen3-32b",name:"Qwen3-32B",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:32e3}}}},synthetic:{id:"synthetic",env:["SYNTHETIC_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.synthetic.new/v1",name:"Synthetic",doc:"https://synthetic.new/pricing",models:{"hf:Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"hf:Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen 3 235B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-28",last_updated:"2025-07-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.6},limit:{context:256e3,output:32e3}},"hf:Qwen/Qwen2.5-Coder-32B-Instruct":{id:"hf:Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen2.5-Coder-32B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-10",release_date:"2024-11-11",last_updated:"2024-11-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.8,output:.8},limit:{context:32768,output:32768}},"hf:Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"hf:Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen 3 Coder 480B",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2,output:2},limit:{context:256e3,output:32e3}},"hf:Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"hf:Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3 235B A22B Thinking 2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-25",last_updated:"2025-07-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.65,output:3},limit:{context:256e3,output:32e3}},"hf:MiniMaxAI/MiniMax-M2":{id:"hf:MiniMaxAI/MiniMax-M2",name:"MiniMax-M2",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-10-27",last_updated:"2025-10-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.55,output:2.19},limit:{context:196608,output:131e3}},"hf:MiniMaxAI/MiniMax-M2.1":{id:"hf:MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.55,output:2.19},limit:{context:204800,output:131072}},"hf:meta-llama/Llama-3.1-70B-Instruct":{id:"hf:meta-llama/Llama-3.1-70B-Instruct",name:"Llama-3.1-70B-Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.9,output:.9},limit:{context:128e3,output:32768}},"hf:meta-llama/Llama-3.1-8B-Instruct":{id:"hf:meta-llama/Llama-3.1-8B-Instruct",name:"Llama-3.1-8B-Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:128e3,output:32768}},"hf:meta-llama/Llama-3.3-70B-Instruct":{id:"hf:meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.9,output:.9},limit:{context:128e3,output:32768}},"hf:meta-llama/Llama-4-Scout-17B-16E-Instruct":{id:"hf:meta-llama/Llama-4-Scout-17B-16E-Instruct",name:"Llama-4-Scout-17B-16E-Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:328e3,output:4096}},"hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8":{id:"hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama-4-Maverick-17B-128E-Instruct-FP8",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.22,output:.88},limit:{context:524e3,output:4096}},"hf:meta-llama/Llama-3.1-405B-Instruct":{id:"hf:meta-llama/Llama-3.1-405B-Instruct",name:"Llama-3.1-405B-Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:3,output:3},limit:{context:128e3,output:32768}},"hf:moonshotai/Kimi-K2.5":{id:"hf:moonshotai/Kimi-K2.5",name:"Kimi K2.5",family:"kimi",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-01",release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.55,output:2.19},limit:{context:262144,output:65536}},"hf:moonshotai/Kimi-K2-Instruct-0905":{id:"hf:moonshotai/Kimi-K2-Instruct-0905",name:"Kimi K2 0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.2,output:1.2},limit:{context:262144,output:32768}},"hf:moonshotai/Kimi-K2-Thinking":{id:"hf:moonshotai/Kimi-K2-Thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-07",last_updated:"2025-11-07",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.55,output:2.19},limit:{context:262144,output:262144}},"hf:zai-org/GLM-4.7":{id:"hf:zai-org/GLM-4.7",name:"GLM 4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.55,output:2.19},limit:{context:2e5,output:64e3}},"hf:zai-org/GLM-4.6":{id:"hf:zai-org/GLM-4.6",name:"GLM 4.6",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.55,output:2.19},limit:{context:2e5,output:64e3}},"hf:nvidia/Kimi-K2.5-NVFP4":{id:"hf:nvidia/Kimi-K2.5-NVFP4",name:"Kimi K2.5 (NVFP4)",family:"kimi",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-01",release_date:"2026-01",last_updated:"2026-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.55,output:2.19},limit:{context:262144,output:65536}},"hf:deepseek-ai/DeepSeek-R1":{id:"hf:deepseek-ai/DeepSeek-R1",name:"DeepSeek R1",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.55,output:2.19},limit:{context:128e3,output:128e3}},"hf:deepseek-ai/DeepSeek-R1-0528":{id:"hf:deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek R1 (0528)",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-01",last_updated:"2025-08-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:8},limit:{context:128e3,output:128e3}},"hf:deepseek-ai/DeepSeek-V3.1-Terminus":{id:"hf:deepseek-ai/DeepSeek-V3.1-Terminus",name:"DeepSeek V3.1 Terminus",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-09-22",last_updated:"2025-09-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.2,output:1.2},limit:{context:128e3,output:128e3}},"hf:deepseek-ai/DeepSeek-V3.2":{id:"hf:deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:.4,cache_read:.27,cache_write:0},limit:{context:162816,input:162816,output:8e3}},"hf:deepseek-ai/DeepSeek-V3":{id:"hf:deepseek-ai/DeepSeek-V3",name:"DeepSeek V3",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-01-20",last_updated:"2025-05-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.25,output:1.25},limit:{context:128e3,output:128e3}},"hf:deepseek-ai/DeepSeek-V3.1":{id:"hf:deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-21",last_updated:"2025-08-21",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.56,output:1.68},limit:{context:128e3,output:128e3}},"hf:deepseek-ai/DeepSeek-V3-0324":{id:"hf:deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3 (0324)",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-08-01",last_updated:"2025-08-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.2,output:1.2},limit:{context:128e3,output:128e3}},"hf:openai/gpt-oss-120b":{id:"hf:openai/gpt-oss-120b",name:"GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.1},limit:{context:128e3,output:32768}}}},deepinfra:{id:"deepinfra",env:["DEEPINFRA_API_KEY"],npm:"@ai-sdk/deepinfra",name:"Deep Infra",doc:"https://deepinfra.com/models",models:{"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi K2",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-11",last_updated:"2025-07-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.5,output:2},limit:{context:131072,output:32768}},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",family:"kimi",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.5,output:2.8},limit:{context:262144,output:32768}},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-10",release_date:"2025-11-06",last_updated:"2025-11-07",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.47,output:2},limit:{context:131072,output:32768}},"MiniMaxAI/MiniMax-M2":{id:"MiniMaxAI/MiniMax-M2",name:"MiniMax M2",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-10",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.254,output:1.02},limit:{context:262144,output:32768}},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax M2.1",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-06",release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.28,output:1.2},limit:{context:196608,output:196608}},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.14},limit:{context:131072,output:16384}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.24},limit:{context:131072,output:16384}},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B A35B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:1.6},limit:{context:262144,output:66536}},"Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo",name:"Qwen3 Coder 480B A35B Instruct Turbo",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:262144,output:66536}},"anthropic/claude-4-opus":{id:"anthropic/claude-4-opus",name:"Claude Opus 4",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-06-12",last_updated:"2025-06-12",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:16.5,output:82.5},limit:{context:2e5,output:32e3}},"anthropic/claude-3-7-sonnet-latest":{id:"anthropic/claude-3-7-sonnet-latest",name:"Claude Sonnet 3.7 (Latest)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10-31",release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3.3,output:16.5,cache_read:.33},limit:{context:2e5,output:64e3}},"zai-org/GLM-4.5":{id:"zai-org/GLM-4.5",name:"GLM-4.5",family:"glm",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2},limit:{context:131072,output:98304},status:"deprecated"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.43,output:1.75,cache_read:.08},limit:{context:202752,output:16384}},"zai-org/GLM-4.7-Flash":{id:"zai-org/GLM-4.7-Flash",name:"GLM-4.7-Flash",family:"glm-flash",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2026-01-19",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.06,output:.4},limit:{context:202752,output:16384}},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",attachment:false,reasoning:true,tool_call:false,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-07",release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:2.15,cache_read:.35},limit:{context:163840,output:64e3}},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2024-12",release_date:"2025-12-02",last_updated:"2025-12-02",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.26,output:.38,cache_read:.13},limit:{context:163840,output:64e3}}}},zhipuai:{id:"zhipuai",env:["ZHIPU_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://open.bigmodel.cn/api/paas/v4",name:"Zhipu AI",doc:"https://docs.z.ai/guides/overview/pricing",models:{"glm-5":{id:"glm-5",name:"GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:3.2,cache_read:.2,cache_write:0},limit:{context:204800,output:131072}},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",family:"glm",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-12-08",last_updated:"2025-12-08",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.3,output:.9},limit:{context:128e3,output:32768}},"glm-4.6":{id:"glm-4.6",name:"GLM-4.6",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2,cache_read:.11,cache_write:0},limit:{context:204800,output:131072}},"glm-4.5v":{id:"glm-4.5v",name:"GLM-4.5V",family:"glm",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-08-11",last_updated:"2025-08-11",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:1.8},limit:{context:64e3,output:16384}},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM-4.5-Air",family:"glm-air",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:1.1,cache_read:.03,cache_write:0},limit:{context:131072,output:98304}},"glm-4.7-flash":{id:"glm-4.7-flash",name:"GLM-4.7-Flash",family:"glm-flash",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2026-01-19",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:2e5,output:131072}},"glm-4.5":{id:"glm-4.5",name:"GLM-4.5",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2,cache_read:.11,cache_write:0},limit:{context:131072,output:98304}},"glm-4.5-flash":{id:"glm-4.5-flash",name:"GLM-4.5-Flash",family:"glm-flash",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:131072,output:98304}},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2,cache_read:.11,cache_write:0},limit:{context:204800,output:131072}}}},kilo:{id:"kilo",env:["KILO_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.kilo.ai/api/gateway",name:"Kilo Gateway",doc:"https://kilo.ai",models:{"stepfun/step-3.5-flash:free":{id:"stepfun/step-3.5-flash:free",name:"StepFun: Step 3.5 Flash (free)",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-01-29",last_updated:"2026-01-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:256e3,output:256e3}},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"StepFun: Step 3.5 Flash",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-01-29",last_updated:"2026-01-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3,cache_read:.02},limit:{context:256e3,output:256e3}},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"MoonshotAI: Kimi K2 0711",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-11",last_updated:"2025-07-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.5,output:2.4},limit:{context:131072,output:26215}},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"MoonshotAI: Kimi K2.5",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.23,output:3},limit:{context:262144,output:262144}},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"MoonshotAI: Kimi K2 0905",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:2,cache_read:.15},limit:{context:131072,output:26215}},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"MoonshotAI: Kimi K2 Thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:1.75,cache_read:.2},limit:{context:262144,output:65535}},"moonshotai/kimi-k2-0905:exacto":{id:"moonshotai/kimi-k2-0905:exacto",name:"MoonshotAI: Kimi K2 0905 (exacto)",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5},limit:{context:262144,output:52429}},"essentialai/rnj-1-instruct":{id:"essentialai/rnj-1-instruct",name:"EssentialAI: Rnj 1 Instruct",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-12-05",last_updated:"2025-12-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.15},limit:{context:32768,output:6554}},"writer/palmyra-x5":{id:"writer/palmyra-x5",name:"Writer: Palmyra X5",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-28",last_updated:"2025-04-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.6,output:6},limit:{context:104e4,output:8192}},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"Xiaomi: MiMo-V2-Flash",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-14",last_updated:"2025-12-14",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.09,output:.29,cache_read:.045},limit:{context:262144,output:52429}},"nousresearch/hermes-4-70b":{id:"nousresearch/hermes-4-70b",name:"Nous: Hermes 4 70B",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-25",last_updated:"2025-08-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.11,output:.38,cache_read:.055},limit:{context:131072,output:131072}},"nousresearch/hermes-4-405b":{id:"nousresearch/hermes-4-405b",name:"Nous: Hermes 4 405B",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-08-25",last_updated:"2025-08-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3},limit:{context:131072,output:26215}},"nousresearch/deephermes-3-mistral-24b-preview":{id:"nousresearch/deephermes-3-mistral-24b-preview",name:"Nous: DeepHermes 3 Mistral 24B Preview",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.1,cache_read:.01},limit:{context:32768,output:32768}},"nousresearch/hermes-2-pro-llama-3-8b":{id:"nousresearch/hermes-2-pro-llama-3-8b",name:"NousResearch: Hermes 2 Pro - Llama-3 8B",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-05-27",last_updated:"2024-06-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.14,output:.14},limit:{context:8192,output:8192}},"nousresearch/hermes-3-llama-3.1-405b":{id:"nousresearch/hermes-3-llama-3.1-405b",name:"Nous: Hermes 3 405B Instruct",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-08-16",last_updated:"2024-08-16",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:1},limit:{context:131072,output:16384}},"nousresearch/hermes-3-llama-3.1-405b:free":{id:"nousresearch/hermes-3-llama-3.1-405b:free",name:"Nous: Hermes 3 405B Instruct (free)",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-08-16",last_updated:"2024-08-16",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:26215}},"tencent/hunyuan-a13b-instruct":{id:"tencent/hunyuan-a13b-instruct",name:"Tencent: Hunyuan A13B Instruct",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-06-30",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.57},limit:{context:131072,output:131072}},"meituan/longcat-flash-chat":{id:"meituan/longcat-flash-chat",name:"Meituan: LongCat Flash Chat",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-08-30",last_updated:"2025-08-30",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.8,cache_read:.2},limit:{context:131072,output:32768}},"nvidia/nemotron-nano-12b-v2-vl:free":{id:"nvidia/nemotron-nano-12b-v2-vl:free",name:"NVIDIA: Nemotron Nano 12B 2 VL (free)",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-10-28",last_updated:"2026-01-31",modalities:{input:["image","text","video"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"NVIDIA: Nemotron Nano 9B V2",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-18",last_updated:"2025-08-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.04,output:.16},limit:{context:131072,output:26215}},"nvidia/nemotron-nano-12b-v2-vl":{id:"nvidia/nemotron-nano-12b-v2-vl",name:"NVIDIA: Nemotron Nano 12B 2 VL",attachment:true,reasoning:true,tool_call:false,temperature:true,release_date:"2025-10-28",last_updated:"2026-01-31",modalities:{input:["image","text","video"],output:["text"]},open_weights:true,cost:{input:.2,output:.6},limit:{context:131072,output:26215}},"nvidia/nemotron-3-nano-30b-a3b":{id:"nvidia/nemotron-3-nano-30b-a3b",name:"NVIDIA: Nemotron 3 Nano 30B A3B",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2024-12",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.2},limit:{context:262144,output:52429}},"nvidia/nemotron-3-nano-30b-a3b:free":{id:"nvidia/nemotron-3-nano-30b-a3b:free",name:"NVIDIA: Nemotron 3 Nano 30B A3B (free)",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-14",last_updated:"2026-01-31",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:256e3,output:51200}},"nvidia/nemotron-nano-9b-v2:free":{id:"nvidia/nemotron-nano-9b-v2:free",name:"NVIDIA: Nemotron Nano 9B V2 (free)",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-09-05",last_updated:"2025-08-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:25600}},"nvidia/llama-3.1-nemotron-ultra-253b-v1":{id:"nvidia/llama-3.1-nemotron-ultra-253b-v1",name:"NVIDIA: Llama 3.1 Nemotron Ultra 253B v1",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2024-07-01",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:1.8},limit:{context:131072,output:26215}},"nvidia/llama-3.1-nemotron-70b-instruct":{id:"nvidia/llama-3.1-nemotron-70b-instruct",name:"NVIDIA: Llama 3.1 Nemotron 70B Instruct",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-10-12",last_updated:"2024-10-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.2,output:1.2},limit:{context:131072,output:16384}},"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",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-03-16",last_updated:"2025-03-16",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:.4},limit:{context:131072,output:26215}},"cohere/command-r-08-2024":{id:"cohere/command-r-08-2024",name:"Cohere: Command R (08-2024)",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-08-30",last_updated:"2024-08-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:128e3,output:4e3}},"cohere/command-r-plus-08-2024":{id:"cohere/command-r-plus-08-2024",name:"Cohere: Command R+ (08-2024)",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-08-30",last_updated:"2024-08-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.5,output:10},limit:{context:128e3,output:4e3}},"cohere/command-r7b-12-2024":{id:"cohere/command-r7b-12-2024",name:"Cohere: Command R7B (12-2024)",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-02-27",last_updated:"2024-02-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.0375,output:.15},limit:{context:128e3,output:4e3}},"cohere/command-a":{id:"cohere/command-a",name:"Cohere: Command A",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.5,output:10},limit:{context:256e3,output:8192}},"x-ai/grok-4":{id:"x-ai/grok-4",name:"xAI: Grok 4",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75},limit:{context:256e3,output:51200}},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"xAI: Grok Code Fast 1",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-26",last_updated:"2025-08-26",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:1.5,cache_read:.02},limit:{context:256e3,output:1e4}},"x-ai/grok-3":{id:"x-ai/grok-3",name:"xAI: Grok 3",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75},limit:{context:131072,output:26215}},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"xAI: Grok 4 Fast",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-19",last_updated:"2025-08-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:3e4}},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"xAI: Grok 3 Beta",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75},limit:{context:131072,output:26215}},"x-ai/grok-3-mini-beta":{id:"x-ai/grok-3-mini-beta",name:"xAI: Grok 3 Mini Beta",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:.5,cache_read:.075},limit:{context:131072,output:26215}},"x-ai/grok-3-mini":{id:"x-ai/grok-3-mini",name:"xAI: Grok 3 Mini",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:.5,cache_read:.075},limit:{context:131072,output:26215}},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"xAI: Grok 4.1 Fast",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-11-19",last_updated:"2025-11-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:3e4}},"kwaipilot/kat-coder-pro":{id:"kwaipilot/kat-coder-pro",name:"Kwaipilot: KAT-Coder-Pro V1",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-09-30",last_updated:"2025-10-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.207,output:.828,cache_read:.0414},limit:{context:256e3,output:128e3}},"cognitivecomputations/dolphin-mistral-24b-venice-edition:free":{id:"cognitivecomputations/dolphin-mistral-24b-venice-edition:free",name:"Venice: Uncensored (free)",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-07-09",last_updated:"2026-01-31",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:6554}},"deepseek/deepseek-r1-0528":{id:"deepseek/deepseek-r1-0528",name:"DeepSeek: R1 0528",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:1.75,cache_read:.2},limit:{context:163840,output:65536}},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek: DeepSeek V3.1",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-21",last_updated:"2025-08-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.75},limit:{context:32768,output:7168}},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek: R1",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.7,output:2.5},limit:{context:64e3,output:16e3}},"deepseek/deepseek-v3.2-speciale":{id:"deepseek/deepseek-v3.2-speciale",name:"DeepSeek: DeepSeek V3.2 Speciale",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:.41,cache_read:.135},limit:{context:163840,output:65536}},"deepseek/deepseek-chat":{id:"deepseek/deepseek-chat",name:"DeepSeek: DeepSeek V3",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.15},limit:{context:163840,output:163840}},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek: DeepSeek V3.1 Terminus",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-09-22",last_updated:"2025-09-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.21,output:.79,cache_read:.13},limit:{context:163840,output:32768}},"deepseek/deepseek-r1-distill-qwen-32b":{id:"deepseek/deepseek-r1-distill-qwen-32b",name:"DeepSeek: R1 Distill Qwen 32B",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-01-01",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.29,output:.29},limit:{context:32768,output:32768}},"deepseek/deepseek-chat-v3-0324":{id:"deepseek/deepseek-chat-v3-0324",name:"DeepSeek: DeepSeek V3 0324",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-03-24",last_updated:"2025-03-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.19,output:.87,cache_read:.095},limit:{context:163840,output:65536}},"deepseek/deepseek-r1-0528:free":{id:"deepseek/deepseek-r1-0528:free",name:"DeepSeek: R1 0528 (free)",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:163840,output:163840}},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek: DeepSeek V3.2 Exp",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-01-01",last_updated:"2025-09-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:.41},limit:{context:163840,output:65536}},"deepseek/deepseek-r1-distill-llama-70b":{id:"deepseek/deepseek-r1-distill-llama-70b",name:"DeepSeek: R1 Distill Llama 70B",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-01-23",last_updated:"2025-01-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.11,cache_read:.015},limit:{context:131072,output:131072}},"deepseek/deepseek-v3.1-terminus:exacto":{id:"deepseek/deepseek-v3.1-terminus:exacto",name:"DeepSeek: DeepSeek V3.1 Terminus (exacto)",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-09-22",last_updated:"2025-09-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.21,output:.79,cache_read:.168},limit:{context:163840,output:32768}},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek: DeepSeek V3.2",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.25,output:.38,cache_read:.125},limit:{context:163840,output:65536}},"tngtech/deepseek-r1t2-chimera":{id:"tngtech/deepseek-r1t2-chimera",name:"TNG: DeepSeek R1T2 Chimera",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-08",last_updated:"2025-07-08",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.25,output:.85,cache_read:.125},limit:{context:163840,output:163840}},"tngtech/deepseek-r1t-chimera":{id:"tngtech/deepseek-r1t-chimera",name:"TNG: DeepSeek R1T Chimera",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.15},limit:{context:163840,output:163840}},"tngtech/tng-r1t-chimera":{id:"tngtech/tng-r1t-chimera",name:"TNG: R1T Chimera",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-11-26",last_updated:"2026-01-31",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.25,output:.85,cache_read:.125},limit:{context:163840,output:65536}},"allenai/molmo-2-8b":{id:"allenai/molmo-2-8b",name:"AllenAI: Molmo2 8B",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2026-01-09",last_updated:"2026-01-31",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:36864,output:36864}},"bytedance-seed/seed-1.6":{id:"bytedance-seed/seed-1.6",name:"ByteDance Seed: Seed 1.6",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-09",last_updated:"2025-09",modalities:{input:["image","text","video"],output:["text"]},open_weights:false,cost:{input:.25,output:2},limit:{context:262144,output:32768}},"arcee-ai/trinity-mini:free":{id:"arcee-ai/trinity-mini:free",name:"Arcee AI: Trinity Mini (free)",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-01-28",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:26215}},"arcee-ai/trinity-mini":{id:"arcee-ai/trinity-mini",name:"Arcee AI: Trinity Mini",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.045,output:.15},limit:{context:131072,output:131072}},"arcee-ai/trinity-large-preview:free":{id:"arcee-ai/trinity-large-preview:free",name:"Arcee AI: Trinity Large Preview (free)",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2026-01-28",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131e3,output:26200}},"liquid/lfm-2.5-1.2b-thinking:free":{id:"liquid/lfm-2.5-1.2b-thinking:free",name:"LiquidAI: LFM2.5-1.2B-Thinking (free)",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2026-01-20",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:6554}},"liquid/lfm-2.5-1.2b-instruct:free":{id:"liquid/lfm-2.5-1.2b-instruct:free",name:"LiquidAI: LFM2.5-1.2B-Instruct (free)",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2026-01-20",last_updated:"2026-01-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:6554}},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax: MiniMax M1",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:2.2},limit:{context:1e6,output:4e4}},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax: MiniMax M2",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-10-23",last_updated:"2025-10-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.255,output:1,cache_read:.03},limit:{context:196608,output:65536}},"minimax/minimax-01":{id:"minimax/minimax-01",name:"MiniMax: MiniMax-01",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2025-01-15",last_updated:"2025-01-15",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.2,output:1.1},limit:{context:1000192,output:1000192}},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax: MiniMax M2.1",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:.95,cache_read:.03},limit:{context:196608,output:39322}},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax: MiniMax M2.5",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.029},limit:{context:196608,output:39322}},"minimax/minimax-m2.5:free":{id:"minimax/minimax-m2.5:free",name:"MiniMax: MiniMax M2.5 (free)",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0},limit:{context:204800,output:131072}},"google/gemini-2.0-flash-001":{id:"google/gemini-2.0-flash-001",name:"Google: Gemini 2.0 Flash",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025,cache_write:.083333},limit:{context:1048576,output:8192}},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Google: Gemini 3 Flash Preview",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:.5,output:3,cache_read:.05,cache_write:.083333},limit:{context:1048576,output:65535}},"google/gemini-2.5-pro-preview":{id:"google/gemini-2.5-pro-preview",name:"Google: Gemini 2.5 Pro Preview 06-05",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-06-05",last_updated:"2026-01",modalities:{input:["image","text","audio"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125,cache_write:.375},limit:{context:1048576,output:65536}},"google/gemma-3-27b-it:free":{id:"google/gemma-3-27b-it:free",name:"Google: Gemma 3 27B (free)",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-03-12",last_updated:"2025-03-12",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:8192}},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Google: Gemini 3 Pro Preview",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-11-18",last_updated:"2025-11",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.2,cache_write:.375},limit:{context:1048576,output:65536}},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Google: Gemini 2.5 Flash",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-17",last_updated:"2025-07-17",modalities:{input:["image","text","audio","video"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.03,cache_write:.083333},limit:{context:1048576,output:65535}},"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",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-05-06",last_updated:"2025-05-06",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125,cache_write:.375},limit:{context:1048576,output:65535}},"google/gemma-3n-e4b-it":{id:"google/gemma-3n-e4b-it",name:"Google: Gemma 3n 4B",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-05-20",last_updated:"2025-05-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.04},limit:{context:32768,output:6554}},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Google: Gemini 2.5 Flash Lite",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.01,cache_write:.083333},limit:{context:1048576,output:65535}},"google/gemma-3-4b-it":{id:"google/gemma-3-4b-it",name:"Google: Gemma 3 4B",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.01703,output:.068154},limit:{context:96e3,output:19200}},"google/gemma-2-9b-it":{id:"google/gemma-2-9b-it",name:"Google: Gemma 2 9B",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-06-28",last_updated:"2024-06-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.09},limit:{context:8192,output:1639}},"google/gemini-2.0-flash-lite-001":{id:"google/gemini-2.0-flash-lite-001",name:"Google: Gemini 2.0 Flash Lite",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-11",last_updated:"2025-06-16",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:.075,output:.3},limit:{context:1048576,output:8192}},"google/gemini-2.5-flash-preview-09-2025":{id:"google/gemini-2.5-flash-preview-09-2025",name:"Google: Gemini 2.5 Flash Preview 09-2025",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["image","text","audio","video"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.03,cache_write:.083333},limit:{context:1048576,output:65536}},"google/gemma-3-12b-it:free":{id:"google/gemma-3-12b-it:free",name:"Google: Gemma 3 12B (free)",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:8192}},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Google: Gemini 2.5 Pro",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-03-20",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125,cache_write:.375},limit:{context:1048576,output:65536}},"google/gemma-3-12b-it":{id:"google/gemma-3-12b-it",name:"Google: Gemma 3 12B",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.03,output:.1,cache_read:.015},limit:{context:131072,output:131072}},"google/gemma-3n-e2b-it:free":{id:"google/gemma-3n-e2b-it:free",name:"Google: Gemma 3n 2B (free)",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:8192,output:2048}},"google/gemma-3n-e4b-it:free":{id:"google/gemma-3n-e4b-it:free",name:"Google: Gemma 3n 4B (free)",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-05-20",last_updated:"2025-05-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:8192,output:2048}},"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",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-09-25",last_updated:"2025-09-25",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.01,cache_write:.083333},limit:{context:1048576,output:65535}},"google/gemma-3-4b-it:free":{id:"google/gemma-3-4b-it:free",name:"Google: Gemma 3 4B (free)",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:32768,output:8192}},"google/gemma-2-27b-it":{id:"google/gemma-2-27b-it",name:"Google: Gemma 2 27B",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-06-24",last_updated:"2024-06-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.65,output:.65},limit:{context:8192,output:2048}},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Google: Gemma 3 27B",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-03-12",last_updated:"2025-03-12",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.04,output:.15,cache_read:.02},limit:{context:128e3,output:65536}},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"Prime Intellect: INTELLECT-3",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-11-26",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:1.1},limit:{context:131072,output:131072}},"inception/mercury-coder":{id:"inception/mercury-coder",name:"Inception: Mercury Coder",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-02-26",last_updated:"2025-07-31",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:1},limit:{context:128e3,output:16384}},"inception/mercury":{id:"inception/mercury",name:"Inception: Mercury",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-06-26",last_updated:"2025-07-31",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.25,output:1},limit:{context:128e3,output:16384}},"microsoft/phi-4":{id:"microsoft/phi-4",name:"Microsoft: Phi 4",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.06,output:.14},limit:{context:16384,output:16384}},"microsoft/wizardlm-2-8x22b":{id:"microsoft/wizardlm-2-8x22b",name:"WizardLM-2 8x22B",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-04-24",last_updated:"2024-04-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.62,output:.62},limit:{context:65535,output:8e3}},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"OpenAI: GPT-4.1 Nano",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-04-14",last_updated:"2025-04-15",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.025},limit:{context:1047576,output:32768}},"openai/gpt-4":{id:"openai/gpt-4",name:"OpenAI: GPT-4",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2023-03-14",last_updated:"2024-04-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:30,output:60},limit:{context:8191,output:4096}},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"OpenAI: GPT-5.2 Chat",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:128e3,output:16384}},"openai/gpt-oss-20b:free":{id:"openai/gpt-oss-20b:free",name:"OpenAI: gpt-oss-20b (free)",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2026-01-31",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"OpenAI: gpt-oss-safeguard-20b",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-10-29",last_updated:"2025-10-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.075,output:.3,cache_read:.037},limit:{context:131072,output:65536}},"openai/o1-pro":{id:"openai/o1-pro",name:"OpenAI: o1-pro",attachment:true,reasoning:true,tool_call:false,temperature:false,release_date:"2025-03-19",last_updated:"2025-03-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:150,output:600},limit:{context:2e5,output:1e5}},"openai/gpt-4o-2024-05-13":{id:"openai/gpt-4o-2024-05-13",name:"OpenAI: GPT-4o (2024-05-13)",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-05-13",last_updated:"2024-05-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:5,output:15},limit:{context:128e3,output:4096}},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"OpenAI: GPT-5.2-Codex",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2026-01-14",last_updated:"2026-01-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,output:128e3}},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"OpenAI: GPT-5.1-Codex",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"openai/gpt-4o-2024-08-06":{id:"openai/gpt-4o-2024-08-06",name:"OpenAI: GPT-4o (2024-08-06)",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-08-06",last_updated:"2024-08-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.5,output:10,cache_read:1.25},limit:{context:128e3,output:16384}},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"OpenAI: GPT-4.1 Mini",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:.4,output:1.6,cache_read:.1},limit:{context:1047576,output:32768}},"openai/gpt-oss-120b:free":{id:"openai/gpt-oss-120b:free",name:"OpenAI: gpt-oss-120b (free)",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:131072}},"openai/gpt-5-chat":{id:"openai/gpt-5-chat",name:"OpenAI: GPT-5 Chat",attachment:true,reasoning:false,tool_call:false,temperature:false,release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:128e3,output:16384}},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"OpenAI: o3 Deep Research",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2024-06-26",last_updated:"2025-06-27",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:10,output:40,cache_read:2.5},limit:{context:2e5,output:1e5}},"openai/gpt-3.5-turbo":{id:"openai/gpt-3.5-turbo",name:"OpenAI: GPT-3.5 Turbo",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2023-03-01",last_updated:"2023-11-06",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:1.5},limit:{context:16385,output:4096}},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"OpenAI: GPT-5.2 Pro",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:21,output:168},limit:{context:4e5,output:128e3}},"openai/o3-mini-high":{id:"openai/o3-mini-high",name:"OpenAI: o3 Mini High",attachment:false,reasoning:false,tool_call:true,temperature:false,release_date:"2025-01-31",last_updated:"2025-01-31",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.55},limit:{context:2e5,output:1e5}},"openai/chatgpt-4o-latest":{id:"openai/chatgpt-4o-latest",name:"OpenAI: ChatGPT-4o",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2024-08-08",last_updated:"2024-08-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:5,output:15},limit:{context:128e3,output:16384}},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"OpenAI: GPT-4 Turbo",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2023-09-13",last_updated:"2024-04-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:10,output:30},limit:{context:128e3,output:4096}},"openai/gpt-3.5-turbo-0613":{id:"openai/gpt-3.5-turbo-0613",name:"OpenAI: GPT-3.5 Turbo (older v0613)",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2023-06-13",last_updated:"2023-06-13",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:2},limit:{context:4095,output:4096}},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"OpenAI: GPT-5.1-Codex-Mini",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.025},limit:{context:4e5,output:1e5}},"openai/o3-mini":{id:"openai/o3-mini",name:"OpenAI: o3 Mini",attachment:false,reasoning:false,tool_call:true,temperature:false,release_date:"2024-12-20",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.55},limit:{context:2e5,output:1e5}},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"OpenAI: GPT-5.1",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"OpenAI: GPT-5 Nano",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.05,output:.4,cache_read:.005},limit:{context:4e5,output:128e3}},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"OpenAI: GPT-5 Codex",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"openai/gpt-4o":{id:"openai/gpt-4o",name:"OpenAI: GPT-4o",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-05-13",last_updated:"2024-08-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.5,output:10,cache_read:1.25},limit:{context:128e3,output:16384}},"openai/gpt-4o:extended":{id:"openai/gpt-4o:extended",name:"OpenAI: GPT-4o (extended)",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-05-13",last_updated:"2024-08-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:6,output:18},limit:{context:128e3,output:64e3}},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"OpenAI: GPT-4.1",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:1047576,output:32768}},"openai/gpt-oss-120b:exacto":{id:"openai/gpt-oss-120b:exacto",name:"OpenAI: gpt-oss-120b (exacto)",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.039,output:.19},limit:{context:131072,output:26215}},"openai/o4-mini":{id:"openai/o4-mini",name:"OpenAI: o4 Mini",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.275},limit:{context:2e5,output:1e5}},"openai/o1":{id:"openai/o1",name:"OpenAI: o1",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-12-05",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:60,cache_read:7.5},limit:{context:2e5,output:1e5}},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"OpenAI: GPT-5.1 Chat",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:128e3,output:16384}},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"OpenAI: GPT-5 Mini",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.025},limit:{context:4e5,output:128e3}},"openai/o3-pro":{id:"openai/o3-pro",name:"OpenAI: o3 Pro",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-04-16",last_updated:"2025-06-10",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:20,output:80},limit:{context:2e5,output:1e5}},"openai/gpt-4o-2024-11-20":{id:"openai/gpt-4o-2024-11-20",name:"OpenAI: GPT-4o (2024-11-20)",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-11-20",last_updated:"2024-11-20",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.5,output:10,cache_read:1.25},limit:{context:128e3,output:16384}},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"OpenAI: GPT-5.1-Codex-Max",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"openai/gpt-3.5-turbo-instruct":{id:"openai/gpt-3.5-turbo-instruct",name:"OpenAI: GPT-3.5 Turbo Instruct",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2023-03-01",last_updated:"2023-09-21",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.5,output:2},limit:{context:4095,output:4096}},"openai/o3":{id:"openai/o3",name:"OpenAI: o3",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-04-16",last_updated:"2026-01",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:2e5,output:1e5}},"openai/gpt-4o-mini-search-preview":{id:"openai/gpt-4o-mini-search-preview",name:"OpenAI: GPT-4o-mini Search Preview",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2025-01",last_updated:"2025-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:.6},limit:{context:128e3,output:16384}},"openai/o4-mini-deep-research":{id:"openai/o4-mini-deep-research",name:"OpenAI: o4 Mini Deep Research",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2024-06-26",last_updated:"2025-06-27",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:2e5,output:1e5}},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"OpenAI: gpt-oss-20b",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.14},limit:{context:131072,output:26215}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"OpenAI: gpt-oss-120b",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.039,output:.19},limit:{context:131072,output:26215}},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"OpenAI: GPT-4o-mini",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.15,output:.6,cache_read:.075},limit:{context:128e3,output:16384}},"openai/gpt-5":{id:"openai/gpt-5",name:"OpenAI: GPT-5",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"OpenAI: GPT-5 Pro",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-10-06",last_updated:"2025-10-06",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:15,output:120},limit:{context:4e5,output:128e3}},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"OpenAI: GPT-5.2",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,output:128e3}},"gryphe/mythomax-l2-13b":{id:"gryphe/mythomax-l2-13b",name:"MythoMax 13B",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-04-25",last_updated:"2024-04-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.06,output:.06},limit:{context:4096,output:4096}},"perplexity/sonar-deep-research":{id:"perplexity/sonar-deep-research",name:"Perplexity: Sonar Deep Research",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-01-27",last_updated:"2025-01-27",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2,output:8},limit:{context:128e3,output:25600}},"perplexity/sonar":{id:"perplexity/sonar",name:"Perplexity: Sonar",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2024-01-01",last_updated:"2025-09-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1,output:1},limit:{context:127072,output:25415}},"perplexity/sonar-pro":{id:"perplexity/sonar-pro",name:"Perplexity: Sonar Pro",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2024-01-01",last_updated:"2025-09-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:2e5,output:8e3}},"perplexity/sonar-reasoning-pro":{id:"perplexity/sonar-reasoning-pro",name:"Perplexity: Sonar Reasoning Pro",attachment:true,reasoning:true,tool_call:false,temperature:true,release_date:"2024-01-01",last_updated:"2025-09-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8},limit:{context:128e3,output:25600}},"openrouter/aurora-alpha":{id:"openrouter/aurora-alpha",name:"Aurora Alpha (free)",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-09",last_updated:"2026-02-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:128e3,output:5e4}},"nex-agi/deepseek-v3.1-nex-n1":{id:"nex-agi/deepseek-v3.1-nex-n1",name:"Nex AGI: DeepSeek V3.1 Nex N1",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-01-01",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.27,output:1},limit:{context:131072,output:163840}},"baidu/ernie-4.5-21b-a3b":{id:"baidu/ernie-4.5-21b-a3b",name:"Baidu: ERNIE 4.5 21B A3B",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-06-30",last_updated:"2025-06-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.28},limit:{context:12e4,output:8e3}},"baidu/ernie-4.5-300b-a47b":{id:"baidu/ernie-4.5-300b-a47b",name:"Baidu: ERNIE 4.5 300B A47B ",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-06-30",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.28,output:1.1},limit:{context:123e3,output:12e3}},"baidu/ernie-4.5-vl-424b-a47b":{id:"baidu/ernie-4.5-vl-424b-a47b",name:"Baidu: ERNIE 4.5 VL 424B A47B ",attachment:true,reasoning:true,tool_call:false,temperature:true,release_date:"2025-06-30",last_updated:"2026-01",modalities:{input:["image","text"],output:["text"]},open_weights:true,cost:{input:.42,output:1.25},limit:{context:123e3,output:16e3}},"baidu/ernie-4.5-vl-28b-a3b":{id:"baidu/ernie-4.5-vl-28b-a3b",name:"Baidu: ERNIE 4.5 VL 28B A3B",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-06-30",last_updated:"2025-06-30",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.14,output:.56},limit:{context:3e4,output:8e3}},"baidu/ernie-4.5-21b-a3b-thinking":{id:"baidu/ernie-4.5-21b-a3b-thinking",name:"Baidu: ERNIE 4.5 21B A3B Thinking",attachment:false,reasoning:true,tool_call:false,temperature:true,release_date:"2025-09-19",last_updated:"2025-09-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.28},limit:{context:131072,output:65536}},"kilo/auto":{id:"kilo/auto",name:"Kilo: Auto",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2024-06-01",last_updated:"2024-06-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1,output:1},limit:{context:2e5,output:64e3}},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"Z.ai: GLM 4.7",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:1.5,cache_read:.2},limit:{context:202752,output:65535}},"z-ai/glm-5":{id:"z-ai/glm-5",name:"Z.ai: GLM 5",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:2.55},limit:{context:204800,output:131072}},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"Z.ai: GLM 4.5",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.35,output:1.55,cache_read:.175},limit:{context:131072,output:65536}},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"Z.ai: GLM 4.7 Flash",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-01-19",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.06,output:.4,cache_read:.01},limit:{context:202752,output:40551}},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"Z.ai: GLM 4.5 Air",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.13,output:.85,cache_read:.025},limit:{context:131072,output:98304}},"z-ai/glm-4.5v":{id:"z-ai/glm-4.5v",name:"Z.ai: GLM 4.5V",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-11",last_updated:"2025-08-11",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.6,output:1.8,cache_read:.11},limit:{context:65536,output:16384}},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"Z.ai: GLM 4.6",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.35,output:1.5,cache_read:.175},limit:{context:202752,output:65536}},"z-ai/glm-4.6:exacto":{id:"z-ai/glm-4.6:exacto",name:"Z.ai: GLM 4.6 (exacto)",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.44,output:1.76,cache_read:.11},limit:{context:204800,output:131072}},"z-ai/glm-4.5-air:free":{id:"z-ai/glm-4.5-air:free",name:"Z.ai: GLM 4.5 Air (free)",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:96e3}},"z-ai/glm-5:free":{id:"z-ai/glm-5:free",name:"Z.ai: GLM 5 (free)",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0},limit:{context:202800,output:131072}},"z-ai/glm-4.6v":{id:"z-ai/glm-4.6v",name:"Z.ai: GLM 4.6V",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-09-30",last_updated:"2026-01-10",modalities:{input:["image","text","video"],output:["text"]},open_weights:true,cost:{input:.3,output:.9},limit:{context:131072,output:131072}},"qwen/qwen3-vl-30b-a3b-thinking":{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen: Qwen3 VL 30B A3B Thinking",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-10-11",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:32768}},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen: Qwen3 Coder 480B A35B",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.22,output:1,cache_read:.022},limit:{context:262144,output:52429}},"qwen/qwen-vl-max":{id:"qwen/qwen-vl-max",name:"Qwen: Qwen VL Max",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-04-08",last_updated:"2025-08-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.8,output:3.2},limit:{context:131072,output:32768}},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen: Qwen3 Next 80B A3B Instruct",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-09-11",last_updated:"2025-09-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.09,output:1.1},limit:{context:262144,output:52429}},"qwen/qwen-2.5-coder-32b-instruct":{id:"qwen/qwen-2.5-coder-32b-instruct",name:"Qwen2.5 Coder 32B Instruct",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-11-11",last_updated:"2024-11-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.11,cache_read:.015},limit:{context:32768,output:32768}},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen: Qwen3.5 Plus 2026-02-15",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-15",last_updated:"2026-02-15",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.4,output:2.4},limit:{context:1e6,output:64e3}},"qwen/qwen-turbo":{id:"qwen/qwen-turbo",name:"Qwen: Qwen-Turbo",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-11-01",last_updated:"2025-07-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.05,output:.2,cache_read:.01},limit:{context:131072,output:8192}},"qwen/qwen-2.5-vl-7b-instruct":{id:"qwen/qwen-2.5-vl-7b-instruct",name:"Qwen: Qwen2.5-VL 7B Instruct",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2024-08-28",last_updated:"2024-09",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:32768,output:6554}},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen: Qwen3 Coder Flash",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.5,cache_read:.06},limit:{context:1e6,output:65536}},"qwen/qwen3-14b":{id:"qwen/qwen3-14b",name:"Qwen: Qwen3 14B",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-04",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.22,cache_read:.025},limit:{context:40960,output:40960}},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen: Qwen3 30B A3B Thinking 2507",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-29",last_updated:"2025-07-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.051,output:.34},limit:{context:32768,output:6554}},"qwen/qwen3-4b:free":{id:"qwen/qwen3-4b:free",name:"Qwen: Qwen3 4B (free)",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-04-30",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:40960,output:8192}},"qwen/qwen2.5-vl-72b-instruct":{id:"qwen/qwen2.5-vl-72b-instruct",name:"Qwen: Qwen2.5 VL 72B Instruct",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2025-02-01",last_updated:"2025-02-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.15,output:.6,cache_read:.075},limit:{context:32768,output:32768}},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen: Qwen3.5 397B A17B",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-15",last_updated:"2026-02-15",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.6,output:3.6},limit:{context:256e3,output:64e3}},"qwen/qwen3-235b-a22b-2507":{id:"qwen/qwen3-235b-a22b-2507",name:"Qwen: Qwen3 235B A22B Instruct 2507",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-04",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.071,output:.1},limit:{context:262144,output:52429}},"qwen/qwen3-4b":{id:"qwen/qwen3-4b",name:"Qwen: Qwen3 4B",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-04-29",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.0715,output:.273},limit:{context:131072,output:8192}},"qwen/qwen-2.5-7b-instruct":{id:"qwen/qwen-2.5-7b-instruct",name:"Qwen: Qwen2.5 7B Instruct",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-09",last_updated:"2025-04-16",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.04,output:.1},limit:{context:32768,output:6554}},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen: Qwen3 30B A3B Instruct 2507",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-29",last_updated:"2025-07-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.08,output:.33,cache_read:.04},limit:{context:262144,output:262144}},"qwen/qwen2.5-vl-32b-instruct":{id:"qwen/qwen2.5-vl-32b-instruct",name:"Qwen: Qwen2.5 VL 32B Instruct",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2025-03-24",last_updated:"2026-01-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.05,output:.22,cache_read:.025},limit:{context:16384,output:16384}},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen: Qwen3 Coder 30B A3B Instruct",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-31",last_updated:"2025-07-31",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.27},limit:{context:16e4,output:32768}},"qwen/qwen3-vl-8b-instruct":{id:"qwen/qwen3-vl-8b-instruct",name:"Qwen: Qwen3 VL 8B Instruct",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-10-15",last_updated:"2025-11-25",modalities:{input:["image","text"],output:["text"]},open_weights:true,cost:{input:.08,output:.5},limit:{context:131072,output:32768}},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen: Qwen3 235B A22B Thinking 2507",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-25",last_updated:"2025-07-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:26215}},"qwen/qwen3-8b":{id:"qwen/qwen3-8b",name:"Qwen: Qwen3 8B",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.4,cache_read:.05},limit:{context:32e3,output:8192}},"qwen/qwen3-next-80b-a3b-instruct:free":{id:"qwen/qwen3-next-80b-a3b-instruct:free",name:"Qwen: Qwen3 Next 80B A3B Instruct (free)",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-09-11",last_updated:"2025-09-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:52429}},"qwen/qwen3-vl-32b-instruct":{id:"qwen/qwen3-vl-32b-instruct",name:"Qwen: Qwen3 VL 32B Instruct",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-10-21",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.104,output:.416},limit:{context:131072,output:32768}},"qwen/qwen-plus":{id:"qwen/qwen-plus",name:"Qwen: Qwen-Plus",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-01-25",last_updated:"2025-09-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.4,output:1.2,cache_read:.08},limit:{context:1e6,output:32768}},"qwen/qwen3-max-thinking":{id:"qwen/qwen3-max-thinking",name:"Qwen: Qwen3 Max Thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-01-23",last_updated:"2026-01-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.2,output:6},limit:{context:262144,output:65536}},"qwen/qwen-2.5-72b-instruct":{id:"qwen/qwen-2.5-72b-instruct",name:"Qwen2.5 72B Instruct",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-09",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.12,output:.39},limit:{context:32768,output:16384}},"qwen/qwen-max":{id:"qwen/qwen-max",name:"Qwen: Qwen-Max ",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-04-03",last_updated:"2025-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.6,output:6.4,cache_read:.32},limit:{context:32768,output:8192}},"qwen/qwen2.5-coder-7b-instruct":{id:"qwen/qwen2.5-coder-7b-instruct",name:"Qwen: Qwen2.5 Coder 7B Instruct",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-09-17",last_updated:"2024-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.09},limit:{context:32768,output:6554}},"qwen/qwen3-235b-a22b":{id:"qwen/qwen3-235b-a22b",name:"Qwen: Qwen3 235B A22B",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.15},limit:{context:40960,output:40960}},"qwen/qwen3-vl-8b-thinking":{id:"qwen/qwen3-vl-8b-thinking",name:"Qwen: Qwen3 VL 8B Thinking",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-10-15",last_updated:"2025-11-25",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:.117,output:1.365},limit:{context:131072,output:32768}},"qwen/qwen3-coder:free":{id:"qwen/qwen3-coder:free",name:"Qwen: Qwen3 Coder 480B A35B (free)",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262e3,output:262e3}},"qwen/qwen3-vl-235b-a22b-thinking":{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen: Qwen3 VL 235B A22B Thinking",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-09-24",last_updated:"2025-09-24",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:32768}},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen: Qwen3 Max",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.2,output:6,cache_read:.24},limit:{context:262144,output:65536}},"qwen/qwen3-vl-235b-a22b-instruct":{id:"qwen/qwen3-vl-235b-a22b-instruct",name:"Qwen: Qwen3 VL 235B A22B Instruct",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-09-23",last_updated:"2026-01-10",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.2,output:.88,cache_read:.11},limit:{context:262144,output:52429}},"qwen/qwen3-30b-a3b":{id:"qwen/qwen3-30b-a3b",name:"Qwen: Qwen3 30B A3B",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-04",last_updated:"2026-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.06,output:.22,cache_read:.03},limit:{context:40960,output:40960}},"qwen/qwen3-vl-30b-a3b-instruct":{id:"qwen/qwen3-vl-30b-a3b-instruct",name:"Qwen: Qwen3 VL 30B A3B Instruct",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-10-05",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.13,output:.52},limit:{context:131072,output:32768}},"qwen/qwen3-coder-next":{id:"qwen/qwen3-coder-next",name:"Qwen: Qwen3 Coder Next",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2026-02-02",last_updated:"2026-02-08",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.3,cache_read:.035},limit:{context:262144,output:65536}},"qwen/qwq-32b":{id:"qwen/qwq-32b",name:"Qwen: QwQ 32B",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2024-11-28",last_updated:"2025-04-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.4},limit:{context:32768,output:32768}},"qwen/qwen3-coder-plus":{id:"qwen/qwen3-coder-plus",name:"Qwen: Qwen3 Coder Plus",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-01",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:5,cache_read:.2},limit:{context:1e6,output:65536}},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen: Qwen3 Next 80B A3B Thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-09-11",last_updated:"2025-09-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:1.2},limit:{context:128e3,output:25600}},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen: Qwen3 32B",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.08,output:.24,cache_read:.04},limit:{context:40960,output:40960}},"qwen/qwen-vl-plus":{id:"qwen/qwen-vl-plus",name:"Qwen: Qwen VL Plus",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2024-01-25",last_updated:"2025-08-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.21,output:.63,cache_read:.042},limit:{context:131072,output:8192}},"qwen/qwen3-coder:exacto":{id:"qwen/qwen3-coder:exacto",name:"Qwen: Qwen3 Coder 480B A35B (exacto)",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.22,output:1.8,cache_read:.022},limit:{context:262144,output:65536}},"mistralai/mistral-large-2512":{id:"mistralai/mistral-large-2512",name:"Mistral: Mistral Large 3 2512",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-11-01",last_updated:"2025-12-16",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.5,output:1.5},limit:{context:262144,output:52429}},"mistralai/mixtral-8x22b-instruct":{id:"mistralai/mixtral-8x22b-instruct",name:"Mistral: Mixtral 8x22B Instruct",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-04-17",last_updated:"2024-04-17",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2,output:6},limit:{context:65536,output:13108}},"mistralai/mistral-7b-instruct-v0.3":{id:"mistralai/mistral-7b-instruct-v0.3",name:"Mistral: Mistral 7B Instruct v0.3",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-01",last_updated:"2025-04-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:32768,output:4096}},"mistralai/ministral-14b-2512":{id:"mistralai/ministral-14b-2512",name:"Mistral: Ministral 3 14B 2512",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-12-16",last_updated:"2025-12-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.2},limit:{context:262144,output:52429}},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Mistral: Devstral 2 2512",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-09-12",last_updated:"2025-09-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.22,cache_read:.025},limit:{context:262144,output:65536}},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Mistral: Codestral 2508",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-08-01",last_updated:"2025-08-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.9},limit:{context:256e3,output:51200}},"mistralai/devstral-small":{id:"mistralai/devstral-small",name:"Mistral: Devstral Small 1.1",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-05-07",last_updated:"2025-07-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.3},limit:{context:131072,output:26215}},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral: Mistral Small 3.2 24B",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-06-20",last_updated:"2025-06-20",modalities:{input:["image","text"],output:["text"]},open_weights:true,cost:{input:.06,output:.18,cache_read:.03},limit:{context:131072,output:131072}},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral: Mistral Medium 3",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-05-07",last_updated:"2025-05-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:2},limit:{context:131072,output:26215}},"mistralai/mistral-small-3.1-24b-instruct":{id:"mistralai/mistral-small-3.1-24b-instruct",name:"Mistral: Mistral Small 3.1 24B",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-03-17",last_updated:"2025-03-17",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.03,output:.11,cache_read:.015},limit:{context:131072,output:131072}},"mistralai/mistral-small-24b-instruct-2501":{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral: Mistral Small 3",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-12-29",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.08},limit:{context:32768,output:16384}},"mistralai/devstral-medium":{id:"mistralai/devstral-medium",name:"Mistral: Devstral Medium",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-10",last_updated:"2025-07-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:2},limit:{context:131072,output:26215}},"mistralai/mistral-small-3.1-24b-instruct:free":{id:"mistralai/mistral-small-3.1-24b-instruct:free",name:"Mistral: Mistral Small 3.1 24B (free)",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-03-17",last_updated:"2025-03-17",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:25600}},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral: Mistral Medium 3.1",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-08-12",last_updated:"2025-08-12",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:2},limit:{context:131072,output:26215}},"mistralai/mistral-large":{id:"mistralai/mistral-large",name:"Mistral Large",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-07-24",last_updated:"2025-12-02",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2,output:6},limit:{context:128e3,output:25600}},"mistralai/mistral-nemo":{id:"mistralai/mistral-nemo",name:"Mistral: Mistral Nemo",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-07-01",last_updated:"2024-07-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.04},limit:{context:131072,output:16384}},"mistralai/voxtral-small-24b-2507":{id:"mistralai/voxtral-small-24b-2507",name:"Mistral: Voxtral Small 24B 2507",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-01",last_updated:"2025-07-01",modalities:{input:["text","audio"],output:["text"]},open_weights:true,cost:{input:.1,output:.3},limit:{context:32e3,output:6400}},"mistralai/mistral-7b-instruct-v0.1":{id:"mistralai/mistral-7b-instruct-v0.1",name:"Mistral: Mistral 7B Instruct v0.1",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-03",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.11,output:.19},limit:{context:2824,output:565}},"mistralai/mistral-7b-instruct":{id:"mistralai/mistral-7b-instruct",name:"Mistral: Mistral 7B Instruct",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-05-27",last_updated:"2024-05-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:32768,output:4096}},"mistralai/mistral-large-2411":{id:"mistralai/mistral-large-2411",name:"Mistral Large 2411",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-07-24",last_updated:"2024-11-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2,output:6},limit:{context:131072,output:26215}},"amazon/nova-pro-v1":{id:"amazon/nova-pro-v1",name:"Amazon: Nova Pro 1.0",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-03",last_updated:"2024-12-03",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.8,output:3.2},limit:{context:3e5,output:5120}},"amazon/nova-2-lite-v1":{id:"amazon/nova-2-lite-v1",name:"Amazon: Nova 2 Lite",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2025-12-01",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5},limit:{context:1e6,output:65535}},"meta-llama/llama-3-70b-instruct":{id:"meta-llama/llama-3-70b-instruct",name:"Meta: Llama 3 70B Instruct",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.51,output:.74},limit:{context:8192,output:8e3}},"meta-llama/llama-3.2-11b-vision-instruct":{id:"meta-llama/llama-3.2-11b-vision-instruct",name:"Meta: Llama 3.2 11B Vision Instruct",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.049,output:.049},limit:{context:131072,output:16384}},"meta-llama/llama-4-maverick":{id:"meta-llama/llama-4-maverick",name:"Meta: Llama 4 Maverick",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-04-05",last_updated:"2025-12-24",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:1048576,output:16384}},"meta-llama/llama-3.3-70b-instruct:free":{id:"meta-llama/llama-3.3-70b-instruct:free",name:"Meta: Llama 3.3 70B Instruct (free)",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},"meta-llama/llama-3-8b-instruct":{id:"meta-llama/llama-3-8b-instruct",name:"Meta: Llama 3 8B Instruct",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-04-25",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.04},limit:{context:8192,output:16384}},"meta-llama/llama-3.1-8b-instruct":{id:"meta-llama/llama-3.1-8b-instruct",name:"Meta: Llama 3.1 8B Instruct",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-07-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.05},limit:{context:16384,output:16384}},"meta-llama/llama-3.2-3b-instruct":{id:"meta-llama/llama-3.2-3b-instruct",name:"Meta: Llama 3.2 3B Instruct",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-09-18",last_updated:"2025-04-03",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.02},limit:{context:131072,output:16384}},"meta-llama/llama-3.3-70b-instruct":{id:"meta-llama/llama-3.3-70b-instruct",name:"Meta: Llama 3.3 70B Instruct",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-08-01",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.32},limit:{context:131072,output:16384}},"meta-llama/llama-3.2-3b-instruct:free":{id:"meta-llama/llama-3.2-3b-instruct:free",name:"Meta: Llama 3.2 3B Instruct (free)",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:26215}},"meta-llama/llama-3.2-1b-instruct":{id:"meta-llama/llama-3.2-1b-instruct",name:"Meta: Llama 3.2 1B Instruct",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-09-18",last_updated:"2026-01-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.027,output:.2},limit:{context:6e4,output:12e3}},"meta-llama/llama-guard-3-8b":{id:"meta-llama/llama-guard-3-8b",name:"Llama Guard 3 8B",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-04-18",last_updated:"2026-02-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.06},limit:{context:131072,output:26215}},"meta-llama/llama-3.1-405b-instruct":{id:"meta-llama/llama-3.1-405b-instruct",name:"Meta: Llama 3.1 405B Instruct",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-07-16",last_updated:"2025-04-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:4,output:4},limit:{context:131e3,output:26200}},"meta-llama/llama-3.1-70b-instruct":{id:"meta-llama/llama-3.1-70b-instruct",name:"Meta: Llama 3.1 70B Instruct",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-07-16",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:.4},limit:{context:131072,output:26215}},"meta-llama/llama-guard-4-12b":{id:"meta-llama/llama-guard-4-12b",name:"Meta: Llama Guard 4 12B",attachment:true,reasoning:false,tool_call:false,temperature:true,release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["image","text"],output:["text"]},open_weights:true,cost:{input:.18,output:.18},limit:{context:163840,output:32768}},"meta-llama/llama-4-scout":{id:"meta-llama/llama-4-scout",name:"Meta: Llama 4 Scout",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.08,output:.3},limit:{context:327680,output:16384}},"morph/morph-v3-large":{id:"morph/morph-v3-large",name:"Morph: Morph V3 Large",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-08-15",last_updated:"2024-08-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.9,output:1.9},limit:{context:262144,output:131072}},"morph/morph-v3-fast":{id:"morph/morph-v3-fast",name:"Morph: Morph V3 Fast",attachment:false,reasoning:false,tool_call:false,temperature:true,release_date:"2024-08-15",last_updated:"2024-08-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.8,output:1.2},limit:{context:81920,output:38e3}},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Anthropic: Claude Opus 4",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Anthropic: Claude Haiku 4.5",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3}},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Anthropic: Claude 3 Haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-03-07",last_updated:"2024-03-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:1.25,cache_read:.03,cache_write:.3},limit:{context:2e5,output:4096}},"anthropic/claude-3.5-sonnet":{id:"anthropic/claude-3.5-sonnet",name:"Anthropic: Claude 3.5 Sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:6,output:30},limit:{context:2e5,output:8192}},"anthropic/claude-3.7-sonnet:thinking":{id:"anthropic/claude-3.7-sonnet:thinking",name:"Anthropic: Claude 3.7 Sonnet (thinking)",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-02-19",last_updated:"2025-02-24",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Anthropic: Claude Opus 4.1",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Anthropic: Claude 3.7 Sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Anthropic: Claude 3.5 Haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.8,output:4,cache_read:.08,cache_write:1},limit:{context:2e5,output:8192}},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Anthropic: Claude Sonnet 4",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:1e6,output:64e3}},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Anthropic: Claude Opus 4.5",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-11-24",last_updated:"2025-11-24",modalities:{input:["image","text"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3}},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Anthropic: Claude Sonnet 4.5",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:1e6,output:64e3}},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Anthropic: Claude Opus 4.6",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:1e6,output:128e3}}}},submodel:{id:"submodel",env:["SUBMODEL_INSTAGEN_ACCESS_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://llm.submodel.ai/v1",name:"submodel",doc:"https://submodel.gitbook.io",models:{"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-23",last_updated:"2025-08-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.5},limit:{context:131072,output:32768}},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-08-23",last_updated:"2025-08-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.3},limit:{context:262144,output:131072}},"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",name:"Qwen3 Coder 480B A35B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-08-23",last_updated:"2025-08-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.8},limit:{context:262144,output:262144}},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3 235B A22B Thinking 2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-23",last_updated:"2025-08-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.6},limit:{context:262144,output:131072}},"zai-org/GLM-4.5-FP8":{id:"zai-org/GLM-4.5-FP8",name:"GLM 4.5 FP8",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.8},limit:{context:131072,output:131072}},"zai-org/GLM-4.5-Air":{id:"zai-org/GLM-4.5-Air",name:"GLM 4.5 Air",family:"glm-air",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.5},limit:{context:131072,output:131072}},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek R1 0528",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-23",last_updated:"2025-08-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:2.15},limit:{context:75e3,output:163840}},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-23",last_updated:"2025-08-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.8},limit:{context:75e3,output:163840}},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3 0324",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-08-23",last_updated:"2025-08-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.8},limit:{context:75e3,output:163840}}}},"nano-gpt":{id:"nano-gpt",env:["NANO_GPT_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://nano-gpt.com/api/v1",name:"NanoGPT",doc:"https://docs.nano-gpt.com",models:{"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",family:"kimi",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:false,temperature:true,release_date:"2026-01-26",last_updated:"2026-01-26",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.3,output:1.9},limit:{context:256e3,output:65536}},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-08",release_date:"2024-11-01",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:2},limit:{context:32768,output:8192}},"moonshotai/kimi-k2-instruct":{id:"moonshotai/kimi-k2-instruct",name:"Kimi K2 Instruct",family:"kimi",attachment:false,reasoning:false,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2024-07-18",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:2},limit:{context:131072,output:8192}},"moonshotai/kimi-k2.5-thinking":{id:"moonshotai/kimi-k2.5-thinking",name:"Kimi K2.5 Thinking",family:"kimi",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:false,temperature:true,release_date:"2026-01-26",last_updated:"2026-01-26",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.3,output:1.9},limit:{context:256e3,output:65536}},"nousresearch/hermes-4-405b:thinking":{id:"nousresearch/hermes-4-405b:thinking",name:"Hermes 4 405b Thinking",family:"hermes",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2024-08-13",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:128e3,output:8192}},"nvidia/llama-3_3-nemotron-super-49b-v1_5":{id:"nvidia/llama-3_3-nemotron-super-49b-v1_5",name:"Llama 3 3 Nemotron Super 49B V1 5",family:"llama",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-08-08",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:128e3,output:8192}},"deepseek/deepseek-v3.2:thinking":{id:"deepseek/deepseek-v3.2:thinking",name:"Deepseek V3.2 Thinking",family:"deepseek",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-01",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:128e3,output:8192}},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"Deepseek R1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-01-20",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:128e3,output:8192}},"minimax/minimax-m2.5-official":{id:"minimax/minimax-m2.5-official",name:"MiniMax M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"Minimax M2.1",family:"minimax",attachment:false,reasoning:false,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:2},limit:{context:128e3,output:8192}},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT Oss 120b",family:"gpt",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2025-06-23",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:2},limit:{context:128e3,output:8192}},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen3 Coder",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-15",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:106e3,output:8192}},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-16",last_updated:"2026-02-16",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3.6},limit:{context:258e3,output:8192}},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-12",release_date:"2025-07-01",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:262144,output:8192}},"qwen/qwen3.5-397b-a17b-thinking":{id:"qwen/qwen3.5-397b-a17b-thinking",name:"Qwen3.5 397B A17B Thinking",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-16",last_updated:"2026-02-16",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3.6},limit:{context:258e3,output:8192}},"qwen/qwen3.5-plus-thinking":{id:"qwen/qwen3.5-plus-thinking",name:"Qwen3.5 Plus Thinking",family:"qwen",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-16",last_updated:"2026-02-16",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.4,output:2.4},limit:{context:983600,output:8192}},"qwen/qwen3.5-plus":{id:"qwen/qwen3.5-plus",name:"Qwen3.5 Plus",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2026-02-16",last_updated:"2026-02-16",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.4,output:2.4},limit:{context:983600,output:8192}},"mistralai/devstral-2-123b-instruct-2512":{id:"mistralai/devstral-2-123b-instruct-2512",name:"Devstral 2 123b Instruct 2512",family:"mistral",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-11",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:131072,output:8192}},"mistralai/mistral-large-3-675b-instruct-2512":{id:"mistralai/mistral-large-3-675b-instruct-2512",name:"Mistral Large 3 675b Instruct 2512",family:"mistral",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-02",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:131072,output:8192}},"mistralai/ministral-14b-instruct-2512":{id:"mistralai/ministral-14b-instruct-2512",name:"Ministral 14b Instruct 2512",family:"mistral",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-12",release_date:"2025-12-01",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:131072,output:8192}},"meta-llama/llama-4-maverick":{id:"meta-llama/llama-4-maverick",name:"Llama 4 Maverick",family:"llama",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-04-05",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:128e3,output:8192}},"meta-llama/llama-3.3-70b-instruct":{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70b Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-06",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:128e3,output:8192}},"zai-org/glm-4.7":{id:"zai-org/glm-4.7",name:"GLM 4.7",family:"glm",attachment:false,reasoning:false,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:204800,output:8192}},"zai-org/glm-5:thinking":{id:"zai-org/glm-5:thinking",name:"GLM 5 Thinking",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-06",release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.8,output:2.56},limit:{context:2e5,output:128e3}},"zai-org/glm-5-original:thinking":{id:"zai-org/glm-5-original:thinking",name:"GLM 5 Original Thinking",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-06",release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.8,output:2.56},limit:{context:2e5,output:128e3}},"zai-org/glm-5":{id:"zai-org/glm-5",name:"GLM 5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-06",release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.8,output:2.56},limit:{context:2e5,output:128e3}},"zai-org/glm-4.6:thinking":{id:"zai-org/glm-4.6:thinking",name:"GLM 4.6 Thinking",family:"glm",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-07",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:128e3,output:8192}},"zai-org/glm-4.5-air":{id:"zai-org/glm-4.5-air",name:"GLM 4.5 Air",family:"glm",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:128e3,output:8192}},"zai-org/glm-4.7:thinking":{id:"zai-org/glm-4.7:thinking",name:"GLM 4.7 Thinking",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-04-07",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:128e3,output:8192}},"zai-org/glm-4.6":{id:"zai-org/glm-4.6",name:"GLM 4.6",family:"glm",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,knowledge:"2024-10",release_date:"2024-11-15",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:2e5,output:8192}},"zai-org/glm-4.5-air:thinking":{id:"zai-org/glm-4.5-air:thinking",name:"GLM 4.5 Air Thinking",family:"glm",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-07",last_updated:"2025-12-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:2},limit:{context:128e3,output:8192}},"zai-org/glm-5-original":{id:"zai-org/glm-5-original",name:"GLM 5 Original",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,knowledge:"2025-06",release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.8,output:2.56},limit:{context:2e5,output:128e3}}}},zai:{id:"zai",env:["ZHIPU_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.z.ai/api/paas/v4",name:"Z.AI",doc:"https://docs.z.ai/guides/overview/pricing",models:{"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2,cache_read:.11,cache_write:0},limit:{context:204800,output:131072}},"glm-5":{id:"glm-5",name:"GLM-5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:3.2,cache_read:.2,cache_write:0},limit:{context:204800,output:131072}},"glm-4.5-flash":{id:"glm-4.5-flash",name:"GLM-4.5-Flash",family:"glm-flash",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:131072,output:98304}},"glm-4.5":{id:"glm-4.5",name:"GLM-4.5",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2,cache_read:.11,cache_write:0},limit:{context:131072,output:98304}},"glm-4.7-flash":{id:"glm-4.7-flash",name:"GLM-4.7-Flash",family:"glm-flash",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2026-01-19",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:2e5,output:131072}},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM-4.5-Air",family:"glm-air",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:1.1,cache_read:.03,cache_write:0},limit:{context:131072,output:98304}},"glm-4.5v":{id:"glm-4.5v",name:"GLM-4.5V",family:"glm",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-08-11",last_updated:"2025-08-11",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:1.8},limit:{context:64e3,output:16384}},"glm-4.6":{id:"glm-4.6",name:"GLM-4.6",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2,cache_read:.11,cache_write:0},limit:{context:204800,output:131072}},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",family:"glm",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-12-08",last_updated:"2025-12-08",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.3,output:.9},limit:{context:128e3,output:32768}}}},berget:{id:"berget",env:["BERGET_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.berget.ai/v1",name:"Berget.AI",doc:"https://api.berget.ai",models:{"intfloat/multilingual-e5-large":{id:"intfloat/multilingual-e5-large",name:"Multilingual-E5-large",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2025-09",release_date:"2025-09-11",last_updated:"2025-09-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:0},limit:{context:512,output:1024}},"intfloat/multilingual-e5-large-instruct":{id:"intfloat/multilingual-e5-large-instruct",name:"Multilingual-E5-large-instruct",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2025-04",release_date:"2025-04-27",last_updated:"2025-04-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:0},limit:{context:512,output:1024}},"KBLab/kb-whisper-large":{id:"KBLab/kb-whisper-large",name:"KB-Whisper-Large",family:"whisper",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2025-04",release_date:"2025-04-27",last_updated:"2025-04-27",modalities:{input:["audio"],output:["text"]},open_weights:true,cost:{input:3,output:3},limit:{context:48e4,output:4800}},"BAAI/bge-reranker-v2-m3":{id:"BAAI/bge-reranker-v2-m3",name:"bge-reranker-v2-m3",family:"bge",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2025-04",release_date:"2025-04-23",last_updated:"2025-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.1},limit:{context:512,output:512}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT-OSS-120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-08",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.9},limit:{context:128e3,output:8192}},"mistralai/Mistral-Small-3.2-24B-Instruct-2506":{id:"mistralai/Mistral-Small-3.2-24B-Instruct-2506",name:"Mistral Small 3.2 24B Instruct 2506",family:"mistral-small",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-09",release_date:"2025-10-01",last_updated:"2025-10-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.3},limit:{context:32e3,output:8192}},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct",family:"llama",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2023-12",release_date:"2025-04-27",last_updated:"2025-04-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.9,output:.9},limit:{context:128e3,output:8192}},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM 4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-12",release_date:"2026-01-19",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.7,output:2.3},limit:{context:128e3,output:8192}}}},stackit:{id:"stackit",env:["STACKIT_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.openai-compat.model-serving.eu01.onstackit.cloud/v1",name:"STACKIT",doc:"https://docs.stackit.cloud/products/data-and-ai/ai-model-serving/basics/available-shared-models",models:{"neuralmagic/Mistral-Nemo-Instruct-2407-FP8":{id:"neuralmagic/Mistral-Nemo-Instruct-2407-FP8",name:"Mistral Nemo",family:"mistral",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2024-07-01",last_updated:"2024-07-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.49,output:.71},limit:{context:128e3,output:8192}},"neuralmagic/Meta-Llama-3.1-8B-Instruct-FP8":{id:"neuralmagic/Meta-Llama-3.1-8B-Instruct-FP8",name:"Llama 3.1 8B",family:"llama",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.16,output:.27},limit:{context:128e3,output:8192}},"intfloat/e5-mistral-7b-instruct":{id:"intfloat/e5-mistral-7b-instruct",name:"E5 Mistral 7B",family:"mistral",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:false,release_date:"2023-12-11",last_updated:"2023-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.02},limit:{context:4096,output:4096}},"cortecs/Llama-3.3-70B-Instruct-FP8-Dynamic":{id:"cortecs/Llama-3.3-70B-Instruct-FP8-Dynamic",name:"Llama 3.3 70B",family:"llama",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2024-12-05",last_updated:"2024-12-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.49,output:.71},limit:{context:128e3,output:8192}},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma 3 27B",family:"gemma",attachment:true,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2025-05-17",last_updated:"2025-05-17",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.49,output:.71},limit:{context:37e3,output:8192}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B",family:"gpt",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.49,output:.71},limit:{context:131e3,output:8192}},"Qwen/Qwen3-VL-Embedding-8B":{id:"Qwen/Qwen3-VL-Embedding-8B",name:"Qwen3-VL Embedding 8B",family:"qwen",attachment:true,reasoning:false,tool_call:false,structured_output:false,temperature:false,release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.09,output:.09},limit:{context:32e3,output:4096}},"Qwen/Qwen3-VL-235B-A22B-Instruct-FP8":{id:"Qwen/Qwen3-VL-235B-A22B-Instruct-FP8",name:"Qwen3-VL 235B",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2024-11-01",last_updated:"2024-11-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:1.64,output:1.91},limit:{context:218e3,output:8192}}}},inference:{id:"inference",env:["INFERENCE_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://inference.net/v1",name:"Inference",doc:"https://inference.net/models",models:{"mistral/mistral-nemo-12b-instruct":{id:"mistral/mistral-nemo-12b-instruct",name:"Mistral Nemo 12B Instruct",family:"mistral-nemo",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.038,output:.1},limit:{context:16e3,output:4096}},"google/gemma-3":{id:"google/gemma-3",name:"Google Gemma 3",family:"gemma",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.15,output:.3},limit:{context:125e3,output:4096}},"osmosis/osmosis-structure-0.6b":{id:"osmosis/osmosis-structure-0.6b",name:"Osmosis Structure 0.6B",family:"osmosis",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.5},limit:{context:4e3,output:2048}},"qwen/qwen3-embedding-4b":{id:"qwen/qwen3-embedding-4b",name:"Qwen 3 Embedding 4B",family:"qwen",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2024-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.01,output:0},limit:{context:32e3,output:2048}},"qwen/qwen-2.5-7b-vision-instruct":{id:"qwen/qwen-2.5-7b-vision-instruct",name:"Qwen 2.5 7B Vision Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:125e3,output:4096}},"meta/llama-3.2-11b-vision-instruct":{id:"meta/llama-3.2-11b-vision-instruct",name:"Llama 3.2 11B Vision Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.055,output:.055},limit:{context:16e3,output:4096}},"meta/llama-3.1-8b-instruct":{id:"meta/llama-3.1-8b-instruct",name:"Llama 3.1 8B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.025,output:.025},limit:{context:16e3,output:4096}},"meta/llama-3.2-3b-instruct":{id:"meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.02},limit:{context:16e3,output:4096}},"meta/llama-3.2-1b-instruct":{id:"meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.01,output:.01},limit:{context:16e3,output:4096}}}},requesty:{id:"requesty",env:["REQUESTY_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://router.requesty.ai/v1",name:"Requesty",doc:"https://requesty.ai/solution/llm-routing/models",models:{"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",family:"grok",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-09",last_updated:"2025-09-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75,cache_write:3},limit:{context:256e3,output:64e3}},"xai/grok-4-fast":{id:"xai/grok-4-fast",name:"Grok 4 Fast",family:"grok",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-09-19",last_updated:"2025-09-19",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05,cache_write:.2},limit:{context:2e6,output:64e3}},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.5,output:3,cache_read:.05,cache_write:1},limit:{context:1048576,output:65536}},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.2,cache_write:4.5},limit:{context:1048576,output:65536}},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.075,cache_write:.55},limit:{context:1048576,output:65536}},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-17",last_updated:"2025-06-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.31,cache_write:2.375},limit:{context:1048576,output:65536}},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:1.6,cache_read:.1},limit:{context:1047576,output:32768}},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",family:"gpt-nano",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.05,output:.4,cache_read:.01},limit:{context:16e3,output:4e3}},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:1047576,output:32768}},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",family:"o-mini",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.28},limit:{context:2e5,output:1e5}},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.03},limit:{context:128e3,output:32e3}},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o Mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.15,output:.6,cache_read:.08},limit:{context:128e3,output:16384}},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","audio","image","video"],output:["text","audio","image"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:4e5,output:128e3}},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"anthropic/claude-opus-4-1":{id:"anthropic/claude-opus-4-1",name:"Claude Opus 4.1",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"anthropic/claude-haiku-4-5":{id:"anthropic/claude-haiku-4-5",name:"Claude Haiku 4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-01",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:62e3}},"anthropic/claude-opus-4-5":{id:"anthropic/claude-opus-4-5",name:"Claude Opus 4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-11-24",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3}},"anthropic/claude-sonnet-4-5":{id:"anthropic/claude-sonnet-4-5",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:1e6,output:64e3}},"anthropic/claude-3-7-sonnet":{id:"anthropic/claude-3-7-sonnet",name:"Claude Sonnet 3.7",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-01",release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}}}},morph:{id:"morph",env:["MORPH_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.morphllm.com/v1",name:"Morph",doc:"https://docs.morphllm.com/api-reference/introduction",models:{"morph-v3-large":{id:"morph-v3-large",name:"Morph v3 Large",family:"morph",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-08-15",last_updated:"2024-08-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.9,output:1.9},limit:{context:32e3,output:32e3}},auto:{id:"auto",name:"Auto",family:"auto",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-06-01",last_updated:"2024-06-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.85,output:1.55},limit:{context:32e3,output:32e3}},"morph-v3-fast":{id:"morph-v3-fast",name:"Morph v3 Fast",family:"morph",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-08-15",last_updated:"2024-08-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.8,output:1.2},limit:{context:16e3,output:16e3}}}},"qiniu-ai":{id:"qiniu-ai",env:["Qiniu_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.qnaigc.com.com/v1",name:"Qiniu",doc:"https://developer.qiniu.com/aitokenapi",models:{"qwen3-235b-a22b-instruct-2507":{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235b A22B Instruct 2507",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-12",last_updated:"2025-08-12",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:262144,output:64e3}},"deepseek-r1-0528":{id:"deepseek-r1-0528",name:"DeepSeek-R1-0528",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:32e3}},"deepseek-v3":{id:"deepseek-v3",name:"DeepSeek-V3",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2025-08-13",last_updated:"2025-08-13",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:16e3}},"kimi-k2":{id:"kimi-k2",name:"Kimi K2",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:128e3}},"qwen3-next-80b-a3b-instruct":{id:"qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-09-12",last_updated:"2025-09-12",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:131072,output:32768}},"glm-4.5":{id:"glm-4.5",name:"GLM 4.5",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:131072,output:98304}},"deepseek-r1":{id:"deepseek-r1",name:"DeepSeek-R1",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:32e3}},"claude-4.5-haiku":{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-10-16",last_updated:"2025-10-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:2e5,output:64e3}},"gemini-2.5-flash-image":{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image",attachment:true,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2025-10-22",last_updated:"2025-10-22",modalities:{input:["text","image"],output:["image"]},open_weights:false,limit:{context:32768,output:8192}},"qwen-turbo":{id:"qwen-turbo",name:"Qwen-Turbo",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:1e6,output:4096}},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,limit:{context:1048576,output:64e3}},"gemini-3.0-flash-preview":{id:"gemini-3.0-flash-preview",name:"Gemini 3.0 Flash Preview",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-18",last_updated:"2025-12-18",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,limit:{context:1e6,output:64e3}},"qwen2.5-vl-7b-instruct":{id:"qwen2.5-vl-7b-instruct",name:"Qwen 2.5 VL 7B Instruct",attachment:true,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,limit:{context:128e3,output:8192}},"gemini-2.0-flash-lite":{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,limit:{context:1048576,output:8192}},"qwen2.5-vl-72b-instruct":{id:"qwen2.5-vl-72b-instruct",name:"Qwen 2.5 VL 72B Instruct",attachment:true,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,limit:{context:128e3,output:8192}},"deepseek-v3.1":{id:"deepseek-v3.1",name:"DeepSeek-V3.1",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-19",last_updated:"2025-08-19",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:32e3}},"qwen-max-2025-01-25":{id:"qwen-max-2025-01-25",name:"Qwen2.5-Max-2025-01-25",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:4096}},"gemini-2.0-flash":{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",attachment:true,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,limit:{context:1048576,output:8192}},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",attachment:true,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,limit:{context:1048576,output:64e3}},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM 4.5 Air",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:131e3,output:4096}},"deepseek-v3-0324":{id:"deepseek-v3-0324",name:"DeepSeek-V3-0324",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:16e3}},"claude-3.5-sonnet":{id:"claude-3.5-sonnet",name:"Claude 3.5 Sonnet",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-09-09",last_updated:"2025-09-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:2e5,output:8200}},"claude-4.1-opus":{id:"claude-4.1-opus",name:"Claude 4.1 Opus",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-06",last_updated:"2025-08-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:2e5,output:32e3}},"doubao-1.5-thinking-pro":{id:"doubao-1.5-thinking-pro",name:"Doubao 1.5 Thinking Pro",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:16e3}},"kling-v2-6":{id:"kling-v2-6",name:"Kling-V2 6",attachment:true,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2026-01-13",last_updated:"2026-01-13",modalities:{input:["text","image","video"],output:["video"]},open_weights:false,limit:{context:99999999,output:99999999}},"gemini-3.0-pro-preview":{id:"gemini-3.0-pro-preview",name:"Gemini 3.0 Pro Preview",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-11-19",last_updated:"2025-11-19",modalities:{input:["text","image","video","pdf","audio"],output:["text"]},open_weights:false,limit:{context:1e6,output:64e3}},"qwen3-235b-a22b-thinking-2507":{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-12",last_updated:"2025-08-12",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:262144,output:4096}},"doubao-seed-1.6-flash":{id:"doubao-seed-1.6-flash",name:"Doubao-Seed 1.6 Flash",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-15",last_updated:"2025-08-15",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,limit:{context:256e3,output:32e3}},"claude-4.5-sonnet":{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:2e5,output:64e3}},"claude-4.5-opus":{id:"claude-4.5-opus",name:"Claude 4.5 Opus",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-11-25",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:2e5,output:2e5}},"claude-4.0-opus":{id:"claude-4.0-opus",name:"Claude 4.0 Opus",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:2e5,output:32e3}},"doubao-seed-1.6":{id:"doubao-seed-1.6",name:"Doubao-Seed 1.6",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-15",last_updated:"2025-08-15",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,limit:{context:256e3,output:32e3}},"doubao-1.5-pro-32k":{id:"doubao-1.5-pro-32k",name:"Doubao 1.5 Pro 32k",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:12e3}},"qwen3-235b-a22b":{id:"qwen3-235b-a22b",name:"Qwen 3 235B A22B",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:32e3}},"claude-3.7-sonnet":{id:"claude-3.7-sonnet",name:"Claude 3.7 Sonnet",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:2e5,output:128e3}},"gemini-3.0-pro-image-preview":{id:"gemini-3.0-pro-image-preview",name:"Gemini 3.0 Pro Image Preview",attachment:true,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2025-11-20",last_updated:"2025-11-20",modalities:{input:["text","image"],output:["text","image"]},open_weights:false,limit:{context:32768,output:8192}},"MiniMax-M1":{id:"MiniMax-M1",name:"MiniMax M1",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:1e6,output:8e4}},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,limit:{context:1048576,output:65536}},"claude-4.0-sonnet":{id:"claude-4.0-sonnet",name:"Claude 4.0 Sonnet",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:2e5,output:64e3}},"gpt-oss-20b":{id:"gpt-oss-20b",name:"gpt-oss-20b",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-06",last_updated:"2025-08-06",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:4096}},"gpt-oss-120b":{id:"gpt-oss-120b",name:"gpt-oss-120b",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-06",last_updated:"2025-08-06",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:4096}},"doubao-1.5-vision-pro":{id:"doubao-1.5-vision-pro",name:"Doubao 1.5 Vision Pro",attachment:true,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,limit:{context:128e3,output:16e3}},"claude-3.5-haiku":{id:"claude-3.5-haiku",name:"Claude 3.5 Haiku",attachment:true,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-26",last_updated:"2025-08-26",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:2e5,output:8192}},"qwen3-coder-480b-a35b-instruct":{id:"qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-14",last_updated:"2025-08-14",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:262e3,output:4096}},"qwen3-max":{id:"qwen3-max",name:"Qwen3 Max",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-09-24",last_updated:"2025-09-24",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:262144,output:65536}},"qwen3-30b-a3b":{id:"qwen3-30b-a3b",name:"Qwen3 30B A3B",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:4e4,output:4096}},"qwen-vl-max-2025-01-25":{id:"qwen-vl-max-2025-01-25",name:"Qwen VL-MAX-2025-01-25",attachment:true,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,limit:{context:128e3,output:4096}},"qwen3-max-preview":{id:"qwen3-max-preview",name:"Qwen3 Max Preview",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-09-06",last_updated:"2025-09-06",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:256e3,output:64e3}},"mimo-v2-flash":{id:"mimo-v2-flash",name:"Mimo-V2-Flash",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-17",last_updated:"2025-12-17",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:256e3,output:256e3}},"qwen3-next-80b-a3b-thinking":{id:"qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-09-12",last_updated:"2025-09-12",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:131072,output:32768}},"doubao-seed-1.6-thinking":{id:"doubao-seed-1.6-thinking",name:"Doubao-Seed 1.6 Thinking",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-15",last_updated:"2025-08-15",modalities:{input:["image","text","video"],output:["text"]},open_weights:false,limit:{context:256e3,output:32e3}},"qwen3-32b":{id:"qwen3-32b",name:"Qwen3 32B",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:4e4,output:4096}},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"Kimi K2 0905",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-09-08",last_updated:"2025-09-08",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:256e3,output:1e5}},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-11-07",last_updated:"2025-11-07",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:256e3,output:1e5}},"meituan/longcat-flash-chat":{id:"meituan/longcat-flash-chat",name:"Meituan/Longcat-Flash-Chat",attachment:false,reasoning:false,tool_call:false,structured_output:false,temperature:true,release_date:"2025-11-05",last_updated:"2025-11-05",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:131072,output:131072}},"x-ai/grok-4-fast-non-reasoning":{id:"x-ai/grok-4-fast-non-reasoning",name:"X-Ai/Grok-4-Fast-Non-Reasoning",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-18",last_updated:"2025-12-18",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,limit:{context:2e6,output:2e6}},"x-ai/grok-4-fast-reasoning":{id:"x-ai/grok-4-fast-reasoning",name:"X-Ai/Grok-4-Fast-Reasoning",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-18",last_updated:"2025-12-18",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,limit:{context:2e6,output:2e6}},"x-ai/grok-4.1-fast-reasoning":{id:"x-ai/grok-4.1-fast-reasoning",name:"X-Ai/Grok 4.1 Fast Reasoning",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-19",last_updated:"2025-12-19",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,limit:{context:2e7,output:2e6}},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"x-AI/Grok-Code-Fast 1",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-09-02",last_updated:"2025-09-02",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:256e3,output:1e4}},"x-ai/grok-4.1-fast-non-reasoning":{id:"x-ai/grok-4.1-fast-non-reasoning",name:"X-Ai/Grok 4.1 Fast Non Reasoning",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-19",last_updated:"2025-12-19",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,limit:{context:2e6,output:2e6}},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"x-AI/Grok-4-Fast",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-09-20",last_updated:"2025-09-20",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,limit:{context:2e6,output:2e6}},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"x-AI/Grok-4.1-Fast",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-11-20",last_updated:"2025-11-20",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:2e6,output:2e6}},"deepseek/deepseek-v3.2-exp-thinking":{id:"deepseek/deepseek-v3.2-exp-thinking",name:"DeepSeek/DeepSeek-V3.2-Exp-Thinking",attachment:false,reasoning:true,tool_call:false,structured_output:false,temperature:true,release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:32e3}},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek/DeepSeek-V3.1-Terminus",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-09-22",last_updated:"2025-09-22",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:32e3}},"deepseek/deepseek-v3.1-terminus-thinking":{id:"deepseek/deepseek-v3.1-terminus-thinking",name:"DeepSeek/DeepSeek-V3.1-Terminus-Thinking",attachment:false,reasoning:true,tool_call:false,structured_output:false,temperature:true,release_date:"2025-09-22",last_updated:"2025-09-22",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:32e3}},"deepseek/deepseek-math-v2":{id:"deepseek/deepseek-math-v2",name:"Deepseek/Deepseek-Math-V2",attachment:false,reasoning:true,tool_call:false,structured_output:false,temperature:true,release_date:"2025-12-04",last_updated:"2025-12-04",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:16e4,output:16e4}},"deepseek/deepseek-v3.2-251201":{id:"deepseek/deepseek-v3.2-251201",name:"Deepseek/DeepSeek-V3.2",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:32e3}},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek/DeepSeek-V3.2-Exp",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:128e3,output:32e3}},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"Minimax/Minimax-M2",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-10-28",last_updated:"2025-10-28",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:2e5,output:128e3}},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"Minimax/Minimax-M2.1",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:204800,output:128e3}},"openai/gpt-5":{id:"openai/gpt-5",name:"OpenAI/GPT-5",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-09-19",last_updated:"2025-09-19",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:4e5,output:128e3}},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"OpenAI/GPT-5.2",attachment:true,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:4e5,output:128e3}},"stepfun-ai/gelab-zero-4b-preview":{id:"stepfun-ai/gelab-zero-4b-preview",name:"Stepfun-Ai/Gelab Zero 4b Preview",attachment:true,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:8192,output:4096}},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"Z-Ai/GLM 4.7",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:2e5,output:2e5}},"z-ai/autoglm-phone-9b":{id:"z-ai/autoglm-phone-9b",name:"Z-Ai/Autoglm Phone 9b",attachment:true,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:12800,output:4096}},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"Z-AI/GLM 4.6",attachment:false,reasoning:false,tool_call:true,structured_output:false,temperature:true,release_date:"2025-10-11",last_updated:"2025-10-11",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:2e5,output:2e5}}}},lmstudio:{id:"lmstudio",env:["LMSTUDIO_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"http://127.0.0.1:1234/v1",name:"LMStudio",doc:"https://lmstudio.ai/models",models:{"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:32768}},"qwen/qwen3-30b-a3b-2507":{id:"qwen/qwen3-30b-a3b-2507",name:"Qwen3 30B A3B 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-30",last_updated:"2025-07-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:16384}},"qwen/qwen3-coder-30b":{id:"qwen/qwen3-coder-30b",name:"Qwen3 Coder 30B",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-23",last_updated:"2025-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:65536}}}},friendli:{id:"friendli",env:["FRIENDLI_TOKEN"],npm:"@ai-sdk/openai-compatible",api:"https://api.friendli.ai/serverless/v1",name:"Friendli",doc:"https://friendli.ai/docs/guides/serverless_endpoints/introduction",models:{"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax M2.1",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-01-13",last_updated:"2026-01-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:196608,output:196608}},"LGAI-EXAONE/K-EXAONE-236B-A23B":{id:"LGAI-EXAONE/K-EXAONE-236B-A23B",name:"K EXAONE 236B A23B",family:"exaone",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-12-31",last_updated:"2026-01-08",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:262144}},"LGAI-EXAONE/EXAONE-4.0.1-32B":{id:"LGAI-EXAONE/EXAONE-4.0.1-32B",name:"EXAONE 4.0.1 32B",family:"exaone",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-31",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:1},limit:{context:131072,output:131072}},"meta-llama/Llama-3.1-8B-Instruct":{id:"meta-llama/Llama-3.1-8B-Instruct",name:"Llama 3.1 8B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-08-01",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.1},limit:{context:131072,output:8e3}},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2024-08-01",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:.6},limit:{context:131072,output:131072}},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-07-29",last_updated:"2026-01-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.8},limit:{context:262144,output:262144}},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM 5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3.2},limit:{context:202752,output:202752}},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM 4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},structured_output:true,temperature:true,release_date:"2025-12-22",last_updated:"2026-01-29",modalities:{input:["text"],output:["text"]},open_weights:true,limit:{context:202752,output:202752}}}},"sap-ai-core":{id:"sap-ai-core",env:["AICORE_SERVICE_KEY"],npm:"@jerome-benoit/sap-ai-provider-v2",name:"SAP AI Core",doc:"https://help.sap.com/docs/sap-ai-core",models:{"anthropic--claude-4.5-opus":{id:"anthropic--claude-4.5-opus",name:"anthropic--claude-4.5-opus",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04-30",release_date:"2025-11-24",last_updated:"2025-11-24",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3}},"anthropic--claude-3.5-sonnet":{id:"anthropic--claude-3.5-sonnet",name:"anthropic--claude-3.5-sonnet",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04-30",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:8192}},"anthropic--claude-4.5-haiku":{id:"anthropic--claude-4.5-haiku",name:"anthropic--claude-4.5-haiku",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-01",last_updated:"2025-10-01",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3}},"anthropic--claude-4-opus":{id:"anthropic--claude-4-opus",name:"anthropic--claude-4-opus",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"gemini-2.5-flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-03-25",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:.3,output:2.5,cache_read:.03,input_audio:1},limit:{context:1048576,output:65536}},"anthropic--claude-3-haiku":{id:"anthropic--claude-3-haiku",name:"anthropic--claude-3-haiku",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-08-31",release_date:"2024-03-13",last_updated:"2024-03-13",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.25,output:1.25,cache_read:.03,cache_write:.3},limit:{context:2e5,output:4096}},"anthropic--claude-3-sonnet":{id:"anthropic--claude-3-sonnet",name:"anthropic--claude-3-sonnet",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-08-31",release_date:"2024-03-04",last_updated:"2024-03-04",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:4096}},"gpt-5-nano":{id:"gpt-5-nano",name:"gpt-5-nano",family:"gpt-nano",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.05,output:.4,cache_read:.01},limit:{context:4e5,output:128e3}},"anthropic--claude-3.7-sonnet":{id:"anthropic--claude-3.7-sonnet",name:"anthropic--claude-3.7-sonnet",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10-31",release_date:"2025-02-24",last_updated:"2025-02-24",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"gpt-5-mini":{id:"gpt-5-mini",name:"gpt-5-mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.025},limit:{context:4e5,output:128e3}},"anthropic--claude-4.5-sonnet":{id:"anthropic--claude-4.5-sonnet",name:"anthropic--claude-4.5-sonnet",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"gemini-2.5-pro",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2025-03-25",last_updated:"2025-06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:1048576,output:65536}},"anthropic--claude-3-opus":{id:"anthropic--claude-3-opus",name:"anthropic--claude-3-opus",family:"claude-opus",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-08-31",release_date:"2024-02-29",last_updated:"2024-02-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:4096}},"anthropic--claude-4-sonnet":{id:"anthropic--claude-4-sonnet",name:"anthropic--claude-4-sonnet",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-01-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"gpt-5":{id:"gpt-5",name:"gpt-5",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:4e5,output:128e3}}}},anthropic:{id:"anthropic",env:["ANTHROPIC_API_KEY"],npm:"@ai-sdk/anthropic",name:"Anthropic",doc:"https://docs.anthropic.com/en/docs/about-claude/models",models:{"claude-opus-4-0":{id:"claude-opus-4-0",name:"Claude Opus 4 (latest)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"claude-3-5-sonnet-20241022":{id:"claude-3-5-sonnet-20241022",name:"Claude Sonnet 3.5 v2",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04-30",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:8192}},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1 (latest)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3}},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:2e5,output:64e3}},"claude-3-5-sonnet-20240620":{id:"claude-3-5-sonnet-20240620",name:"Claude Sonnet 3.5",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04-30",release_date:"2024-06-20",last_updated:"2024-06-20",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:8192}},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25,context_over_200k:{input:10,output:37.5,cache_read:1,cache_write:12.5}},limit:{context:2e5,output:128e3}},"claude-3-5-haiku-latest":{id:"claude-3-5-haiku-latest",name:"Claude Haiku 3.5 (latest)",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07-31",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.8,output:4,cache_read:.08,cache_write:1},limit:{context:2e5,output:8192}},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-11-24",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3}},"claude-3-opus-20240229":{id:"claude-3-opus-20240229",name:"Claude Opus 3",family:"claude-opus",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-08-31",release_date:"2024-02-29",last_updated:"2024-02-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:4096}},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-01",last_updated:"2025-11-01",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3}},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"claude-sonnet-4-20250514":{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"claude-opus-4-20250514":{id:"claude-opus-4-20250514",name:"Claude Opus 4",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"claude-3-5-haiku-20241022":{id:"claude-3-5-haiku-20241022",name:"Claude Haiku 3.5",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07-31",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.8,output:4,cache_read:.08,cache_write:1},limit:{context:2e5,output:8192}},"claude-3-haiku-20240307":{id:"claude-3-haiku-20240307",name:"Claude Haiku 3",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-08-31",release_date:"2024-03-13",last_updated:"2024-03-13",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.25,output:1.25,cache_read:.03,cache_write:.3},limit:{context:2e5,output:4096}},"claude-3-7-sonnet-20250219":{id:"claude-3-7-sonnet-20250219",name:"Claude Sonnet 3.7",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10-31",release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"claude-3-7-sonnet-latest":{id:"claude-3-7-sonnet-latest",name:"Claude Sonnet 3.7 (latest)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10-31",release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"claude-sonnet-4-0":{id:"claude-sonnet-4-0",name:"Claude Sonnet 4 (latest)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"claude-opus-4-1-20250805":{id:"claude-opus-4-1-20250805",name:"Claude Opus 4.1",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"claude-3-sonnet-20240229":{id:"claude-3-sonnet-20240229",name:"Claude Sonnet 3",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-08-31",release_date:"2024-03-04",last_updated:"2024-03-04",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:.3},limit:{context:2e5,output:4096}},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3}}}},aihubmix:{id:"aihubmix",env:["AIHUBMIX_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://aihubmix.com/v1",name:"AIHubMix",doc:"https://docs.aihubmix.com",models:{"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",family:"gpt-nano",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.03},limit:{context:1047576,output:32768}},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:1.1,cache_read:.548},limit:{context:204800,output:131072}},"qwen3-235b-a22b-instruct-2507":{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-30",last_updated:"2025-07-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.28,output:1.12},limit:{context:262144,output:262144}},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:16.5,output:82.5,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"coding-glm-4.7":{id:"coding-glm-4.7",name:"Coding-GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.27,output:1.1,cache_read:.548},limit:{context:204800,output:131072}},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2-Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-08-31",release_date:"2026-01-14",last_updated:"2026-01-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,output:128e3}},"coding-minimax-m2.1-free":{id:"coding-minimax-m2.1-free",name:"Coding MiniMax M2.1 Free",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:204800,output:131072}},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-15",last_updated:"2025-11-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:4e5,output:128e3}},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1.1,output:5.5,cache_read:.11,cache_write:1.25},limit:{context:2e5,output:64e3}},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:2e5,output:64e3}},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22,cache_read:.6,cache_write:7.5}},limit:{context:2e5,output:128e3}},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03",release_date:"2025-11-25",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:32e3}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-19",last_updated:"2025-11-19",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.5},limit:{context:1e6,output:65e3}},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:.075,output:.3,cache_read:.02},limit:{context:1e6,output:65e3}},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:1.6,cache_read:.1},limit:{context:1047576,output:32768}},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",family:"kimi",attachment:true,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-07",release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3,cache_read:.1},limit:{context:262144,output:262144}},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3.3,output:16.5,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"deepseek-v3.2-fast":{id:"deepseek-v3.2-fast",name:"DeepSeek-V3.2-Fast",family:"deepseek",attachment:false,reasoning:false,tool_call:false,knowledge:"2024-07",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.1,output:3.29},limit:{context:128e3,output:128e3}},"coding-glm-4.7-free":{id:"coding-glm-4.7-free",name:"Coding GLM 4.7 Free",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:204800,output:131072}},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-15",last_updated:"2025-11-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.03},limit:{context:4e5,output:128e3}},"qwen3-235b-a22b-thinking-2507":{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-30",last_updated:"2025-07-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.28,output:2.8},limit:{context:262144,output:262144}},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-15",last_updated:"2025-11-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5-Nano",family:"gpt-nano",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-09-30",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.5,output:2,cache_read:.25},limit:{context:128e3,output:16384}},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:4e5,output:128e3}},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-09",release_date:"2024-05-13",last_updated:"2024-08-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.5,output:10,cache_read:1.25},limit:{context:128e3,output:16384}},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:1047576,output:32768}},"o4-mini":{id:"o4-mini",name:"o4-mini",family:"o-mini",attachment:false,reasoning:true,tool_call:false,temperature:false,knowledge:"2024-09",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.5,output:6,cache_read:.75},limit:{context:2e5,output:65536}},"gemini-3-pro-preview-search":{id:"gemini-3-pro-preview-search",name:"Gemini 3 Pro Preview Search",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-11",release_date:"2025-11-19",last_updated:"2025-11-19",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:2,output:12,cache_read:.5},limit:{context:1e6,output:65e3}},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5-Mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-09-30",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.5,output:6,cache_read:.75},limit:{context:2e5,output:64e3}},"claude-sonnet-4-6-think":{id:"claude-sonnet-4-6-think",name:"Claude Sonnet 4.6 Think",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:2e5,output:64e3}},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image","audio","video"],output:["text"]},open_weights:false,cost:{input:1.25,output:5,cache_read:.31},limit:{context:2e6,output:65e3}},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"qwen3-max-2026-01-23":{id:"qwen3-max-2026-01-23",name:"Qwen3 Max",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-09-23",last_updated:"2025-09-23",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.34,output:1.37},limit:{context:262144,output:65536}},"qwen3-coder-480b-a35b-instruct":{id:"qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-08-01",last_updated:"2025-08-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.82,output:3.29},limit:{context:262144,output:131e3}},"deepseek-v3.2-think":{id:"deepseek-v3.2-think",name:"DeepSeek-V3.2-Think",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.45},limit:{context:131e3,output:64e3}},"gpt-5":{id:"gpt-5",name:"GPT-5",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-09-30",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:5,output:20,cache_read:2.5},limit:{context:4e5,output:128e3}},"minimax-m2.1":{id:"minimax-m2.1",name:"MiniMax M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_details"},temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.29,output:1.15},limit:{context:204800,output:131072}},"deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek-V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.45},limit:{context:131e3,output:64e3}},"Kimi-K2-0905":{id:"Kimi-K2-0905",name:"Kimi K2 0905",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.55,output:2.19},limit:{context:262144,output:262144}},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5-Pro",family:"gpt-pro",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-09-30",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:7,output:28,cache_read:3.5},limit:{context:4e5,output:128e3}},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,output:128e3}},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",family:"glm",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-12-08",last_updated:"2025-12-08",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.14,output:.41},limit:{context:128e3,output:32768}},"claude-opus-4-6-think":{id:"claude-opus-4-6-think",name:"Claude Opus 4.6 Think",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22,cache_read:.6,cache_write:7.5}},limit:{context:2e5,output:128e3}}}},gitlab:{id:"gitlab",env:["GITLAB_TOKEN"],npm:"@gitlab/gitlab-ai-provider",name:"GitLab Duo",doc:"https://docs.gitlab.com/user/duo_agent_platform/",models:{"duo-chat-gpt-5-1":{id:"duo-chat-gpt-5-1",name:"Agentic Chat (GPT-5.1)",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2026-01-22",last_updated:"2026-01-22",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:4e5,input:272e3,output:128e3}},"duo-chat-sonnet-4-6":{id:"duo-chat-sonnet-4-6",name:"Agentic Chat (Claude Sonnet 4.6)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08-31",release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:2e5,output:64e3}},"duo-chat-opus-4-5":{id:"duo-chat-opus-4-5",name:"Agentic Chat (Claude Opus 4.5)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2026-01-08",last_updated:"2026-01-08",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:2e5,output:64e3}},"duo-chat-sonnet-4-5":{id:"duo-chat-sonnet-4-5",name:"Agentic Chat (Claude Sonnet 4.5)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2026-01-08",last_updated:"2026-01-08",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:2e5,output:64e3}},"duo-chat-gpt-5-mini":{id:"duo-chat-gpt-5-mini",name:"Agentic Chat (GPT-5 Mini)",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-05-30",release_date:"2026-01-22",last_updated:"2026-01-22",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:4e5,input:272e3,output:128e3}},"duo-chat-opus-4-6":{id:"duo-chat-opus-4-6",name:"Agentic Chat (Claude Opus 4.6)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:2e5,output:64e3}},"duo-chat-gpt-5-2":{id:"duo-chat-gpt-5-2",name:"Agentic Chat (GPT-5.2)",family:"gpt",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2026-01-23",last_updated:"2026-01-23",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:4e5,input:272e3,output:128e3}},"duo-chat-gpt-5-2-codex":{id:"duo-chat-gpt-5-2-codex",name:"Agentic Chat (GPT-5.2 Codex)",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2026-01-22",last_updated:"2026-01-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:4e5,input:272e3,output:128e3}},"duo-chat-gpt-5-codex":{id:"duo-chat-gpt-5-codex",name:"Agentic Chat (GPT-5 Codex)",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2026-01-22",last_updated:"2026-01-22",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:0,output:0},limit:{context:4e5,input:272e3,output:128e3}},"duo-chat-haiku-4-5":{id:"duo-chat-haiku-4-5",name:"Agentic Chat (Claude Haiku 4.5)",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-28",release_date:"2026-01-08",last_updated:"2026-01-08",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:2e5,output:64e3}}}},"fireworks-ai":{id:"fireworks-ai",env:["FIREWORKS_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.fireworks.ai/inference/v1/",name:"Fireworks AI",doc:"https://fireworks.ai/docs/",models:{"accounts/fireworks/models/glm-5":{id:"accounts/fireworks/models/glm-5",name:"GLM 5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2026-02-11",last_updated:"2026-02-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3.2,cache_read:.5},limit:{context:202752,output:131072}},"accounts/fireworks/models/deepseek-v3p1":{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-08-21",last_updated:"2025-08-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.56,output:1.68},limit:{context:163840,output:163840}},"accounts/fireworks/models/deepseek-v3p2":{id:"accounts/fireworks/models/deepseek-v3p2",name:"DeepSeek V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-09",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.56,output:1.68,cache_read:.28},limit:{context:16e4,output:16e4}},"accounts/fireworks/models/minimax-m2p1":{id:"accounts/fireworks/models/minimax-m2p1",name:"MiniMax-M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.03},limit:{context:2e5,output:2e5}},"accounts/fireworks/models/glm-4p7":{id:"accounts/fireworks/models/glm-4p7",name:"GLM 4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2,cache_read:.3},limit:{context:198e3,output:198e3}},"accounts/fireworks/models/kimi-k2-thinking":{id:"accounts/fireworks/models/kimi-k2-thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2025-11-06",last_updated:"2025-11-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5,cache_read:.3},limit:{context:256e3,output:256e3}},"accounts/fireworks/models/minimax-m2p5":{id:"accounts/fireworks/models/minimax-m2p5",name:"MiniMax-M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2,cache_read:.03},limit:{context:196608,output:196608}},"accounts/fireworks/models/kimi-k2-instruct":{id:"accounts/fireworks/models/kimi-k2-instruct",name:"Kimi K2 Instruct",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2025-07-11",last_updated:"2025-07-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1,output:3},limit:{context:128e3,output:16384}},"accounts/fireworks/models/kimi-k2p5":{id:"accounts/fireworks/models/kimi-k2p5",name:"Kimi K2.5",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-01",release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image","video"],output:["text"]},open_weights:true,cost:{input:.6,output:3,cache_read:.1},limit:{context:256e3,output:256e3}},"accounts/fireworks/models/gpt-oss-20b":{id:"accounts/fireworks/models/gpt-oss-20b",name:"GPT OSS 20B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.05,output:.2},limit:{context:131072,output:32768}},"accounts/fireworks/models/gpt-oss-120b":{id:"accounts/fireworks/models/gpt-oss-120b",name:"GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:131072,output:32768}},"accounts/fireworks/models/glm-4p5-air":{id:"accounts/fireworks/models/glm-4p5-air",name:"GLM 4.5 Air",family:"glm-air",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-08-01",last_updated:"2025-08-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.22,output:.88},limit:{context:131072,output:131072}},"accounts/fireworks/models/glm-4p5":{id:"accounts/fireworks/models/glm-4p5",name:"GLM 4.5",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-07-29",last_updated:"2025-07-29",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.55,output:2.19},limit:{context:131072,output:131072}}}},"io-net":{id:"io-net",env:["IOINTELLIGENCE_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.intelligence.io.solutions/api/v1",name:"IO.NET",doc:"https://io.net/docs/guides/intelligence/io-intelligence",models:{"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi K2 Instruct",family:"kimi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-09-05",last_updated:"2024-09-05",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.39,output:1.9,cache_read:.195,cache_write:.78},limit:{context:32768,output:4096}},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-11-01",last_updated:"2024-11-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.55,output:2.25,cache_read:.275,cache_write:1.1},limit:{context:32768,output:4096}},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT-OSS 20B",family:"gpt-oss",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.03,output:.14,cache_read:.015,cache_write:.06},limit:{context:64e3,output:4096}},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B",family:"gpt-oss",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.04,output:.4,cache_read:.02,cache_write:.08},limit:{context:131072,output:4096}},"mistralai/Devstral-Small-2505":{id:"mistralai/Devstral-Small-2505",name:"Devstral Small 2505",family:"devstral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-05-01",last_updated:"2025-05-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.05,output:.22,cache_read:.025,cache_write:.1},limit:{context:128e3,output:4096}},"mistralai/Mistral-Nemo-Instruct-2407":{id:"mistralai/Mistral-Nemo-Instruct-2407",name:"Mistral Nemo Instruct 2407",family:"mistral-nemo",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-05",release_date:"2024-07-01",last_updated:"2024-07-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.02,output:.04,cache_read:.01,cache_write:.04},limit:{context:128e3,output:4096}},"mistralai/Magistral-Small-2506":{id:"mistralai/Magistral-Small-2506",name:"Magistral Small 2506",family:"magistral-small",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-06-01",last_updated:"2025-06-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:1.5,cache_read:.25,cache_write:1},limit:{context:128e3,output:4096}},"mistralai/Mistral-Large-Instruct-2411":{id:"mistralai/Mistral-Large-Instruct-2411",name:"Mistral Large Instruct 2411",family:"mistral-large",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-11-01",last_updated:"2024-11-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:6,cache_read:1,cache_write:4},limit:{context:128e3,output:4096}},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.13,output:.38,cache_read:.065,cache_write:.26},limit:{context:128e3,output:4096}},"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8":{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick 17B 128E Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-15",last_updated:"2025-01-15",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.15,output:.6,cache_read:.075,cache_write:.3},limit:{context:43e4,output:4096}},"meta-llama/Llama-3.2-90B-Vision-Instruct":{id:"meta-llama/Llama-3.2-90B-Vision-Instruct",name:"Llama 3.2 90B Vision Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.35,output:.4,cache_read:.175,cache_write:.7},limit:{context:16e3,output:4096}},"Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar":{id:"Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar",name:"Qwen 3 Coder 480B",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-15",last_updated:"2025-01-15",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.22,output:.95,cache_read:.11,cache_write:.44},limit:{context:106e3,output:4096}},"Qwen/Qwen2.5-VL-32B-Instruct":{id:"Qwen/Qwen2.5-VL-32B-Instruct",name:"Qwen 2.5 VL 32B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2024-11-01",last_updated:"2024-11-01",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.05,output:.22,cache_read:.025,cache_write:.1},limit:{context:32e3,output:4096}},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen 3 235B Thinking",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-07-01",last_updated:"2025-07-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.11,output:.6,cache_read:.055,cache_write:.22},limit:{context:262144,output:4096}},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen 3 Next 80B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2025-01-10",last_updated:"2025-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.8,cache_read:.05,cache_write:.2},limit:{context:262144,output:4096}},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",family:"glm",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-11-15",last_updated:"2024-11-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.4,output:1.75,cache_read:.2,cache_write:.8},limit:{context:2e5,output:4096}},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek R1",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-01-20",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2,output:8.75,cache_read:1,cache_write:4},limit:{context:128e3,output:4096}}}},modelscope:{id:"modelscope",env:["MODELSCOPE_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api-inference.modelscope.cn/v1",name:"ModelScope",doc:"https://modelscope.cn/docs/model-service/API-Inference/intro",models:{"ZhipuAI/GLM-4.5":{id:"ZhipuAI/GLM-4.5",name:"GLM-4.5",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-28",last_updated:"2025-07-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:131072,output:98304}},"ZhipuAI/GLM-4.6":{id:"ZhipuAI/GLM-4.6",name:"GLM-4.6",family:"glm",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:202752,output:98304}},"Qwen/Qwen3-30B-A3B-Thinking-2507":{id:"Qwen/Qwen3-30B-A3B-Thinking-2507",name:"Qwen3 30B A3B Thinking 2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-30",last_updated:"2025-07-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:32768}},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04-28",last_updated:"2025-07-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:131072}},"Qwen/Qwen3-Coder-30B-A3B-Instruct":{id:"Qwen/Qwen3-Coder-30B-A3B-Instruct",name:"Qwen3 Coder 30B A3B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-31",last_updated:"2025-07-31",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:65536}},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3 30B A3B Instruct 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-30",last_updated:"2025-07-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:16384}},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-25",last_updated:"2025-07-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:262144,output:131072}}}},"azure-cognitive-services":{id:"azure-cognitive-services",env:["AZURE_COGNITIVE_SERVICES_RESOURCE_NAME","AZURE_COGNITIVE_SERVICES_API_KEY"],npm:"@ai-sdk/azure",name:"Azure Cognitive Services",doc:"https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models",models:{"gpt-3.5-turbo-1106":{id:"gpt-3.5-turbo-1106",name:"GPT-3.5 Turbo 1106",family:"gpt",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2021-08",release_date:"2023-11-06",last_updated:"2023-11-06",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1,output:2},limit:{context:16384,output:16384}},"mistral-small-2503":{id:"mistral-small-2503",name:"Mistral Small 3.1",family:"mistral-small",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2025-03-01",last_updated:"2025-03-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.1,output:.3},limit:{context:128e3,output:32768}},"codestral-2501":{id:"codestral-2501",name:"Codestral 25.01",family:"codestral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:.9},limit:{context:256e3,output:256e3}},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.125},limit:{context:4e5,output:128e3}},"mistral-large-2411":{id:"mistral-large-2411",name:"Mistral Large 24.11",family:"mistral-large",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-09",release_date:"2024-11-01",last_updated:"2024-11-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2,output:6},limit:{context:128e3,output:32768}},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",family:"gpt-pro",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-10-06",last_updated:"2025-10-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:120},limit:{context:4e5,output:272e3}},"deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek-V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.58,output:1.68},limit:{context:128e3,output:128e3}},"mai-ds-r1":{id:"mai-ds-r1",name:"MAI-DS-R1",family:"mai",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2024-06",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.35,output:5.4},limit:{context:128e3,output:8192}},"gpt-5":{id:"gpt-5",name:"GPT-5",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:272e3,output:128e3}},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-09",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.15,output:.6,cache_read:.08},limit:{context:128e3,output:16384}},"phi-4-reasoning-plus":{id:"phi-4-reasoning-plus",name:"Phi-4-reasoning-plus",family:"phi",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.125,output:.5},limit:{context:32e3,output:4096}},"gpt-4-turbo-vision":{id:"gpt-4-turbo-vision",name:"GPT-4 Turbo Vision",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-11",release_date:"2023-11-06",last_updated:"2024-04-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:10,output:30},limit:{context:128e3,output:4096}},"phi-4-reasoning":{id:"phi-4-reasoning",name:"Phi-4-reasoning",family:"phi",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.125,output:.5},limit:{context:32e3,output:4096}},"phi-3-medium-4k-instruct":{id:"phi-3-medium-4k-instruct",name:"Phi-3-medium-instruct (4k)",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.17,output:.68},limit:{context:4096,output:1024}},"codex-mini":{id:"codex-mini",name:"Codex Mini",family:"gpt-codex-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-04",release_date:"2025-05-16",last_updated:"2025-05-16",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.5,output:6,cache_read:.375},limit:{context:2e5,output:1e5}},o3:{id:"o3",name:"o3",family:"o",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:2e5,output:1e5}},"mistral-nemo":{id:"mistral-nemo",name:"Mistral Nemo",family:"mistral-nemo",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.15},limit:{context:128e3,output:128e3}},"gpt-3.5-turbo-instruct":{id:"gpt-3.5-turbo-instruct",name:"GPT-3.5 Turbo Instruct",family:"gpt",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2021-08",release_date:"2023-09-21",last_updated:"2023-09-21",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.5,output:2},limit:{context:4096,output:4096}},"meta-llama-3.1-8b-instruct":{id:"meta-llama-3.1-8b-instruct",name:"Meta-Llama-3.1-8B-Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.61},limit:{context:128e3,output:32768}},"text-embedding-ada-002":{id:"text-embedding-ada-002",name:"text-embedding-ada-002",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,release_date:"2022-12-15",last_updated:"2022-12-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.1,output:0},limit:{context:8192,output:1536}},"cohere-embed-v3-english":{id:"cohere-embed-v3-english",name:"Embed v3 English",family:"cohere-embed",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2023-11-07",last_updated:"2023-11-07",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:0},limit:{context:512,output:1024}},"llama-4-scout-17b-16e-instruct":{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B 16E Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.2,output:.78},limit:{context:128e3,output:8192}},"o1-mini":{id:"o1-mini",name:"o1-mini",family:"o-mini",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2023-09",release_date:"2024-09-12",last_updated:"2024-09-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.55},limit:{context:128e3,output:65536}},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.03},limit:{context:272e3,output:128e3}},"phi-3.5-moe-instruct":{id:"phi-3.5-moe-instruct",name:"Phi-3.5-MoE-instruct",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-08-20",last_updated:"2024-08-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.16,output:.64},limit:{context:128e3,output:4096}},"gpt-5.1-chat":{id:"gpt-5.1-chat",name:"GPT-5.1 Chat",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text","image","audio"],output:["text","image","audio"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:128e3,output:16384}},"grok-3-mini":{id:"grok-3-mini",name:"Grok 3 Mini",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:.5,reasoning:.5,cache_read:.075},limit:{context:131072,output:8192}},o1:{id:"o1",name:"o1",family:"o",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2023-09",release_date:"2024-12-05",last_updated:"2024-12-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:15,output:60,cache_read:7.5},limit:{context:2e5,output:1e5}},"meta-llama-3-8b-instruct":{id:"meta-llama-3-8b-instruct",name:"Meta-Llama-3-8B-Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-12",release_date:"2024-04-18",last_updated:"2024-04-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.61},limit:{context:8192,output:2048}},"phi-4-multimodal":{id:"phi-4-multimodal",name:"Phi-4-multimodal",family:"phi",attachment:true,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text","image","audio"],output:["text"]},open_weights:true,cost:{input:.08,output:.32,input_audio:4},limit:{context:128e3,output:4096}},"o4-mini":{id:"o4-mini",name:"o4-mini",family:"o-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05",release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.28},limit:{context:2e5,output:1e5}},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-05",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2,output:8,cache_read:.5},limit:{context:1047576,output:32768}},"ministral-3b":{id:"ministral-3b",name:"Ministral 3B",family:"ministral",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-03",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.04,output:.04},limit:{context:128e3,output:8192}},"gpt-3.5-turbo-0301":{id:"gpt-3.5-turbo-0301",name:"GPT-3.5 Turbo 0301",family:"gpt",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2021-08",release_date:"2023-03-01",last_updated:"2023-03-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.5,output:2},limit:{context:4096,output:4096}},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-09",release_date:"2024-05-13",last_updated:"2024-05-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.5,output:10,cache_read:1.25},limit:{context:128e3,output:16384}},"phi-3-mini-128k-instruct":{id:"phi-3-mini-128k-instruct",name:"Phi-3-mini-instruct (128k)",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.13,output:.52},limit:{context:128e3,output:4096}},"llama-3.2-90b-vision-instruct":{id:"llama-3.2-90b-vision-instruct",name:"Llama-3.2-90B-Vision-Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:2.04,output:2.04},limit:{context:128e3,output:8192}},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-09-15",last_updated:"2025-09-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:4e5,output:128e3}},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",family:"gpt-nano",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.05,output:.4,cache_read:.01},limit:{context:272e3,output:128e3}},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text","image","audio"],output:["text","image","audio"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:272e3,output:128e3}},"o3-mini":{id:"o3-mini",name:"o3-mini",family:"o-mini",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-05",release_date:"2024-12-20",last_updated:"2025-01-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.1,output:4.4,cache_read:.55},limit:{context:2e5,output:1e5}},"model-router":{id:"model-router",name:"Model Router",family:"model-router",attachment:true,reasoning:false,tool_call:true,release_date:"2025-05-19",last_updated:"2025-11-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.14,output:0},limit:{context:128e3,output:16384}},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",family:"kimi-thinking",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-12-02",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5,cache_read:.15},limit:{context:262144,output:262144}},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:2,cache_read:.025},limit:{context:4e5,output:128e3}},"llama-3.3-70b-instruct":{id:"llama-3.3-70b-instruct",name:"Llama-3.3-70B-Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.71,output:.71},limit:{context:128e3,output:32768}},"o1-preview":{id:"o1-preview",name:"o1-preview",family:"o",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2023-09",release_date:"2024-09-12",last_updated:"2024-09-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:16.5,output:66,cache_read:8.25},limit:{context:128e3,output:32768}},"phi-3.5-mini-instruct":{id:"phi-3.5-mini-instruct",name:"Phi-3.5-mini-instruct",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-08-20",last_updated:"2024-08-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.13,output:.52},limit:{context:128e3,output:4096}},"gpt-3.5-turbo-0613":{id:"gpt-3.5-turbo-0613",name:"GPT-3.5 Turbo 0613",family:"gpt",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2021-08",release_date:"2023-06-13",last_updated:"2023-06-13",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:4},limit:{context:16384,output:16384}},"gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-11",release_date:"2023-11-06",last_updated:"2024-04-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:10,output:30},limit:{context:128e3,output:4096}},"meta-llama-3.1-70b-instruct":{id:"meta-llama-3.1-70b-instruct",name:"Meta-Llama-3.1-70B-Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.68,output:3.54},limit:{context:128e3,output:32768}},"phi-3-small-8k-instruct":{id:"phi-3-small-8k-instruct",name:"Phi-3-small-instruct (8k)",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:8192,output:2048}},"deepseek-v3-0324":{id:"deepseek-v3-0324",name:"DeepSeek-V3-0324",family:"deepseek",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-03-24",last_updated:"2025-03-24",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.14,output:4.56},limit:{context:131072,output:131072}},"meta-llama-3-70b-instruct":{id:"meta-llama-3-70b-instruct",name:"Meta-Llama-3-70B-Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-12",release_date:"2024-04-18",last_updated:"2024-04-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.68,output:3.54},limit:{context:8192,output:2048}},"text-embedding-3-large":{id:"text-embedding-3-large",name:"text-embedding-3-large",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,release_date:"2024-01-25",last_updated:"2024-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.13,output:0},limit:{context:8191,output:3072}},"grok-3":{id:"grok-3",name:"Grok 3",family:"grok",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-11",release_date:"2025-02-17",last_updated:"2025-02-17",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75},limit:{context:131072,output:8192}},"gpt-3.5-turbo-0125":{id:"gpt-3.5-turbo-0125",name:"GPT-3.5 Turbo 0125",family:"gpt",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2021-08",release_date:"2024-01-25",last_updated:"2024-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:1.5},limit:{context:16384,output:16384}},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},"phi-4-mini-reasoning":{id:"phi-4-mini-reasoning",name:"Phi-4-mini-reasoning",family:"phi",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.075,output:.3},limit:{context:128e3,output:4096}},"phi-4":{id:"phi-4",name:"Phi-4",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.125,output:.5},limit:{context:128e3,output:4096}},"deepseek-v3.1":{id:"deepseek-v3.1",name:"DeepSeek-V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-08-21",last_updated:"2025-08-21",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.56,output:1.68},limit:{context:131072,output:131072}},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",family:"kimi",attachment:false,reasoning:true,tool_call:true,interleaved:true,structured_output:true,temperature:true,knowledge:"2025-01",release_date:"2026-02-06",last_updated:"2026-02-06",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.6,output:3},limit:{context:262144,output:262144}},"gpt-5-chat":{id:"gpt-5-chat",name:"GPT-5 Chat",family:"gpt-codex",attachment:true,reasoning:true,tool_call:false,temperature:false,knowledge:"2024-10-24",release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.13},limit:{context:128e3,output:16384}},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-05",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:1.6,cache_read:.1},limit:{context:1047576,output:32768}},"llama-4-maverick-17b-128e-instruct-fp8":{id:"llama-4-maverick-17b-128e-instruct-fp8",name:"Llama 4 Maverick 17B 128E Instruct FP8",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.25,output:1},limit:{context:128e3,output:8192}},"cohere-command-r-plus-08-2024":{id:"cohere-command-r-plus-08-2024",name:"Command R+",family:"command-r",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06-01",release_date:"2024-08-30",last_updated:"2024-08-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.5,output:10},limit:{context:128e3,output:4e3}},"cohere-command-a":{id:"cohere-command-a",name:"Command A",family:"command-a",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06-01",release_date:"2025-03-13",last_updated:"2025-03-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.5,output:10},limit:{context:256e3,output:8e3}},"phi-3-small-128k-instruct":{id:"phi-3-small-128k-instruct",name:"Phi-3-small-instruct (128k)",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:128e3,output:4096}},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-08-01",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},"mistral-medium-2505":{id:"mistral-medium-2505",name:"Mistral Medium 3",family:"mistral-medium",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2025-05-07",last_updated:"2025-05-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.4,output:2},limit:{context:128e3,output:128e3}},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25,context_over_200k:{input:10,output:37.5,cache_read:1,cache_write:12.5}},limit:{context:2e5,output:128e3},provider:{npm:"@ai-sdk/anthropic"}},"deepseek-v3.2-speciale":{id:"deepseek-v3.2-speciale",name:"DeepSeek-V3.2-Speciale",family:"deepseek",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2024-07",release_date:"2025-12-01",last_updated:"2025-12-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.58,output:1.68},limit:{context:128e3,output:128e3}},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-02-31",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},"phi-3-mini-4k-instruct":{id:"phi-3-mini-4k-instruct",name:"Phi-3-mini-instruct (4k)",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.13,output:.52},limit:{context:4096,output:1024}},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2024-09-30",release_date:"2025-11-14",last_updated:"2025-11-14",modalities:{input:["text","image","audio"],output:["text","image","audio"]},open_weights:false,cost:{input:1.25,output:10,cache_read:.125},limit:{context:4e5,output:128e3}},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2025-08-28",last_updated:"2025-08-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:1.5,cache_read:.02},limit:{context:256e3,output:1e4}},"deepseek-r1":{id:"deepseek-r1",name:"DeepSeek-R1",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:false,temperature:true,knowledge:"2024-07",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.35,output:5.4},limit:{context:163840,output:163840}},"meta-llama-3.1-405b-instruct":{id:"meta-llama-3.1-405b-instruct",name:"Meta-Llama-3.1-405B-Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:5.33,output:16},limit:{context:128e3,output:32768}},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",family:"gpt-codex",attachment:false,reasoning:true,tool_call:true,temperature:false,knowledge:"2025-08-31",release_date:"2026-01-14",last_updated:"2026-01-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:4e5,output:128e3}},"gpt-4-32k":{id:"gpt-4-32k",name:"GPT-4 32K",family:"gpt",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-11",release_date:"2023-03-14",last_updated:"2023-03-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:60,output:120},limit:{context:32768,output:32768}},"phi-4-mini":{id:"phi-4-mini",name:"Phi-4-mini",family:"phi",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-10",release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.075,output:.3},limit:{context:128e3,output:4096}},"cohere-embed-v3-multilingual":{id:"cohere-embed-v3-multilingual",name:"Embed v3 Multilingual",family:"cohere-embed",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2023-11-07",last_updated:"2023-11-07",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:0},limit:{context:512,output:1024}},"grok-4":{id:"grok-4",name:"Grok 4",family:"grok",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-09",last_updated:"2025-07-09",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,reasoning:15,cache_read:.75},limit:{context:256e3,output:64e3}},"cohere-command-r-08-2024":{id:"cohere-command-r-08-2024",name:"Command R",family:"command-r",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-06-01",release_date:"2024-08-30",last_updated:"2024-08-30",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:128e3,output:4e3}},"cohere-embed-v-4-0":{id:"cohere-embed-v-4-0",name:"Embed v4",family:"cohere-embed",attachment:true,reasoning:false,tool_call:false,temperature:false,release_date:"2025-04-15",last_updated:"2025-04-15",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.12,output:0},limit:{context:128e3,output:1536}},"llama-3.2-11b-vision-instruct":{id:"llama-3.2-11b-vision-instruct",name:"Llama-3.2-11B-Vision-Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.37,output:.37},limit:{context:128e3,output:8192}},"gpt-5.2-chat":{id:"gpt-5.2-chat",name:"GPT-5.2 Chat",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:false,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.75,output:14,cache_read:.175},limit:{context:128e3,output:16384}},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,structured_output:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-18",last_updated:"2025-11-18",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3},provider:{npm:"@ai-sdk/anthropic"}},"gpt-4":{id:"gpt-4",name:"GPT-4",family:"gpt",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-11",release_date:"2023-03-14",last_updated:"2023-03-14",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:60,output:120},limit:{context:8192,output:8192}},"phi-3-medium-128k-instruct":{id:"phi-3-medium-128k-instruct",name:"Phi-3-medium-instruct (128k)",family:"phi",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-10",release_date:"2024-04-23",last_updated:"2024-04-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.17,output:.68},limit:{context:128e3,output:4096}},"grok-4-fast-reasoning":{id:"grok-4-fast-reasoning",name:"Grok 4 Fast (Reasoning)",family:"grok",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-09-19",last_updated:"2025-09-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:3e4}},"deepseek-r1-0528":{id:"deepseek-r1-0528",name:"DeepSeek-R1-0528",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-05-28",last_updated:"2025-05-28",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.35,output:5.4},limit:{context:163840,output:163840}},"grok-4-fast-non-reasoning":{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-09-19",last_updated:"2025-09-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:3e4}},"text-embedding-3-small":{id:"text-embedding-3-small",name:"text-embedding-3-small",family:"text-embedding",attachment:false,reasoning:false,tool_call:false,release_date:"2024-01-25",last_updated:"2024-01-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.02,output:0},limit:{context:8191,output:1536}},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",family:"gpt-nano",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-05",release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.1,output:.4,cache_read:.03},limit:{context:1047576,output:32768}}}},llama:{id:"llama",env:["LLAMA_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.llama.com/compat/v1/",name:"Llama",doc:"https://llama.developer.meta.com/docs/models",models:{"llama-3.3-8b-instruct":{id:"llama-3.3-8b-instruct",name:"Llama-3.3-8B-Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"llama-4-maverick-17b-128e-instruct-fp8":{id:"llama-4-maverick-17b-128e-instruct-fp8",name:"Llama-4-Maverick-17B-128E-Instruct-FP8",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"llama-3.3-70b-instruct":{id:"llama-3.3-70b-instruct",name:"Llama-3.3-70B-Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"llama-4-scout-17b-16e-instruct-fp8":{id:"llama-4-scout-17b-16e-instruct-fp8",name:"Llama-4-Scout-17B-16E-Instruct-FP8",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"groq-llama-4-maverick-17b-128e-instruct":{id:"groq-llama-4-maverick-17b-128e-instruct",name:"Groq-Llama-4-Maverick-17B-128E-Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"cerebras-llama-4-scout-17b-16e-instruct":{id:"cerebras-llama-4-scout-17b-16e-instruct",name:"Cerebras-Llama-4-Scout-17B-16E-Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}},"cerebras-llama-4-maverick-17b-128e-instruct":{id:"cerebras-llama-4-maverick-17b-128e-instruct",name:"Cerebras-Llama-4-Maverick-17B-128E-Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-01",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:128e3,output:4096}}}},scaleway:{id:"scaleway",env:["SCALEWAY_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.scaleway.ai/v1",name:"Scaleway",doc:"https://www.scaleway.com/en/docs/generative-apis/",models:{"qwen3-235b-a22b-instruct-2507":{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct 2507",family:"qwen",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-01",last_updated:"2025-07-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.75,output:2.25},limit:{context:26e4,output:8192}},"devstral-2-123b-instruct-2512":{id:"devstral-2-123b-instruct-2512",name:"Devstral 2 123B Instruct (2512)",family:"devstral",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2026-01-07",last_updated:"2026-01-07",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.4,output:2},limit:{context:256e3,output:8192}},"pixtral-12b-2409":{id:"pixtral-12b-2409",name:"Pixtral 12B 2409",family:"pixtral",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:128e3,output:4096}},"llama-3.1-8b-instruct":{id:"llama-3.1-8b-instruct",name:"Llama 3.1 8B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:128e3,output:16384}},"mistral-nemo-instruct-2407":{id:"mistral-nemo-instruct-2407",name:"Mistral Nemo Instruct 2407",family:"mistral-nemo",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-07-25",last_updated:"2024-07-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.2},limit:{context:128e3,output:8192}},"mistral-small-3.2-24b-instruct-2506":{id:"mistral-small-3.2-24b-instruct-2506",name:"Mistral Small 3.2 24B Instruct (2506)",family:"mistral-small",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2025-06-20",last_updated:"2025-06-20",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.15,output:.35},limit:{context:128e3,output:8192}},"qwen3-coder-30b-a3b-instruct":{id:"qwen3-coder-30b-a3b-instruct",name:"Qwen3-Coder 30B-A3B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-04",last_updated:"2025-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.8},limit:{context:128e3,output:8192}},"llama-3.3-70b-instruct":{id:"llama-3.3-70b-instruct",name:"Llama-3.3-70B-Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.9,output:.9},limit:{context:1e5,output:4096}},"whisper-large-v3":{id:"whisper-large-v3",name:"Whisper Large v3",family:"whisper",attachment:false,reasoning:false,tool_call:false,temperature:false,knowledge:"2023-09",release_date:"2023-09-01",last_updated:"2025-09-05",modalities:{input:["audio"],output:["text"]},open_weights:true,cost:{input:.003,output:0},limit:{context:0,output:4096}},"deepseek-r1-distill-llama-70b":{id:"deepseek-r1-distill-llama-70b",name:"DeepSeek R1 Distill Llama 70B",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-01-20",last_updated:"2025-01-20",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.9,output:.9},limit:{context:32e3,output:4096}},"voxtral-small-24b-2507":{id:"voxtral-small-24b-2507",name:"Voxtral Small 24B 2507",family:"voxtral",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-01",last_updated:"2025-07-01",modalities:{input:["text","audio"],output:["text"]},open_weights:true,cost:{input:.15,output:.35},limit:{context:32e3,output:8192}},"gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT-OSS 120B",family:"gpt-oss",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2024-01-01",last_updated:"2024-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:128e3,output:8192}},"bge-multilingual-gemma2":{id:"bge-multilingual-gemma2",name:"BGE Multilingual Gemma2",family:"gemma",attachment:false,reasoning:false,tool_call:false,temperature:false,release_date:"2024-07-26",last_updated:"2025-06-15",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.13,output:0},limit:{context:8191,output:3072}},"gemma-3-27b-it":{id:"gemma-3-27b-it",name:"Gemma-3-27B-IT",family:"gemma",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-12",release_date:"2024-12-01",last_updated:"2025-09-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.25,output:.5},limit:{context:4e4,output:8192}}}},"amazon-bedrock":{id:"amazon-bedrock",env:["AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_REGION"],npm:"@ai-sdk/amazon-bedrock",name:"Amazon Bedrock",doc:"https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html",models:{"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)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"cohere.command-r-plus-v1:0":{id:"cohere.command-r-plus-v1:0",name:"Command R+",family:"command-r",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-04-04",last_updated:"2024-04-04",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:3,output:15},limit:{context:128e3,output:4096}},"anthropic.claude-v2":{id:"anthropic.claude-v2",name:"Claude 2",family:"claude",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-08",release_date:"2023-07-11",last_updated:"2023-07-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:8,output:24},limit:{context:1e5,output:4096}},"anthropic.claude-3-7-sonnet-20250219-v1:0":{id:"anthropic.claude-3-7-sonnet-20250219-v1:0",name:"Claude Sonnet 3.7",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:8192}},"anthropic.claude-sonnet-4-20250514-v1:0":{id:"anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"qwen.qwen3-coder-30b-a3b-v1:0":{id:"qwen.qwen3-coder-30b-a3b-v1:0",name:"Qwen3 Coder 30B A3B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-09-18",last_updated:"2025-09-18",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:.6},limit:{context:262144,output:131072}},"google.gemma-3-4b-it":{id:"google.gemma-3-4b-it",name:"Gemma 3 4B IT",family:"gemma",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.04,output:.08},limit:{context:128e3,output:4096}},"minimax.minimax-m2":{id:"minimax.minimax-m2",name:"MiniMax M2",family:"minimax",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-10-27",last_updated:"2025-10-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:204608,output:128e3}},"zai.glm-4.7":{id:"zai.glm-4.7",name:"GLM-4.7",family:"glm",attachment:false,reasoning:true,tool_call:true,interleaved:{field:"reasoning_content"},temperature:true,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.2},limit:{context:204800,output:131072}},"meta.llama3-2-11b-instruct-v1:0":{id:"meta.llama3-2-11b-instruct-v1:0",name:"Llama 3.2 11B Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.16,output:.16},limit:{context:128e3,output:4096}},"qwen.qwen3-next-80b-a3b":{id:"qwen.qwen3-next-80b-a3b",name:"Qwen/Qwen3-Next-80B-A3B-Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-09-18",last_updated:"2025-11-25",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:1.4},limit:{context:262e3,output:262e3}},"anthropic.claude-3-haiku-20240307-v1:0":{id:"anthropic.claude-3-haiku-20240307-v1:0",name:"Claude Haiku 3",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-02",release_date:"2024-03-13",last_updated:"2024-03-13",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.25,output:1.25},limit:{context:2e5,output:4096}},"meta.llama3-2-90b-instruct-v1:0":{id:"meta.llama3-2-90b-instruct-v1:0",name:"Llama 3.2 90B Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.72,output:.72},limit:{context:128e3,output:4096}},"qwen.qwen3-vl-235b-a22b":{id:"qwen.qwen3-vl-235b-a22b",name:"Qwen/Qwen3-VL-235B-A22B-Instruct",family:"qwen",attachment:true,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-10-04",last_updated:"2025-11-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.3,output:1.5},limit:{context:262e3,output:262e3}},"meta.llama3-2-1b-instruct-v1:0":{id:"meta.llama3-2-1b-instruct-v1:0",name:"Llama 3.2 1B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.1},limit:{context:131e3,output:4096}},"us.anthropic.claude-opus-4-6-v1":{id:"us.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (US)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25,context_over_200k:{input:10,output:37.5,cache_read:1,cache_write:12.5}},limit:{context:1e6,output:128e3}},"anthropic.claude-v2:1":{id:"anthropic.claude-v2:1",name:"Claude 2.1",family:"claude",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-08",release_date:"2023-11-21",last_updated:"2023-11-21",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:8,output:24},limit:{context:2e5,output:4096}},"deepseek.v3-v1:0":{id:"deepseek.v3-v1:0",name:"DeepSeek-V3.1",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-09-18",last_updated:"2025-09-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.58,output:1.68},limit:{context:163840,output:81920}},"anthropic.claude-opus-4-5-20251101-v1:0":{id:"anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-08-01",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3}},"cohere.command-light-text-v14":{id:"cohere.command-light-text-v14",name:"Command Light",family:"command-light",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-08",release_date:"2023-11-01",last_updated:"2023-11-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.6},limit:{context:4096,output:4096}},"mistral.mistral-large-2402-v1:0":{id:"mistral.mistral-large-2402-v1:0",name:"Mistral Large (24.02)",family:"mistral-large",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.5,output:1.5},limit:{context:128e3,output:4096}},"google.gemma-3-27b-it":{id:"google.gemma-3-27b-it",name:"Google Gemma 3 27B Instruct",family:"gemma",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-07",release_date:"2025-07-27",last_updated:"2025-07-27",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.12,output:.2},limit:{context:202752,output:8192}},"anthropic.claude-sonnet-4-6":{id:"anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:2e5,output:64e3}},"nvidia.nemotron-nano-12b-v2":{id:"nvidia.nemotron-nano-12b-v2",name:"NVIDIA Nemotron Nano 12B v2 VL BF16",family:"nemotron",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.6},limit:{context:128e3,output:4096}},"google.gemma-3-12b-it":{id:"google.gemma-3-12b-it",name:"Google Gemma 3 12B",family:"gemma",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2024-12",release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.049999999999999996,output:.09999999999999999},limit:{context:131072,output:8192}},"ai21.jamba-1-5-large-v1:0":{id:"ai21.jamba-1-5-large-v1:0",name:"Jamba 1.5 Large",family:"jamba",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-08-15",last_updated:"2024-08-15",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2,output:8},limit:{context:256e3,output:4096}},"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)",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3}},"us.anthropic.claude-sonnet-4-20250514-v1:0":{id:"us.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (US)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"global.anthropic.claude-sonnet-4-20250514-v1:0":{id:"global.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (Global)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"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)",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3}},"meta.llama3-3-70b-instruct-v1:0":{id:"meta.llama3-3-70b-instruct-v1:0",name:"Llama 3.3 70B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-12-06",last_updated:"2024-12-06",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.72,output:.72},limit:{context:128e3,output:4096}},"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)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-08-01",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3}},"anthropic.claude-opus-4-6-v1":{id:"anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25,context_over_200k:{input:10,output:37.5,cache_read:1,cache_write:12.5}},limit:{context:1e6,output:128e3}},"anthropic.claude-3-opus-20240229-v1:0":{id:"anthropic.claude-3-opus-20240229-v1:0",name:"Claude Opus 3",family:"claude-opus",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-08",release_date:"2024-02-29",last_updated:"2024-02-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75},limit:{context:2e5,output:4096}},"writer.palmyra-x4-v1:0":{id:"writer.palmyra-x4-v1:0",name:"Palmyra X4",family:"palmyra",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-04-28",last_updated:"2025-04-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2.5,output:10},limit:{context:122880,output:8192}},"moonshotai.kimi-k2.5":{id:"moonshotai.kimi-k2.5",name:"Kimi K2.5",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,release_date:"2026-02-06",last_updated:"2026-02-06",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.6,output:3},limit:{context:256e3,output:256e3}},"amazon.nova-pro-v1:0":{id:"amazon.nova-pro-v1:0",name:"Nova Pro",family:"nova-pro",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-03",last_updated:"2024-12-03",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.8,output:3.2,cache_read:.2},limit:{context:3e5,output:8192}},"eu.anthropic.claude-sonnet-4-6":{id:"eu.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (EU)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:2e5,output:64e3}},"global.anthropic.claude-sonnet-4-6":{id:"global.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Global)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:2e5,output:64e3}},"meta.llama3-1-8b-instruct-v1:0":{id:"meta.llama3-1-8b-instruct-v1:0",name:"Llama 3.1 8B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.22,output:.22},limit:{context:128e3,output:4096}},"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)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"openai.gpt-oss-120b-1:0":{id:"openai.gpt-oss-120b-1:0",name:"gpt-oss-120b",family:"gpt-oss",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:.6},limit:{context:128e3,output:4096}},"qwen.qwen3-32b-v1:0":{id:"qwen.qwen3-32b-v1:0",name:"Qwen3 32B (dense)",family:"qwen",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-09-18",last_updated:"2025-09-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.6},limit:{context:16384,output:16384}},"anthropic.claude-3-5-sonnet-20240620-v1:0":{id:"anthropic.claude-3-5-sonnet-20240620-v1:0",name:"Claude Sonnet 3.5",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-06-20",last_updated:"2024-06-20",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:8192}},"anthropic.claude-haiku-4-5-20251001-v1:0":{id:"anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3}},"cohere.command-r-v1:0":{id:"cohere.command-r-v1:0",name:"Command R",family:"command-r",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-03-11",last_updated:"2024-03-11",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.5,output:1.5},limit:{context:128e3,output:4096}},"mistral.voxtral-small-24b-2507":{id:"mistral.voxtral-small-24b-2507",name:"Voxtral Small 24B 2507",family:"mistral",attachment:true,reasoning:false,tool_call:true,temperature:true,release_date:"2025-07-01",last_updated:"2025-07-01",modalities:{input:["text","audio"],output:["text"]},open_weights:true,cost:{input:.15,output:.35},limit:{context:32e3,output:8192}},"amazon.nova-micro-v1:0":{id:"amazon.nova-micro-v1:0",name:"Nova Micro",family:"nova-micro",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-03",last_updated:"2024-12-03",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.035,output:.14,cache_read:.00875},limit:{context:128e3,output:8192}},"meta.llama3-1-70b-instruct-v1:0":{id:"meta.llama3-1-70b-instruct-v1:0",name:"Llama 3.1 70B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.72,output:.72},limit:{context:128e3,output:4096}},"meta.llama3-70b-instruct-v1:0":{id:"meta.llama3-70b-instruct-v1:0",name:"Llama 3 70B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-12",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.65,output:3.5},limit:{context:8192,output:2048}},"global.anthropic.claude-opus-4-6-v1":{id:"global.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (Global)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25,context_over_200k:{input:10,output:37.5,cache_read:1,cache_write:12.5}},limit:{context:1e6,output:128e3}},"deepseek.r1-v1:0":{id:"deepseek.r1-v1:0",name:"DeepSeek-R1",family:"deepseek-thinking",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2025-01-20",last_updated:"2025-05-29",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.35,output:5.4},limit:{context:128e3,output:32768}},"anthropic.claude-3-5-sonnet-20241022-v2:0":{id:"anthropic.claude-3-5-sonnet-20241022-v2:0",name:"Claude Sonnet 3.5 v2",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:8192}},"minimax.minimax-m2.1":{id:"minimax.minimax-m2.1",name:"MiniMax M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,structured_output:false,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},"mistral.ministral-3-8b-instruct":{id:"mistral.ministral-3-8b-instruct",name:"Ministral 3 8B",family:"ministral",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:.15},limit:{context:128e3,output:4096}},"writer.palmyra-x5-v1:0":{id:"writer.palmyra-x5-v1:0",name:"Palmyra X5",family:"palmyra",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-04-28",last_updated:"2025-04-28",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.6,output:6},limit:{context:104e4,output:8192}},"cohere.command-text-v14":{id:"cohere.command-text-v14",name:"Command",family:"command",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-08",release_date:"2023-11-01",last_updated:"2023-11-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:1.5,output:2},limit:{context:4096,output:4096}},"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)",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:1,output:5,cache_read:.1,cache_write:1.25},limit:{context:2e5,output:64e3}},"anthropic.claude-opus-4-20250514-v1:0":{id:"anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"mistral.voxtral-mini-3b-2507":{id:"mistral.voxtral-mini-3b-2507",name:"Voxtral Mini 3B 2507",family:"mistral",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["audio","text"],output:["text"]},open_weights:false,cost:{input:.04,output:.04},limit:{context:128e3,output:4096}},"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)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"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)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-08-01",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3}},"amazon.nova-2-lite-v1:0":{id:"amazon.nova-2-lite-v1:0",name:"Nova 2 Lite",family:"nova",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.33,output:2.75},limit:{context:128e3,output:4096}},"qwen.qwen3-coder-480b-a35b-v1:0":{id:"qwen.qwen3-coder-480b-a35b-v1:0",name:"Qwen3 Coder 480B A35B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-09-18",last_updated:"2025-09-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.22,output:1.8},limit:{context:131072,output:65536}},"anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"openai.gpt-oss-safeguard-20b":{id:"openai.gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",family:"gpt-oss",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.07,output:.2},limit:{context:128e3,output:4096}},"openai.gpt-oss-20b-1:0":{id:"openai.gpt-oss-20b-1:0",name:"gpt-oss-20b",family:"gpt-oss",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.07,output:.3},limit:{context:128e3,output:4096}},"meta.llama3-2-3b-instruct-v1:0":{id:"meta.llama3-2-3b-instruct-v1:0",name:"Llama 3.2 3B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2024-09-25",last_updated:"2024-09-25",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.15,output:.15},limit:{context:131e3,output:4096}},"anthropic.claude-instant-v1":{id:"anthropic.claude-instant-v1",name:"Claude Instant",family:"claude",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-08",release_date:"2023-03-01",last_updated:"2023-03-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.8,output:2.4},limit:{context:1e5,output:4096}},"amazon.nova-premier-v1:0":{id:"amazon.nova-premier-v1:0",name:"Nova Premier",family:"nova",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-03",last_updated:"2024-12-03",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:2.5,output:12.5},limit:{context:1e6,output:16384}},"mistral.mistral-7b-instruct-v0:2":{id:"mistral.mistral-7b-instruct-v0:2",name:"Mistral-7B-Instruct-v0.3",family:"mistral",attachment:false,reasoning:false,tool_call:true,structured_output:true,temperature:true,release_date:"2025-04-01",last_updated:"2025-04-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.11,output:.11},limit:{context:127e3,output:127e3}},"eu.anthropic.claude-sonnet-4-20250514-v1:0":{id:"eu.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (EU)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"mistral.mixtral-8x7b-instruct-v0:1":{id:"mistral.mixtral-8x7b-instruct-v0:1",name:"Mixtral-8x7B-Instruct-v0.1",family:"mixtral",attachment:false,reasoning:false,tool_call:false,structured_output:true,temperature:true,release_date:"2025-04-01",last_updated:"2025-04-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.7,output:.7},limit:{context:32e3,output:32e3}},"anthropic.claude-opus-4-1-20250805-v1:0":{id:"anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"meta.llama4-scout-17b-instruct-v1:0":{id:"meta.llama4-scout-17b-instruct-v1:0",name:"Llama 4 Scout 17B Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.17,output:.66},limit:{context:35e5,output:16384}},"ai21.jamba-1-5-mini-v1:0":{id:"ai21.jamba-1-5-mini-v1:0",name:"Jamba 1.5 Mini",family:"jamba",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2024-08-15",last_updated:"2024-08-15",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.2,output:.4},limit:{context:256e3,output:4096}},"meta.llama3-8b-instruct-v1:0":{id:"meta.llama3-8b-instruct-v1:0",name:"Llama 3 8B Instruct",family:"llama",attachment:false,reasoning:false,tool_call:false,temperature:true,knowledge:"2023-03",release_date:"2024-07-23",last_updated:"2024-07-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.3,output:.6},limit:{context:8192,output:2048}},"amazon.titan-text-express-v1:0:8k":{id:"amazon.titan-text-express-v1:0:8k",name:"Titan Text G1 - Express",family:"titan",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.6},limit:{context:128e3,output:4096}},"anthropic.claude-3-sonnet-20240229-v1:0":{id:"anthropic.claude-3-sonnet-20240229-v1:0",name:"Claude Sonnet 3",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-08",release_date:"2024-03-04",last_updated:"2024-03-04",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15},limit:{context:2e5,output:4096}},"nvidia.nemotron-nano-9b-v2":{id:"nvidia.nemotron-nano-9b-v2",name:"NVIDIA Nemotron Nano 9B v2",family:"nemotron",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.06,output:.23},limit:{context:128e3,output:4096}},"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)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75},limit:{context:2e5,output:64e3}},"amazon.titan-text-express-v1":{id:"amazon.titan-text-express-v1",name:"Titan Text G1 - Express",family:"titan",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.6},limit:{context:128e3,output:4096}},"meta.llama4-maverick-17b-instruct-v1:0":{id:"meta.llama4-maverick-17b-instruct-v1:0",name:"Llama 4 Maverick 17B Instruct",family:"llama",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-08",release_date:"2025-04-05",last_updated:"2025-04-05",modalities:{input:["text","image"],output:["text"]},open_weights:true,cost:{input:.24,output:.97},limit:{context:1e6,output:16384}},"mistral.ministral-3-14b-instruct":{id:"mistral.ministral-3-14b-instruct",name:"Ministral 14B 3.0",family:"ministral",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:.2},limit:{context:128e3,output:4096}},"us.anthropic.claude-sonnet-4-6":{id:"us.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (US)",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-08",release_date:"2026-02-17",last_updated:"2026-02-17",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.3,cache_write:3.75,context_over_200k:{input:6,output:22.5,cache_read:.6,cache_write:7.5}},limit:{context:2e5,output:64e3}},"openai.gpt-oss-safeguard-120b":{id:"openai.gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",family:"gpt-oss",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2024-12-01",last_updated:"2024-12-01",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.15,output:.6},limit:{context:128e3,output:4096}},"qwen.qwen3-235b-a22b-2507-v1:0":{id:"qwen.qwen3-235b-a22b-2507-v1:0",name:"Qwen3 235B A22B 2507",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-09-18",last_updated:"2025-09-18",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.22,output:.88},limit:{context:262144,output:131072}},"us.anthropic.claude-opus-4-20250514-v1:0":{id:"us.anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4 (US)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-04",release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:15,output:75,cache_read:1.5,cache_write:18.75},limit:{context:2e5,output:32e3}},"amazon.nova-lite-v1:0":{id:"amazon.nova-lite-v1:0",name:"Nova Lite",family:"nova-lite",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-10",release_date:"2024-12-03",last_updated:"2024-12-03",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:.06,output:.24,cache_read:.015},limit:{context:3e5,output:8192}},"anthropic.claude-3-5-haiku-20241022-v1:0":{id:"anthropic.claude-3-5-haiku-20241022-v1:0",name:"Claude Haiku 3.5",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2024-10-22",last_updated:"2024-10-22",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.8,output:4,cache_read:.08,cache_write:1},limit:{context:2e5,output:8192}},"moonshot.kimi-k2-thinking":{id:"moonshot.kimi-k2-thinking",name:"Kimi K2 Thinking",attachment:false,reasoning:true,tool_call:true,interleaved:true,temperature:true,release_date:"2025-12-02",last_updated:"2025-12-02",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:2.5},limit:{context:256e3,output:256e3}},"zai.glm-4.7-flash":{id:"zai.glm-4.7-flash",name:"GLM-4.7-Flash",family:"glm-flash",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2026-01-19",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.07,output:.4},limit:{context:2e5,output:131072}},"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)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-08-01",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25},limit:{context:2e5,output:64e3}},"deepseek.v3.2-v1:0":{id:"deepseek.v3.2-v1:0",name:"DeepSeek-V3.2",family:"deepseek",attachment:false,reasoning:true,tool_call:true,temperature:true,knowledge:"2024-07",release_date:"2026-02-15",last_updated:"2026-02-15",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.62,output:1.85},limit:{context:163840,output:81920}},"eu.anthropic.claude-opus-4-6-v1":{id:"eu.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (EU)",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:true,knowledge:"2025-05",release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:5,output:25,cache_read:.5,cache_write:6.25,context_over_200k:{input:10,output:37.5,cache_read:1,cache_write:12.5}},limit:{context:1e6,output:128e3}}}},poe:{id:"poe",env:["POE_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.poe.com/v1",name:"Poe",doc:"https://creator.poe.com/docs/external-applications/openai-compatible-api",models:{"xai/grok-4-fast-non-reasoning":{id:"xai/grok-4-fast-non-reasoning",name:"Grok-4-Fast-Non-Reasoning",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-09-16",last_updated:"2025-09-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:128e3}},"xai/grok-4-fast-reasoning":{id:"xai/grok-4-fast-reasoning",name:"Grok-4-Fast-Reasoning",family:"grok",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-09-16",last_updated:"2025-09-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.2,output:.5,cache_read:.05},limit:{context:2e6,output:128e3}},"xai/grok-4.1-fast-reasoning":{id:"xai/grok-4.1-fast-reasoning",name:"Grok-4.1-Fast-Reasoning",family:"grok",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-11-19",last_updated:"2025-11-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:2e6,output:3e4}},"xai/grok-4":{id:"xai/grok-4",name:"Grok-4",family:"grok",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-07-10",last_updated:"2025-07-10",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75},limit:{context:256e3,output:128e3}},"xai/grok-code-fast-1":{id:"xai/grok-code-fast-1",name:"Grok Code Fast 1",family:"grok",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-08-22",last_updated:"2025-08-22",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.2,output:1.5,cache_read:.02},limit:{context:256e3,output:128e3}},"xai/grok-4.1-fast-non-reasoning":{id:"xai/grok-4.1-fast-non-reasoning",name:"Grok-4.1-Fast-Non-Reasoning",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-11-19",last_updated:"2025-11-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:2e6,output:3e4}},"xai/grok-3":{id:"xai/grok-3",name:"Grok 3",family:"grok",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-04-11",last_updated:"2025-04-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:3,output:15,cache_read:.75},limit:{context:131072,output:8192}},"xai/grok-3-mini":{id:"xai/grok-3-mini",name:"Grok 3 Mini",family:"grok",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-04-11",last_updated:"2025-04-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.3,output:.5,cache_read:.075},limit:{context:131072,output:8192}},"ideogramai/ideogram":{id:"ideogramai/ideogram",name:"Ideogram",family:"ideogram",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-04-03",last_updated:"2024-04-03",modalities:{input:["text","image"],output:["image"]},open_weights:false,limit:{context:150,output:0}},"ideogramai/ideogram-v2a":{id:"ideogramai/ideogram-v2a",name:"Ideogram-v2a",family:"ideogram",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-02-27",last_updated:"2025-02-27",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:150,output:0}},"ideogramai/ideogram-v2a-turbo":{id:"ideogramai/ideogram-v2a-turbo",name:"Ideogram-v2a-Turbo",family:"ideogram",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-02-27",last_updated:"2025-02-27",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:150,output:0}},"ideogramai/ideogram-v2":{id:"ideogramai/ideogram-v2",name:"Ideogram-v2",family:"ideogram",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-08-21",last_updated:"2024-08-21",modalities:{input:["text","image"],output:["image"]},open_weights:false,limit:{context:150,output:0}},"runwayml/runway":{id:"runwayml/runway",name:"Runway",family:"runway",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-10-11",last_updated:"2024-10-11",modalities:{input:["text","image"],output:["video"]},open_weights:false,limit:{context:256,output:0}},"runwayml/runway-gen-4-turbo":{id:"runwayml/runway-gen-4-turbo",name:"Runway-Gen-4-Turbo",family:"runway",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-05-09",last_updated:"2025-05-09",modalities:{input:["text","image"],output:["video"]},open_weights:false,limit:{context:256,output:0}},"poetools/claude-code":{id:"poetools/claude-code",name:"claude-code",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-11-27",last_updated:"2025-11-27",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:0,output:0}},"elevenlabs/elevenlabs-v3":{id:"elevenlabs/elevenlabs-v3",name:"ElevenLabs-v3",family:"elevenlabs",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-06-05",last_updated:"2025-06-05",modalities:{input:["text"],output:["audio"]},open_weights:false,limit:{context:128e3,output:0}},"elevenlabs/elevenlabs-music":{id:"elevenlabs/elevenlabs-music",name:"ElevenLabs-Music",family:"elevenlabs",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-08-29",last_updated:"2025-08-29",modalities:{input:["text"],output:["audio"]},open_weights:false,limit:{context:2e3,output:0}},"elevenlabs/elevenlabs-v2.5-turbo":{id:"elevenlabs/elevenlabs-v2.5-turbo",name:"ElevenLabs-v2.5-Turbo",family:"elevenlabs",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-10-28",last_updated:"2024-10-28",modalities:{input:["text"],output:["audio"]},open_weights:false,limit:{context:128e3,output:0}},"google/gemini-deep-research":{id:"google/gemini-deep-research",name:"gemini-deep-research",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,cost:{input:1.6,output:9.6},limit:{context:1048576,output:0}},"google/nano-banana":{id:"google/nano-banana",name:"Nano-Banana",family:"nano-banana",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-08-21",last_updated:"2025-08-21",modalities:{input:["text","image"],output:["text","image"]},open_weights:false,cost:{input:.21,output:1.8,cache_read:.021},limit:{context:65536,output:0}},"google/imagen-4":{id:"google/imagen-4",name:"Imagen-4",family:"imagen",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-05-22",last_updated:"2025-05-22",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:480,output:0}},"google/imagen-3":{id:"google/imagen-3",name:"Imagen-3",family:"imagen",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-10-15",last_updated:"2024-10-15",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:480,output:0}},"google/imagen-4-ultra":{id:"google/imagen-4-ultra",name:"Imagen-4-Ultra",family:"imagen",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-05-24",last_updated:"2025-05-24",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:480,output:0}},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini-2.5-Flash",family:"gemini-flash",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-04-26",last_updated:"2025-04-26",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:.21,output:1.8,cache_read:.021},limit:{context:1065535,output:65535}},"google/gemini-2.0-flash-lite":{id:"google/gemini-2.0-flash-lite",name:"Gemini-2.0-Flash-Lite",family:"gemini-flash-lite",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-02-05",last_updated:"2025-02-05",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:.052,output:.21},limit:{context:99e4,output:8192}},"google/gemini-3-pro":{id:"google/gemini-3-pro",name:"Gemini-3-Pro",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-10-22",last_updated:"2025-10-22",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:1.6,output:9.6,cache_read:.16},limit:{context:1048576,output:65536}},"google/veo-3.1":{id:"google/veo-3.1",name:"Veo-3.1",family:"veo",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text"],output:["video"]},open_weights:false,limit:{context:480,output:0}},"google/imagen-3-fast":{id:"google/imagen-3-fast",name:"Imagen-3-Fast",family:"imagen",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-10-17",last_updated:"2024-10-17",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:480,output:0}},"google/lyria":{id:"google/lyria",name:"Lyria",family:"lyria",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-06-04",last_updated:"2025-06-04",modalities:{input:["text"],output:["audio"]},open_weights:false,limit:{context:0,output:0}},"google/gemini-2.0-flash":{id:"google/gemini-2.0-flash",name:"Gemini-2.0-Flash",family:"gemini-flash",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-12-11",last_updated:"2024-12-11",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:.1,output:.42},limit:{context:99e4,output:8192}},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini-2.5-Flash-Lite",family:"gemini-flash-lite",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-06-19",last_updated:"2025-06-19",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:.07,output:.28},limit:{context:1024e3,output:64e3}},"google/veo-3":{id:"google/veo-3",name:"Veo-3",family:"veo",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-05-21",last_updated:"2025-05-21",modalities:{input:["text"],output:["video"]},open_weights:false,limit:{context:480,output:0}},"google/veo-3-fast":{id:"google/veo-3-fast",name:"Veo-3-Fast",family:"veo",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-10-13",last_updated:"2025-10-13",modalities:{input:["text"],output:["video"]},open_weights:false,limit:{context:480,output:0}},"google/imagen-4-fast":{id:"google/imagen-4-fast",name:"Imagen-4-Fast",family:"imagen",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-06-25",last_updated:"2025-06-25",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:480,output:0}},"google/veo-2":{id:"google/veo-2",name:"Veo-2",family:"veo",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-12-02",last_updated:"2024-12-02",modalities:{input:["text"],output:["video"]},open_weights:false,limit:{context:480,output:0}},"google/gemini-3-flash":{id:"google/gemini-3-flash",name:"Gemini-3-Flash",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-10-07",last_updated:"2025-10-07",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:.4,output:2.4,cache_read:.04},limit:{context:1048576,output:65536}},"google/nano-banana-pro":{id:"google/nano-banana-pro",name:"Nano-Banana-Pro",family:"nano-banana",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-11-19",last_updated:"2025-11-19",modalities:{input:["text","image"],output:["image"]},open_weights:false,cost:{input:2,output:12,cache_read:.2},limit:{context:65536,output:0}},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini-2.5-Pro",family:"gemini-pro",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-02-05",last_updated:"2025-02-05",modalities:{input:["text","image","video","audio"],output:["text"]},open_weights:false,cost:{input:.87,output:7,cache_read:.087},limit:{context:1065535,output:65535}},"google/veo-3.1-fast":{id:"google/veo-3.1-fast",name:"Veo-3.1-Fast",family:"veo",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image"],output:["video"]},open_weights:false,limit:{context:480,output:0}},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"GPT-4.1-nano",family:"gpt-nano",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-04-15",last_updated:"2025-04-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.09,output:.36,cache_read:.022},limit:{context:1047576,output:32768}},"openai/gpt-5.2-instant":{id:"openai/gpt-5.2-instant",name:"GPT-5.2-Instant",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.6,output:13,cache_read:.16},limit:{context:128e3,output:16384}},"openai/sora-2":{id:"openai/sora-2",name:"Sora-2",family:"sora",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-10-06",last_updated:"2025-10-06",modalities:{input:["text","image"],output:["video"]},open_weights:false,limit:{context:0,output:0}},"openai/o1-pro":{id:"openai/o1-pro",name:"o1-pro",family:"o-pro",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-03-19",last_updated:"2025-03-19",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:140,output:540},limit:{context:2e5,output:1e5}},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2026-01-14",last_updated:"2026-01-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.6,output:13,cache_read:.16},limit:{context:4e5,output:128e3}},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-11-12",last_updated:"2025-11-12",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:9,cache_read:.11},limit:{context:4e5,output:128e3}},"openai/gpt-3.5-turbo-raw":{id:"openai/gpt-3.5-turbo-raw",name:"GPT-3.5-Turbo-Raw",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2023-09-27",last_updated:"2023-09-27",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.45,output:1.4},limit:{context:4524,output:2048}},"openai/gpt-4-classic":{id:"openai/gpt-4-classic",name:"GPT-4-Classic",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-03-25",last_updated:"2024-03-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:27,output:54},limit:{context:8192,output:4096}},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1-mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-04-15",last_updated:"2025-04-15",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.36,output:1.4,cache_read:.09},limit:{context:1047576,output:32768}},"openai/gpt-5-chat":{id:"openai/gpt-5-chat",name:"GPT-5-Chat",family:"gpt-codex",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-08-07",last_updated:"2025-08-07",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:9,cache_read:.11},limit:{context:128e3,output:16384}},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"o3-deep-research",family:"o",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-06-27",last_updated:"2025-06-27",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:9,output:36,cache_read:2.2},limit:{context:2e5,output:1e5}},"openai/gpt-4o-search":{id:"openai/gpt-4o-search",name:"GPT-4o-Search",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-03-11",last_updated:"2025-03-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:2.2,output:9},limit:{context:128e3,output:8192}},"openai/gpt-image-1.5":{id:"openai/gpt-image-1.5",name:"gpt-image-1.5",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-12-16",last_updated:"2025-12-16",modalities:{input:["text","image"],output:["image"]},open_weights:false,limit:{context:128e3,output:0}},"openai/gpt-image-1-mini":{id:"openai/gpt-image-1-mini",name:"GPT-Image-1-Mini",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-08-26",last_updated:"2025-08-26",modalities:{input:["text","image"],output:["image"]},open_weights:false,limit:{context:0,output:0}},"openai/gpt-3.5-turbo":{id:"openai/gpt-3.5-turbo",name:"GPT-3.5-Turbo",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2023-09-13",last_updated:"2023-09-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.45,output:1.4},limit:{context:16384,output:2048}},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2-Pro",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-12-11",last_updated:"2025-12-11",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:19,output:150},limit:{context:4e5,output:128e3}},"openai/o3-mini-high":{id:"openai/o3-mini-high",name:"o3-mini-high",family:"o-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-01-31",last_updated:"2025-01-31",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.99,output:4},limit:{context:2e5,output:1e5}},"openai/chatgpt-4o-latest":{id:"openai/chatgpt-4o-latest",name:"ChatGPT-4o-Latest",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-08-14",last_updated:"2024-08-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:4.5,output:14},limit:{context:128e3,output:8192}},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"GPT-4-Turbo",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2023-09-13",last_updated:"2023-09-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:9,output:27},limit:{context:128e3,output:4096}},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-11-12",last_updated:"2025-11-12",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.22,output:1.8,cache_read:.022},limit:{context:4e5,output:128e3}},"openai/gpt-5.1-instant":{id:"openai/gpt-5.1-instant",name:"GPT-5.1-Instant",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-11-12",last_updated:"2025-11-12",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:9,cache_read:.11},limit:{context:128e3,output:16384}},"openai/o3-mini":{id:"openai/o3-mini",name:"o3-mini",family:"o-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-01-31",last_updated:"2025-01-31",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.99,output:4},limit:{context:2e5,output:1e5}},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-11-12",last_updated:"2025-11-12",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:9,cache_read:.11},limit:{context:4e5,output:128e3}},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5-nano",family:"gpt-nano",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.045,output:.36,cache_read:.0045},limit:{context:4e5,output:128e3}},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5-Codex",family:"gpt-codex",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-09-23",last_updated:"2025-09-23",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:9},limit:{context:4e5,output:128e3}},"openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-05-13",last_updated:"2024-05-13",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:128e3,output:8192}},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-04-14",last_updated:"2025-04-14",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.8,output:7.2,cache_read:.45},limit:{context:1047576,output:32768}},"openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",family:"o-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.99,output:4,cache_read:.25},limit:{context:2e5,output:1e5}},"openai/o1":{id:"openai/o1",name:"o1",family:"o",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2024-12-18",last_updated:"2024-12-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:14,output:54},limit:{context:2e5,output:1e5}},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5-mini",family:"gpt-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-06-25",last_updated:"2025-06-25",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.22,output:1.8,cache_read:.022},limit:{context:4e5,output:128e3}},"openai/gpt-4o-aug":{id:"openai/gpt-4o-aug",name:"GPT-4o-Aug",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-11-21",last_updated:"2024-11-21",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:2.2,output:9,cache_read:1.1},limit:{context:128e3,output:8192}},"openai/o3-pro":{id:"openai/o3-pro",name:"o3-pro",family:"o-pro",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-06-10",last_updated:"2025-06-10",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:18,output:72},limit:{context:2e5,output:1e5}},"openai/gpt-image-1":{id:"openai/gpt-image-1",name:"GPT-Image-1",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-03-31",last_updated:"2025-03-31",modalities:{input:["text","image"],output:["image"]},open_weights:false,limit:{context:128e3,output:0}},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-12-08",last_updated:"2025-12-08",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:9,cache_read:.11},limit:{context:4e5,output:128e3}},"openai/gpt-3.5-turbo-instruct":{id:"openai/gpt-3.5-turbo-instruct",name:"GPT-3.5-Turbo-Instruct",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2023-09-20",last_updated:"2023-09-20",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.4,output:1.8},limit:{context:3500,output:1024}},"openai/o3":{id:"openai/o3",name:"o3",family:"o",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-04-16",last_updated:"2025-04-16",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.8,output:7.2,cache_read:.45},limit:{context:2e5,output:1e5}},"openai/o4-mini-deep-research":{id:"openai/o4-mini-deep-research",name:"o4-mini-deep-research",family:"o-mini",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-06-27",last_updated:"2025-06-27",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:1.8,output:7.2,cache_read:.45},limit:{context:2e5,output:1e5}},"openai/gpt-4-classic-0314":{id:"openai/gpt-4-classic-0314",name:"GPT-4-Classic-0314",family:"gpt",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-08-26",last_updated:"2024-08-26",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:27,output:54},limit:{context:8192,output:4096}},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o-mini",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-07-18",last_updated:"2024-07-18",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:.14,output:.54,cache_read:.068},limit:{context:128e3,output:4096}},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",family:"gpt",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.1,output:9,cache_read:.11},limit:{context:4e5,output:128e3}},"openai/dall-e-3":{id:"openai/dall-e-3",name:"DALL-E-3",family:"dall-e",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2023-11-06",last_updated:"2023-11-06",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:800,output:0}},"openai/sora-2-pro":{id:"openai/sora-2-pro",name:"Sora-2-Pro",family:"sora",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-10-06",last_updated:"2025-10-06",modalities:{input:["text","image"],output:["video"]},open_weights:false,limit:{context:0,output:0}},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5-Pro",family:"gpt-pro",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-10-06",last_updated:"2025-10-06",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:14,output:110},limit:{context:4e5,output:128e3}},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-12-08",last_updated:"2025-12-08",modalities:{input:["text","image"],output:["text"]},open_weights:false,cost:{input:1.6,output:13,cache_read:.16},limit:{context:4e5,output:128e3}},"openai/gpt-4o-mini-search":{id:"openai/gpt-4o-mini-search",name:"GPT-4o-mini-Search",family:"gpt-mini",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-03-11",last_updated:"2025-03-11",modalities:{input:["text"],output:["text"]},open_weights:false,cost:{input:.14,output:.54},limit:{context:128e3,output:8192}},"stabilityai/stablediffusionxl":{id:"stabilityai/stablediffusionxl",name:"StableDiffusionXL",family:"stable-diffusion",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2023-07-09",last_updated:"2023-07-09",modalities:{input:["text","image"],output:["image"]},open_weights:false,limit:{context:200,output:0}},"topazlabs-co/topazlabs":{id:"topazlabs-co/topazlabs",name:"TopazLabs",family:"topazlabs",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-12-03",last_updated:"2024-12-03",modalities:{input:["text"],output:["image"]},open_weights:false,limit:{context:204,output:0}},"lumalabs/ray2":{id:"lumalabs/ray2",name:"Ray2",family:"ray",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-02-20",last_updated:"2025-02-20",modalities:{input:["text","image"],output:["video"]},open_weights:false,limit:{context:5e3,output:0}},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude-Opus-4",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-05-21",last_updated:"2025-05-21",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:13,output:64,cache_read:1.3,cache_write:16},limit:{context:192512,output:28672}},"anthropic/claude-sonnet-3.7":{id:"anthropic/claude-sonnet-3.7",name:"Claude-Sonnet-3.7",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-02-19",last_updated:"2025-02-19",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:2.6,output:13,cache_read:.26,cache_write:3.2},limit:{context:196608,output:128e3}},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude-Haiku-4.5",family:"claude-haiku",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-10-15",last_updated:"2025-10-15",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.85,output:4.3,cache_read:.085,cache_write:1.1},limit:{context:192e3,output:64e3}},"anthropic/claude-haiku-3":{id:"anthropic/claude-haiku-3",name:"Claude-Haiku-3",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-03-09",last_updated:"2024-03-09",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.21,output:1.1,cache_read:.021,cache_write:.26},limit:{context:189096,output:8192}},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude-Opus-4.1",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:13,output:64,cache_read:1.3,cache_write:16},limit:{context:196608,output:32e3}},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude-Sonnet-4.6",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2026-02-05",last_updated:"2026-02-05",modalities:{input:["text","pdf"],output:["text"]},open_weights:false,cost:{input:2.6,output:13,cache_read:.26,cache_write:3.2},limit:{context:983040,output:128e3}},"anthropic/claude-sonnet-3.5":{id:"anthropic/claude-sonnet-3.5",name:"Claude-Sonnet-3.5",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-06-05",last_updated:"2024-06-05",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:2.6,output:13,cache_read:.26,cache_write:3.2},limit:{context:189096,output:8192}},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude-Sonnet-4",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-05-21",last_updated:"2025-05-21",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:2.6,output:13,cache_read:.26,cache_write:3.2},limit:{context:983040,output:64e3}},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude-Opus-4.5",family:"claude-opus",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-11-21",last_updated:"2025-11-21",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:4.3,output:21,cache_read:.43,cache_write:5.3},limit:{context:196608,output:64e3}},"anthropic/claude-haiku-3.5":{id:"anthropic/claude-haiku-3.5",name:"Claude-Haiku-3.5",family:"claude-haiku",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-10-01",last_updated:"2024-10-01",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:.68,output:3.4,cache_read:.068,cache_write:.85},limit:{context:189096,output:8192}},"anthropic/claude-sonnet-3.5-june":{id:"anthropic/claude-sonnet-3.5-june",name:"Claude-Sonnet-3.5-June",family:"claude-sonnet",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-11-18",last_updated:"2024-11-18",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:2.6,output:13,cache_read:.26,cache_write:3.2},limit:{context:189096,output:8192}},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude-Sonnet-4.5",family:"claude-sonnet",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-09-26",last_updated:"2025-09-26",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:2.6,output:13,cache_read:.26,cache_write:3.2},limit:{context:983040,output:32768}},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude-Opus-4.6",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2026-02-04",last_updated:"2026-02-04",modalities:{input:["text","image","pdf"],output:["text"]},open_weights:false,cost:{input:4.3,output:21,cache_read:.43,cache_write:5.3},limit:{context:983040,output:128e3}},"trytako/tako":{id:"trytako/tako",name:"Tako",family:"tako",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2024-08-15",last_updated:"2024-08-15",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:2048,output:0}},"novita/glm-4.7":{id:"novita/glm-4.7",name:"glm-4.7",attachment:true,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:205e3,output:131072}},"novita/kimi-k2.5":{id:"novita/kimi-k2.5",name:"kimi-k2.5",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2026-01-27",last_updated:"2026-01-27",modalities:{input:["text","image","video"],output:["text"]},open_weights:false,limit:{context:256e3,output:262144}},"novita/glm-4.7-flash":{id:"novita/glm-4.7-flash",name:"glm-4.7-flash",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2026-01-19",last_updated:"2026-01-19",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:2e5,output:65500}},"novita/kimi-k2-thinking":{id:"novita/kimi-k2-thinking",name:"kimi-k2-thinking",family:"kimi",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-11-07",last_updated:"2025-11-07",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:256e3,output:0}},"novita/glm-4.6":{id:"novita/glm-4.6",name:"GLM-4.6",family:"glm",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-09-30",last_updated:"2025-09-30",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:0,output:0}},"novita/glm-4.7-n":{id:"novita/glm-4.7-n",name:"glm-4.7-n",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-12-22",last_updated:"2025-12-22",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:205e3,output:131072}},"novita/minimax-m2.1":{id:"novita/minimax-m2.1",name:"minimax-m2.1",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-12-26",last_updated:"2025-12-26",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:205e3,output:131072}},"novita/glm-4.6v":{id:"novita/glm-4.6v",name:"glm-4.6v",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-12-09",last_updated:"2025-12-09",modalities:{input:["text","image"],output:["text"]},open_weights:false,limit:{context:131e3,output:32768}},"cerebras/llama-3.1-8b-cs":{id:"cerebras/llama-3.1-8b-cs",name:"llama-3.1-8b-cs",attachment:true,reasoning:false,tool_call:true,temperature:false,release_date:"2025-05-13",last_updated:"2025-05-13",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:0,output:0}},"cerebras/gpt-oss-120b-cs":{id:"cerebras/gpt-oss-120b-cs",name:"gpt-oss-120b-cs",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-08-06",last_updated:"2025-08-06",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:0,output:0}},"cerebras/qwen3-235b-2507-cs":{id:"cerebras/qwen3-235b-2507-cs",name:"qwen3-235b-2507-cs",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-08-06",last_updated:"2025-08-06",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:0,output:0}},"cerebras/qwen3-32b-cs":{id:"cerebras/qwen3-32b-cs",name:"qwen3-32b-cs",attachment:true,reasoning:true,tool_call:true,temperature:false,release_date:"2025-05-15",last_updated:"2025-05-15",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:0,output:0}},"cerebras/llama-3.3-70b-cs":{id:"cerebras/llama-3.3-70b-cs",name:"llama-3.3-70b-cs",attachment:true,reasoning:false,tool_call:false,temperature:false,release_date:"2025-05-13",last_updated:"2025-05-13",modalities:{input:["text"],output:["text"]},open_weights:false,limit:{context:0,output:0}}}},"minimax-cn-coding-plan":{id:"minimax-cn-coding-plan",env:["MINIMAX_API_KEY"],npm:"@ai-sdk/anthropic",api:"https://api.minimaxi.com/anthropic/v1",name:"MiniMax Coding Plan (minimaxi.com)",doc:"https://platform.minimaxi.com/docs/coding-plan/intro",models:{"MiniMax-M2":{id:"MiniMax-M2",name:"MiniMax-M2",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-10-27",last_updated:"2025-10-27",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:196608,output:128e3}},"MiniMax-M2.5-highspeed":{id:"MiniMax-M2.5-highspeed",name:"MiniMax-M2.5-highspeed",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-13",last_updated:"2026-02-13",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:204800,output:131072}},"MiniMax-M2.1":{id:"MiniMax-M2.1",name:"MiniMax-M2.1",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-12-23",last_updated:"2025-12-23",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0},limit:{context:204800,output:131072}},"MiniMax-M2.5":{id:"MiniMax-M2.5",name:"MiniMax-M2.5",family:"minimax",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2026-02-12",last_updated:"2026-02-12",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:0,output:0,cache_read:0,cache_write:0},limit:{context:204800,output:131072}}}},cerebras:{id:"cerebras",env:["CEREBRAS_API_KEY"],npm:"@ai-sdk/cerebras",name:"Cerebras",doc:"https://inference-docs.cerebras.ai/models/overview",models:{"zai-glm-4.7":{id:"zai-glm-4.7",name:"Z.AI GLM-4.7",attachment:false,reasoning:false,tool_call:true,temperature:true,release_date:"2026-01-10",last_updated:"2026-01-10",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:2.25,output:2.75,cache_read:0,cache_write:0},limit:{context:131072,output:4e4}},"qwen-3-235b-a22b-instruct-2507":{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen 3 235B Instruct",family:"qwen",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2025-04",release_date:"2025-07-22",last_updated:"2025-07-22",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.6,output:1.2},limit:{context:131e3,output:32e3}},"llama3.1-8b":{id:"llama3.1-8b",name:"Llama 3.1 8B",family:"llama",attachment:false,reasoning:false,tool_call:true,temperature:true,knowledge:"2023-12",release_date:"2025-01-01",last_updated:"2025-01-01",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.1,output:.1},limit:{context:32e3,output:8e3}},"gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT OSS 120B",family:"gpt-oss",attachment:false,reasoning:true,tool_call:true,temperature:true,release_date:"2025-08-05",last_updated:"2025-08-05",modalities:{input:["text"],output:["text"]},open_weights:true,cost:{input:.25,output:.69},limit:{context:131072,output:32768}}}}};});var Gw={};Be(Gw,{ModelsDev:()=>ya,initModelsRefresh:()=>_f});function _f(){xe.EASBOT_DISABLE_MODELS_FETCH||(ya.refresh(),setInterval(async()=>{await ya.refresh();},60*1e3*60).unref());}var ya,ms=j(()=>{I();_t();ne();Za();_o();(l=>{let t=O.create({service:"models.dev"}),e=Oe__default.join(ce.Path.cache,"models.json");l.Model=Y.object({id:Y.string(),name:Y.string(),family:Y.string().optional(),release_date:Y.string(),attachment:Y.boolean(),reasoning:Y.boolean(),temperature:Y.boolean(),tool_call:Y.boolean(),interleaved:Y.union([Y.literal(true),Y.object({field:Y.enum(["reasoning_content","reasoning_details"])}).strict()]).optional(),cost:Y.object({input:Y.number(),output:Y.number(),cache_read:Y.number().optional(),cache_write:Y.number().optional(),context_over_200k:Y.object({input:Y.number(),output:Y.number(),cache_read:Y.number().optional(),cache_write:Y.number().optional()}).optional()}).optional(),limit:Y.object({context:Y.number(),input:Y.number().optional(),output:Y.number()}),modalities:Y.object({input:Y.array(Y.enum(["text","audio","image","video","pdf"])),output:Y.array(Y.enum(["text","audio","image","video","pdf"]))}).optional(),experimental:Y.boolean().optional(),status:Y.enum(["alpha","beta","deprecated"]).optional(),options:Y.record(Y.string(),Y.any()),headers:Y.record(Y.string(),Y.string()).optional(),provider:Y.object({npm:Y.string()}).optional(),variants:Y.record(Y.string(),Y.record(Y.string(),Y.any())).optional()}),l.Provider=Y.object({api:Y.string().optional(),name:Y.string(),env:Y.array(Y.string()),id:Y.string(),npm:Y.string().optional(),models:Y.record(Y.string(),l.Model)});function n(){return xe.EASBOT_MODELS_URL||"https://models.dev"}l.Data=lazy(async()=>{let c=xe.EASBOT_MODELS_PATH??e,p=await Io__default.readFile(c,"utf-8").then(m=>JSON.parse(m)).catch(()=>{});if(p)return p;let g=await Promise.resolve().then(()=>(jw(),Nw)).then(m=>m.snapshot).catch(()=>{});if(g)return g;if(xe.EASBOT_DISABLE_MODELS_FETCH)return {};let u=await fetch(`${n()}/api.json`).then(m=>m.text());return JSON.parse(u)});async function s(){return await(0, l.Data)()}l.get=s;async function r(){try{let c=await fetch(`${n()}/api.json`,{headers:{"User-Agent":`EasBot/${vt.getVersion()}`}});c?.ok&&(await Io__default.writeFile(e,await c.text()),l.Data.reset());}catch(c){t.warn("Failed to refresh models from models.dev, using cached or snapshot data",{error:c instanceof Error?c.message:String(c),url:n()});}}l.refresh=r;})(ya||(ya={}));});var wi,Pd=j(()=>{I();_t();ne();Me();_o();(W=>{let t=O.create({service:"lsp.server"}),e=async J=>Io__default.stat(J).then(()=>true).catch(()=>false),o=(J,G)=>async te=>{if(G){let me=Filesystem.up({targets:G,start:Oe__default.dirname(te),stop:D.directory}),fe=await me.next();if(await me.return(void 0),fe.value)return}let re=Filesystem.up({targets:J,start:Oe__default.dirname(te),stop:D.directory}),ie=await re.next();return await re.return(void 0),ie.value?Oe__default.dirname(ie.value):D.directory};W.ServerInitTimeout={bash:3e4,json:3e4,yaml:3e4,dockerfile:3e4,terraform:6e4,lua:6e4,zls:6e4,nixd:6e4,deno:6e4,biome:6e4,oxlint:6e4,gopls:9e4,eslint:9e4,ruby_lsp:9e4,pyright:9e4,ty:9e4,elixir_ls:9e4,prisma:9e4,dart:9e4,ocaml_lsp:9e4,svelte:9e4,astro:9e4,gleam:9e4,tinymist:9e4,clojure_lsp:9e4,intelephense:9e4,typescript:18e4,vue:18e4,rust:18e4,clangd:18e4,csharp:18e4,fsharp:18e4,sourcekit_lsp:18e4,kotlin_ls:18e4,texlab:18e4,jdtls:3e5,haskell_language_server:3e5};function n(J){if(J in W.ServerInitTimeout)return W.ServerInitTimeout[J];let G=J.replace(/\s+/g,"_");if(G in W.ServerInitTimeout)return W.ServerInitTimeout[G];let te=J.split(/\s+/).pop();return te&&te in W.ServerInitTimeout?W.ServerInitTimeout[te]:xe.EASBOT_LSP_INIT_TIMEOUT}W.getServerInitTimeout=n,W.Deno={id:"deno",initTimeout:W.ServerInitTimeout.deno,root:async J=>{let G=Filesystem.up({targets:["deno.json","deno.jsonc"],start:Oe__default.dirname(J),stop:D.directory}),te=await G.next();if(await G.return(void 0),!!te.value)return Oe__default.dirname(te.value)},extensions:[".ts",".tsx",".js",".jsx",".mjs"],async spawn(J){let G=await PKG.which("deno");if(!G){t.info("deno not found, please install deno first");return}return {process:PKG.spawn([G,"lsp"],{cwd:J})}}},W.Typescript={id:"typescript",root:o(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"],["deno.json","deno.jsonc"]),extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts"],initTimeout:W.ServerInitTimeout.typescript,async spawn(J){t.info("typescript server spawn",{PATH:process.env.PATH});let G=await PKG.which("typescript-language-server");if(t.info("typescript-language-server found",{binary:G}),!G){let re=await PKG.resolve("typescript-language-server",D.directory).catch(()=>{});re&&(G=re,t.info("typescript-language-server resolved",{binary:G}));}if(!G){t.error("typescript-language-server not found, please install it: npm install -g typescript-language-server");return}return t.info("typescript server starting",{binary:G}),{process:PKG.spawn([G,"--stdio"],{cwd:J,env:{...process.env}})}}},W.Vue={id:"vue",initTimeout:W.ServerInitTimeout.vue,extensions:[".vue"],root:o(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),async spawn(J){let G=await PKG.which("vue-language-server"),te=[];if(!G){let me=Oe__default.join(ce.Path.bin,"node_modules","@vue","language-server","bin","vue-language-server.js");if(!await PKG.file(me).exists()){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;let oe=await PKG.which();if(!oe)return;await PKG.spawn([oe,"install","@vue/language-server"],{cwd:ce.Path.bin,env:{...process.env},stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited;}let fe=await PKG.which();if(!fe)return;G=fe,te.push("run",me);}if(!G)return;let re=await PKG.which();return re?{process:PKG.spawn([re,...te],{cwd:J}),initialization:{}}:void 0}},W.ESLint={id:"eslint",initTimeout:W.ServerInitTimeout.eslint,root:o(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts",".vue"],async spawn(J){if(!await PKG.resolve("eslint",D.directory).catch(()=>{}))return;t.info("spawning eslint server");let te=Oe__default.join(ce.Path.bin,"vscode-eslint","server","out","eslintServer.js");if(!await PKG.file(te).exists()){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;t.info("downloading and building VS Code ESLint server");let me=await fetch("https://github.com/microsoft/vscode-eslint/archive/refs/heads/main.zip");if(!me.ok)return;let fe=Oe__default.join(ce.Path.bin,"vscode-eslint.zip");if(await PKG.write(fe,me),!await Archive.extractZip(fe,ce.Path.bin).then(()=>true).catch(_e=>(t.error("Failed to extract vscode-eslint archive",{error:_e}),false)))return;await Io__default.rm(fe,{force:true});let Z=Oe__default.join(ce.Path.bin,"vscode-eslint-main"),ge=Oe__default.join(ce.Path.bin,"vscode-eslint");await Io__default.stat(ge).catch(()=>{})&&(t.info("removing old eslint installation",{path:ge}),await Io__default.rm(ge,{force:true,recursive:true})),await Io__default.rename(Z,ge);let de=process.platform==="win32"?"npm.cmd":"npm";await $`${de} install`.cwd(ge).quiet(),await $`${de} run compile`.cwd(ge).quiet(),t.info("installed VS Code ESLint server",{serverPath:te});}let re=await PKG.which();return re?{process:PKG.spawn([re,te,"--stdio"],{cwd:J,env:{...process.env}})}:void 0}},W.Oxlint={id:"oxlint",initTimeout:W.ServerInitTimeout.oxlint,root:o([".oxlintrc.json","package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock","package.json"]),extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts",".vue",".astro",".svelte"],async spawn(J){let G=process.platform==="win32"?".cmd":"",te=Oe__default.join("node_modules",".bin","oxc_language_server"+G),re=Oe__default.join("node_modules",".bin","oxlint"+G),ie=async oe=>{let Z=Oe__default.join(J,oe);if(await PKG.file(Z).exists())return Z;let ge=Filesystem.up({targets:[oe],start:J,stop:D.worktree}),ue=await ge.next();if(await ge.return(void 0),ue.value)return ue.value},me=await ie(re);if(!me){let oe=await PKG.which("oxlint");oe&&(me=oe);}if(me){let oe=PKG.spawn([me,"--help"],{stdout:"pipe"});if(await oe.exited,(await PKG.nodeReadableStreamToText(oe.stdout)).includes("--lsp"))return {process:PKG.spawn([me,"--lsp"],{cwd:J})}}let fe=await ie(te);if(!fe){let oe=await PKG.which("oxc_language_server");oe&&(fe=oe);}if(fe)return {process:PKG.spawn([fe],{cwd:J})};t.info("oxlint not found, please install oxlint");}},W.Biome={id:"biome",initTimeout:W.ServerInitTimeout.biome,root:o(["biome.json","biome.jsonc","package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts",".json",".jsonc",".vue",".astro",".svelte",".css",".graphql",".gql",".html"],async spawn(J){let G=process.platform==="win32",te=Oe__default.join(J,"node_modules",".bin",G?"biome.cmd":"biome");if(await PKG.file(te).exists())return {process:PKG.spawn([te,"lsp-proxy","--stdio"],{cwd:J,env:process.env})};let re=await PKG.which("biome");if(re)return {process:PKG.spawn([re,"lsp-proxy","--stdio"],{cwd:J,env:process.env})};if(G){let oe=await PKG.which("biome.cmd");if(oe)return {process:PKG.spawn([oe,"lsp-proxy","--stdio"],{cwd:J,env:process.env})}}let ie=Oe__default.join(ce.Path.bin,"node_modules","@biomejs","biome","bin","biome");if(!await PKG.file(ie).exists()){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD){t.info("Biome LSP download disabled by flag");return}t.info("Installing @biomejs/biome...");let oe=await PKG.which();if(!oe){t.warn("Package manager not found");return}try{await PKG.spawn([oe,"install","@biomejs/biome"],{cwd:ce.Path.bin,env:process.env,stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited,t.info("Biome installed successfully");}catch(Z){t.error("Failed to install biome",{error:Z});return}}let me=await PKG.which();return me?{process:PKG.spawn([me,"run",ie,"lsp-proxy","--stdio"],{cwd:J,env:process.env,timeout:false})}:void 0}},W.Gopls={id:"gopls",initTimeout:W.ServerInitTimeout.gopls,root:async J=>{let G=await o(["go.work"])(J);return G||o(["go.mod","go.sum"])(J)},extensions:[".go"],async spawn(J){let G=await PKG.which("gopls",{PATH:process.env.PATH+Oe__default.delimiter+ce.Path.bin});if(!G){if(!await PKG.which("go")||xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;if(t.info("installing gopls"),await PKG.spawn({cmd:["go","install","golang.org/x/tools/gopls@latest"],env:{...process.env,GOBIN:ce.Path.bin},stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){t.error("Failed to install gopls");return}G=Oe__default.join(ce.Path.bin,"gopls"+(process.platform==="win32"?".exe":"")),t.info("installed gopls",{bin:G});}if(G)return {process:PKG.spawn([G],{cwd:J})}}},W.Rubocop={id:"ruby-lsp",initTimeout:W.ServerInitTimeout.ruby_lsp,root:o(["Gemfile"]),extensions:[".rb",".rake",".gemspec",".ru"],async spawn(J){let G=await PKG.which("rubocop",{PATH:process.env.PATH+Oe__default.delimiter+ce.Path.bin});if(!G){let te=await PKG.which("ruby"),re=await PKG.which("gem");if(!te||!re){t.info("Ruby not found, please install Ruby first");return}if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;if(t.info("installing rubocop"),await PKG.spawn({cmd:["gem","install","rubocop","--bindir",ce.Path.bin],stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){t.error("Failed to install rubocop");return}G=Oe__default.join(ce.Path.bin,"rubocop"+(process.platform==="win32"?".exe":"")),t.info("installed rubocop",{bin:G});}if(G)return {process:PKG.spawn([G,"--lsp"],{cwd:J})}}},W.Ty={id:"ty",initTimeout:W.ServerInitTimeout.ty,extensions:[".py",".pyi"],root:o(["pyproject.toml","ty.toml","setup.py","setup.cfg","requirements.txt","Pipfile","pyrightconfig.json"]),async spawn(J){if(!xe.EASBOT_EXPERIMENTAL_LSP_TY)return;let G=await PKG.which("ty"),te={},re=[process.env.VIRTUAL_ENV,Oe__default.join(J,".venv"),Oe__default.join(J,"venv")].filter(me=>me!==void 0);for(let me of re){let oe=process.platform==="win32"?Oe__default.join(me,"Scripts","python.exe"):Oe__default.join(me,"bin","python");if(await PKG.file(oe).exists()){te.pythonPath=oe;break}}if(!G)for(let me of re){let oe=process.platform==="win32"?Oe__default.join(me,"Scripts","ty.exe"):Oe__default.join(me,"bin","ty");if(await PKG.file(oe).exists()){G=oe;break}}if(!G){t.error("ty not found, please install ty first");return}return {process:PKG.spawn([G,"server"],{cwd:J}),initialization:te}}},W.Pyright={id:"pyright",initTimeout:W.ServerInitTimeout.pyright,extensions:[".py",".pyi"],root:o(["pyproject.toml","setup.py","setup.cfg","requirements.txt","Pipfile","pyrightconfig.json"]),async spawn(J){let G=await PKG.which("pyright-langserver"),te=[];if(!G){let fe=Oe__default.join(ce.Path.bin,"node_modules","pyright","dist","pyright-langserver.js");if(!await PKG.file(fe).exists()){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;let Z=await PKG.which();if(!Z)return;await PKG.spawn([Z,"install","pyright"],{cwd:ce.Path.bin,env:{...process.env}}).exited;}let oe=await PKG.which();if(!oe)return;G=oe,te.push("run",fe);}te.push("--stdio");let re={},ie=[process.env.VIRTUAL_ENV,Oe__default.join(J,".venv"),Oe__default.join(J,"venv")].filter(fe=>fe!==void 0);for(let fe of ie){let Z=process.platform==="win32"?Oe__default.join(fe,"Scripts","python.exe"):Oe__default.join(fe,"bin","python");if(await PKG.file(Z).exists()){re.pythonPath=Z;break}}return G?{process:PKG.spawn([G,...te],{cwd:J,env:{...process.env}}),initialization:re}:void 0}},W.ElixirLS={id:"elixir-ls",initTimeout:W.ServerInitTimeout.elixir_ls,extensions:[".ex",".exs"],root:o(["mix.exs","mix.lock"]),async spawn(J){let G=await PKG.which("elixir-ls");if(!G){let te=Oe__default.join(ce.Path.bin,"elixir-ls");if(G=Oe__default.join(ce.Path.bin,"elixir-ls-master","release",process.platform==="win32"?"language_server.bat":"language_server.sh"),!await PKG.file(G).exists()){if(!await PKG.which("elixir")){t.error("elixir is required to run elixir-ls");return}if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;t.info("downloading elixir-ls from GitHub releases");let ie=await fetch("https://github.com/elixir-lsp/elixir-ls/archive/refs/heads/master.zip");if(!ie.ok)return;let me=Oe__default.join(ce.Path.bin,"elixir-ls.zip");if(await PKG.write(me,ie),!await Archive.extractZip(me,ce.Path.bin).then(()=>true).catch(oe=>(t.error("Failed to extract elixir-ls archive",{error:oe}),false)))return;await Io__default.rm(me,{force:true,recursive:true}),await $`mix deps.get && mix compile && mix elixir_ls.release2 -o release`.quiet().cwd(Oe__default.join(ce.Path.bin,"elixir-ls-master")).env({MIX_ENV:"prod",...process.env}),t.info("installed elixir-ls",{path:te});}}if(G)return {process:PKG.spawn([G],{cwd:J})}}},W.Zls={id:"zls",initTimeout:W.ServerInitTimeout.zls,extensions:[".zig",".zon"],root:o(["build.zig"]),async spawn(J){let G=await PKG.which("zls",{PATH:process.env.PATH+Oe__default.delimiter+ce.Path.bin});if(!G){if(!await PKG.which("zig")){t.error("Zig is required to use zls. Please install Zig first.");return}if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;t.info("downloading zls from GitHub releases");let re=await fetch("https://api.github.com/repos/zigtools/zls/releases/latest");if(!re.ok){t.error("Failed to fetch zls release info");return}let ie=await re.json(),me=process.platform,fe=process.arch,oe="",Z=fe;fe==="arm64"?Z="aarch64":fe==="x64"?Z="x86_64":fe==="ia32"&&(Z="x86");let ge=me;me==="darwin"?ge="macos":me==="win32"&&(ge="windows");let ue=me==="win32"?"zip":"tar.xz";if(oe=`zls-${Z}-${ge}.${ue}`,!["zls-x86_64-linux.tar.xz","zls-x86_64-macos.tar.xz","zls-x86_64-windows.zip","zls-aarch64-linux.tar.xz","zls-aarch64-macos.tar.xz","zls-aarch64-windows.zip","zls-x86-linux.tar.xz","zls-x86-windows.zip"].includes(oe)){t.error(`Platform ${me} and architecture ${fe} is not supported by zls`);return}let _e=ie.assets.find(ke=>ke.name===oe);if(!_e){t.error(`Could not find asset ${oe} in latest zls release`);return}let Le=_e.browser_download_url,Ae=await fetch(Le);if(!Ae.ok){t.error("Failed to download zls");return}let Ie=Oe__default.join(ce.Path.bin,oe);if(await PKG.write(Ie,Ae),ue==="zip"){if(!await Archive.extractZip(Ie,ce.Path.bin).then(()=>true).catch(be=>(t.error("Failed to extract zls archive",{error:be}),false)))return}else await $`tar -xf ${Ie}`.cwd(ce.Path.bin).quiet().nothrow();if(await Io__default.rm(Ie,{force:true}),G=Oe__default.join(ce.Path.bin,"zls"+(me==="win32"?".exe":"")),!await PKG.file(G).exists()){t.error("Failed to extract zls binary");return}me!=="win32"&&await $`chmod +x ${G}`.quiet().nothrow(),t.info("installed zls",{bin:G});}return {process:PKG.spawn([G],{cwd:J})}}},W.CSharp={id:"csharp",initTimeout:W.ServerInitTimeout.csharp,root:o([".slnx",".sln",".csproj","global.json"]),extensions:[".cs"],async spawn(J){let G=await PKG.which("csharp-ls",{PATH:process.env.PATH+Oe__default.delimiter+ce.Path.bin});if(!G){if(!await PKG.which("dotnet")){t.error(".NET SDK is required to install csharp-ls");return}if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;if(t.info("installing csharp-ls via dotnet tool"),await PKG.spawn({cmd:["dotnet","tool","install","csharp-ls","--tool-path",ce.Path.bin],stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){t.error("Failed to install csharp-ls");return}G=Oe__default.join(ce.Path.bin,"csharp-ls"+(process.platform==="win32"?".exe":"")),t.info("installed csharp-ls",{bin:G});}return {process:PKG.spawn([G],{cwd:J})}}},W.FSharp={id:"fsharp",initTimeout:W.ServerInitTimeout.fsharp,root:o([".slnx",".sln",".fsproj","global.json"]),extensions:[".fs",".fsi",".fsx",".fsscript"],async spawn(J){let G=await PKG.which("fsautocomplete",{PATH:process.env.PATH+Oe__default.delimiter+ce.Path.bin});if(!G){if(!await PKG.which("dotnet")){t.error(".NET SDK is required to install fsautocomplete");return}if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;if(t.info("installing fsautocomplete via dotnet tool"),await PKG.spawn({cmd:["dotnet","tool","install","fsautocomplete","--tool-path",ce.Path.bin],stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){t.error("Failed to install fsautocomplete");return}G=Oe__default.join(ce.Path.bin,"fsautocomplete"+(process.platform==="win32"?".exe":"")),t.info("installed fsautocomplete",{bin:G});}if(G)return {process:PKG.spawn([G],{cwd:J})}}},W.SourceKit={id:"sourcekit-lsp",initTimeout:W.ServerInitTimeout.sourcekit_lsp,extensions:[".swift",".objc","objcpp"],root:o(["Package.swift","*.xcodeproj","*.xcworkspace"]),async spawn(J){let G=await PKG.which("sourcekit-lsp");if(G)return {process:PKG.spawn([G],{cwd:J})};if(!await PKG.which("xcrun"))return;let re=await $`xcrun --find sourcekit-lsp`.quiet().nothrow();if(re.exitCode!==0)return;let ie=await re.text();if(ie)return {process:PKG.spawn([ie.trim()],{cwd:J})}}},W.RustAnalyzer={id:"rust",initTimeout:W.ServerInitTimeout.rust,root:async J=>{let G=await o(["Cargo.toml","Cargo.lock"])(J);if(G===void 0)return;let te=G;for(;te!==Oe__default.dirname(te);){let re=Oe__default.join(te,"Cargo.toml");try{if((await PKG.file(re).text()).includes("[workspace]"))return te}catch{}let ie=Oe__default.dirname(te);if(ie===te||(te=ie,!te.startsWith(D.worktree)))break}return G},extensions:[".rs"],async spawn(J){let G=await PKG.which("rust-analyzer");if(!G){t.info("rust-analyzer not found in path, please install it");return}return {process:PKG.spawn([G],{cwd:J})}}},W.Clangd={id:"clangd",initTimeout:W.ServerInitTimeout.clangd,root:o(["compile_commands.json","compile_flags.txt",".clangd","CMakeLists.txt","Makefile"]),extensions:[".c",".cpp",".cc",".cxx",".c++",".h",".hpp",".hh",".hxx",".h++"],async spawn(J){let G=["--background-index","--clang-tidy"],te=await PKG.which("clangd");if(te)return {process:PKG.spawn([te,...G],{cwd:J})};let re=process.platform==="win32"?".exe":"",ie=Oe__default.join(ce.Path.bin,"clangd"+re);if(await PKG.file(ie).exists())return {process:PKG.spawn([ie,...G],{cwd:J})};let me=await Io__default.readdir(ce.Path.bin,{withFileTypes:true}).catch(()=>[]);for(let Ee of me){if(!Ee.isDirectory()||!Ee.name.startsWith("clangd_"))continue;let Wt=Oe__default.join(ce.Path.bin,Ee.name,"bin","clangd"+re);if(await PKG.file(Wt).exists())return {process:PKG.spawn([Wt,...G],{cwd:J})}}if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;t.info("downloading clangd from GitHub releases");let fe=await fetch("https://api.github.com/repos/clangd/clangd/releases/latest");if(!fe.ok){t.error("Failed to fetch clangd release info");return}let oe=await fe.json(),Z=oe.tag_name;if(!Z){t.error("clangd release did not include a tag name");return}let ge=process.platform,de={darwin:"mac",linux:"linux",win32:"windows"}[ge];if(!de){t.error(`Platform ${ge} is not supported by clangd auto-download`);return}let _e=oe.assets??[],Le=Ee=>!Ee.name||!Ee.browser_download_url||!Ee.name.includes(de)?false:Ee.name.includes(Z),Ae=_e.find(Ee=>Le(Ee)&&Ee.name?.endsWith(".zip"))??_e.find(Ee=>Le(Ee)&&Ee.name?.endsWith(".tar.xz"))??_e.find(Ee=>Le(Ee));if(!Ae?.name||!Ae.browser_download_url){t.error("clangd could not match release asset",{tag:Z,platform:ge});return}let Ie=Ae.name,ke=await fetch(Ae.browser_download_url);if(!ke.ok){t.error("Failed to download clangd");return}let be=Oe__default.join(ce.Path.bin,Ie),$e=await ke.arrayBuffer();if($e.byteLength===0){t.error("Failed to write clangd archive");return}await PKG.write(be,Buffer.from($e));let pe=Ie.endsWith(".zip"),ve=Ie.endsWith(".tar.xz");if(!pe&&!ve){t.error("clangd encountered unsupported asset",{asset:Ie});return}if(pe&&!await Archive.extractZip(be,ce.Path.bin).then(()=>true).catch(Wt=>(t.error("Failed to extract clangd archive",{error:Wt}),false)))return;ve&&await $`tar -xf ${be}`.cwd(ce.Path.bin).quiet().nothrow(),await Io__default.rm(be,{force:true});let Ue=Oe__default.join(ce.Path.bin,"clangd_"+Z,"bin","clangd"+re);if(!await PKG.file(Ue).exists()){t.error("Failed to extract clangd binary");return}return ge!=="win32"&&await $`chmod +x ${Ue}`.quiet().nothrow(),await Io__default.unlink(Oe__default.join(ce.Path.bin,"clangd")).catch(()=>{}),await Io__default.symlink(Ue,Oe__default.join(ce.Path.bin,"clangd")).catch(()=>{}),t.info("installed clangd",{bin:Ue}),{process:PKG.spawn([Ue,...G],{cwd:J})}}},W.Svelte={id:"svelte",initTimeout:W.ServerInitTimeout.svelte,extensions:[".svelte"],root:o(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),async spawn(J){let G=await PKG.which("svelteserver"),te=[];if(!G){let ie=Oe__default.join(ce.Path.bin,"node_modules","svelte-language-server","bin","server.js");if(!await PKG.file(ie).exists()){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;let fe=await PKG.which();if(!fe)return;await PKG.spawn([fe,"install","svelte-language-server"],{cwd:ce.Path.bin,env:{...process.env},stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited;}let me=await PKG.which();if(!me)return;G=me,te.push("run",ie);}return G?(te.push("--stdio"),{process:PKG.spawn([G,...te],{cwd:J,env:{...process.env}}),initialization:{}}):void 0}},W.Astro={id:"astro",initTimeout:W.ServerInitTimeout.astro,extensions:[".astro"],root:o(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),async spawn(J){let G=await PKG.resolve("typescript/lib/tsserver.js",D.directory).catch(()=>{});if(!G){t.info("typescript not found, required for Astro language server");return}let te=Oe__default.dirname(G),re=await PKG.which("astro-ls"),ie=[];if(!re){let fe=Oe__default.join(ce.Path.bin,"node_modules","@astrojs","language-server","bin","nodeServer.js");if(!await PKG.file(fe).exists()){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;let Z=await PKG.which();if(!Z)return;await PKG.spawn([Z,"install","@astrojs/language-server"],{cwd:ce.Path.bin,env:{...process.env},stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited;}let oe=await PKG.which();if(!oe)return;re=oe,ie.push("run",fe);}return re?(ie.push("--stdio"),{process:PKG.spawn([re,...ie],{cwd:J,env:{...process.env}}),initialization:{typescript:{tsdk:te}}}):void 0}},W.JDTLS={id:"jdtls",initTimeout:W.ServerInitTimeout.jdtls,root:o(["pom.xml","build.gradle","build.gradle.kts",".project",".classpath"]),extensions:[".java"],async spawn(J){let G=await PKG.which("java");if(!G){t.error("Java 21 or newer is required to run the JDTLS. Please install it first.");return}let te=await $`java -version`.quiet().nothrow(),re=(()=>{let _e=/"(\d+)\.\d+\.\d+"/.exec(te.stderr?.toString()??"");return _e?.[1]?parseInt(_e[1],10):void 0})();if(re==null||re<21){t.error("JDTLS requires at least Java 21.");return}let ie=Oe__default.join(ce.Path.bin,"jdtls"),me=Oe__default.join(ie,"plugins");if(!await e(me)){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;t.info("Downloading JDTLS LSP server."),await Io__default.mkdir(ie,{recursive:true});let _e="https://www.eclipse.org/downloads/download.php?file=/jdtls/snapshots/jdt-language-server-latest.tar.gz",Le="release.tar.gz";t.info("Downloading JDTLS archive",{url:_e,dest:ie});let Ae=await $`curl -L -o ${Le} '${_e}'`.cwd(ie).quiet().nothrow();if(Ae.exitCode!==0){t.error("Failed to download JDTLS",{exitCode:Ae.exitCode,stderr:Ae.stderr.toString()});return}t.info("Extracting JDTLS archive");let Ie=await $`tar -xzf ${Le}`.cwd(ie).quiet().nothrow();if(Ie.exitCode!==0){t.error("Failed to extract JDTLS",{exitCode:Ie.exitCode,stderr:Ie.stderr.toString()});return}await Io__default.rm(Oe__default.join(ie,Le),{force:true}),t.info("JDTLS download and extraction completed");}let Z=(await $`ls org.eclipse.equinox.launcher_*.jar`.cwd(me).quiet().nothrow()).stdout?.toString().trim();if(!Z){t.error(`Failed to find JDTLS launcher jar in ${me}.`);return}let ge=Oe__default.join(me,Z);if(!await e(ge)){t.error(`Failed to locate the JDTLS launcher module in the installed directory: ${ie}.`);return}let ue=Oe__default.join(ie,(()=>{switch(process.platform){case "darwin":return "config_mac";case "linux":return "config_linux";case "win32":return "config_win";default:return "config_linux"}})()),de=await Io__default.mkdtemp(Oe__default.join(cm.tmpdir(),"easbot-jdtls-data"));return {process:PKG.spawn([G,"-jar",ge,"-configuration",ue,"-data",de,"-Declipse.application=org.eclipse.jdt.ls.core.id1","-Dosgi.bundles.defaultStartLevel=4","-Declipse.product=org.eclipse.jdt.ls.core.product","-Dlog.level=ALL","--add-modules=ALL-SYSTEM","--add-opens java.base/java.util=ALL-UNNAMED","--add-opens java.base/java.lang=ALL-UNNAMED"],{cwd:J})}}},W.KotlinLS={id:"kotlin-ls",initTimeout:W.ServerInitTimeout.kotlin_ls,extensions:[".kt",".kts"],root:async J=>{let G=await o(["settings.gradle.kts","settings.gradle"])(J);if(G)return G;let te=await o(["gradlew","gradlew.bat"])(J);if(te)return te;let re=await o(["build.gradle.kts","build.gradle"])(J);return re||o(["pom.xml"])(J)},async spawn(J){let G=Oe__default.join(ce.Path.bin,"kotlin-ls"),te=process.platform==="win32"?Oe__default.join(G,"kotlin-lsp.cmd"):Oe__default.join(G,"kotlin-lsp.sh");if(!await PKG.file(te).exists()){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;t.info("Downloading Kotlin Language Server from GitHub.");let ie=await fetch("https://api.github.com/repos/Kotlin/kotlin-lsp/releases/latest");if(!ie.ok){t.error("Failed to fetch kotlin-lsp release info");return}let fe=(await ie.json()).name?.replace(/^v/,"");if(!fe){t.error("Could not determine Kotlin LSP version from release");return}let oe=process.platform,Z=process.arch,ge=Z;Z==="arm64"?ge="aarch64":Z==="x64"&&(ge="x64");let ue=oe;oe==="darwin"?ue="mac":oe==="linux"?ue="linux":oe==="win32"&&(ue="win");let de=["mac-x64","mac-aarch64","linux-x64","linux-aarch64","win-x64","win-aarch64"],_e=`${ue}-${ge}`;if(!de.includes(_e)){t.error(`Platform ${oe}/${Z} is not supported by Kotlin LSP`);return}let Le=`kotlin-lsp-${fe}-${ue}-${ge}.zip`,Ae=`https://download-cdn.jetbrains.com/kotlin-lsp/${fe}/${Le}`;await Io__default.mkdir(G,{recursive:true});let Ie=Oe__default.join(G,"kotlin-ls.zip");if(await $`curl -L -o '${Ie}' '${Ae}'`.quiet().nothrow(),!await Archive.extractZip(Ie,G).then(()=>true).catch(be=>(t.error("Failed to extract Kotlin LS archive",{error:be}),false)))return;await Io__default.rm(Ie,{force:true}),process.platform!=="win32"&&await $`chmod +x ${te}`.quiet().nothrow(),t.info("Installed Kotlin Language Server",{path:te});}if(!await PKG.file(te).exists()){t.error(`Failed to locate the Kotlin LS launcher script in the installed directory: ${G}.`);return}return {process:PKG.spawn([te,"--stdio"],{cwd:J})}}},W.YamlLS={id:"yaml-ls",initTimeout:W.ServerInitTimeout.yaml,extensions:[".yaml",".yml"],root:o(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),async spawn(J){let G=await PKG.which("yaml-language-server"),te=[];if(!G){let ie=Oe__default.join(ce.Path.bin,"node_modules","yaml-language-server","out","server","src","server.js");if(!await PKG.file(ie).exists()){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;let oe=await PKG.which();if(!oe)return;await PKG.spawn([oe,"install","yaml-language-server"],{cwd:ce.Path.bin,env:{...process.env},stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited;}let fe=await PKG.which();if(!fe)return;G=fe,te.push("run",ie);}return G?(te.push("--stdio"),{process:PKG.spawn([G,...te],{cwd:J,env:{...process.env}})}):void 0}},W.LuaLS={id:"lua-ls",initTimeout:W.ServerInitTimeout.lua,root:o([".luarc.json",".luarc.jsonc",".luacheckrc",".stylua.toml","stylua.toml","selene.toml","selene.yml"]),extensions:[".lua"],async spawn(J){let G=await PKG.which("lua-language-server",{PATH:process.env.PATH+Oe__default.delimiter+ce.Path.bin});if(!G){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;t.info("downloading lua-language-server from GitHub releases");let te=await fetch("https://api.github.com/repos/LuaLS/lua-language-server/releases/latest");if(!te.ok){t.error("Failed to fetch lua-language-server release info");return}let re=await te.json(),ie=process.platform,me=process.arch,fe="",oe=me;me==="arm64"?oe="arm64":me==="x64"?oe="x64":me==="ia32"&&(oe="ia32");let Z=ie;ie==="darwin"?Z="darwin":ie==="linux"?Z="linux":ie==="win32"&&(Z="win32");let ge=ie==="win32"?"zip":"tar.gz";fe=`lua-language-server-${re.tag_name}-${Z}-${oe}.${ge}`;let ue=["darwin-arm64.tar.gz","darwin-x64.tar.gz","linux-x64.tar.gz","linux-arm64.tar.gz","win32-x64.zip","win32-ia32.zip"],de=`${Z}-${oe}.${ge}`;if(!ue.includes(de)){t.error(`Platform ${ie} and architecture ${me} is not supported by lua-language-server`);return}let _e=re.assets.find($e=>$e.name===fe);if(!_e){t.error(`Could not find asset ${fe} in latest lua-language-server release`);return}let Le=_e.browser_download_url,Ae=await fetch(Le);if(!Ae.ok){t.error("Failed to download lua-language-server");return}let Ie=Oe__default.join(ce.Path.bin,fe);await PKG.write(Ie,Ae);let ke=Oe__default.join(ce.Path.bin,`lua-language-server-${oe}-${Z}`);if(await Io__default.stat(ke).catch(()=>{})&&await Io__default.rm(ke,{force:true,recursive:true}),await Io__default.mkdir(ke,{recursive:true}),ge==="zip"){if(!await Archive.extractZip(Ie,ke).then(()=>true).catch(pe=>(t.error("Failed to extract lua-language-server archive",{error:pe}),false)))return}else if(!await $`tar -xzf ${Ie} -C ${ke}`.quiet().then(()=>true).catch(pe=>(t.error("Failed to extract lua-language-server archive",{error:pe}),false)))return;if(await Io__default.rm(Ie,{force:true}),G=Oe__default.join(ke,"bin","lua-language-server"+(ie==="win32"?".exe":"")),!await PKG.file(G).exists()){t.error("Failed to extract lua-language-server binary");return}if(ie!=="win32"&&!await $`chmod +x ${G}`.quiet().catch(pe=>{t.error("Failed to set executable permission for lua-language-server binary",{error:pe});}))return;t.info("installed lua-language-server",{bin:G});}return {process:PKG.spawn([G],{cwd:J})}}},W.PHPIntelephense={id:"php intelephense",initTimeout:W.ServerInitTimeout.intelephense,extensions:[".php"],root:o(["composer.json","composer.lock",".php-version"]),async spawn(J){let G=await PKG.which("intelephense"),te=[];if(!G){let ie=Oe__default.join(ce.Path.bin,"node_modules","intelephense","lib","intelephense.js");if(!await PKG.file(ie).exists()){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;let fe=await PKG.which();if(!fe)return;await PKG.spawn([fe,"install","intelephense"],{cwd:ce.Path.bin,env:{...process.env},stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited;}let me=await PKG.which();if(!me)return;G=me,te.push("run",ie);}return G?(te.push("--stdio"),{process:PKG.spawn([G,...te],{cwd:J,env:{...process.env}}),initialization:{telemetry:{enabled:false}}}):void 0}},W.Prisma={id:"prisma",initTimeout:W.ServerInitTimeout.prisma,extensions:[".prisma"],root:o(["schema.prisma","prisma/schema.prisma","prisma"],["package.json"]),async spawn(J){let G=await PKG.which("prisma");if(!G){t.info("prisma not found, please install prisma");return}return {process:PKG.spawn([G,"language-server"],{cwd:J})}}},W.Dart={id:"dart",initTimeout:W.ServerInitTimeout.dart,extensions:[".dart"],root:o(["pubspec.yaml","analysis_options.yaml"]),async spawn(J){let G=await PKG.which("dart");if(!G){t.info("dart not found, please install dart first");return}return {process:PKG.spawn([G,"language-server","--lsp"],{cwd:J})}}},W.Ocaml={id:"ocaml-lsp",initTimeout:W.ServerInitTimeout.ocaml_lsp,extensions:[".ml",".mli"],root:o(["dune-project","dune-workspace",".merlin","opam"]),async spawn(J){let G=await PKG.which("ocamllsp");if(!G){t.info("ocamllsp not found, please install ocaml-lsp-server");return}return {process:PKG.spawn([G],{cwd:J})}}},W.BashLS={id:"bash",initTimeout:W.ServerInitTimeout.bash,extensions:[".sh",".bash",".zsh",".ksh"],root:async()=>D.directory,async spawn(J){let G=await PKG.which("bash-language-server"),te=[];if(!G){let ie=Oe__default.join(ce.Path.bin,"node_modules","bash-language-server","out","cli.js");if(!await PKG.file(ie).exists()){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;let fe=await PKG.which();if(!fe)return;await PKG.spawn([fe,"install","bash-language-server"],{cwd:ce.Path.bin,env:{...process.env},stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited;}let me=await PKG.which();if(!me)return;G=me,te.push("run",ie);}return G?(te.push("start"),{process:PKG.spawn([G,...te],{cwd:J,env:{...process.env}})}):void 0}},W.TerraformLS={id:"terraform",initTimeout:W.ServerInitTimeout.terraform,extensions:[".tf",".tfvars"],root:o([".terraform.lock.hcl","terraform.tfstate","*.tf"]),async spawn(J){let G=await PKG.which("terraform-ls",{PATH:process.env.PATH+Oe__default.delimiter+ce.Path.bin});if(!G){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;t.info("downloading terraform-ls from GitHub releases");let te=await fetch("https://api.github.com/repos/hashicorp/terraform-ls/releases/latest");if(!te.ok){t.error("Failed to fetch terraform-ls release info");return}let re=await te.json(),ie=re.tag_name?.replace("v","");if(!ie){t.error("terraform-ls release did not include a version tag");return}let me=process.platform,oe=process.arch==="arm64"?"arm64":"amd64",ge=`terraform-ls_${ie}_${me==="win32"?"windows":me}_${oe}.zip`,de=(re.assets??[]).find(Ie=>Ie.name===ge);if(!de?.browser_download_url){t.error(`Could not find asset ${ge} in terraform-ls release`);return}let _e=await fetch(de.browser_download_url);if(!_e.ok){t.error("Failed to download terraform-ls");return}let Le=Oe__default.join(ce.Path.bin,ge);if(await PKG.write(Le,_e),!await Archive.extractZip(Le,ce.Path.bin).then(()=>true).catch(Ie=>(t.error("Failed to extract terraform-ls archive",{error:Ie}),false)))return;if(await Io__default.rm(Le,{force:true}),G=Oe__default.join(ce.Path.bin,"terraform-ls"+(me==="win32"?".exe":"")),!await PKG.file(G).exists()){t.error("Failed to extract terraform-ls binary");return}me!=="win32"&&await $`chmod +x ${G}`.quiet().nothrow(),t.info("installed terraform-ls",{bin:G});}return {process:PKG.spawn([G,"serve"],{cwd:J}),initialization:{experimentalFeatures:{prefillRequiredFields:true,validateOnSave:true}}}}},W.TexLab={id:"texlab",initTimeout:W.ServerInitTimeout.texlab,extensions:[".tex",".bib"],root:o([".latexmkrc","latexmkrc",".texlabroot","texlabroot"]),async spawn(J){let G=await PKG.which("texlab",{PATH:process.env.PATH+Oe__default.delimiter+ce.Path.bin});if(!G){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;t.info("downloading texlab from GitHub releases");let te=await fetch("https://api.github.com/repos/latex-lsp/texlab/releases/latest");if(!te.ok){t.error("Failed to fetch texlab release info");return}let re=await te.json();if(!re.tag_name?.replace("v","")){t.error("texlab release did not include a version tag");return}let me=process.platform,oe=process.arch==="arm64"?"aarch64":"x86_64",Z=me==="darwin"?"macos":me==="win32"?"windows":"linux",ge=me==="win32"?"zip":"tar.gz",ue=`texlab-${oe}-${Z}.${ge}`,_e=(re.assets??[]).find(Ie=>Ie.name===ue);if(!_e?.browser_download_url){t.error(`Could not find asset ${ue} in texlab release`);return}let Le=await fetch(_e.browser_download_url);if(!Le.ok){t.error("Failed to download texlab");return}let Ae=Oe__default.join(ce.Path.bin,ue);if(await PKG.write(Ae,Le),ge==="zip"&&!await Archive.extractZip(Ae,ce.Path.bin).then(()=>true).catch(ke=>(t.error("Failed to extract texlab archive",{error:ke}),false)))return;if(ge==="tar.gz"&&await $`tar -xzf ${Ae}`.cwd(ce.Path.bin).quiet().nothrow(),await Io__default.rm(Ae,{force:true}),G=Oe__default.join(ce.Path.bin,"texlab"+(me==="win32"?".exe":"")),!await PKG.file(G).exists()){t.error("Failed to extract texlab binary");return}me!=="win32"&&await $`chmod +x ${G}`.quiet().nothrow(),t.info("installed texlab",{bin:G});}return {process:PKG.spawn([G],{cwd:J})}}},W.DockerfileLS={id:"dockerfile",initTimeout:W.ServerInitTimeout.dockerfile,extensions:[".dockerfile","Dockerfile"],root:async()=>D.directory,async spawn(J){let G=await PKG.which("docker-langserver"),te=[];if(!G){let ie=Oe__default.join(ce.Path.bin,"node_modules","dockerfile-language-server-nodejs","lib","server.js");if(!await PKG.file(ie).exists()){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;let fe=await PKG.which();if(!fe)return;await PKG.spawn([fe,"install","dockerfile-language-server-nodejs"],{cwd:ce.Path.bin,env:{...process.env},stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited;}let me=await PKG.which();if(!me)return;G=me,te.push("run",ie);}return G?(te.push("--stdio"),{process:PKG.spawn([G,...te],{cwd:J,env:{...process.env}})}):void 0}},W.Gleam={id:"gleam",initTimeout:W.ServerInitTimeout.gleam,extensions:[".gleam"],root:o(["gleam.toml"]),async spawn(J){let G=await PKG.which("gleam");if(!G){t.info("gleam not found, please install gleam first");return}return {process:PKG.spawn([G,"lsp"],{cwd:J})}}},W.Clojure={id:"clojure-lsp",initTimeout:W.ServerInitTimeout.clojure_lsp,extensions:[".clj",".cljs",".cljc",".edn"],root:o(["deps.edn","project.clj","shadow-cljs.edn","bb.edn","build.boot"]),async spawn(J){let G=await PKG.which("clojure-lsp");if(!G&&process.platform==="win32"&&(G=await PKG.which("clojure-lsp.exe")),!G){t.info("clojure-lsp not found, please install clojure-lsp first");return}return {process:PKG.spawn([G,"listen"],{cwd:J})}}},W.Nixd={id:"nixd",initTimeout:W.ServerInitTimeout.nixd,extensions:[".nix"],root:async J=>{let G=await o(["flake.nix"])(J);return G&&G!==D.directory?G:D.worktree&&D.worktree!==D.directory?D.worktree:D.directory},async spawn(J){let G=await PKG.which("nixd");if(!G){t.info("nixd not found, please install nixd first");return}return {process:PKG.spawn([G],{cwd:J,env:{...process.env}})}}},W.Tinymist={id:"tinymist",initTimeout:W.ServerInitTimeout.tinymist,extensions:[".typ",".typc"],root:o(["typst.toml"]),async spawn(J){let G=await PKG.which("tinymist",{PATH:process.env.PATH+Oe__default.delimiter+ce.Path.bin});if(!G){if(xe.EASBOT_DISABLE_LSP_DOWNLOAD)return;t.info("downloading tinymist from GitHub releases");let te=await fetch("https://api.github.com/repos/Myriad-Dreamin/tinymist/releases/latest");if(!te.ok){t.error("Failed to fetch tinymist release info");return}let re=await te.json(),ie=process.platform,fe=process.arch==="arm64"?"aarch64":"x86_64",oe,Z;ie==="darwin"?(oe="apple-darwin",Z="tar.gz"):ie==="win32"?(oe="pc-windows-msvc",Z="zip"):(oe="unknown-linux-gnu",Z="tar.gz");let ge=`tinymist-${fe}-${oe}.${Z}`,de=(re.assets??[]).find(Ae=>Ae.name===ge);if(!de?.browser_download_url){t.error(`Could not find asset ${ge} in tinymist release`);return}let _e=await fetch(de.browser_download_url);if(!_e.ok){t.error("Failed to download tinymist");return}let Le=Oe__default.join(ce.Path.bin,ge);if(await PKG.write(Le,_e),Z==="zip"){if(!await Archive.extractZip(Le,ce.Path.bin).then(()=>true).catch(Ie=>(t.error("Failed to extract tinymist archive",{error:Ie}),false)))return}else await $`tar -xzf ${Le} --strip-components=1`.cwd(ce.Path.bin).quiet().nothrow();if(await Io__default.rm(Le,{force:true}),G=Oe__default.join(ce.Path.bin,"tinymist"+(ie==="win32"?".exe":"")),!await PKG.file(G).exists()){t.error("Failed to extract tinymist binary");return}ie!=="win32"&&await $`chmod +x ${G}`.quiet().nothrow(),t.info("installed tinymist",{bin:G});}return {process:PKG.spawn([G],{cwd:J})}}},W.HLS={id:"haskell-language-server",initTimeout:W.ServerInitTimeout.haskell_language_server,extensions:[".hs",".lhs"],root:o(["stack.yaml","cabal.project","hie.yaml","*.cabal"]),async spawn(J){let G=await PKG.which("haskell-language-server-wrapper");if(!G){t.info("haskell-language-server-wrapper not found, please install haskell-language-server");return}return {process:PKG.spawn([G,"--lsp"],{cwd:J})}}};})(wi||(wi={}));});var vn,Ic=j(()=>{I();vn=(n=>(n.STDIO="stdio",n.LOCAL="local",n.HTTP="http",n.WS="websocket",n))(vn||{});});function $w(t){return t==="local"?"stdio":t}function UP(t){if(!t||t.trim()==="")return false;let e=/^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*$/;return !(t.startsWith("-")||t.endsWith("-")||!e.test(t))}var Uw,zw,Hw,$P,zP,HP,Qw,QP,Ww,Ed,Vw,Td=j(()=>{I();Ic();Uw=z.object({command:z.string(),args:z.array(z.string())}),zw=z.object({baseUrl:z.string().url(),timeout:z.number().positive().default(3e4)}).strict(),Hw=z.object({url:z.string().url(),timeout:z.number().positive().default(3e4),batchSize:z.number().positive().default(10),batchInterval:z.number().positive().default(50),heartbeatInterval:z.number().positive().default(3e4)}),$P=z.object({stdio:Uw.optional(),http:zw.optional(),ws:Hw.optional()});zP=z.object({id:z.string().min(1),options:z.record(z.string(),z.unknown()).optional()}),HP=z.object({agent:z.string().optional(),model:zP.optional()}),Qw=z.object({directory:z.string().default(process.cwd()),enabled:z.boolean().default(true),channel:z.preprocess($w,z.nativeEnum(vn)).default("websocket"),port:z.number().int().min(1).max(65535).default(3e3),hostname:z.string().min(1).default("localhost"),timeout:z.number().positive().default(3e4),peerId:z.string().uuid().optional(),stdio:Uw.optional(),http:zw.optional(),ws:Hw.optional(),agent:HP.optional()}).refine(t=>!!UP(t.hostname),{message:"Invalid hostname format",path:["hostname"]}),QP=z.object({id:z.string().min(1),name:z.string().min(1),type:z.enum(["easbot","pi","custom"]),peerId:z.string().uuid().optional(),channels:z.array(z.preprocess($w,z.nativeEnum(vn))).min(1),connection:$P,autoConnect:z.boolean().default(false),priority:z.number().int().nonnegative().default(0)}),Ww=z.object({clients:z.array(QP).min(1),defaultClientId:z.string().optional()}),z.object({server:Qw}),z.object({clients:Ww}),Ed=z.object({server:Qw,clients:Ww.optional()}),Vw={enabled:true,directory:process.cwd(),channel:"websocket",port:3e3,hostname:"localhost",timeout:3e4};});var Kw=j(()=>{I();Td();});async function lr(){try{let e=(await ye.get())?.note;if(!e){en.debug("No note config found in Config.Info");return}let o=Pc.safeParse(e);if(o.success)return en.debug("Note config loaded"),o.data;en.warn("Invalid note config",{issues:o.error.issues});return}catch(t){en.error("Failed to load note config",{error:t});return}}async function cr(){try{let e=(await ye.get())?.codebase;if(!e){en.debug("No codebase config found in Config.Info");return}let o=Sc.safeParse(e);if(o.success)return en.debug("Codebase config loaded"),o.data;en.warn("Invalid codebase config",{issues:o.error.issues});return}catch(t){en.error("Failed to load codebase config",{error:t});return}}async function pr(){try{let t=await ye.get();en.debug("loadMemory() configState.memory",{memoryConfig:t?.memory});let e=t?.memory;if(!e){en.debug("No memory config found in Config.Info");return}let o=Cc.safeParse(e);if(o.success)return en.debug("Memory config loaded",{data:o.data}),o.data;en.warn("Invalid memory config",{issues:o.error.issues});return}catch(t){en.error("Failed to load memory config",{error:t});return}}async function Ad(){let t={},[e,o,a]=await Promise.all([lr(),cr(),pr()]);return e&&(t.note=e),o&&(t.codebase=o),a&&(t.memory=a),en.debug("Knowledge configs loaded",{types:Object.keys(t),count:Object.keys(t).length}),t}var xf,wf,Jw,Yw,yf,WP,Xw,Sc,Cc,Pc,en,gs=j(()=>{I();ne();bt();xf=Y.object({model:Y.string().optional().describe("Embedding model, defaults to config embedding model"),batchSize:Y.number().int().positive().optional().describe("Batch size for embedding operations"),dimensions:Y.number().int().positive().optional().describe("Embedding dimensions (optional, auto-detect)")}).optional(),wf=Y.object({maxResults:Y.number().int().positive().optional().describe("Max search results"),minScore:Y.number().min(0).max(1).optional().describe("Min score threshold (default: 0.3)"),hybrid:Y.object({enabled:Y.boolean().optional().describe("Enable hybrid search"),vectorWeight:Y.number().min(0).max(1).optional().describe("Vector search weight (default: 0.7)"),textWeight:Y.number().min(0).max(1).optional().describe("FTS text search weight (default: 0.3)")}).optional().describe("Hybrid search configuration")}).optional().describe("Search configuration"),Jw=Y.object({ignorePatterns:Y.array(Y.string()).optional().describe("File patterns to ignore"),batchSize:Y.number().int().positive().optional().describe("Batch size for indexing"),incremental:Y.boolean().optional().describe("Enable incremental indexing")}).optional(),Yw=Y.object({onBoot:Y.boolean().optional().describe("Sync on boot"),onSearch:Y.boolean().optional().describe("Sync on search"),onSessionStart:Y.boolean().optional().describe("Sync on session start"),intervalMs:Y.number().int().positive().optional().describe("Sync interval in milliseconds")}).optional().describe("Sync configuration"),yf=Y.object({dictPath:Y.array(Y.string()).optional().describe("Custom dictionary paths")}).optional().describe("Tokenizer configuration"),WP=Y.object({model:Y.string().optional().describe("Rerank model, defaults to config rerank_model"),topK:Y.number().int().positive().optional().describe("Number of candidates for reranking")}).optional().describe("Rerank configuration"),Xw=Y.object({model:Y.string().optional().describe("Graph LLM model, defaults to config graph_model"),entityExtractionPrompt:Y.string().optional().describe("Entity extraction prompt template"),relationExtractionPrompt:Y.string().optional().describe("Relation extraction prompt template")}).optional().describe("Graph LLM configuration for entity and relation extraction"),Sc=Y.object({enabled:Y.boolean().optional().describe("Enable codebase knowledge base"),database:Y.string().optional().describe("Codebase database path"),embedding:xf,search:wf,indexer:Jw,tokenizer:yf,sync:Yw,parser:Y.object({languages:Y.array(Y.string()).optional().describe("Supported languages"),lazyLoad:Y.boolean().optional().describe("Lazy load parsers")}).optional().describe("Code parser configuration")}).optional().describe("Codebase knowledge base configuration"),Cc=Y.object({enabled:Y.boolean().optional().describe("Enable memory knowledge base"),workspaceDir:Y.string().optional().describe("Memory workspace directory (contains MEMORY.md, active/, archive/)"),sessionsDir:Y.string().optional().describe("Sessions directory for extracting historical long-term memory"),database:Y.string().optional().describe("Memory database path"),embedding:xf,graph:Xw,search:wf,tokenizer:yf,archiveDays:Y.number().int().positive().optional().describe("Days before archiving memories (default: 30)"),shortTermMaxRounds:Y.number().int().positive().optional().describe("Max rounds for short-term memory (default: 20)")}).optional().describe("Memory knowledge base configuration"),Pc=Y.object({enabled:Y.boolean().optional().describe("Enable note knowledge base"),database:Y.string().optional().describe("Note database path"),search:wf,indexer:Jw,tokenizer:yf,sync:Yw,embedding:xf,graph:Xw,rerank:WP,extraPaths:Y.array(Y.string()).optional().describe("Extra search paths (extended directories)"),sources:Y.array(Y.enum(["docs"])).optional().describe("Source types"),chunkSize:Y.number().int().positive().optional().describe("Chunk size"),chunkOverlap:Y.number().int().min(0).optional().describe("Chunk overlap size")}).optional().describe("Note knowledge base configuration"),en=O.create({service:"knowledge-loader"});});var kf,Et,oi=j(()=>{I();_t();kf="easbot-oauth-dummy-key";(c=>{c.Oauth=Y.object({type:Y.literal("oauth"),refresh:Y.string(),access:Y.string(),expires:Y.number(),accountId:Y.string().optional(),enterpriseUrl:Y.string().optional()}).meta({ref:"OAuth"}),c.Api=Y.object({type:Y.literal("api"),key:Y.string()}).meta({ref:"ApiAuth"}),c.WellKnown=Y.object({type:Y.literal("wellknown"),key:Y.string(),token:Y.string()}).meta({ref:"WellKnownAuth"}),c.Info=Y.discriminatedUnion("type",[c.Oauth,c.Api,c.WellKnown]).meta({ref:"Auth"});let n=Oe__default.join(ce.Path.data,"auth.json");async function i(p){return (await s())[p]}c.get=i;async function s(){let g=await PKG.file(n).json().catch(()=>({}));return Object.entries(g).reduce((u,[m,d])=>{let h=c.Info.safeParse(d);return h.success&&(u[m]=h.data),u},{})}c.all=s;async function r(p,g){let u=await s();await PKG.write(n,JSON.stringify({...u,[p]:g},null,2));}c.set=r;async function l(p){let g=await s();delete g[p],await PKG.write(n,JSON.stringify(g,null,2));}c.remove=l;})(Et||(Et={}));});function jn(t,e){let o=mergeDeep(t,e);return t.plugin&&e.plugin&&(o.plugin=Array.from(new Set([...t.plugin,...e.plugin]))),t.instructions&&e.instructions&&(o.instructions=Array.from(new Set([...t.instructions,...e.instructions]))),o}var Md=j(()=>{I();});async function aE(t){try{return await Io__default.access(t,constants.W_OK),!0}catch{return false}}async function Su(t){if(!await aE(t))return Zw.debug("config dir is not writable, skipping dependency install",{dir:t}),false;let o=Oe__default.join(t,"node_modules");if(!existsSync(o))return true;let a=Oe__default.join(t,"package.json"),n=PKG.file(a);if(!await n.exists())return true;let l=((await n.json().catch(()=>null))?.dependencies??{})["@easbot/plugin"];if(!l)return true;let c=vt.isLocal()?"latest":vt.getVersion();return c==="latest"?await PackageRegistry.isOutdated("@easbot/plugin",l,t)?(Zw.info("Cached version is outdated, proceeding with install",{pkg:"@easbot/plugin",cachedVersion:l}),true):false:l!==c}async function Cu(t){let e=Oe__default.join(t,"package.json"),o=vt.isLocal()?"*":vt.getVersion(),a=await PKG.file(e).json().catch(()=>({}));a.dependencies={...a.dependencies,"@easbot/plugin":o},await PKG.write(e,JSON.stringify(a,null,2)),await new Promise(s=>setTimeout(s,3e3));let n=Oe__default.join(t,".gitignore");await PKG.file(n).exists()||await PKG.write(n,["node_modules","package.json","bun.lock",".gitignore"].join(`
|
|
4
4
|
`)),await PKG.run(["install",...proxied()?["--no-cache"]:[]],{cwd:t}).catch(()=>{});}var Zw,Rd=j(()=>{I();ne();Za();Zw=O.create({service:"config"});});async function tn(t){If.info("loading",{path:t});let e=await PKG.file(t).text().catch(o=>{if(o.code!=="ENOENT")throw new yi({path:t},{cause:o})});return e?mr(e,t):{}}async function mr(t,e){let o=t;t=t.replace(/\{env:([^}]+)\}/g,(r,l)=>process.env[l]||"");let a=t.match(/\{file:[^}]+\}/g);if(a){let r=Oe__default.dirname(e),l=t.split(`
|
|
5
5
|
`);for(let c of a){let p=l.findIndex(h=>h.includes(c)),g=l[p];if(p!==-1&&g?.trim().startsWith("//"))continue;let u=c.replace(/^\{file:/,"").replace(/\}$/,"");u.startsWith("~/")&&(u=Oe__default.join(cm.homedir(),u.slice(2)));let m=Oe__default.isAbsolute(u)?u:Oe__default.resolve(r,u),d=(await PKG.file(m).text().catch(h=>{let b=`bad file reference: "${c}"`;throw h.code==="ENOENT"?new Fn({path:e,message:b+` ${m} does not exist`},{cause:h}):new Fn({path:e,message:b},{cause:h})})).trim();t=t.replace(c,()=>JSON.stringify(d).slice(1,-1));}}let n=[],i=parse$1(t,n,{allowTrailingComma:true});if(n.length>0){let r=t.split(`
|
|
@@ -409,7 +409,7 @@ Examples:
|
|
|
409
409
|
`;y.enqueue(new TextEncoder().encode(S));},cancel:()=>{let y=o.get(x);if(y){o.delete(x);let k=a.get(y.sessionId);k&&(k.delete(x),k.size===0&&a.delete(y.sessionId)),dn.info("SSE client disconnected",{connectionId:x,sessionId:y.sessionId});}}}),d=setInterval(()=>{let w=Date.now(),x=3e5;for(let[y,k]of o.entries())if(w-k.lastHeartbeat>x){dn.warn("SSE connection timeout, closing",{connectionId:y});try{k.controller.close();}catch{}o.delete(y);let S=a.get(k.sessionId);S&&S.delete(y);}else try{k.controller.enqueue(new TextEncoder().encode(`: heartbeat
|
|
410
410
|
|
|
411
411
|
`)),k.lastHeartbeat=w;}catch{}},1e4),h=[{method:"get",path:"/health",handler:w=>w.json({status:"healthy",channel:"http",sseConnections:o.size,timestamp:Date.now()})},{method:"post",path:"/session",handler:async w=>{let y=(await w.req.json().catch(()=>({})))?.title??"New Session",k=await t.newSession({cwd:process.cwd(),mcpServers:[]});return w.json({data:{id:k.sessionId},title:y})}},{method:"post",path:"/session/:sessionId/prompt",handler:async w=>{let x=w.req.param("sessionId"),y=await w.req.json().catch(()=>({})),k=Array.isArray(y?.parts)?y.parts:[];if(!k.filter(v=>v?.type==="text").map(v=>v.text??"").join(`
|
|
412
|
-
`).trim())return w.json({error:"No prompt provided"},400);if(!x)return w.json({error:"No sessionId provided"},400);let f=await t.processMessage(x,{sessionID:x,parts:k});return w.status(202),w.json({success:true,result:f})}},{method:"get",path:"/session/:sessionId/events",handler:w=>{let x=w.req.param("sessionId");if(!x)return w.json({error:"No sessionId provided"},400);let y=`sse_${Date.now()}_${Math.random().toString(36).substring(2,9)}`;w.header("Content-Type","text/event-stream"),w.header("Cache-Control","no-cache"),w.header("Connection","keep-alive"),w.header("X-Accel-Buffering","no");let k=m(x,y);return new Response(k,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}})}},{method:"post",path:"/initialize",handler:async w=>{let y=(await w.req.json().catch(()=>({})))?.protocolVersion??1,k=await t.initialize({protocolVersion:y,clientCapabilities:{}});return w.json(k)}},{method:"get",path:"/status",handler:w=>w.json({status:"running",channel:"http",port:e.port,hostname:e.hostname,uptime:process.uptime(),sse:{connections:o.size,sessions:a.size}})},{method:"get",path:"/subscriptions",handler:w=>w.json({sseConnections:o.size,sessions:Object.fromEntries(Array.from(a.entries()).map(([x,y])=>[x,y.size]))})},{method:"delete",path:"/session/:sessionId/subscription",handler:w=>{let x=w.req.param("sessionId");return x?(u(x),w.json({success:true,message:"Session subscription released",sessionId:x})):w.json({error:"No sessionId provided"},400)}},{method:"post",path:"/session/:sessionId/interrupt",handler:async w=>{let x=w.req.param("sessionId");if(!x)return w.json({error:"No sessionId provided"},400);dn.info("Interrupt requested",{sessionId:x});try{return await t.cancel({sessionId:x}),w.json({success:!0,message:"Session interrupted"})}catch(y){return dn.error("Failed to interrupt session",{sessionId:x,error:y instanceof Error?y.message:String(y)}),w.json({success:false,error:y instanceof Error?y.message:"Unknown error"},500)}}}],b=createServer$1({port:e.port,hostname:e.hostname,routes:h,timeout:e.timeout,cors:true});return dn.info("HTTP server started",{url:`http://${e.hostname}:${e.port}`}),{server:b,stop:async()=>{dn.info("Stopping HTTP server"),clearInterval(d),clearInterval(l),g();for(let w of o.values())try{w.controller.close();}catch{}o.clear(),a.clear(),n.clear(),await b.stop(),dn.info("HTTP server stopped");}}}var dn,Ih=j(()=>{I();ne();Ml();jr();t0();dn=O.create({service:"http-server"});});function CD(t){try{let e=new URL(t),o=e.hostname,a=parseInt(e.port,10);if(o&&!Number.isNaN(a)&&a>0&&a<=65535)return {port:a,hostname:o}}catch{}}async function n5(t,e){let o=e.ws?CD(e.ws.url):void 0,a=o?.port??e.port??3e3,n=o?.hostname??e.hostname??"localhost",i=e.ws?.url?(()=>{try{return new URL(e.ws.url).pathname||"/"}catch{return "/"}})():"/";if(ua.info("Starting WebSocket server",{port:a,hostname:n,wsUrl:e.ws?.url,fallback:!o&&e.ws?"using default port/hostname":void 0}),e.channel!==ra.WEBSOCKET)throw new Error("Invalid channel type for WebSocket server");let s=new Map,r=new Map,l=new Map,c=new Map,p=e.sessionExpireMs??300*1e3,g=k=>{c.set(k,Date.now());},m=setInterval(()=>{let k=Date.now(),S=[];for(let[f,v]of c.entries())k-v>p&&S.push(f);for(let f of S)ua.info("Session expired due to inactivity, releasing resources",{sessionId:f,lastActivity:c.get(f),expireMs:p}),b(f),c.delete(f);S.length>0&&ua.debug("Cleaned up expired sessions",{count:S.length,remainingActive:c.size});},3e4),d=(k,S)=>{g(k);let f=l.get(k);if(!f||f.size===0){ua.debug("No clients subscribed to session",{sessionId:k});return}let v=S?.properties?.sessionID;if(typeof v=="string"&&v&&v!==k)return;let C=JSON.stringify({type:"event",sessionId:k,payload:S});for(let E of f){let P=r.get(E);P&&P.ws.readyState===P.ws.OPEN&&P.subscribedSessions.has(k)&&(P.ws.send(C),ua.debug("Event pushed to client",{clientId:E,sessionId:k,eventType:S.type}));}},h=t.subscribeLocalEvents(k=>{if(k.type==="sdk.session_update"){let f=k.properties,v=Al(f.sessionId,f.update);v&&(d(f.sessionId,v),f.update?.sessionUpdate==="status_update"&&f.update?.status?.type==="idle"&&(ua.debug("Session idle, updating activity time (will expire if no activity)",{sessionId:f.sessionId}),g(f.sessionId)));return}let S=Tl(k);S?.properties.sessionID&&d(S.properties.sessionID,S);}),b=k=>{let S=l.get(k);if(S){let f=JSON.stringify({type:"session_closed",sessionId:k,message:"Session resources released due to expiration or explicit release"});for(let v of S){let C=r.get(v);C&&C.ws.readyState===C.ws.OPEN&&C.ws.send(f);}for(let v of S){let C=r.get(v);C&&C.subscribedSessions.delete(k);}l.delete(k),ua.info("Session resources released",{sessionId:k,clientCount:S.size});}},w={onOpen:(k,S)=>{let f=`ws_${Date.now()}_${Math.random().toString(36).substring(2,9)}`;s.set(f,S),r.set(f,{clientId:f,ws:S,subscribedSessions:new Set,subscribedEventTypes:new Set}),ua.info("WebSocket client connected",{clientId:f}),S.send(JSON.stringify({type:"connected",clientId:f}));},onMessage:async(k,S)=>{try{let f=JSON.parse(k.data.toString());if(f.type==="ping"){S.send(JSON.stringify({type:"pong"}));return}if(f.type==="initialize"){let v=f.payload?.protocolVersion??1,C=await t.initialize({protocolVersion:v,clientCapabilities:{}});S.send(JSON.stringify({type:"initialize_response",result:C}));return}if(f.type==="subscribe"&&f.sessionId){let v=a5(S,s);if(!v){S.send(JSON.stringify({type:"error",message:"Client not found"}));return}let C=r.get(v);C&&(C.subscribedSessions.add(f.sessionId),l.has(f.sessionId)||l.set(f.sessionId,new Set),l.get(f.sessionId).add(v),g(f.sessionId),ua.info("Client subscribed to session",{clientId:v,sessionId:f.sessionId}),S.send(JSON.stringify({type:"subscribed",sessionId:f.sessionId,message:"Successfully subscribed to session events"})));return}if(f.type==="unsubscribe"&&f.sessionId){let v=a5(S,s);if(!v)return;let C=r.get(v);if(C){C.subscribedSessions.delete(f.sessionId);let E=l.get(f.sessionId);E&&(E.delete(v),E.size===0&&l.delete(f.sessionId)),ua.info("Client unsubscribed from session",{clientId:v,sessionId:f.sessionId}),S.send(JSON.stringify({type:"unsubscribed",sessionId:f.sessionId}));}return}if(f.type==="message"&&f.sessionId&&f.payload){let v=f.payload,C=Array.isArray(v?.parts)?v.parts.filter(P=>P?.type==="text").map(P=>({type:"text",text:P.text??""})):v?.parts?[{type:"text",text:JSON.stringify(f.payload)}]:[],E=await t.processMessage(f.sessionId,{sessionID:f.sessionId,parts:C});S.send(JSON.stringify({type:"response",sessionId:f.sessionId,result:E}));return}if(f.type==="interrupt"&&f.sessionId){ua.info("Interrupt requested via WebSocket",{sessionId:f.sessionId});try{await t.cancel({sessionId:f.sessionId}),S.send(JSON.stringify({type:"interrupted",sessionId:f.sessionId,success:!0}));}catch(v){ua.error("Failed to interrupt session",{sessionId:f.sessionId,error:v instanceof Error?v.message:String(v)}),S.send(JSON.stringify({type:"interrupted",sessionId:f.sessionId,success:!1,error:v instanceof Error?v.message:"Unknown error"}));}return}if(f.type==="releaseSubscription"&&f.sessionId){ua.info("Release subscription requested via WebSocket",{sessionId:f.sessionId}),b(f.sessionId),S.send(JSON.stringify({type:"subscriptionReleased",sessionId:f.sessionId,message:"Session subscription and resources released"}));return}}catch(f){ua.error("Error processing WebSocket message",{error:f.message}),S.send(JSON.stringify({type:"error",message:f.message}));}},onClose:(k,S)=>{for(let[f,v]of s.entries())if(v===S){s.delete(f);let C=r.get(f);if(C){for(let E of C.subscribedSessions){let P=l.get(E);P&&(P.delete(f),P.size===0&&l.delete(E));}r.delete(f);}ua.info("WebSocket client disconnected",{clientId:f});break}},onError:(k,S)=>{ua.error("WebSocket error",{error:k.type});}},x=createServer$1({port:a,hostname:n,routes:[{method:"get",path:"/health",handler:k=>k.json({status:"healthy",channel:"websocket",clients:s.size,subscriptions:l.size,timestamp:Date.now()})},{method:"post",path:"/initialize",handler:async k=>{let f=(await k.req.json().catch(()=>({})))?.protocolVersion??1,v=await t.initialize({protocolVersion:f,clientCapabilities:{}});return k.json(v)}},{method:"post",path:"/session",handler:async k=>{let f=(await k.req.json().catch(()=>({})))?.title??"New Session",v=await t.newSession({cwd:process.cwd(),mcpServers:[]});return k.json({data:{id:v.sessionId},title:f})}},{method:"post",path:"/session/:sessionId/prompt",handler:async k=>{let S=k.req.param("sessionId"),v=(await k.req.json().catch(()=>({})))?.parts,C=Array.isArray(v)?v.filter(P=>P?.type==="text").map(P=>({type:"text",text:P.text??""})):[];if(C.length===0||C.every(P=>!P.text.trim()))return k.json({error:"No prompt provided"},400);if(!S)return k.json({error:"No sessionId provided"},400);let E=await t.processMessage(S,{sessionID:S,parts:C});return k.status(202),k.json({success:true,result:E})}},{method:"get",path:"/status",handler:k=>k.json({status:"running",channel:"websocket",port:e.port,hostname:e.hostname,clients:s.size,subscriptions:l.size,uptime:process.uptime()})},{method:"get",path:"/subscriptions",handler:k=>k.json({clients:s.size,sessions:Object.fromEntries(Array.from(l.entries()).map(([S,f])=>[S,f.size]))})}],timeout:e.timeout,cors:true}),y=x.raw;if(y){let k=new WebSocketServer({noServer:true});y.on("upgrade",(S,f,v)=>{try{let E=new URL(S.url||"/",`http://${S.headers.host}`).pathname;(E===i||i==="/"&&(E==="/"||E===""))&&k.handleUpgrade(S,f,v,P=>{w.onOpen?.({type:"open"},P),P.on("message",M=>{w.onMessage?.({data:M},P);}),P.on("close",(M,B)=>{w.onClose?.({code:M,reason:B},P);}),P.on("error",M=>{w.onError?.({type:"error",message:M.message},P);});});}catch{}});}return ua.info("WebSocket server started",{url:e.ws?.url||`ws://${n}:${a}`,path:i}),{server:x,stop:async()=>{ua.info("Stopping WebSocket server"),clearInterval(m),h(),s.forEach(k=>{k.close(1e3,"Server shutting down");}),s.clear(),r.clear(),l.clear(),c.clear(),await x.stop(),ua.info("WebSocket server stopped");}}}function a5(t,e){for(let[o,a]of e.entries())if(a===t)return o;return null}var ua,Sh=j(()=>{I();ne();Ml();jr();t0();ua=O.create({service:"websocket-server"});});async function i5(t,e){let o=e5(Zb(e||{}));Ip.info("Starting ACPServer",{channel:o.channel,port:o.port,hostname:o.hostname});let a,n;switch(o.channel){case ra.STDIO:({server:a,stop:n}=await t5(t,o));break;case ra.HTTP:({server:a,stop:n}=await o5(t,o));break;case ra.WEBSOCKET:({server:a,stop:n}=await n5(t,o));break;default:throw new Error(`Unsupported service mode: ${o.channel}`)}let i={type:o.channel,server:a,agent:t,stop:async()=>{Ip.info("Stopping ACPServer",{type:o.channel}),await n();},healthCheck:async()=>{if(typeof a=="object"&&a!==null&&"healthCheck"in a){let s=a.healthCheck;if(typeof s=="function")return s()}return true}};return Ip.info("ACPServer started successfully",{type:i.type,url:PD(o)}),i}function PD(t){switch(t.channel){case ra.STDIO:return "stdio://process";case ra.HTTP:return `http://${t.hostname}:${t.port}`;case ra.WEBSOCKET:return `ws://${t.hostname}:${t.port}`;default:return "unknown://"}}async function ED(t){await Promise.all(t.map(async e=>{try{await e.stop();}catch(o){Ip.error("Error stopping server",{type:e.type,error:String(o)});}}));}async function s5(t){await ED([t]);}function vue(t){return {type:t.channel,server:null,agent:null,stop:async()=>{Ip.warn("Server not started, nothing to stop");},healthCheck:async()=>false}}var Ip,r5=j(()=>{I();ne();e0();bh();vh();Ih();Sh();Ip=O.create({service:"acp-server"});});var Ml=j(()=>{I();e0();bh();r5();Ih();vh();Sh();});var Ot,Dl,Ch=j(()=>{I();ne();Rl();jr();jr();Jb();Ml();fp();Ia();_t();Ot=O.create({service:"easbot-agent"}),Dl=class t extends vp{constructor(o,a){super(o,a);Q(this,"localEventBus");Q(this,"sdkEventBridge",null);Q(this,"acpEventBridge",null);Q(this,"enableSdkEventBridge");Q(this,"eventHandlers",new Map);Q(this,"eventDispatchers",new Map);Q(this,"server",null);Q(this,"isAgentInitialized",false);Q(this,"handlersRegistered",false);this.localEventBus=new hp,this.enableSdkEventBridge=a.enableSdkEventBridge??true,Ot.info("EasBotAgent instance created",{serviceMode:this.serviceMode,enableSdkEventBridge:this.enableSdkEventBridge});}static async create(o){Ot.info("creating EasBotAgent",{serviceMode:o.serviceMode});let a=o.serviceMode==="local",n=new t(void 0,o),i=n.getDuplexExecutor();if(i&&i.setAgent(n),a&&o.localStream){let{stream:s}=o.localStream,r={initialize:async c=>n.initialize(c),newSession:async c=>n.newSession(c),loadSession:async c=>n.loadSession(c),prompt:async c=>n.prompt(c),cancel:async c=>n.cancel(c),authenticate:async c=>n.authenticate(c),setSessionMode:async c=>n.setSessionMode(c),setSessionConfigOption:async c=>n.setSessionConfigOption(c),unstable_setSessionModel:async c=>n.unstable_setSessionModel(c),listSessions:async c=>n.listSessions(c),unstable_forkSession:async c=>n.unstable_forkSession(c),unstable_resumeSession:async c=>n.unstable_resumeSession(c),unstable_closeSession:async c=>n.unstable_closeSession(c)},l=new AgentSideConnection(()=>r,s);n.setConnection(l);}return Ot.info("EasBotAgent created successfully",{serviceMode:o.serviceMode,hasConnection:a&&!!o.localStream}),n}async initialize(o){return Ot.info("ACP initialize requested",{protocolVersion:o.protocolVersion}),this.isAgentInitialized||await this.initializeAgent(),{protocolVersion:o.protocolVersion,agentCapabilities:{loadSession:true,positionEncoding:"utf-8",mcpCapabilities:{http:true,sse:true},promptCapabilities:{image:true,embeddedContext:true,audio:false},sessionCapabilities:{close:{},fork:{},list:{},resume:{}},_meta:{history_scope:true,session_management:true}},agentInfo:{name:"EasBot Agent",version:ce.getVersionAsync(),title:"Multi-Agent Collaboration Ecosystem Agent"},authMethods:[{id:"easbot-token",name:"EasBot Token Authentication",description:"Authenticate using EasBot API token"}]}}async initializeAgent(){if(this.isAgentInitialized){Ot.warn("EasBotAgent already initialized");return}Ot.info("initializing EasBotAgent internals");try{await this.initializeExecutor();let o=this.config;o.channel?.type==="local"?await this.initializeAcpEventBridge():this.enableSdkEventBridge&&await this.initializeSdkEventBridge(),(o.eventSubscription?.autoSubscribe??!0)&&this.registerDefaultEventHandlers();let i=o.eventSubscription?.handlers;if(i)for(let[s,r]of Object.entries(i))r&&this.registerEventHandler(s,r);this.isAgentInitialized=!0,this.setStatus("ready"),Ot.info("EasBotAgent internals initialized successfully");}catch(o){throw this.setStatus("error"),Ot.error("failed to initialize EasBotAgent",{error:String(o)}),o}}async start(){if(this.status==="running"){Ot.warn("EasBotAgent already running");return}this.isAgentInitialized||await this.initializeAgent();let o=this.config;o.acpServerConfig&&!this.server&&(this.server=await i5(this,o.acpServerConfig)),this.setStatus("running"),Ot.info("EasBotAgent started");}async stop(){if(this.status==="stopped"){Ot.warn("EasBotAgent already stopped");return}Ot.info("stopping EasBotAgent");try{this.server&&(await s5(this.server),this.server=null),this.sdkEventBridge&&(await this.sdkEventBridge.stop(),this.sdkEventBridge=null),this.acpEventBridge&&(await this.acpEventBridge.stop(),this.acpEventBridge=null),this.unregisterAllEventHandlers(),this.localEventBus.destroy(),await this.dispose(),this.setStatus("stopped"),this.isAgentInitialized=!1,Ot.info("EasBotAgent stopped successfully");}catch(o){throw this.setStatus("error"),Ot.error("error stopping EasBotAgent",{error:String(o)}),o}}getLocalEventBus(){return this.localEventBus}subscribeLocalEvents(o){return this.localEventBus.subscribeAll(o)}async publishLocalEvent(o){await this.localEventBus.publish(o);}async initializeSdkEventBridge(){if(this.sdkEventBridge){Ot.warn("SDK event bridge already initialized");return}let o=this.config.acp?.sdk;if(!o){Ot.warn("Cannot initialize SDK event bridge: missing SDK client");return}let a=n=>{let i=!!this.sessionManager.tryGet(n),s=!!this.connectionRegistry?.resolve(n);return i||s};this.sdkEventBridge=new wp(o,this.localEventBus,a),await this.sdkEventBridge.start(),Ot.info("SDK event bridge initialized");}async initializeAcpEventBridge(){if(this.acpEventBridge){Ot.warn("ACP event bridge already initialized");return}let a=this.config.acp?.sdk,n=this.getConnection();if(!a)throw Ot.error("Cannot initialize ACP event bridge: missing SDK client"),new Error("SDK client is required for ACP event bridge");if(!n)throw Ot.error("Cannot initialize ACP event bridge: missing ACP connection"),new Error("ACP connection is required for ACP event bridge");this.acpEventBridge=new bp(a,n,this.localEventBus),await this.acpEventBridge.start(),Ot.info("ACP event bridge initialized");}async processMessage(o,a){Ot.debug("Processing message",{sessionId:o,messageType:typeof a});let n=await this.config.acp.sdk.session.prompt(a);return Ot.debug("Message processed",{sessionId:o}),n.data}getServiceMode(){return this.serviceMode}getServerInstance(){return this.server}registerEventHandler(o,a){let n=this.eventHandlers.get(o)??[];return n.push(a),this.eventHandlers.set(o,n),this.ensureEventDispatcher(o),Ot.debug("event handler registered",{eventType:o}),()=>{this.unregisterEventHandler(o,a);}}unregisterEventHandler(o,a){let n=this.eventHandlers.get(o);if(n){let i=n.indexOf(a);i!==-1&&n.splice(i,1),n.length===0&&(this.eventHandlers.delete(o),this.removeEventDispatcher(o));}Ot.debug("event handler unregistered",{eventType:o});}async publishEvent(o){let a={type:"agent.status",properties:{agentId:"easbot-agent",status:"busy",timestamp:Date.now()}};await this.localEventBus.publish(a),Ot.debug("Event published",{type:o.type});}registerDefaultEventHandlers(){let o=["usage_update","message_start","message_end","tool_use"];for(let a of o)this.ensureEventDispatcher(a);this.subscribeLocalEvents(async a=>{if(a.type==="sdk.session_deleted"){let i=a.properties.sessionId;Ot.info("Handling SDK session deleted",{sessionId:i}),this.sessionManager.tryGet(i)&&(this.sessionManager.close(i),Ot.debug("Cleaned up session from sessionManager",{sessionId:i}));}}),this.handlersRegistered=true,Ot.debug("default event handlers registered",{events:o});}async handleAgentEvent(o){let a=[...this.eventHandlers.get(o.type)??[]];for(let n of a)try{await n(o);}catch(i){Ot.error("event handler error",{eventType:o.type,error:String(i)});}}unregisterAllEventHandlers(){this.eventHandlers.clear(),this.eventDispatchers.clear(),this.handlersRegistered=false,Ot.debug("all event handlers unregistered");}ensureEventDispatcher(o){if(this.eventDispatchers.has(o))return;let a=async n=>{await this.handleAgentEvent(n);};this.eventDispatchers.set(o,a),Ot.debug("Event dispatcher ensured",{eventType:o});}removeEventDispatcher(o){this.eventDispatchers.get(o)&&(this.eventDispatchers.delete(o),Ot.debug("Event dispatcher removed",{eventType:o}));}};});function MD(){return Ph||(Ph=D.state(async()=>({initialized:false,initPromise:null,instancePromise:null,handlersInstalled:false,directory:".easbot",sdk:null,activeChannel:null,agent:null,executor:null,acpConnection:null,connectionRegistry:null}),async t=>{let e=t.agent;e&&await e.stop().catch(()=>{});let o=t.executor;o&&await o.close().catch(()=>{}),t.executor=null,t.agent=null,t.sdk=null,t.acpConnection=null,t.connectionRegistry=null;})),Ph}async function mn(){return MD()()}function u5(t){let e=["ECONNRESET","EPIPE","ETIMEDOUT","ECONNREFUSED","ENOTFOUND","EHOSTUNREACH","ENETUNREACH"],o=t.code;return e.includes(o??"")}function DD(t){t.handlersInstalled||(process.on("unhandledRejection",e=>{let o=e instanceof Error?e:new Error(String(e));u5(o)||Ll.error("unhandled promise rejection",{error:o.message,stack:o.stack});}),process.on("uncaughtException",e=>{u5(e)||(Ll.error("uncaught exception",{error:e.message,stack:e.stack}),process.exit(1));}),t.handlersInstalled=true);}async function RD(t){return t.instancePromise||(t.instancePromise=D.provide({directory:t.directory,init:Si,fn:async()=>{Ll.debug("instance bootstrap completed");}}).then(()=>{})),t.instancePromise}async function LD(){try{await D.dispose(),Ll.debug("instance disposed");}catch(t){Ll.warn("failed to dispose instance",{error:t instanceof Error?t.message:String(t)});}}var qs,Ll,Ph,Ns,a0,Eh=j(()=>{I();_t();ne();Me();gp();ms();fp();Ch();Rl();Rl();Sp();qs=class t extends Error{constructor(o,a,n){super(o);Q(this,"type");Q(this,"stage");Q(this,"cause");this.type="AdapterEnvironmentInitializationError",this.stage=a,this.cause=n,Error.captureStackTrace&&Error.captureStackTrace(this,t);}},Ll=O.create({service:"adapter.bootstrap"});(b=>{function t(w,x){return w.sdk||(w.sdk=Ol({directory:x})),w.sdk}function e(w){switch(w){case "http":return "http";case "stdio":return "stdio";case "local":return "local";case "websocket":return "websocket";default:return "stdio"}}async function o(w){let x=await mn();if(x.initialized)return;if(x.initPromise)return x.initPromise;let y={directory:w?.directory??".easbot",initModels:w?.initModels??true,printLogs:w?.printLogs??false,logLevel:w?.logLevel??"INFO",channel:w?.channel??"stdio"};if(x.directory=y.directory,t(x,x.directory),x.activeChannel&&x.activeChannel!==y.channel)throw new Error(`Adapter already initialized with channel ${x.activeChannel}, cannot re-init with ${y.channel}`);return x.activeChannel=y.channel,x.initPromise=(async()=>{try{await ce.init();}catch(k){throw new qs("Failed to initialize global directories","global",k instanceof Error?k:void 0)}try{await O.init({logDir:ce.Path.log,print:y.printLogs,level:y.logLevel});}catch(k){throw new qs("Failed to initialize log infrastructure","log",k instanceof Error?k:void 0)}if(y.initModels)try{_f();}catch(k){throw new qs("Failed to initialize models refresh","models",k instanceof Error?k:void 0)}try{DD(x);}catch(k){throw new qs("Failed to install unhandled exception handlers","handlers",k instanceof Error?k:void 0)}try{await RD(x);}catch(k){throw new qs("Failed to initialize instance","instance",k instanceof Error?k:void 0)}x.initialized=true;})(),x.initPromise}b.init=o;async function a(){let w=await mn();w.initialized&&(w.agent&&(await w.agent.stop().catch(()=>{}),w.agent=null),w.executor&&(await w.executor.close().catch(()=>{}),w.executor=null),await LD(),await O.close(),w.initialized=false,w.initPromise=null,w.instancePromise=null,w.activeChannel=null,w.sdk=null,w.agent=null,w.executor=null,w.acpConnection=null);}b.destroy=a;async function n(){return (await mn()).initialized}b.isInitialized=n;async function i(w){let x=await mn();x.agent=w;}b.setAgent=i;async function s(){return (await mn()).agent}b.getAgent=s;async function r(){return (await mn()).executor}b.getExecutor=r;async function l(){let x=(await mn()).agent?.getServerInstance();return x||null}b.getServer=l;async function c(){return (await mn()).sdk}b.getSDK=c;async function p(){return (await mn()).connectionRegistry}b.getConnectionRegistry=p;async function g(){return (await mn()).acpConnection}b.getACPConnection=g;async function u(w){let x=await mn();x.connectionRegistry=w;}b.setConnectionRegistry=u;async function m(){let w=await mn(),x=!!w.agent?.getServerInstance();return {initialized:w.initialized,directory:w.directory,activeChannel:w.activeChannel,hasSDK:!!w.sdk,hasAgent:!!w.agent,hasExecutor:!!w.executor,hasACPConnection:!!w.acpConnection,hasServer:x}}b.getState=m;async function d(w){await o({channel:w.channel,directory:w.directory});let x=await mn(),y=t(x,x.directory);if(w.channel==="local")return h({directory:w.directory});if(x.agent?.getServerInstance()&&x.activeChannel&&x.activeChannel!==w.channel)throw new Error(`ACP service already started with channel ${x.activeChannel}, cannot switch to ${w.channel}`);if(x.agent&&x.executor){let E=x.agent.getServerInstance();if(E)return {sdk:y,agent:x.agent,executor:x.executor,server:E}}let S=await Fi.create(),f=await Dl.create({serviceMode:e(w.channel),connectionRegistry:S,acp:{sdk:y},acpServerConfig:w,channel:{type:w.channel,timeout:w.timeout},eventSubscription:{autoSubscribe:true}});await f.start();let v=f.getServerInstance();if(!v)throw new Error("ACP server failed to start");let C=f.getDuplexExecutor();if(!C)throw new Error("Failed to get duplex executor from agent");return x.agent=f,x.executor=C,x.activeChannel=w.channel,x.connectionRegistry=S,{sdk:y,agent:f,executor:C,server:v}}b.ensureACPService=d;async function h(w){await o({channel:"local",directory:w.directory});let x=await mn(),y=t(x,x.directory);if(x.agent&&x.executor)return {sdk:y,agent:x.agent,executor:x.executor};let k=new WritableStream({write(P){return new Promise((M,B)=>{try{process.stdout.write(P)?M():process.stdout.once("drain",M);}catch(H){let ee=H;ee.code==="EPIPE"||ee.code==="EIO"?B(new Error("stdout pipe broken")):B(H);}})}}),S=new ReadableStream({start(P){process.stdin.on("data",M=>{P.enqueue(new Uint8Array(M));}),process.stdin.on("end",()=>P.close()),process.stdin.on("error",M=>P.error(M));}}),f=ndJsonStream(k,S),v=await Fi.create(),C=await Dl.create({serviceMode:"local",connectionRegistry:v,acp:{sdk:y},channel:{type:"local",timeout:6e4},eventSubscription:{autoSubscribe:true},localStream:{stream:f}});x.acpConnection=C.getConnection()??null,await C.start();let E=C.getDuplexExecutor();if(!E)throw new Error("Failed to get duplex executor from agent");return x.agent=C,x.executor=E,x.activeChannel="local",x.connectionRegistry=v,Ll.info("Local ACP service started, waiting for client..."),process.stdin.resume(),{sdk:y,agent:C,executor:E}}b.ensureACPServiceLocal=h;})(Ns||(Ns={}));a0=Ns;});async function Ci(t){Jo.debug("getRegistry called",{directory:t});let e=await a0.getConnectionRegistry();return e?(Jo.debug("getRegistry: got registry from AdapterBootstrap"),e):n0?(Jo.debug("getRegistry: got registry from localRegistry"),n0):(n0=await Fi.create(),n0)}function OD(t){return t==="stdio"||t==="http"||t==="websocket"?t:"http"}var Jo,n0,To,l5=j(()=>{I();gb();Me();Fr();ne();L2();q2();hb();Om();ts();Rl();Eh();qm();ts();Jo=O.create({service:"agent-client-api"}),n0=null;(w=>{async function t(x,y){Jo.debug("connect called",{args:x,context:y});let k=await Ci(y.directory),S=await je(()=>Pi.getConfig(),"AGENT_CLIENT_CONFIG_ERROR",y||{directory:D.directory}).catch(()=>{}),f=S?.acp?.server?.peerId,v=x.peerId;v||(v=(await(await kl()).getServiceByUrl(x.baseUrl))?.agentId,!v&&f&&(Jo.debug("Using localPeerId as peerId for self-connection",{localPeerId:f}),v=f));let C;if(x.baseUrl.startsWith("ws://")||x.baseUrl.startsWith("wss://")?C="websocket":x.baseUrl.startsWith("http://")||x.baseUrl.startsWith("https://")?C="http":C=OD(S?.acp?.server?.channel),Jo.debug("connect resolved",{baseUrl:x.baseUrl,resolvedChannel:C,localPeerId:f,peerId:v}),f){let H=k.getConnectionsByPeer(f).find(ee=>ee.baseUrl===x.baseUrl);if(H){if(Jo.debug("connect: found existing connection by peer"),H.channel&&H.channel!==C)throw new Error(`Channel mismatch for peer ${f}: ${H.channel} != ${C}`);return {reused:true,...H,channel:H.channel??C}}}let E=k.getConnectionsByService(x.baseUrl);if(E.length>0){let H=E[0];if(Jo.debug("connect: found existing connection by service",{existing:H}),H.channel&&H.channel!==C)throw new Error(`Channel mismatch for service ${x.baseUrl}: ${H.channel} != ${C}`);return {reused:true,connectionId:H.connectionId,sessionId:H.sessionId,peerId:H.peerId,baseUrl:H.baseUrl,channel:H.channel??C}}if(!v)throw new Error(`Remote peer not found in registry for ${x.baseUrl}. Please register the service first.`);if(!f)throw new Error("Local peerId not configured. Please set acp.server.peerId in config.");let P;if(C==="stdio"){let H=await je(()=>a0.getAgent(),"AGENT_CLIENT_GET_AGENT_ERROR",y).catch(()=>{});if(!H)throw new Error("EasBotAgent not initialized for stdio channel; cannot create session automatically.");let ee=await H.newSession({cwd:process.cwd(),mcpServers:[]});P={baseUrl:x.baseUrl,sessionID:ee.sessionId,channel:C};}else {Jo.debug("connect: calling AgentClientService.connect",{baseUrl:x.baseUrl,channel:C});try{P=await Rs.connect({baseUrl:x.baseUrl,sessionId:void 0,channel:C}),Jo.debug("connect: AgentClientService.connect succeeded",{remote:P});}catch(H){throw Jo.error("connect: AgentClientService.connect failed",{error:H.message,stack:H.stack}),H}}Jo.debug("connect: creating connection in registry",{baseUrl:P.baseUrl,localPeerId:f,peerId:v,sessionId:P.sessionID});let M=k.connect(P.baseUrl,f,v,P.sessionID,x.sessionId),B=k.resolve(M.connectionId);return B&&(B.channel=P.channel??C),Jo.debug("connect: completed",{result:M}),{created:true,connectionId:M.connectionId,sessionId:M.sessionId,peerId:M.peerId,baseUrl:M.baseUrl,channel:P.channel??C}}w.connect=t;async function e(x,y){return (await Ci(y.directory)).getConnectionsByPeer(x.peerId??"").filter(S=>!x.baseUrl||S.baseUrl===x.baseUrl)}w.list=e;async function o(x,y,k){let f=(await Ci(k.directory)).resolve(x);if(!f)throw new Error("Connection not found");let v=f.channel??"http";Jo.debug("send: using remote sessionId",{connectionId:x,sessionId:f.sessionId,channel:v,baseUrl:f.baseUrl,partsCount:y.parts?.length??0}),await Rs.send(f.baseUrl,v,y),f.updatedAt=Date.now();}w.send=o;async function a(x,y){let S=(await Ci(y.directory)).resolve(x);if(!S)throw new Error("Connection not found");let f=S.channel??"http";return Rs.capabilities(S.baseUrl,f)}w.capabilities=a;async function n(x,y){(await Ci(y.directory)).closeConnection(x);}w.close=n;async function i(x,y){let S=(await Ci(y.directory)).resolve(x);return S?{connectionId:S.connectionId,peerId:S.peerId,baseUrl:S.baseUrl,sessionId:S.sessionId,status:S.status,updatedAt:S.updatedAt}:{connectionId:x,status:"unknown"}}w.status=i;async function s(x){let y=await Ci(x.directory);return {config:await je(()=>Pi.getConfig(),"AGENT_CLIENT_CONFIG_ERROR",x).catch(()=>{}),managedConnections:y.getAllActiveConnections().length}}w.config=s;async function r(x){return (await kl()).listServices(x)}w.listServices=r;async function l(x){return (await kl()).getService(x)}w.getService=l;async function c(x){return (await kl()).registerService(x)}w.registerService=c;async function p(x,y,k,S){let v=(await Ci(k.directory)).resolve(x);if(!v)throw new Error("Connection not found");let C={...Ms,...S},E=v.channel??"http";switch(E){case "websocket":return g(v,C,y);case "http":return u(v,C,y);case "stdio":return m(v,C,y);default:throw new Error(`Unsupported channel type: ${E}`)}}w.subscribe=p;async function g(x,y,k){Jo.debug("subscribeViaWebSocket: connecting",{baseUrl:x.baseUrl,sessionId:x.sessionId,connectionId:x.connectionId});let S=B2(),f=bi(x.baseUrl);return Jo.debug("subscribeViaWebSocket: WebSocket URL resolved",{wsUrl:f}),await S.connect(f),Jo.debug("subscribeViaWebSocket: connected, subscribing to session",{sessionId:x.sessionId}),S.subscribe(x.sessionId,y,k)}async function u(x,y,k,S){return fb().subscribe({baseUrl:x.baseUrl,sessionId:x.sessionId},y,k,S)}async function m(x,y,k,S,f){let v=pp();await v.connect({baseUrl:x.baseUrl,sessionId:x.sessionId});let C=await v.subscribe(y,k,S);return ()=>{C(),v.disconnect();}}async function d(x,y){let S=(await Ci(y.directory)).resolve(x);if(!S)throw new Error("Connection not found");let f=S.channel??"http";await Rs.interrupt(S.baseUrl,f,S.sessionId),Jo.debug("Interrupt sent via AgentClientService",{connectionId:x,sessionId:S.sessionId});}w.interrupt=d;async function h(x,y,k,S,f){return await o(x,y,S),p(x,k,S,f)}w.exchangeSubscribe=h;async function b(x,y){let S=(await Ci(y.directory)).resolve(x);if(!S){Jo.warn("Connection not found for releaseSubscription",{connectionId:x});return}let{baseUrl:f,channel:v,sessionId:C}=S,E=v??"http";await Rs.releaseSubscription(f,E,C),Jo.debug("Subscription released via AgentClientService",{connectionId:x,sessionId:C});}w.releaseSubscription=b;})(To||(To={}));});async function je(t,e,o){try{o&&Th.debug(`API call started: ${JSON.stringify(o)}`,{errorCode:e});let a=await D.provide({directory:o?.directory??D.directory,init:void 0,fn:t});return o&&Th.debug(`API call completed: ${JSON.stringify(o)}`,{errorCode:e}),a}catch(a){let n=a instanceof Error?a.message:String(a),i=a instanceof Error?a.name:"Error",s=a instanceof Error?a.stack:void 0;throw Th.error(`API call failed: ${o||e}`,{errorCode:e,errorName:i,error:n,stack:s}),a instanceof i0?a:new i0(n,e,a)}}var Th,i0,s0=j(()=>{I();ne();Me();Th=O.create({service:"api"}),i0=class extends Error{constructor(o,a,n){super(o);Q(this,"code",a);Q(this,"details",n);this.name="ApiError";}};});var Ah=j(()=>{I();l5();s0();});var as,r0,c5=j(()=>{I();ne();Ah();as=O.create({service:"subagent.remote"}),r0=class{constructor(){Q(this,"connectionId",null);Q(this,"config",null);Q(this,"_isRunning",false);Q(this,"pendingResolve",null);Q(this,"pendingReject",null);Q(this,"unsubscribeFn",null);Q(this,"responseText","");Q(this,"toolCalls",[]);Q(this,"completionPromise",null);}async start(e){if(this.config=e,!e.uri)throw new Error("Remote agent URI is required");as.debug("RemoteAgentHandler.start",{uri:e.uri,name:e.name});let o=await To.connect({baseUrl:e.uri},{directory:e.cwd??process.cwd()});this.connectionId=o.connectionId,this._isRunning=true,as.info("Remote agent connected",{connectionId:this.connectionId,uri:e.uri,name:e.name});}async stop(){if(as.debug("RemoteAgentHandler.stop",{connectionId:this.connectionId}),this.unsubscribeFn&&(this.unsubscribeFn(),this.unsubscribeFn=null),this.connectionId){try{await To.close(this.connectionId,{directory:this.config?.cwd??process.cwd()});}catch(e){as.warn("Error closing connection",{error:String(e)});}this.connectionId=null;}this._isRunning=false,this.reset();}async execute(e){if(!this.connectionId)throw new Error("Remote agent not connected");let o={directory:this.config?.cwd??process.cwd()};as.debug("RemoteAgentHandler.execute",{title:e.title,agent:e.agent,partsCount:e.parts?.length??1}),this.reset(),this.completionPromise=new Promise((a,n)=>{this.pendingResolve=a,this.pendingReject=n;});try{this.unsubscribeFn=await To.exchangeSubscribe(this.connectionId,{sessionID:"",parts:e.parts??[{type:"text",text:e.title}]},n=>this.handleMessage(n),o);let a=await this.completionPromise;return as.debug("RemoteAgentHandler.execute completed",{title:e.title,hasText:!!a.text,textLength:a.text?.length??0,toolsCount:a.tools?.length??0}),{title:e.title,output:a.text??"",metadata:{connectionId:this.connectionId,agent:e.agent,sessionId:a.metadata?.sessionId,messageId:a.metadata?.messageId,tokens:a.metadata?.tokens,error:a.metadata?.error}}}catch(a){throw as.error("RemoteAgentHandler.execute failed",{title:e.title,error:String(a)}),a}}async interrupt(){this.connectionId&&(as.debug("RemoteAgentHandler.interrupt",{connectionId:this.connectionId}),await To.interrupt(this.connectionId,{directory:this.config?.cwd??process.cwd()}));}isRunning(){return this._isRunning}handleMessage(e){as.debug("RemoteAgentHandler.handleMessage",{role:e.role,hasText:!!e.text,textLength:e.text?.length??0,hasTools:!!e.tools,toolsCount:e.tools?.length??0}),this.responseText=e.text??"",this.toolCalls=e.tools??[],this.pendingResolve&&(this.pendingResolve(e),this.pendingResolve=null,this.pendingReject=null);}reset(){this.responseText="",this.toolCalls=[],this.pendingResolve=null,this.pendingReject=null,this.completionPromise=null;}};});var u0,l0,p5=j(()=>{I();ne();u0=O.create({service:"subagent.cli"}),l0=class{constructor(){Q(this,"process",null);Q(this,"config",null);Q(this,"_isRunning",false);}async start(e){this.config=e,this._isRunning=true,u0.debug("CLIAgentHandler.start",{command:e.command});}async stop(){this.process&&(this.process.kill(),this.process=null),this._isRunning=false;}async execute(e){if(!this.config?.command)throw new Error("CLI command not configured");u0.debug("CLIAgentHandler.execute",{title:e.title,command:this.config.command});let o=this.buildArgs(e),a=this.config.command,n=this.config.cwd,i=this.config.env,s=this.config.timeout??12e4,r={...process.env,...i,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8"};process.platform==="win32"&&(r.LC_CTYPE="en_US.UTF-8"),this.process=PKG.spawn({cmd:[a,...o],cwd:n,env:r,stdout:"pipe",stderr:"pipe",stdin:"null",timeout:s});let l="",c="";this.process.stdout?.on("data",p=>{l+=p.toString("utf-8");}),this.process.stderr?.on("data",p=>{c+=p.toString("utf-8");});try{let p=await this.process.exited;if(p===0)return {title:e.title,output:l.trim(),metadata:{command:a,args:o,exitCode:p}};throw u0.error("CLI exited with error",{code:p,stderr:c}),new Error(`CLI exited with code ${p}: ${c}`)}catch(p){throw u0.error("CLI process error",{error:p.message}),p}}async interrupt(){this.process&&this.process.kill("SIGTERM");}isRunning(){return this._isRunning}buildArgs(e){let o=[...this.config?.args??[]],a=e.parts?.filter(n=>n.type==="text").map(n=>n.text).join(`
|
|
412
|
+
`).trim())return w.json({error:"No prompt provided"},400);if(!x)return w.json({error:"No sessionId provided"},400);let f=await t.processMessage(x,{sessionID:x,parts:k});return w.status(202),w.json({success:true,result:f})}},{method:"get",path:"/session/:sessionId/events",handler:w=>{let x=w.req.param("sessionId");if(!x)return w.json({error:"No sessionId provided"},400);let y=`sse_${Date.now()}_${Math.random().toString(36).substring(2,9)}`;w.header("Content-Type","text/event-stream"),w.header("Cache-Control","no-cache"),w.header("Connection","keep-alive"),w.header("X-Accel-Buffering","no");let k=m(x,y);return new Response(k,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}})}},{method:"post",path:"/initialize",handler:async w=>{let y=(await w.req.json().catch(()=>({})))?.protocolVersion??1,k=await t.initialize({protocolVersion:y,clientCapabilities:{}});return w.json(k)}},{method:"get",path:"/status",handler:w=>w.json({status:"running",channel:"http",port:e.port,hostname:e.hostname,uptime:process.uptime(),sse:{connections:o.size,sessions:a.size}})},{method:"get",path:"/subscriptions",handler:w=>w.json({sseConnections:o.size,sessions:Object.fromEntries(Array.from(a.entries()).map(([x,y])=>[x,y.size]))})},{method:"delete",path:"/session/:sessionId/subscription",handler:w=>{let x=w.req.param("sessionId");return x?(u(x),w.json({success:true,message:"Session subscription released",sessionId:x})):w.json({error:"No sessionId provided"},400)}},{method:"post",path:"/session/:sessionId/interrupt",handler:async w=>{let x=w.req.param("sessionId");if(!x)return w.json({error:"No sessionId provided"},400);dn.info("Interrupt requested",{sessionId:x});try{return await t.cancel({sessionId:x}),w.json({success:!0,message:"Session interrupted"})}catch(y){return dn.error("Failed to interrupt session",{sessionId:x,error:y instanceof Error?y.message:String(y)}),w.json({success:false,error:y instanceof Error?y.message:"Unknown error"},500)}}}],b=createServer$1({port:e.port,hostname:e.hostname,routes:h,timeout:e.timeout,cors:true});return dn.info("HTTP server started",{url:`http://${e.hostname}:${e.port}`}),{server:b,stop:async()=>{dn.info("Stopping HTTP server"),clearInterval(d),clearInterval(l),g();for(let w of o.values())try{w.controller.close();}catch{}o.clear(),a.clear(),n.clear(),await b.stop(),dn.info("HTTP server stopped");}}}var dn,Ih=j(()=>{I();ne();Ml();jr();t0();dn=O.create({service:"http-server"});});function CD(t){try{let e=new URL(t),o=e.hostname,a=parseInt(e.port,10);if(o&&!Number.isNaN(a)&&a>0&&a<=65535)return {port:a,hostname:o}}catch{}}async function n5(t,e){let o=e.ws?CD(e.ws.url):void 0,a=o?.port??e.port??3e3,n=o?.hostname??e.hostname??"localhost",i=e.ws?.url?(()=>{try{return new URL(e.ws.url).pathname||"/"}catch{return "/"}})():"/";if(ua.info("Starting WebSocket server",{port:a,hostname:n,wsUrl:e.ws?.url,fallback:!o&&e.ws?"using default port/hostname":void 0}),e.channel!==ra.WEBSOCKET)throw new Error("Invalid channel type for WebSocket server");let s=new Map,r=new Map,l=new Map,c=new Map,p=e.sessionExpireMs??300*1e3,g=k=>{c.set(k,Date.now());},m=setInterval(()=>{let k=Date.now(),S=[];for(let[f,v]of c.entries())k-v>p&&S.push(f);for(let f of S)ua.info("Session expired due to inactivity, releasing resources",{sessionId:f,lastActivity:c.get(f),expireMs:p}),b(f),c.delete(f);S.length>0&&ua.debug("Cleaned up expired sessions",{count:S.length,remainingActive:c.size});},3e4),d=(k,S)=>{g(k);let f=l.get(k);if(!f||f.size===0){ua.debug("No clients subscribed to session",{sessionId:k});return}let v=S?.properties?.sessionID;if(typeof v=="string"&&v&&v!==k)return;let C=JSON.stringify({type:"event",sessionId:k,payload:S});for(let E of f){let P=r.get(E);P&&P.ws.readyState===P.ws.OPEN&&P.subscribedSessions.has(k)&&(P.ws.send(C),ua.debug("Event pushed to client",{clientId:E,sessionId:k,eventType:S.type}));}},h=t.subscribeLocalEvents(k=>{if(k.type==="sdk.session_update"){let f=k.properties,v=Al(f.sessionId,f.update);v&&(d(f.sessionId,v),f.update?.sessionUpdate==="status_update"&&f.update?.status?.type==="idle"&&(ua.debug("Session idle, updating activity time (will expire if no activity)",{sessionId:f.sessionId}),g(f.sessionId)));return}let S=Tl(k);S?.properties.sessionID&&d(S.properties.sessionID,S);}),b=k=>{let S=l.get(k);if(S){let f=JSON.stringify({type:"session_closed",sessionId:k,message:"Session resources released due to expiration or explicit release"});for(let v of S){let C=r.get(v);C&&C.ws.readyState===C.ws.OPEN&&C.ws.send(f);}for(let v of S){let C=r.get(v);C&&C.subscribedSessions.delete(k);}l.delete(k),ua.info("Session resources released",{sessionId:k,clientCount:S.size});}},w={onOpen:(k,S)=>{let f=`ws_${Date.now()}_${Math.random().toString(36).substring(2,9)}`;s.set(f,S),r.set(f,{clientId:f,ws:S,subscribedSessions:new Set,subscribedEventTypes:new Set}),ua.info("WebSocket client connected",{clientId:f}),S.send(JSON.stringify({type:"connected",clientId:f}));},onMessage:async(k,S)=>{try{let f=JSON.parse(k.data.toString());if(f.type==="ping"){S.send(JSON.stringify({type:"pong"}));return}if(f.type==="initialize"){let v=f.payload?.protocolVersion??1,C=await t.initialize({protocolVersion:v,clientCapabilities:{}});S.send(JSON.stringify({type:"initialize_response",result:C}));return}if(f.type==="subscribe"&&f.sessionId){let v=a5(S,s);if(!v){S.send(JSON.stringify({type:"error",message:"Client not found"}));return}let C=r.get(v);C&&(C.subscribedSessions.add(f.sessionId),l.has(f.sessionId)||l.set(f.sessionId,new Set),l.get(f.sessionId).add(v),g(f.sessionId),ua.info("Client subscribed to session",{clientId:v,sessionId:f.sessionId}),S.send(JSON.stringify({type:"subscribed",sessionId:f.sessionId,message:"Successfully subscribed to session events"})));return}if(f.type==="unsubscribe"&&f.sessionId){let v=a5(S,s);if(!v)return;let C=r.get(v);if(C){C.subscribedSessions.delete(f.sessionId);let E=l.get(f.sessionId);E&&(E.delete(v),E.size===0&&l.delete(f.sessionId)),ua.info("Client unsubscribed from session",{clientId:v,sessionId:f.sessionId}),S.send(JSON.stringify({type:"unsubscribed",sessionId:f.sessionId}));}return}if(f.type==="message"&&f.sessionId&&f.payload){let v=f.payload,C=Array.isArray(v?.parts)?v.parts.filter(P=>P?.type==="text").map(P=>({type:"text",text:P.text??""})):v?.parts?[{type:"text",text:JSON.stringify(f.payload)}]:[],E=await t.processMessage(f.sessionId,{sessionID:f.sessionId,parts:C});S.send(JSON.stringify({type:"response",sessionId:f.sessionId,result:E}));return}if(f.type==="interrupt"&&f.sessionId){ua.info("Interrupt requested via WebSocket",{sessionId:f.sessionId});try{await t.cancel({sessionId:f.sessionId}),S.send(JSON.stringify({type:"interrupted",sessionId:f.sessionId,success:!0}));}catch(v){ua.error("Failed to interrupt session",{sessionId:f.sessionId,error:v instanceof Error?v.message:String(v)}),S.send(JSON.stringify({type:"interrupted",sessionId:f.sessionId,success:!1,error:v instanceof Error?v.message:"Unknown error"}));}return}if(f.type==="releaseSubscription"&&f.sessionId){ua.info("Release subscription requested via WebSocket",{sessionId:f.sessionId}),b(f.sessionId),S.send(JSON.stringify({type:"subscriptionReleased",sessionId:f.sessionId,message:"Session subscription and resources released"}));return}}catch(f){ua.error("Error processing WebSocket message",{error:f.message}),S.send(JSON.stringify({type:"error",message:f.message}));}},onClose:(k,S)=>{for(let[f,v]of s.entries())if(v===S){s.delete(f);let C=r.get(f);if(C){for(let E of C.subscribedSessions){let P=l.get(E);P&&(P.delete(f),P.size===0&&l.delete(E));}r.delete(f);}ua.info("WebSocket client disconnected",{clientId:f});break}},onError:(k,S)=>{ua.error("WebSocket error",{error:k.type});}},x=createServer$1({port:a,hostname:n,routes:[{method:"get",path:"/health",handler:k=>k.json({status:"healthy",channel:"websocket",clients:s.size,subscriptions:l.size,timestamp:Date.now()})},{method:"post",path:"/initialize",handler:async k=>{let f=(await k.req.json().catch(()=>({})))?.protocolVersion??1,v=await t.initialize({protocolVersion:f,clientCapabilities:{}});return k.json(v)}},{method:"post",path:"/session",handler:async k=>{let f=(await k.req.json().catch(()=>({})))?.title??"New Session",v=await t.newSession({cwd:process.cwd(),mcpServers:[]});return k.json({data:{id:v.sessionId},title:f})}},{method:"post",path:"/session/:sessionId/prompt",handler:async k=>{let S=k.req.param("sessionId"),v=(await k.req.json().catch(()=>({})))?.parts,C=Array.isArray(v)?v.filter(P=>P?.type==="text").map(P=>({type:"text",text:P.text??""})):[];if(C.length===0||C.every(P=>!P.text.trim()))return k.json({error:"No prompt provided"},400);if(!S)return k.json({error:"No sessionId provided"},400);let E=await t.processMessage(S,{sessionID:S,parts:C});return k.status(202),k.json({success:true,result:E})}},{method:"get",path:"/status",handler:k=>k.json({status:"running",channel:"websocket",port:e.port,hostname:e.hostname,clients:s.size,subscriptions:l.size,uptime:process.uptime()})},{method:"get",path:"/subscriptions",handler:k=>k.json({clients:s.size,sessions:Object.fromEntries(Array.from(l.entries()).map(([S,f])=>[S,f.size]))})}],timeout:e.timeout,cors:true}),y=x.raw;if(y){let k=new WebSocketServer({noServer:true});y.on("upgrade",(S,f,v)=>{try{let E=new URL(S.url||"/",`http://${S.headers.host}`).pathname;(E===i||i==="/"&&(E==="/"||E===""))&&k.handleUpgrade(S,f,v,P=>{w.onOpen?.({type:"open"},P),P.on("message",M=>{w.onMessage?.({data:M},P);}),P.on("close",(M,B)=>{w.onClose?.({code:M,reason:B},P);}),P.on("error",M=>{w.onError?.({type:"error",message:M.message},P);});});}catch{}});}return ua.info("WebSocket server started",{url:e.ws?.url||`ws://${n}:${a}`,path:i}),{server:x,stop:async()=>{ua.info("Stopping WebSocket server"),clearInterval(m),h(),s.forEach(k=>{k.close(1e3,"Server shutting down");}),s.clear(),r.clear(),l.clear(),c.clear(),await x.stop(),ua.info("WebSocket server stopped");}}}function a5(t,e){for(let[o,a]of e.entries())if(a===t)return o;return null}var ua,Sh=j(()=>{I();ne();Ml();jr();t0();ua=O.create({service:"websocket-server"});});async function i5(t,e){let o=e5(Zb(e||{}));Ip.info("Starting ACPServer",{channel:o.channel,port:o.port,hostname:o.hostname});let a,n;switch(o.channel){case ra.STDIO:({server:a,stop:n}=await t5(t,o));break;case ra.HTTP:({server:a,stop:n}=await o5(t,o));break;case ra.WEBSOCKET:({server:a,stop:n}=await n5(t,o));break;default:throw new Error(`Unsupported service mode: ${o.channel}`)}let i={type:o.channel,server:a,agent:t,stop:async()=>{Ip.info("Stopping ACPServer",{type:o.channel}),await n();},healthCheck:async()=>{if(typeof a=="object"&&a!==null&&"healthCheck"in a){let s=a.healthCheck;if(typeof s=="function")return s()}return true}};return Ip.info("ACPServer started successfully",{type:i.type,url:PD(o)}),i}function PD(t){switch(t.channel){case ra.STDIO:return "stdio://process";case ra.HTTP:return `http://${t.hostname}:${t.port}`;case ra.WEBSOCKET:return `ws://${t.hostname}:${t.port}`;default:return "unknown://"}}async function ED(t){await Promise.all(t.map(async e=>{try{await e.stop();}catch(o){Ip.error("Error stopping server",{type:e.type,error:String(o)});}}));}async function s5(t){await ED([t]);}function vue(t){return {type:t.channel,server:null,agent:null,stop:async()=>{Ip.warn("Server not started, nothing to stop");},healthCheck:async()=>false}}var Ip,r5=j(()=>{I();ne();e0();bh();vh();Ih();Sh();Ip=O.create({service:"acp-server"});});var Ml=j(()=>{I();e0();bh();r5();Ih();vh();Sh();});var Ot,Dl,Ch=j(()=>{I();ne();Rl();jr();jr();Jb();Ml();fp();Ia();_t();Ot=O.create({service:"easbot-agent"}),Dl=class t extends vp{constructor(o,a){super(o,a);Q(this,"localEventBus");Q(this,"sdkEventBridge",null);Q(this,"acpEventBridge",null);Q(this,"enableSdkEventBridge");Q(this,"eventHandlers",new Map);Q(this,"eventDispatchers",new Map);Q(this,"server",null);Q(this,"isAgentInitialized",false);Q(this,"handlersRegistered",false);this.localEventBus=new hp,this.enableSdkEventBridge=a.enableSdkEventBridge??true,Ot.info("EasBotAgent instance created",{serviceMode:this.serviceMode,enableSdkEventBridge:this.enableSdkEventBridge});}static async create(o){Ot.info("creating EasBotAgent",{serviceMode:o.serviceMode});let a=o.serviceMode==="local",n=new t(void 0,o),i=n.getDuplexExecutor();if(i&&i.setAgent(n),a&&o.localStream){let{stream:s}=o.localStream,r={initialize:async c=>n.initialize(c),newSession:async c=>n.newSession(c),loadSession:async c=>n.loadSession(c),prompt:async c=>n.prompt(c),cancel:async c=>n.cancel(c),authenticate:async c=>n.authenticate(c),setSessionMode:async c=>n.setSessionMode(c),setSessionConfigOption:async c=>n.setSessionConfigOption(c),unstable_setSessionModel:async c=>n.unstable_setSessionModel(c),listSessions:async c=>n.listSessions(c),unstable_forkSession:async c=>n.unstable_forkSession(c),unstable_resumeSession:async c=>n.unstable_resumeSession(c),unstable_closeSession:async c=>n.unstable_closeSession(c)},l=new AgentSideConnection(()=>r,s);n.setConnection(l);}return Ot.info("EasBotAgent created successfully",{serviceMode:o.serviceMode,hasConnection:a&&!!o.localStream}),n}async initialize(o){return Ot.info("ACP initialize requested",{protocolVersion:o.protocolVersion}),this.isAgentInitialized||await this.initializeAgent(),{protocolVersion:o.protocolVersion,agentCapabilities:{loadSession:true,positionEncoding:"utf-8",mcpCapabilities:{http:true,sse:true},promptCapabilities:{image:true,embeddedContext:true,audio:false},sessionCapabilities:{close:{},fork:{},list:{},resume:{}},_meta:{history_scope:true,session_management:true}},agentInfo:{name:"EasBot Agent",version:ce.getVersion(),title:"Multi-Agent Collaboration Ecosystem Agent"},authMethods:[{id:"easbot-token",name:"EasBot Token Authentication",description:"Authenticate using EasBot API token"}]}}async initializeAgent(){if(this.isAgentInitialized){Ot.warn("EasBotAgent already initialized");return}Ot.info("initializing EasBotAgent internals");try{await this.initializeExecutor();let o=this.config;o.channel?.type==="local"?await this.initializeAcpEventBridge():this.enableSdkEventBridge&&await this.initializeSdkEventBridge(),(o.eventSubscription?.autoSubscribe??!0)&&this.registerDefaultEventHandlers();let i=o.eventSubscription?.handlers;if(i)for(let[s,r]of Object.entries(i))r&&this.registerEventHandler(s,r);this.isAgentInitialized=!0,this.setStatus("ready"),Ot.info("EasBotAgent internals initialized successfully");}catch(o){throw this.setStatus("error"),Ot.error("failed to initialize EasBotAgent",{error:String(o)}),o}}async start(){if(this.status==="running"){Ot.warn("EasBotAgent already running");return}this.isAgentInitialized||await this.initializeAgent();let o=this.config;o.acpServerConfig&&!this.server&&(this.server=await i5(this,o.acpServerConfig)),this.setStatus("running"),Ot.info("EasBotAgent started");}async stop(){if(this.status==="stopped"){Ot.warn("EasBotAgent already stopped");return}Ot.info("stopping EasBotAgent");try{this.server&&(await s5(this.server),this.server=null),this.sdkEventBridge&&(await this.sdkEventBridge.stop(),this.sdkEventBridge=null),this.acpEventBridge&&(await this.acpEventBridge.stop(),this.acpEventBridge=null),this.unregisterAllEventHandlers(),this.localEventBus.destroy(),await this.dispose(),this.setStatus("stopped"),this.isAgentInitialized=!1,Ot.info("EasBotAgent stopped successfully");}catch(o){throw this.setStatus("error"),Ot.error("error stopping EasBotAgent",{error:String(o)}),o}}getLocalEventBus(){return this.localEventBus}subscribeLocalEvents(o){return this.localEventBus.subscribeAll(o)}async publishLocalEvent(o){await this.localEventBus.publish(o);}async initializeSdkEventBridge(){if(this.sdkEventBridge){Ot.warn("SDK event bridge already initialized");return}let o=this.config.acp?.sdk;if(!o){Ot.warn("Cannot initialize SDK event bridge: missing SDK client");return}let a=n=>{let i=!!this.sessionManager.tryGet(n),s=!!this.connectionRegistry?.resolve(n);return i||s};this.sdkEventBridge=new wp(o,this.localEventBus,a),await this.sdkEventBridge.start(),Ot.info("SDK event bridge initialized");}async initializeAcpEventBridge(){if(this.acpEventBridge){Ot.warn("ACP event bridge already initialized");return}let a=this.config.acp?.sdk,n=this.getConnection();if(!a)throw Ot.error("Cannot initialize ACP event bridge: missing SDK client"),new Error("SDK client is required for ACP event bridge");if(!n)throw Ot.error("Cannot initialize ACP event bridge: missing ACP connection"),new Error("ACP connection is required for ACP event bridge");this.acpEventBridge=new bp(a,n,this.localEventBus),await this.acpEventBridge.start(),Ot.info("ACP event bridge initialized");}async processMessage(o,a){Ot.debug("Processing message",{sessionId:o,messageType:typeof a});let n=await this.config.acp.sdk.session.prompt(a);return Ot.debug("Message processed",{sessionId:o}),n.data}getServiceMode(){return this.serviceMode}getServerInstance(){return this.server}registerEventHandler(o,a){let n=this.eventHandlers.get(o)??[];return n.push(a),this.eventHandlers.set(o,n),this.ensureEventDispatcher(o),Ot.debug("event handler registered",{eventType:o}),()=>{this.unregisterEventHandler(o,a);}}unregisterEventHandler(o,a){let n=this.eventHandlers.get(o);if(n){let i=n.indexOf(a);i!==-1&&n.splice(i,1),n.length===0&&(this.eventHandlers.delete(o),this.removeEventDispatcher(o));}Ot.debug("event handler unregistered",{eventType:o});}async publishEvent(o){let a={type:"agent.status",properties:{agentId:"easbot-agent",status:"busy",timestamp:Date.now()}};await this.localEventBus.publish(a),Ot.debug("Event published",{type:o.type});}registerDefaultEventHandlers(){let o=["usage_update","message_start","message_end","tool_use"];for(let a of o)this.ensureEventDispatcher(a);this.subscribeLocalEvents(async a=>{if(a.type==="sdk.session_deleted"){let i=a.properties.sessionId;Ot.info("Handling SDK session deleted",{sessionId:i}),this.sessionManager.tryGet(i)&&(this.sessionManager.close(i),Ot.debug("Cleaned up session from sessionManager",{sessionId:i}));}}),this.handlersRegistered=true,Ot.debug("default event handlers registered",{events:o});}async handleAgentEvent(o){let a=[...this.eventHandlers.get(o.type)??[]];for(let n of a)try{await n(o);}catch(i){Ot.error("event handler error",{eventType:o.type,error:String(i)});}}unregisterAllEventHandlers(){this.eventHandlers.clear(),this.eventDispatchers.clear(),this.handlersRegistered=false,Ot.debug("all event handlers unregistered");}ensureEventDispatcher(o){if(this.eventDispatchers.has(o))return;let a=async n=>{await this.handleAgentEvent(n);};this.eventDispatchers.set(o,a),Ot.debug("Event dispatcher ensured",{eventType:o});}removeEventDispatcher(o){this.eventDispatchers.get(o)&&(this.eventDispatchers.delete(o),Ot.debug("Event dispatcher removed",{eventType:o}));}};});function MD(){return Ph||(Ph=D.state(async()=>({initialized:false,initPromise:null,instancePromise:null,handlersInstalled:false,directory:".easbot",sdk:null,activeChannel:null,agent:null,executor:null,acpConnection:null,connectionRegistry:null}),async t=>{let e=t.agent;e&&await e.stop().catch(()=>{});let o=t.executor;o&&await o.close().catch(()=>{}),t.executor=null,t.agent=null,t.sdk=null,t.acpConnection=null,t.connectionRegistry=null;})),Ph}async function mn(){return MD()()}function u5(t){let e=["ECONNRESET","EPIPE","ETIMEDOUT","ECONNREFUSED","ENOTFOUND","EHOSTUNREACH","ENETUNREACH"],o=t.code;return e.includes(o??"")}function DD(t){t.handlersInstalled||(process.on("unhandledRejection",e=>{let o=e instanceof Error?e:new Error(String(e));u5(o)||Ll.error("unhandled promise rejection",{error:o.message,stack:o.stack});}),process.on("uncaughtException",e=>{u5(e)||(Ll.error("uncaught exception",{error:e.message,stack:e.stack}),process.exit(1));}),t.handlersInstalled=true);}async function RD(t){return t.instancePromise||(t.instancePromise=D.provide({directory:t.directory,init:Si,fn:async()=>{Ll.debug("instance bootstrap completed");}}).then(()=>{})),t.instancePromise}async function LD(){try{await D.dispose(),Ll.debug("instance disposed");}catch(t){Ll.warn("failed to dispose instance",{error:t instanceof Error?t.message:String(t)});}}var qs,Ll,Ph,Ns,a0,Eh=j(()=>{I();_t();ne();Me();gp();ms();fp();Ch();Rl();Rl();Sp();qs=class t extends Error{constructor(o,a,n){super(o);Q(this,"type");Q(this,"stage");Q(this,"cause");this.type="AdapterEnvironmentInitializationError",this.stage=a,this.cause=n,Error.captureStackTrace&&Error.captureStackTrace(this,t);}},Ll=O.create({service:"adapter.bootstrap"});(b=>{function t(w,x){return w.sdk||(w.sdk=Ol({directory:x})),w.sdk}function e(w){switch(w){case "http":return "http";case "stdio":return "stdio";case "local":return "local";case "websocket":return "websocket";default:return "stdio"}}async function o(w){let x=await mn();if(x.initialized)return;if(x.initPromise)return x.initPromise;let y={directory:w?.directory??".easbot",initModels:w?.initModels??true,printLogs:w?.printLogs??false,logLevel:w?.logLevel??"INFO",channel:w?.channel??"stdio"};if(x.directory=y.directory,t(x,x.directory),x.activeChannel&&x.activeChannel!==y.channel)throw new Error(`Adapter already initialized with channel ${x.activeChannel}, cannot re-init with ${y.channel}`);return x.activeChannel=y.channel,x.initPromise=(async()=>{try{await ce.init();}catch(k){throw new qs("Failed to initialize global directories","global",k instanceof Error?k:void 0)}try{await O.init({logDir:ce.Path.log,print:y.printLogs,level:y.logLevel});}catch(k){throw new qs("Failed to initialize log infrastructure","log",k instanceof Error?k:void 0)}if(y.initModels)try{_f();}catch(k){throw new qs("Failed to initialize models refresh","models",k instanceof Error?k:void 0)}try{DD(x);}catch(k){throw new qs("Failed to install unhandled exception handlers","handlers",k instanceof Error?k:void 0)}try{await RD(x);}catch(k){throw new qs("Failed to initialize instance","instance",k instanceof Error?k:void 0)}x.initialized=true;})(),x.initPromise}b.init=o;async function a(){let w=await mn();w.initialized&&(w.agent&&(await w.agent.stop().catch(()=>{}),w.agent=null),w.executor&&(await w.executor.close().catch(()=>{}),w.executor=null),await LD(),await O.close(),w.initialized=false,w.initPromise=null,w.instancePromise=null,w.activeChannel=null,w.sdk=null,w.agent=null,w.executor=null,w.acpConnection=null);}b.destroy=a;async function n(){return (await mn()).initialized}b.isInitialized=n;async function i(w){let x=await mn();x.agent=w;}b.setAgent=i;async function s(){return (await mn()).agent}b.getAgent=s;async function r(){return (await mn()).executor}b.getExecutor=r;async function l(){let x=(await mn()).agent?.getServerInstance();return x||null}b.getServer=l;async function c(){return (await mn()).sdk}b.getSDK=c;async function p(){return (await mn()).connectionRegistry}b.getConnectionRegistry=p;async function g(){return (await mn()).acpConnection}b.getACPConnection=g;async function u(w){let x=await mn();x.connectionRegistry=w;}b.setConnectionRegistry=u;async function m(){let w=await mn(),x=!!w.agent?.getServerInstance();return {initialized:w.initialized,directory:w.directory,activeChannel:w.activeChannel,hasSDK:!!w.sdk,hasAgent:!!w.agent,hasExecutor:!!w.executor,hasACPConnection:!!w.acpConnection,hasServer:x}}b.getState=m;async function d(w){await o({channel:w.channel,directory:w.directory});let x=await mn(),y=t(x,x.directory);if(w.channel==="local")return h({directory:w.directory});if(x.agent?.getServerInstance()&&x.activeChannel&&x.activeChannel!==w.channel)throw new Error(`ACP service already started with channel ${x.activeChannel}, cannot switch to ${w.channel}`);if(x.agent&&x.executor){let E=x.agent.getServerInstance();if(E)return {sdk:y,agent:x.agent,executor:x.executor,server:E}}let S=await Fi.create(),f=await Dl.create({serviceMode:e(w.channel),connectionRegistry:S,acp:{sdk:y},acpServerConfig:w,channel:{type:w.channel,timeout:w.timeout},eventSubscription:{autoSubscribe:true}});await f.start();let v=f.getServerInstance();if(!v)throw new Error("ACP server failed to start");let C=f.getDuplexExecutor();if(!C)throw new Error("Failed to get duplex executor from agent");return x.agent=f,x.executor=C,x.activeChannel=w.channel,x.connectionRegistry=S,{sdk:y,agent:f,executor:C,server:v}}b.ensureACPService=d;async function h(w){await o({channel:"local",directory:w.directory});let x=await mn(),y=t(x,x.directory);if(x.agent&&x.executor)return {sdk:y,agent:x.agent,executor:x.executor};let k=new WritableStream({write(P){return new Promise((M,B)=>{try{process.stdout.write(P)?M():process.stdout.once("drain",M);}catch(H){let ee=H;ee.code==="EPIPE"||ee.code==="EIO"?B(new Error("stdout pipe broken")):B(H);}})}}),S=new ReadableStream({start(P){process.stdin.on("data",M=>{P.enqueue(new Uint8Array(M));}),process.stdin.on("end",()=>P.close()),process.stdin.on("error",M=>P.error(M));}}),f=ndJsonStream(k,S),v=await Fi.create(),C=await Dl.create({serviceMode:"local",connectionRegistry:v,acp:{sdk:y},channel:{type:"local",timeout:6e4},eventSubscription:{autoSubscribe:true},localStream:{stream:f}});x.acpConnection=C.getConnection()??null,await C.start();let E=C.getDuplexExecutor();if(!E)throw new Error("Failed to get duplex executor from agent");return x.agent=C,x.executor=E,x.activeChannel="local",x.connectionRegistry=v,Ll.info("Local ACP service started, waiting for client..."),process.stdin.resume(),{sdk:y,agent:C,executor:E}}b.ensureACPServiceLocal=h;})(Ns||(Ns={}));a0=Ns;});async function Ci(t){Jo.debug("getRegistry called",{directory:t});let e=await a0.getConnectionRegistry();return e?(Jo.debug("getRegistry: got registry from AdapterBootstrap"),e):n0?(Jo.debug("getRegistry: got registry from localRegistry"),n0):(n0=await Fi.create(),n0)}function OD(t){return t==="stdio"||t==="http"||t==="websocket"?t:"http"}var Jo,n0,To,l5=j(()=>{I();gb();Me();Fr();ne();L2();q2();hb();Om();ts();Rl();Eh();qm();ts();Jo=O.create({service:"agent-client-api"}),n0=null;(w=>{async function t(x,y){Jo.debug("connect called",{args:x,context:y});let k=await Ci(y.directory),S=await je(()=>Pi.getConfig(),"AGENT_CLIENT_CONFIG_ERROR",y||{directory:D.directory}).catch(()=>{}),f=S?.acp?.server?.peerId,v=x.peerId;v||(v=(await(await kl()).getServiceByUrl(x.baseUrl))?.agentId,!v&&f&&(Jo.debug("Using localPeerId as peerId for self-connection",{localPeerId:f}),v=f));let C;if(x.baseUrl.startsWith("ws://")||x.baseUrl.startsWith("wss://")?C="websocket":x.baseUrl.startsWith("http://")||x.baseUrl.startsWith("https://")?C="http":C=OD(S?.acp?.server?.channel),Jo.debug("connect resolved",{baseUrl:x.baseUrl,resolvedChannel:C,localPeerId:f,peerId:v}),f){let H=k.getConnectionsByPeer(f).find(ee=>ee.baseUrl===x.baseUrl);if(H){if(Jo.debug("connect: found existing connection by peer"),H.channel&&H.channel!==C)throw new Error(`Channel mismatch for peer ${f}: ${H.channel} != ${C}`);return {reused:true,...H,channel:H.channel??C}}}let E=k.getConnectionsByService(x.baseUrl);if(E.length>0){let H=E[0];if(Jo.debug("connect: found existing connection by service",{existing:H}),H.channel&&H.channel!==C)throw new Error(`Channel mismatch for service ${x.baseUrl}: ${H.channel} != ${C}`);return {reused:true,connectionId:H.connectionId,sessionId:H.sessionId,peerId:H.peerId,baseUrl:H.baseUrl,channel:H.channel??C}}if(!v)throw new Error(`Remote peer not found in registry for ${x.baseUrl}. Please register the service first.`);if(!f)throw new Error("Local peerId not configured. Please set acp.server.peerId in config.");let P;if(C==="stdio"){let H=await je(()=>a0.getAgent(),"AGENT_CLIENT_GET_AGENT_ERROR",y).catch(()=>{});if(!H)throw new Error("EasBotAgent not initialized for stdio channel; cannot create session automatically.");let ee=await H.newSession({cwd:process.cwd(),mcpServers:[]});P={baseUrl:x.baseUrl,sessionID:ee.sessionId,channel:C};}else {Jo.debug("connect: calling AgentClientService.connect",{baseUrl:x.baseUrl,channel:C});try{P=await Rs.connect({baseUrl:x.baseUrl,sessionId:void 0,channel:C}),Jo.debug("connect: AgentClientService.connect succeeded",{remote:P});}catch(H){throw Jo.error("connect: AgentClientService.connect failed",{error:H.message,stack:H.stack}),H}}Jo.debug("connect: creating connection in registry",{baseUrl:P.baseUrl,localPeerId:f,peerId:v,sessionId:P.sessionID});let M=k.connect(P.baseUrl,f,v,P.sessionID,x.sessionId),B=k.resolve(M.connectionId);return B&&(B.channel=P.channel??C),Jo.debug("connect: completed",{result:M}),{created:true,connectionId:M.connectionId,sessionId:M.sessionId,peerId:M.peerId,baseUrl:M.baseUrl,channel:P.channel??C}}w.connect=t;async function e(x,y){return (await Ci(y.directory)).getConnectionsByPeer(x.peerId??"").filter(S=>!x.baseUrl||S.baseUrl===x.baseUrl)}w.list=e;async function o(x,y,k){let f=(await Ci(k.directory)).resolve(x);if(!f)throw new Error("Connection not found");let v=f.channel??"http";Jo.debug("send: using remote sessionId",{connectionId:x,sessionId:f.sessionId,channel:v,baseUrl:f.baseUrl,partsCount:y.parts?.length??0}),await Rs.send(f.baseUrl,v,y),f.updatedAt=Date.now();}w.send=o;async function a(x,y){let S=(await Ci(y.directory)).resolve(x);if(!S)throw new Error("Connection not found");let f=S.channel??"http";return Rs.capabilities(S.baseUrl,f)}w.capabilities=a;async function n(x,y){(await Ci(y.directory)).closeConnection(x);}w.close=n;async function i(x,y){let S=(await Ci(y.directory)).resolve(x);return S?{connectionId:S.connectionId,peerId:S.peerId,baseUrl:S.baseUrl,sessionId:S.sessionId,status:S.status,updatedAt:S.updatedAt}:{connectionId:x,status:"unknown"}}w.status=i;async function s(x){let y=await Ci(x.directory);return {config:await je(()=>Pi.getConfig(),"AGENT_CLIENT_CONFIG_ERROR",x).catch(()=>{}),managedConnections:y.getAllActiveConnections().length}}w.config=s;async function r(x){return (await kl()).listServices(x)}w.listServices=r;async function l(x){return (await kl()).getService(x)}w.getService=l;async function c(x){return (await kl()).registerService(x)}w.registerService=c;async function p(x,y,k,S){let v=(await Ci(k.directory)).resolve(x);if(!v)throw new Error("Connection not found");let C={...Ms,...S},E=v.channel??"http";switch(E){case "websocket":return g(v,C,y);case "http":return u(v,C,y);case "stdio":return m(v,C,y);default:throw new Error(`Unsupported channel type: ${E}`)}}w.subscribe=p;async function g(x,y,k){Jo.debug("subscribeViaWebSocket: connecting",{baseUrl:x.baseUrl,sessionId:x.sessionId,connectionId:x.connectionId});let S=B2(),f=bi(x.baseUrl);return Jo.debug("subscribeViaWebSocket: WebSocket URL resolved",{wsUrl:f}),await S.connect(f),Jo.debug("subscribeViaWebSocket: connected, subscribing to session",{sessionId:x.sessionId}),S.subscribe(x.sessionId,y,k)}async function u(x,y,k,S){return fb().subscribe({baseUrl:x.baseUrl,sessionId:x.sessionId},y,k,S)}async function m(x,y,k,S,f){let v=pp();await v.connect({baseUrl:x.baseUrl,sessionId:x.sessionId});let C=await v.subscribe(y,k,S);return ()=>{C(),v.disconnect();}}async function d(x,y){let S=(await Ci(y.directory)).resolve(x);if(!S)throw new Error("Connection not found");let f=S.channel??"http";await Rs.interrupt(S.baseUrl,f,S.sessionId),Jo.debug("Interrupt sent via AgentClientService",{connectionId:x,sessionId:S.sessionId});}w.interrupt=d;async function h(x,y,k,S,f){return await o(x,y,S),p(x,k,S,f)}w.exchangeSubscribe=h;async function b(x,y){let S=(await Ci(y.directory)).resolve(x);if(!S){Jo.warn("Connection not found for releaseSubscription",{connectionId:x});return}let{baseUrl:f,channel:v,sessionId:C}=S,E=v??"http";await Rs.releaseSubscription(f,E,C),Jo.debug("Subscription released via AgentClientService",{connectionId:x,sessionId:C});}w.releaseSubscription=b;})(To||(To={}));});async function je(t,e,o){try{o&&Th.debug(`API call started: ${JSON.stringify(o)}`,{errorCode:e});let a=await D.provide({directory:o?.directory??D.directory,init:void 0,fn:t});return o&&Th.debug(`API call completed: ${JSON.stringify(o)}`,{errorCode:e}),a}catch(a){let n=a instanceof Error?a.message:String(a),i=a instanceof Error?a.name:"Error",s=a instanceof Error?a.stack:void 0;throw Th.error(`API call failed: ${o||e}`,{errorCode:e,errorName:i,error:n,stack:s}),a instanceof i0?a:new i0(n,e,a)}}var Th,i0,s0=j(()=>{I();ne();Me();Th=O.create({service:"api"}),i0=class extends Error{constructor(o,a,n){super(o);Q(this,"code",a);Q(this,"details",n);this.name="ApiError";}};});var Ah=j(()=>{I();l5();s0();});var as,r0,c5=j(()=>{I();ne();Ah();as=O.create({service:"subagent.remote"}),r0=class{constructor(){Q(this,"connectionId",null);Q(this,"config",null);Q(this,"_isRunning",false);Q(this,"pendingResolve",null);Q(this,"pendingReject",null);Q(this,"unsubscribeFn",null);Q(this,"responseText","");Q(this,"toolCalls",[]);Q(this,"completionPromise",null);}async start(e){if(this.config=e,!e.uri)throw new Error("Remote agent URI is required");as.debug("RemoteAgentHandler.start",{uri:e.uri,name:e.name});let o=await To.connect({baseUrl:e.uri},{directory:e.cwd??process.cwd()});this.connectionId=o.connectionId,this._isRunning=true,as.info("Remote agent connected",{connectionId:this.connectionId,uri:e.uri,name:e.name});}async stop(){if(as.debug("RemoteAgentHandler.stop",{connectionId:this.connectionId}),this.unsubscribeFn&&(this.unsubscribeFn(),this.unsubscribeFn=null),this.connectionId){try{await To.close(this.connectionId,{directory:this.config?.cwd??process.cwd()});}catch(e){as.warn("Error closing connection",{error:String(e)});}this.connectionId=null;}this._isRunning=false,this.reset();}async execute(e){if(!this.connectionId)throw new Error("Remote agent not connected");let o={directory:this.config?.cwd??process.cwd()};as.debug("RemoteAgentHandler.execute",{title:e.title,agent:e.agent,partsCount:e.parts?.length??1}),this.reset(),this.completionPromise=new Promise((a,n)=>{this.pendingResolve=a,this.pendingReject=n;});try{this.unsubscribeFn=await To.exchangeSubscribe(this.connectionId,{sessionID:"",parts:e.parts??[{type:"text",text:e.title}]},n=>this.handleMessage(n),o);let a=await this.completionPromise;return as.debug("RemoteAgentHandler.execute completed",{title:e.title,hasText:!!a.text,textLength:a.text?.length??0,toolsCount:a.tools?.length??0}),{title:e.title,output:a.text??"",metadata:{connectionId:this.connectionId,agent:e.agent,sessionId:a.metadata?.sessionId,messageId:a.metadata?.messageId,tokens:a.metadata?.tokens,error:a.metadata?.error}}}catch(a){throw as.error("RemoteAgentHandler.execute failed",{title:e.title,error:String(a)}),a}}async interrupt(){this.connectionId&&(as.debug("RemoteAgentHandler.interrupt",{connectionId:this.connectionId}),await To.interrupt(this.connectionId,{directory:this.config?.cwd??process.cwd()}));}isRunning(){return this._isRunning}handleMessage(e){as.debug("RemoteAgentHandler.handleMessage",{role:e.role,hasText:!!e.text,textLength:e.text?.length??0,hasTools:!!e.tools,toolsCount:e.tools?.length??0}),this.responseText=e.text??"",this.toolCalls=e.tools??[],this.pendingResolve&&(this.pendingResolve(e),this.pendingResolve=null,this.pendingReject=null);}reset(){this.responseText="",this.toolCalls=[],this.pendingResolve=null,this.pendingReject=null,this.completionPromise=null;}};});var u0,l0,p5=j(()=>{I();ne();u0=O.create({service:"subagent.cli"}),l0=class{constructor(){Q(this,"process",null);Q(this,"config",null);Q(this,"_isRunning",false);}async start(e){this.config=e,this._isRunning=true,u0.debug("CLIAgentHandler.start",{command:e.command});}async stop(){this.process&&(this.process.kill(),this.process=null),this._isRunning=false;}async execute(e){if(!this.config?.command)throw new Error("CLI command not configured");u0.debug("CLIAgentHandler.execute",{title:e.title,command:this.config.command});let o=this.buildArgs(e),a=this.config.command,n=this.config.cwd,i=this.config.env,s=this.config.timeout??12e4,r={...process.env,...i,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8"};process.platform==="win32"&&(r.LC_CTYPE="en_US.UTF-8"),this.process=PKG.spawn({cmd:[a,...o],cwd:n,env:r,stdout:"pipe",stderr:"pipe",stdin:"null",timeout:s});let l="",c="";this.process.stdout?.on("data",p=>{l+=p.toString("utf-8");}),this.process.stderr?.on("data",p=>{c+=p.toString("utf-8");});try{let p=await this.process.exited;if(p===0)return {title:e.title,output:l.trim(),metadata:{command:a,args:o,exitCode:p}};throw u0.error("CLI exited with error",{code:p,stderr:c}),new Error(`CLI exited with code ${p}: ${c}`)}catch(p){throw u0.error("CLI process error",{error:p.message}),p}}async interrupt(){this.process&&this.process.kill("SIGTERM");}isRunning(){return this._isRunning}buildArgs(e){let o=[...this.config?.args??[]],a=e.parts?.filter(n=>n.type==="text").map(n=>n.text).join(`
|
|
413
413
|
`)??e.title;return o.push("--prompt",a),o}};});var Gr,Cp,d5=j(()=>{I();ne();Rm();db();c5();p5();Gr=O.create({service:"subagent.registry"}),Cp=class{constructor(e){Q(this,"instances",new Map);Q(this,"handlers",new Map);Q(this,"config");Q(this,"agentCounts",new Map);this.config=e;}async spawn(e){let o=Identifier.ascending("subagent"),a={id:o,config:e,status:SubAgentStatus.Starting,createdAt:Date.now(),lastActiveAt:Date.now()},n=this.createHandler(e);this.handlers.set(o,n),this.instances.set(o,a);try{return await n.start(e),a.status=SubAgentStatus.Idle,this.agentCounts.set(e.name,(this.agentCounts.get(e.name)??0)+1),Gr.info("Agent spawned",{id:o,name:e.name,status:a.status}),a}catch(i){throw a.status=SubAgentStatus.Error,a.error=String(i),Gr.error("Failed to spawn agent",{id:o,name:e.name,error:String(i)}),i}}createHandler(e){let o=e.runMode==="ephemeral";switch(e.transport){case "stdio":return new Bm(o);case "http":case "websocket":return new r0;case "cli":return new l0;default:throw new Error(`Unknown transport type: ${e.transport}`)}}async acquire(e){let o=this.findIdleInstance(e.name);if(!o){let n=this.agentCounts.get(e.name)??0,i=e.maxConcurrent??this.config.maxConcurrent;n<i?o=await this.spawn(e):(Gr.debug("Max concurrent reached, waiting for idle instance",{name:e.name,currentCount:n,maxConcurrent:i}),o=await this.waitForIdleInstance(e.name));}o.status=SubAgentStatus.Running,o.lastActiveAt=Date.now();let a=this.handlers.get(o.id);if(!a)throw new Error(`Handler not found for instance: ${o.id}`);return {instance:o,execute:async n=>{o.status=SubAgentStatus.Busy;try{let i=await a.execute(n);return o.status=SubAgentStatus.Idle,o.lastActiveAt=Date.now(),i}catch(i){throw o.status=SubAgentStatus.Error,i}},interrupt:()=>a.interrupt()}}async release(e,o){o==="ephemeral"?await this.terminate(e.id):(e.status=SubAgentStatus.Idle,Gr.debug("Agent released to pool",{id:e.id,name:e.config.name}));}async terminate(e){let o=this.handlers.get(e),a=this.instances.get(e);if(o){try{await o.stop();}catch(n){Gr.warn("Error stopping agent",{id:e,error:String(n)});}this.handlers.delete(e);}if(a){let n=this.agentCounts.get(a.config.name)??0;n>0&&this.agentCounts.set(a.config.name,n-1),a.status=SubAgentStatus.Stopped,this.instances.delete(e);}Gr.info("Agent terminated",{id:e});}async shutdownAll(){let e=Array.from(this.instances.keys());await Promise.all(e.map(o=>this.terminate(o))),Gr.info("All agents shut down",{count:e.length});}list(){return Array.from(this.instances.values())}get(e){return this.instances.get(e)}findIdleInstance(e){for(let o of this.instances.values())if(o.config.name===e&&o.status===SubAgentStatus.Idle)return o}async waitForIdleInstance(e,o=6e4){let a=Date.now();for(;Date.now()-a<o;){let n=this.findIdleInstance(e);if(n)return n;await new Promise(i=>setTimeout(i,1e3));}throw new Error(`Timeout waiting for idle ${e} agent`)}};});function m5(t,e){return e?{...t,...e}:t}var ui,js,Pp=j(()=>{I();ne();Me();d5();bt();Rm();ui=O.create({service:"subagent"});(h=>{let t;function e(){return t||(t=D.state(async()=>{let b=await o();if(!b.enabled)return ui.debug("SubAgent system disabled"),{registry:null,config:b,initialized:true};let w=new Cp(b),x=b.agents.filter(y=>y.runMode==="persistent");for(let y of x)try{await w.spawn(y),ui.info("Persistent agent spawned",{name:y.name});}catch(k){ui.error("Failed to spawn persistent agent",{name:y.name,error:String(k)});}return ui.info("SubAgent system initialized",{totalAgents:b.agents.length,persistentAgents:x.length}),{registry:w,config:b,initialized:true}},async b=>{b?.registry&&await b.registry.shutdownAll();})),t}async function o(){let b=await _r();if(!b.enabled)return {enabled:false,defaultRunMode:"ephemeral",timeout:12e4,maxConcurrent:5,agents:[]};let x=b.defaultRunMode==="persistent"?"persistent":"ephemeral",y=b.timeout,k=b.maxConcurrent,S=b.agents.map(f=>({...f,transport:cp[f.transport.charAt(0).toUpperCase()+f.transport.slice(1)],runMode:yl[f.runMode.charAt(0).toUpperCase()+f.runMode.slice(1)]}));return {enabled:true,defaultRunMode:x,timeout:y,maxConcurrent:k,agents:S}}function a(){return e()()}h.state=a;async function n(){return (await a()).config?.enabled??false}h.isEnabled=n;async function i(){return (await a()).initialized}h.isInitialized=i;async function s(b){let w=await a();if(!w.config?.enabled)throw new Error("SubAgent system is disabled");let x=w.config.agents.find(S=>S.name===b.agent);if(!x)throw new Error(`Unknown agent: ${b.agent}`);let y=m5(x,b.config);if(ui.debug("SubAgent.run started",{title:b.title,agent:b.agent,runMode:y.runMode,transport:y.transport}),!w.registry)throw new Error("SubAgent registry not initialized");let k=await w.registry.acquire(y);try{let S=await k.execute(b);return ui.debug("SubAgent.run completed",{title:b.title,agent:b.agent,outputLength:S.output.length}),S}finally{await w.registry.release(k.instance,y.runMode);}}h.run=s;async function r(b,w){let x=await a();if(!x.config?.enabled)throw new Error("SubAgent system is disabled");let y=x.config.agents.find(v=>v.name===b.agent);if(!y)throw new Error(`Unknown agent: ${b.agent}`);let k=m5(y,b.config);if(ui.debug("SubAgent.runAsync started",{title:b.title,agent:b.agent,runMode:k.runMode,transport:k.transport}),!x.registry)throw new Error("SubAgent registry not initialized");let S=x.registry,f=await S.acquire(k);return f.execute(b).then(async v=>{ui.debug("SubAgent.runAsync completed, triggering callback",{title:b.title,agent:b.agent,outputLength:v.output.length});try{await w(v);}finally{await S.release(f.instance,k.runMode);}}).catch(async v=>{ui.error("SubAgent.runAsync failed",{title:b.title,agent:b.agent,error:String(v)});try{await w({title:b.title,output:`Error: ${v}`,metadata:{error:String(v)}});}finally{await S.release(f.instance,k.runMode);}}),f.instance.id}h.runAsync=r;async function l(){return (await a()).registry?.list()??[]}h.list=l;async function c(b){return (await a()).registry?.get(b)}h.get=c;async function p(b){let w=await a();w.registry&&await w.registry.terminate(b);}h.close=p;async function g(){let b=await a();b.registry&&await b.registry.shutdownAll();}h.closeAll=g;async function u(b){let w=await a();if(w.registry){let x=w.registry.get(b);x&&await(await w.registry.acquire(x.config)).interrupt();}}h.interrupt=u;async function m(b){let w=await a();w.config&&(w.config.agents.push(b),ui.info("Agent registered",{name:b.name}));}h.register=m;async function d(b){let w=await a();if(w.config){let x=w.config.agents.findIndex(y=>y.name===b);x!==-1&&(w.config.agents.splice(x,1),ui.info("Agent unregistered",{name:b}));}}h.unregister=d;})(js||(js={}));});var Mh,Fo,p0=j(()=>{I();ne();Me();_t();Mh=class extends Error{constructor(o,a){super(`Too many concurrent tasks: ${o} running, limit is ${a}`);Q(this,"running");Q(this,"limit");this.name="TaskConcurrencyError",this.running=o,this.limit=a;}};(k=>{let t=O.create({service:"task"});k.MAX_CONCURRENT_TASKS=5;async function o(S){let f=await a(S);if(f>=k.MAX_CONCURRENT_TASKS)throw new Mh(f,k.MAX_CONCURRENT_TASKS)}async function a(S){return (await b(S)).filter(v=>v.status==="running").length}k.getRunningCount=a;let n;async function i(){return Filesystem.normalize(Oe__default.join(ce.Path.data,"task"))}async function s(S){let f=await i();return Filesystem.normalize(Oe__default.join(f,`${S}.json`))}async function r(S){let f=await s(S);try{let v=await Filesystem.readText(f);return v?JSON.parse(v):[]}catch{return []}}async function l(S,f){let v=await s(S);try{await Filesystem.write(v,JSON.stringify(f,null,2)),t.debug("Session tasks saved",{sessionId:S,count:f.length});}catch(C){t.error("Failed to save session tasks",{sessionId:S,error:String(C)});}}async function c(){let S=await i(),f=new Map;try{let v=await readdir(S);for(let C of v){if(!C.endsWith(".json"))continue;let E=C.replace(".json",""),P=await r(E);for(let M of P)f.set(M.taskId,M);}}catch(v){t.debug("Task directory not found or empty",{error:String(v)});}return f}function p(){return n||(n=D.state(async()=>{let S=await c();return t.debug("Task state initialized",{taskCount:S.size}),{tasks:S,initialized:true}},async()=>{})),n}function g(){return p()()}k.state=g;async function u(S){return (await g()).tasks.get(S)}k.get=u;async function m(S){await o(S.sessionId);let f=await g(),v=Date.now(),C={taskId:S.taskId,sessionId:S.sessionId,description:S.description,prompt:S.prompt,agentType:S.agentType,source:S.source||"tool",status:"pending",createdAt:v,updatedAt:v,metadata:S.metadata};f.tasks.set(S.taskId,C);let E=await r(S.sessionId);return E.push(C),await l(S.sessionId,E),t.debug("Task created",{taskId:S.taskId,sessionId:S.sessionId}),C}k.create=m;async function d(S,f){let v=await g(),C=v.tasks.get(S);if(!C){t.warn("Task not found for update",{taskId:S});return}f.status!==void 0&&(C.status=f.status),f.result!==void 0&&(C.result=f.result),f.error!==void 0&&(C.error=f.error),f.duration!==void 0&&(C.duration=f.duration),f.metadata!==void 0&&(C.metadata={...C.metadata,...f.metadata}),C.updatedAt=Date.now(),v.tasks.set(S,C);let E=await r(C.sessionId),P=E.findIndex(M=>M.taskId===S);P>=0?E[P]=C:E.push(C),await l(C.sessionId,E),t.debug("Task updated",{taskId:S,status:C.status});}k.update=d;async function h(S){let f=await g(),v=f.tasks.get(S);if(!v){t.warn("Task not found for remove",{taskId:S});return}let C=v.sessionId;f.tasks.delete(S);let P=(await r(C)).filter(M=>M.taskId!==S);await l(C,P),t.debug("Task removed",{taskId:S,sessionId:C});}k.remove=h;async function b(S){return r(S)}k.list=b;async function w(S){return (await b(S)).filter(v=>v.status==="running"||v.status==="pending")}k.active=w;async function x(S){let f=await b(S);return {total:f.length,pending:f.filter(v=>v.status==="pending").length,running:f.filter(v=>v.status==="running").length,completed:f.filter(v=>v.status==="completed").length,error:f.filter(v=>v.status==="error").length}}k.stats=x;async function y(S=10080*60*1e3){let f=await g(),v=Date.now(),C=0;for(let[E,P]of f.tasks)(P.status==="completed"||P.status==="error")&&v-P.updatedAt>S&&(f.tasks.delete(E),C++);if(C>0){let E=new Map;for(let P of f.tasks.values()){let M=E.get(P.sessionId)||[];M.push(P),E.set(P.sessionId,M);}for(let[P,M]of E)await l(P,M);t.debug("Cleaned up old tasks",{count:C});}return C}k.cleanup=y;})(Fo||(Fo={}));});async function zD(t,e){if(!e.messageID)throw new Error("messageID is required");if((await Te.get({sessionID:e.sessionID,messageID:e.messageID}))?.info.role!=="assistant")throw new Error("Not an assistant message");let a=await Fo.getRunningCount(e.sessionID);if(a>=Fo.MAX_CONCURRENT_TASKS)throw new Error(`Too many concurrent tasks: ${a} running, max is ${Fo.MAX_CONCURRENT_TASKS}`);e.extra?.bypassAgentCheck||await e.ask({permission:"task",patterns:[t.subagent_type],always:["*"],metadata:{description:t.description,subagent_type:t.subagent_type}});let n=Identifier.ascending("task"),i=Date.now();await ze.triggerEvent(HookEvent.TaskStart,{taskId:n,sessionId:e.sessionID,source:"tool",agentType:t.subagent_type,description:t.description,prompt:t.prompt}),e.metadata({title:t.description,metadata:{taskId:n}});let s=[{type:"text",text:t.prompt}],r=await Xe.get(t.subagent_type);return js.runAsync({source:e.sessionID,title:t.description,agent:"task_general",system:r?.prompt??"",parts:s,config:{runMode:"ephemeral",transport:"stdio"}},async l=>{let c=Date.now()-i;await ze.triggerEvent(HookEvent.TaskComplete,{taskId:n,sessionId:e.sessionID,source:"tool",result:l.output,duration:c,agentType:t.subagent_type,metadata:{...l.metadata,tool:"task",title:t.description}});}),await ze.triggerEvent(HookEvent.TaskRunning,{taskId:n,sessionId:e.sessionID,source:"tool"}),{output:`taskId: ${n}
|
|
414
414
|
|
|
415
415
|
Task started, results will be injected when complete`,title:t.description,metadata:{operation:"create",taskId:n}}}async function HD(t,e){if(t.taskId){let n=await Fo.get(t.taskId);if(!n)return {output:`<task>
|