From d4756070118eab1e0e3eb3a43493b7e73524241b Mon Sep 17 00:00:00 2001 From: Sam Rolfe Date: Fri, 31 Jul 2026 14:25:00 +1000 Subject: [PATCH] Add dashboard.ts extension (pi dashboard state collection) + sync models.json with OmniRoute model list --- extensions/dashboard.ts | 492 ++++ models.json | 5259 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 5744 insertions(+), 7 deletions(-) create mode 100644 extensions/dashboard.ts diff --git a/extensions/dashboard.ts b/extensions/dashboard.ts new file mode 100644 index 0000000..3327b81 --- /dev/null +++ b/extensions/dashboard.ts @@ -0,0 +1,492 @@ +/** + * Pi Dashboard Extension + * + * Collects agent state and writes it to ~/.pi/agent/dashboard/ for + * the external pi-dashboard TUI viewer to display. + * + * Also provides task tracking tools (register_task, complete_task, list_tasks) + * and sends NTFY/Apprise notifications on agent completion and errors. + */ + +import type { ExtensionAPI } from "@earendil-works/pi-coding-agent"; +import { Type } from "typebox"; +import { + existsSync, + mkdirSync, + readFileSync, + renameSync, + writeFileSync, + appendFileSync, +} from "node:fs"; +import { spawn } from "node:child_process"; +import { hostname } from "node:os"; +import { join } from "node:path"; +import { cwd } from "node:process"; + +// ── Constants ───────────────────────────────────────────────────── + +const DASHBOARD_DIR = join( + process.env.HOME || process.env.XDG_DATA_HOME || "/home/sam", + ".pi", + "agent", + "dashboard" +); + +const TASKS_DIR = join(DASHBOARD_DIR, "tasks"); +const TODO_FILE = join(TASKS_DIR, "todo.txt"); + +// ── Types ───────────────────────────────────────────────────────── + +interface AgentState { + session: string; + machine: string; + agent_type: string; + model: string; + status: "idle" | "running" | "completed" | "error"; + started_at: string | null; + completed_at: string | null; + duration_seconds: number; + tool_calls: number; + current_task: string; + last_tool: string | null; + last_tool_at: string | null; + connection_type: string; + connection_name: string; + blocked: boolean; + blocked_prompt: string | null; + cost_estimate: number; +} + +// ── Helpers ─────────────────────────────────────────────────────── + +function ensureDir(dir: string) { + if (!existsSync(dir)) { + mkdirSync(dir, { recursive: true }); + } +} + +function getTmuxSession(): string | null { + // TMUX env looks like: TMUX=/tmp/tmux-1000/default,12345 + const tmuxEnv = process.env.TMUX; + if (!tmuxEnv) return null; + // The second half after comma is the client PID, but we can get + // the session name from the TMUX_PANE or just parse it + try { + const child = spawn("tmux", ["display-message", "-p", "#S"], { + stdio: ["ignore", "pipe", "pipe"], + timeout: 2000, + }); + return new Promise((resolve) => { + let output = ""; + child.stdout.on("data", (data: Buffer) => { + output += data.toString(); + }); + child.on("close", (code: number | null) => { + resolve(code === 0 ? output.trim() : null); + }); + child.on("error", () => resolve(null)); + }); + } catch { + return null; + } +} + +function getDefaultSessionName(): string { + // Use env, then working directory basename, then fallback + const dir = cwd().split("/").pop() || "home"; + return dir; +} + +async function getTmuxSessionName(): Promise { + const tmux = await getTmuxSession(); + if (tmux) return tmux; + return getDefaultSessionName(); +} + +function atomicWrite(filePath: string, data: object) { + const content = JSON.stringify(data, null, 2) + "\n"; + const tmpPath = filePath + ".tmp"; + writeFileSync(tmpPath, content, "utf-8"); + try { + renameSync(tmpPath, filePath); + } catch { + // Fallback: some filesystems don't support atomic rename + writeFileSync(filePath, content, "utf-8"); + } +} + +function parseTodoTitle(line: string): string { + return line + .replace(/^\([A-Z]\)\s*/, "") // remove priority: (A) Task name + .replace(/\s+\+project:\S+/g, "") // remove +project:tag + .replace(/\s+\+agent:\S+/g, "") // remove +agent:tag + .replace(/^x\s+\d{4}-\d{2}-\d{2}\s*/, "") // remove "x 2026-07-27 " + .trim(); +} + +function appendToTodo( + title: string, + project?: string, + priority?: string, + agent?: string +) { + ensureDir(TASKS_DIR); + const pri = priority ? `(${priority.toUpperCase()}) ` : ""; + const proj = project ? ` +project:${project}` : ""; + const agentTag = agent ? ` +agent:${agent}` : ""; + const line = `${pri}${title}${proj}${agentTag}\n`; + appendFileSync(TODO_FILE, line, "utf-8"); +} + +function completeTask(title: string): boolean { + if (!existsSync(TODO_FILE)) return false; + const content = readFileSync(TODO_FILE, "utf-8"); + const lines = content.split("\n"); + const now = new Date().toISOString().slice(0, 10); + let found = false; + const newLines = lines.map((line) => { + if (found) return line; + if (line.startsWith("x ")) return line; // already done + if (parseTodoTitle(line) === title || line.includes(title)) { + found = true; + return `x ${now} ${line}`; + } + return line; + }); + writeFileSync(TODO_FILE, newLines.join("\n"), "utf-8"); + return found; +} + +function readTodoList() { + if (!existsSync(TODO_FILE)) return { pending: [], done: [] }; + const content = readFileSync(TODO_FILE, "utf-8"); + const lines = content.split("\n").filter(Boolean); + const pending = lines.filter((l) => !l.startsWith("x ")); + const done = lines.filter((l) => l.startsWith("x ")); + return { pending, done }; +} + +// ── Extension ───────────────────────────────────────────────────── + +export default function (pi: ExtensionAPI) { + ensureDir(DASHBOARD_DIR); + ensureDir(TASKS_DIR); + + const machine = hostname(); + const inTmux = !!process.env.TMUX; + const connectionType = inTmux ? "tmux" : "direct"; + + let sessionName = getDefaultSessionName(); + let currentModel = "unknown"; + let initialized = false; + + const state: AgentState = { + session: sessionName, + machine, + agent_type: "unknown", + model: currentModel, + status: "idle", + started_at: null, + completed_at: null, + duration_seconds: 0, + tool_calls: 0, + current_task: "", + last_tool: null, + last_tool_at: null, + connection_type: connectionType, + connection_name: sessionName, + blocked: false, + blocked_prompt: null, + cost_estimate: 0, + }; + + let stateFile = () => join(DASHBOARD_DIR, `${sessionName}.json`); + + function writeState() { + if (!initialized) return; + state.session = sessionName; + state.model = currentModel; + state.connection_name = sessionName; + atomicWrite(stateFile(), state); + } + + function notify(title: string, body: string) { + // NTFY notification + const ntfyTopic = process.env.PI_NTFY_TOPIC; + if (ntfyTopic) { + try { + const child = spawn( + "curl", + [ + "-s", + "-o", + "/dev/null", + "-H", + `Title: ${title}`, + "-d", + body, + ntfyTopic, + ], + { stdio: "ignore", timeout: 3000 } + ); + child.on("error", () => {}); + child.unref(); + } catch { + // NTFY unavailable + } + } + + // Apprise notification + try { + const child = spawn("apprise", ["-b", `${title}: ${body}`], { + stdio: "ignore", + timeout: 3000, + }); + child.on("error", () => {}); + child.unref(); + } catch { + // Apprise not installed + } + } + + // ── Resolve session name and initialize after runtime is ready ── + + pi.on("session_start", async () => { + // Try pi's session name first, then env, then tmux, then cwd + const piName = pi.getSessionName(); + if (piName) { + sessionName = piName; + } else if (process.env.PI_SESSION) { + sessionName = process.env.PI_SESSION; + } else { + sessionName = await getTmuxSessionName(); + } + + // Set the session name in pi so /name works and shows in tree + if (!piName && sessionName !== "default") { + pi.setSessionName(sessionName); + } + + state.connection_name = sessionName; + stateFile = () => join(DASHBOARD_DIR, `${sessionName}.json`); + initialized = true; + writeState(); + }); + + // ── Model tracking ───────────────────────────────────────── + + pi.on("model_select", async (event) => { + if (event.model) { + const provider = event.model.provider || "unknown"; + const modelId = event.model.id || "unknown"; + currentModel = `${provider}/${modelId}`; + } + writeState(); + }); + + // ── Agent lifecycle ──────────────────────────────────────── + + pi.on("agent_start", async () => { + state.status = "running"; + state.started_at = new Date().toISOString(); + state.completed_at = null; + state.duration_seconds = 0; + state.tool_calls = 0; + state.blocked = false; + state.blocked_prompt = null; + writeState(); + }); + + pi.on("agent_end", async () => { + state.status = "completed"; + state.completed_at = new Date().toISOString(); + if (state.started_at) { + const start = new Date(state.started_at).getTime(); + const end = new Date(state.completed_at).getTime(); + state.duration_seconds = Math.round((end - start) / 1000); + } + state.blocked = false; + state.blocked_prompt = null; + writeState(); + + const dur = state.duration_seconds; + const mins = Math.floor(dur / 60); + const secs = dur % 60; + notify( + `✓ ${sessionName} completed`, + `${state.tool_calls} tool calls in ${mins}m ${secs}s` + ); + }); + + pi.on("tool_call", async (event) => { + state.last_tool = event.toolName; + state.last_tool_at = new Date().toISOString(); + state.tool_calls++; + writeState(); + }); + + // ── Task management tools ────────────────────────────────── + + pi.registerTool({ + name: "register_task", + label: "Register Task", + description: + "Register a new task that will appear in the Pi Dashboard task board (Tuxedo). " + + "Tasks can optionally have a priority (A-C) and a project name for grouping.", + parameters: Type.Object({ + title: Type.String({ + description: "Task title — concise, actionable description", + }), + project: Type.Optional( + Type.String({ + description: + "Project name for grouping tasks (e.g., 'auth', 'deploy', 'refactor')", + }) + ), + priority: Type.Optional( + Type.Union( + [ + Type.Literal("A"), + Type.Literal("B"), + Type.Literal("C"), + ], + { + description: + "Priority: A (highest), B (medium), C (lowest)", + } + ) + ), + }), + async execute(_toolCallId, params, _signal, _onUpdate, _ctx) { + appendToTodo(params.title, params.project, params.priority, sessionName); + + state.current_task = params.title; + writeState(); + + return { + content: [ + { + type: "text" as const, + text: `✓ Task registered: ${params.title}`, + }, + ], + details: {}, + }; + }, + }); + + pi.registerTool({ + name: "complete_task", + label: "Complete Task", + description: + "Mark a task as completed by its title. The task will show as done in the task board.", + parameters: Type.Object({ + title: Type.String({ + description: "Title of the task to mark as completed", + }), + }), + async execute(_toolCallId, params, _signal, _onUpdate, _ctx) { + const found = completeTask(params.title); + if (found) { + return { + content: [ + { type: "text" as const, text: `✓ Task completed: ${params.title}` }, + ], + details: {}, + }; + } + return { + content: [ + { + type: "text" as const, + text: `⚠ Task not found: "${params.title}". Use list_tasks to see all registered tasks.`, + }, + ], + details: {}, + }; + }, + }); + + pi.registerTool({ + name: "list_tasks", + label: "List Tasks", + description: "List all registered tasks, grouped by status (pending / completed).", + parameters: Type.Object({}), + async execute(_toolCallId, _params, _signal, _onUpdate, _ctx) { + const { pending, done } = readTodoList(); + let result = ""; + + if (pending.length === 0 && done.length === 0) { + result = "No tasks registered yet. Use the `register_task` tool to create one."; + } else { + result = `## Tasks\n\n`; + if (pending.length > 0) { + result += `### Pending (${pending.length})\n`; + for (const task of pending) { + result += `- ${task}\n`; + } + result += "\n"; + } + if (done.length > 0) { + result += `### Completed (${done.length})\n`; + for (const task of done) { + result += `- ${task}\n`; + } + } + } + + return { + content: [{ type: "text" as const, text: result }], + details: {}, + }; + }, + }); + + // ── Dashboard command ────────────────────────────────────── + + pi.registerCommand("dashboard", { + description: "Show dashboard state for this session", + handler: async (_args, ctx) => { + const lines = [ + `═══ Pi Dashboard — ${sessionName} ═══`, + `Status: ${state.status}`, + `Model: ${state.model}`, + `Tools: ${state.tool_calls}`, + `Start: ${state.started_at || "—"}`, + `Last: ${state.last_tool ? `${state.last_tool} at ${state.last_tool_at}` : "—"}`, + `Tasks: ${TODO_FILE}`, + `─────────────────────────────`, + `Run "pi-dashboard" in another terminal for the full TUI view.`, + ]; + ctx.ui.notify(lines.join("\n"), "info"); + }, + }); + + // ── Shutdown cleanup ────────────────────────────────────── + + pi.on("session_shutdown", async () => { + // Mark as completed so it stays visible in the dashboard + state.status = "completed"; + state.completed_at = new Date().toISOString(); + if (state.started_at) { + const start = new Date(state.started_at).getTime(); + const end = new Date(state.completed_at).getTime(); + state.duration_seconds = Math.round((end - start) / 1000); + } + writeState(); + + // Notify + const dur = state.duration_seconds; + const mins = Math.floor(dur / 60); + const secs = dur % 60; + notify( + `✓ ${sessionName} finished`, + `${state.tool_calls} tool calls in ${mins}m ${secs}s` + ); + }); + + // ── Initial write ───────────────────────────────────────── + // Write a state file immediately so the session appears even + // before an agent_start event fires + writeState(); +} diff --git a/models.json b/models.json index ab2a7eb..d132b3c 100644 --- a/models.json +++ b/models.json @@ -5,46 +5,5291 @@ "deepseek/deepseek-chat": { "compat": { "openRouterRouting": { - "only": ["DeepInfra"] + "only": [ + "DeepInfra" + ] } } }, "deepseek/deepseek-v4-pro": { "compat": { "openRouterRouting": { - "only": ["DeepInfra"] + "only": [ + "DeepInfra" + ] } } }, "moonshotai/kimi-k2.6": { "compat": { "openRouterRouting": { - "only": ["Moonshot AI"] + "only": [ + "Moonshot AI" + ] } } }, "minimax/minimax-m3": { "compat": { "openRouterRouting": { - "only": ["Minimax"] + "only": [ + "Minimax" + ] } } }, "qwen/qwen3-coder-next": { "compat": { "openRouterRouting": { - "only": ["StreamLake"] + "only": [ + "StreamLake" + ] } } }, "qwen/qwen3-vl-8b-instruct": { "compat": { "openRouterRouting": { - "only": ["Alibaba"] + "only": [ + "Alibaba" + ] } } } } + }, + "omni": { + "baseUrl": "http://192.168.20.13:20129/v1", + "api": "omni-prompt-tools", + "apiKey": "sk-fff5c0d55c0bc0bf-b58ed0-76da5716", + "models": [ + { + "id": "aug/claude-haiku-4.5", + "name": "Claude Haiku 4.5", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "maxTokens": 64000, + "reasoning": true + }, + { + "id": "aug/claude-opus-4.6", + "name": "Claude Opus 4.6", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "aug/claude-sonnet-4.6", + "name": "Claude Sonnet 4.6", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "maxTokens": 64000, + "reasoning": true + }, + { + "id": "aug/claude-sonnet-4.6-thinking", + "name": "Claude Sonnet 4.6 Thinking", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "aug/gemini-3.0-flash", + "name": "Gemini 3.0 Flash", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "reasoning": true + }, + { + "id": "aug/gemini-3.1-pro", + "name": "Gemini 3.1 Pro", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 65535, + "reasoning": true + }, + { + "id": "aug/gpt-5.4-high", + "name": "Gpt 5.4 High", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "aug/gpt-5.4-medium", + "name": "Gpt 5.4 Medium", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "aug/gpt-5.5-high", + "name": "Gpt 5.5 High", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "aug/gpt-5.5-medium", + "name": "Gpt 5.5 Medium", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "aug/kimi-k2.6", + "name": "Kimi K2.6", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 131000, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "aug/prism", + "name": "Prism", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "no-think/aug/claude-haiku-4.5", + "name": "Aug/Claude Haiku 4.5", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "no-think/aug/claude-opus-4.6", + "name": "Aug/Claude Opus 4.6", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "no-think/aug/claude-sonnet-4.6", + "name": "Aug/Claude Sonnet 4.6", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "pepper/pepper-1", + "name": "1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "reasoning": true + }, + { + "id": "auto/best-chat", + "name": "Best Chat", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/best-coding", + "name": "Best Coding", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/best-coding-fast", + "name": "Best Coding Fast", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/best-fast", + "name": "Best Fast", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/best-free", + "name": "Best Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/best-reasoning", + "name": "Best Reasoning", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/best-vision", + "name": "Best Vision", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/chat", + "name": "Chat", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/cheap", + "name": "Cheap", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/claude-opus", + "name": "Claude Opus", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/claude-sonnet", + "name": "Claude Sonnet", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/coding", + "name": "Coding", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/coding:cheap", + "name": "Coding:Cheap", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/coding:fast", + "name": "Coding:Fast", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/coding:free", + "name": "Coding:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/coding:pro", + "name": "Coding:Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 384000, + "reasoning": true + }, + { + "id": "auto/coding:reliable", + "name": "Coding:Reliable", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/fast", + "name": "Fast", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/gemini", + "name": "Gemini", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65535, + "reasoning": true + }, + { + "id": "auto/gemma", + "name": "Gemma", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 8192, + "reasoning": true + }, + { + "id": "auto/glm", + "name": "Glm", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "auto/llama", + "name": "Llama", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 8192, + "reasoning": true + }, + { + "id": "auto/mimo", + "name": "Mimo", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "auto/minimax", + "name": "Minimax", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/multimodal", + "name": "Multimodal", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/offline", + "name": "Offline", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/pro-chat", + "name": "Pro Chat", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/pro-coding", + "name": "Pro Coding", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/pro-fast", + "name": "Pro Fast", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/pro-reasoning", + "name": "Pro Reasoning", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/pro-vision", + "name": "Pro Vision", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/reasoning", + "name": "Reasoning", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/reasoning:pro", + "name": "Reasoning:Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 384000, + "reasoning": true + }, + { + "id": "auto/smart", + "name": "Smart", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/vision", + "name": "Vision", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "auto/zai", + "name": "Zai", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 8192, + "reasoning": true + }, + { + "id": "default-opencode-go-ds-flash", + "name": "Default Opencode Go Ds Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 384000, + "reasoning": true + }, + { + "id": "deepseek/deepseek-v4-flash", + "name": "V4 Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 384000, + "reasoning": true + }, + { + "id": "deepseek/deepseek-v4-pro", + "name": "V4 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 384000, + "reasoning": true + }, + { + "id": "ds/deepseek-v4-flash", + "name": "Deepseek V4 Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 384000, + "reasoning": true + }, + { + "id": "ds/deepseek-v4-pro", + "name": "Deepseek V4 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 384000, + "reasoning": true + }, + { + "id": "ddgw/claude-3-5-haiku-20241022", + "name": "Claude 3 5 Haiku 20241022", + "api": "omni-prompt-tools", + "tool_calling": false, + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "ddgw/gpt-4o-mini", + "name": "Gpt 4o Mini", + "api": "omni-prompt-tools", + "tool_calling": false, + "input": [ + "text", + "image" + ], + "contextWindow": 128000, + "maxTokens": 16384 + }, + { + "id": "ddgw/gpt-5-mini", + "name": "Gpt 5 Mini", + "api": "omni-prompt-tools", + "tool_calling": false, + "input": [ + "text" + ], + "contextWindow": 400000, + "reasoning": true + }, + { + "id": "ddgw/llama-4-scout", + "name": "Llama 4 Scout", + "api": "omni-prompt-tools", + "tool_calling": false, + "input": [ + "text" + ], + "contextWindow": 128000, + "reasoning": true + }, + { + "id": "ddgw/mistral-small-2501", + "name": "Mistral Small 2501", + "api": "omni-prompt-tools", + "tool_calling": false, + "input": [ + "text" + ], + "contextWindow": 128000, + "reasoning": true + }, + { + "id": "ddgw/o3-mini", + "name": "O3 Mini", + "api": "omni-prompt-tools", + "tool_calling": false, + "input": [ + "text" + ], + "contextWindow": 400000, + "reasoning": true + }, + { + "id": "mcode/mimo-auto", + "name": "Mimo Auto", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "oc/big-pickle", + "name": "Big Pickle", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "oc/deepseek-v4-flash-free", + "name": "Deepseek V4 Flash Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 384000, + "reasoning": true + }, + { + "id": "oc/ling-2.6-1t-free", + "name": "Ling 2.6 1t Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "oc/minimax-m2.5-free", + "name": "Minimax M2.5 Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 204800, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "oc/minimax-m3-free", + "name": "Minimax M3 Free", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "oc/nemotron-3-super-free", + "name": "Nemotron 3 Super Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "reasoning": true + }, + { + "id": "oc/qwen3.6-plus-free", + "name": "Qwen3.6 Plus Free", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "oc/trinity-large-preview-free", + "name": "Trinity Large Preview Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "opencode-go/deepseek-v4-flash", + "name": "Deepseek V4 Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 384000, + "reasoning": true + }, + { + "id": "opencode-go/deepseek-v4-pro", + "name": "Deepseek V4 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 384000, + "reasoning": true + }, + { + "id": "opencode-go/glm-5", + "name": "Glm 5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "opencode-go/glm-5.1", + "name": "Glm 5.1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "opencode-go/glm-5.2", + "name": "Glm 5.2", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "opencode-go/grok-4.5", + "name": "Grok 4.5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "opencode-go/hy3", + "name": "Hy3", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "opencode-go/hy3-preview", + "name": "Hy3 Preview", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "opencode-go/kimi-k2.5", + "name": "Kimi K2.5", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "opencode-go/kimi-k2.6", + "name": "Kimi K2.6", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "opencode-go/kimi-k2.7-code", + "name": "Kimi K2.7 Code", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "opencode-go/kimi-k3", + "name": "Kimi K3", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "opencode-go/mimo-v2-omni", + "name": "Mimo V2 Omni", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 262144, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "opencode-go/mimo-v2-pro", + "name": "Mimo V2 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "opencode-go/mimo-v2.5", + "name": "Mimo V2.5", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "opencode-go/mimo-v2.5-pro", + "name": "Mimo V2.5 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "opencode-go/minimax-m2.5", + "name": "Minimax M2.5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "opencode-go/minimax-m2.7", + "name": "Minimax M2.7", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 204800, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "opencode-go/minimax-m3", + "name": "Minimax M3", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "opencode-go/qwen3.5-plus", + "name": "Qwen3.5 Plus", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "opencode-go/qwen3.6-plus", + "name": "Qwen3.6 Plus", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "opencode-go/qwen3.7-max", + "name": "Qwen3.7 Max", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "opencode-go/qwen3.7-plus", + "name": "Qwen3.7 Plus", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "no-think/openrouter/anthropic/claude-haiku-4.5", + "name": "Openrouter/Anthropic/Claude Haiku 4.5", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "maxTokens": 64000, + "reasoning": true + }, + { + "id": "no-think/openrouter/anthropic/claude-opus-4.6", + "name": "Openrouter/Anthropic/Claude Opus 4.6", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "no-think/openrouter/anthropic/claude-opus-4.7", + "name": "Openrouter/Anthropic/Claude Opus 4.7", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "no-think/openrouter/anthropic/claude-opus-4.8", + "name": "Openrouter/Anthropic/Claude Opus 4.8", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "no-think/openrouter/anthropic/claude-opus-4.8-fast", + "name": "Openrouter/Anthropic/Claude Opus 4.8 Fast", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "no-think/openrouter/anthropic/claude-sonnet-4.5", + "name": "Openrouter/Anthropic/Claude Sonnet 4.5", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 64000, + "reasoning": true + }, + { + "id": "no-think/openrouter/anthropic/claude-sonnet-4.6", + "name": "Openrouter/Anthropic/Claude Sonnet 4.6", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "no-think/openrouter/anthropic/claude-sonnet-5", + "name": "Openrouter/Anthropic/Claude Sonnet 5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/~anthropic/claude-fable-latest", + "name": "~Anthropic/Claude Fable Latest", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/~anthropic/claude-haiku-latest", + "name": "~Anthropic/Claude Haiku Latest", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 64000, + "reasoning": true + }, + { + "id": "openrouter/~anthropic/claude-opus-latest", + "name": "~Anthropic/Claude Opus Latest", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/~anthropic/claude-sonnet-latest", + "name": "~Anthropic/Claude Sonnet Latest", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/~google/gemini-flash-latest", + "name": "~Google/Gemini Flash Latest", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/~google/gemini-pro-latest", + "name": "~Google/Gemini Pro Latest", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/~moonshotai/kimi-latest", + "name": "~Moonshotai/Kimi Latest", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/~openai/gpt-latest", + "name": "~Openai/Gpt Latest", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1050000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/~openai/gpt-mini-latest", + "name": "~Openai/Gpt Mini Latest", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/~x-ai/grok-latest", + "name": "~X Ai/Grok Latest", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 500000, + "reasoning": true + }, + { + "id": "openrouter/ai21/jamba-large-1.7", + "name": "Ai21/Jamba Large 1.7", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 256000, + "maxTokens": 4096, + "reasoning": true + }, + { + "id": "openrouter/aion-labs/aion-2.0", + "name": "Aion Labs/Aion 2.0", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/aion-labs/aion-3.0", + "name": "Aion Labs/Aion 3.0", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/aion-labs/aion-3.0-mini", + "name": "Aion Labs/Aion 3.0 Mini", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/aion-labs/aion-rp-llama-3.1-8b", + "name": "Aion Labs/Aion Rp Llama 3.1 8b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 32768, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/allenai/olmo-3-32b-think", + "name": "Allenai/Olmo 3 32b Think", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 65536, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/amazon/nova-2-lite-v1", + "name": "Amazon/Nova 2 Lite V1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65535, + "reasoning": true + }, + { + "id": "openrouter/amazon/nova-lite-v1", + "name": "Amazon/Nova Lite V1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 300000, + "maxTokens": 5120, + "reasoning": true + }, + { + "id": "openrouter/amazon/nova-micro-v1", + "name": "Amazon/Nova Micro V1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 5120, + "reasoning": true + }, + { + "id": "openrouter/amazon/nova-premier-v1", + "name": "Amazon/Nova Premier V1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 32000, + "reasoning": true + }, + { + "id": "openrouter/amazon/nova-pro-v1", + "name": "Amazon/Nova Pro V1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 300000, + "maxTokens": 5120, + "reasoning": true + }, + { + "id": "openrouter/anthracite-org/magnum-v4-72b", + "name": "Anthracite Org/Magnum V4 72b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 16384, + "maxTokens": 2048, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-3-haiku", + "name": "Anthropic/Claude 3 Haiku", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "maxTokens": 4096, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-fable-5", + "name": "Anthropic/Claude Fable 5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-haiku-4.5", + "name": "Anthropic/Claude Haiku 4.5", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "maxTokens": 64000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-opus-4", + "name": "Anthropic/Claude Opus 4", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "maxTokens": 32000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-opus-4.1", + "name": "Anthropic/Claude Opus 4.1", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "maxTokens": 32000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-opus-4.5", + "name": "Anthropic/Claude Opus 4.5", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 200000, + "maxTokens": 64000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-opus-4.6", + "name": "Anthropic/Claude Opus 4.6", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-opus-4.7", + "name": "Anthropic/Claude Opus 4.7", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-opus-4.7-fast", + "name": "Anthropic/Claude Opus 4.7 Fast", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-opus-4.8", + "name": "Anthropic/Claude Opus 4.8", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-opus-4.8-fast", + "name": "Anthropic/Claude Opus 4.8 Fast", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-opus-5", + "name": "Anthropic/Claude Opus 5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-opus-5-fast", + "name": "Anthropic/Claude Opus 5 Fast", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-sonnet-4", + "name": "Anthropic/Claude Sonnet 4", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 64000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-sonnet-4.5", + "name": "Anthropic/Claude Sonnet 4.5", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 64000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-sonnet-4.6", + "name": "Anthropic/Claude Sonnet 4.6", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/anthropic/claude-sonnet-5", + "name": "Anthropic/Claude Sonnet 5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/arcee-ai/trinity-large-thinking", + "name": "Arcee Ai/Trinity Large Thinking", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/arcee-ai/virtuoso-large", + "name": "Arcee Ai/Virtuoso Large", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 64000, + "reasoning": true + }, + { + "id": "openrouter/baidu/ernie-4.5-vl-424b-a47b", + "name": "Baidu/Ernie 4.5 Vl 424b A47b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 123000, + "maxTokens": 16000, + "reasoning": true + }, + { + "id": "openrouter/bytedance-seed/seed-1.6", + "name": "Bytedance Seed/Seed 1.6", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/bytedance-seed/seed-1.6-flash", + "name": "Bytedance Seed/Seed 1.6 Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/bytedance-seed/seed-2.0-lite", + "name": "Bytedance Seed/Seed 2.0 Lite", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/bytedance-seed/seed-2.0-mini", + "name": "Bytedance Seed/Seed 2.0 Mini", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/bytedance/ui-tars-1.5-7b", + "name": "Bytedance/Ui Tars 1.5 7b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 2048, + "reasoning": true + }, + { + "id": "openrouter/cognitivecomputations/dolphin-mistral-24b-venice-edition", + "name": "Cognitivecomputations/Dolphin Mistral 24b Venice Edition", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 8192, + "reasoning": true + }, + { + "id": "openrouter/cohere/command-a", + "name": "Cohere/Command A", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 256000, + "maxTokens": 8192, + "reasoning": true + }, + { + "id": "openrouter/cohere/command-r-08-2024", + "name": "Cohere/Command R 08 2024", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 4000, + "reasoning": true + }, + { + "id": "openrouter/cohere/command-r-plus-08-2024", + "name": "Cohere/Command R Plus 08 2024", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 4000, + "reasoning": true + }, + { + "id": "openrouter/cohere/command-r7b-12-2024", + "name": "Cohere/Command R7b 12 2024", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 4000, + "reasoning": true + }, + { + "id": "openrouter/cohere/north-mini-code:free", + "name": "Cohere/North Mini Code:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 256000, + "maxTokens": 64000, + "reasoning": true + }, + { + "id": "openrouter/cohere/rerank-4-fast", + "name": "Cohere/Rerank 4 Fast", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "reasoning": true + }, + { + "id": "openrouter/cohere/rerank-4-pro", + "name": "Cohere/Rerank 4 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "reasoning": true + }, + { + "id": "openrouter/cohere/rerank-v3.5", + "name": "Cohere/Rerank V3.5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "reasoning": true + }, + { + "id": "openrouter/deepcogito/cogito-v2.1-671b", + "name": "Deepcogito/Cogito V2.1 671b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "reasoning": true + }, + { + "id": "openrouter/deepseek/deepseek-chat", + "name": "Deepseek/Deepseek Chat", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 163840, + "maxTokens": 16000, + "reasoning": true + }, + { + "id": "openrouter/deepseek/deepseek-chat-v3-0324", + "name": "Deepseek/Deepseek Chat V3 0324", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 163840, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/deepseek/deepseek-chat-v3.1", + "name": "Deepseek/Deepseek Chat V3.1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 163840, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/deepseek/deepseek-r1", + "name": "Deepseek/Deepseek R1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 163840, + "maxTokens": 16000, + "reasoning": true + }, + { + "id": "openrouter/deepseek/deepseek-r1-0528", + "name": "Deepseek/Deepseek R1 0528", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 163840, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/deepseek/deepseek-r1-distill-llama-70b", + "name": "Deepseek/Deepseek R1 Distill Llama 70b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 8192, + "maxTokens": 8192, + "reasoning": true + }, + { + "id": "openrouter/deepseek/deepseek-v3.1-terminus", + "name": "Deepseek/Deepseek V3.1 Terminus", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 163840, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/deepseek/deepseek-v3.2", + "name": "Deepseek/Deepseek V3.2", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 163840, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/deepseek/deepseek-v3.2-exp", + "name": "Deepseek/Deepseek V3.2 Exp", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 163840, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/deepseek/deepseek-v4-flash", + "name": "Deepseek/Deepseek V4 Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 393216, + "reasoning": true + }, + { + "id": "openrouter/deepseek/deepseek-v4-pro", + "name": "Deepseek/Deepseek V4 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 384000, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-2.5-flash", + "name": "Google/Gemini 2.5 Flash", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 65535, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-2.5-flash-image", + "name": "Google/Gemini 2.5 Flash Image", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 32768, + "maxTokens": 8192, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-2.5-flash-lite", + "name": "Google/Gemini 2.5 Flash Lite", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 65535, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-2.5-pro", + "name": "Google/Gemini 2.5 Pro", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-2.5-pro-preview", + "name": "Google/Gemini 2.5 Pro Preview", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-2.5-pro-preview-05-06", + "name": "Google/Gemini 2.5 Pro Preview 05 06", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 65535, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-3-flash-preview", + "name": "Google/Gemini 3 Flash Preview", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 65535, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-3-pro-image", + "name": "Google/Gemini 3 Pro Image", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 131072, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-3.1-flash-image", + "name": "Google/Gemini 3.1 Flash Image", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 131072, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-3.1-flash-lite", + "name": "Google/Gemini 3.1 Flash Lite", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-3.1-flash-lite-image", + "name": "Google/Gemini 3.1 Flash Lite Image", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 65536, + "maxTokens": 66000, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-3.1-flash-lite-preview", + "name": "Google/Gemini 3.1 Flash Lite Preview", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-3.1-pro-preview", + "name": "Google/Gemini 3.1 Pro Preview", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-3.1-pro-preview-customtools", + "name": "Google/Gemini 3.1 Pro Preview Customtools", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-3.5-flash", + "name": "Google/Gemini 3.5 Flash", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-3.5-flash-lite", + "name": "Google/Gemini 3.5 Flash Lite", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/google/gemini-3.6-flash", + "name": "Google/Gemini 3.6 Flash", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/google/gemma-2-27b-it", + "name": "Google/Gemma 2 27b It", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 8192, + "maxTokens": 2048, + "reasoning": true + }, + { + "id": "openrouter/google/gemma-3-12b-it", + "name": "Google/Gemma 3 12b It", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/google/gemma-3-27b-it", + "name": "Google/Gemma 3 27b It", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/google/gemma-3-4b-it", + "name": "Google/Gemma 3 4b It", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/google/gemma-3n-e4b-it", + "name": "Google/Gemma 3n E4b It", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 32768, + "reasoning": true + }, + { + "id": "openrouter/google/gemma-4-26b-a4b-it", + "name": "Google/Gemma 4 26b A4b It", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/google/gemma-4-26b-a4b-it:free", + "name": "Google/Gemma 4 26b A4b It:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/google/gemma-4-31b-it", + "name": "Google/Gemma 4 31b It", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/google/gemma-4-31b-it:free", + "name": "Google/Gemma 4 31b It:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/google/lyria-3-clip-preview", + "name": "Google/Lyria 3 Clip Preview", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/google/lyria-3-pro-preview", + "name": "Google/Lyria 3 Pro Preview", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/gryphe/mythomax-l2-13b", + "name": "Gryphe/Mythomax L2 13b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 8192, + "maxTokens": 4096, + "reasoning": true + }, + { + "id": "openrouter/ibm-granite/granite-4.0-h-micro", + "name": "Ibm Granite/Granite 4.0 H Micro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131000, + "maxTokens": 131000, + "reasoning": true + }, + { + "id": "openrouter/ibm-granite/granite-4.1-8b", + "name": "Ibm Granite/Granite 4.1 8b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/inception/mercury-2", + "name": "Inception/Mercury 2", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 50000, + "reasoning": true + }, + { + "id": "openrouter/inclusionai/ling-2.6-1t", + "name": "Inclusionai/Ling 2.6 1t", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/inclusionai/ling-2.6-flash", + "name": "Inclusionai/Ling 2.6 Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/inclusionai/ling-3.0-flash:free", + "name": "Inclusionai/Ling 3.0 Flash:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/inclusionai/ring-2.6-1t", + "name": "Inclusionai/Ring 2.6 1t", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/kwaipilot/kat-coder-air-v2.5", + "name": "Kwaipilot/Kat Coder Air V2.5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 256000, + "maxTokens": 80000, + "reasoning": true + }, + { + "id": "openrouter/kwaipilot/kat-coder-pro-v2", + "name": "Kwaipilot/Kat Coder Pro V2", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 80000, + "reasoning": true + }, + { + "id": "openrouter/kwaipilot/kat-coder-pro-v2.5", + "name": "Kwaipilot/Kat Coder Pro V2.5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 256000, + "maxTokens": 80000, + "reasoning": true + }, + { + "id": "openrouter/mancer/weaver", + "name": "Mancer/Weaver", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 8000, + "maxTokens": 2000, + "reasoning": true + }, + { + "id": "openrouter/meituan/longcat-2.0", + "name": "Meituan/Longcat 2.0", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048756, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/meta-llama/llama-3.1-70b-instruct", + "name": "Meta Llama/Llama 3.1 70b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/meta-llama/llama-3.1-8b-instruct", + "name": "Meta Llama/Llama 3.1 8b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/meta-llama/llama-3.2-1b-instruct", + "name": "Meta Llama/Llama 3.2 1b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 60000, + "maxTokens": 60000, + "reasoning": true + }, + { + "id": "openrouter/meta-llama/llama-3.2-3b-instruct", + "name": "Meta Llama/Llama 3.2 3b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/meta-llama/llama-3.3-70b-instruct", + "name": "Meta Llama/Llama 3.3 70b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/meta-llama/llama-4-maverick", + "name": "Meta Llama/Llama 4 Maverick", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/meta-llama/llama-4-scout", + "name": "Meta Llama/Llama 4 Scout", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1310720, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/meta-llama/llama-guard-4-12b", + "name": "Meta Llama/Llama Guard 4 12b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/meta/muse-spark-1.1", + "name": "Meta/Muse Spark 1.1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "reasoning": true + }, + { + "id": "openrouter/microsoft/phi-4", + "name": "Microsoft/Phi 4", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 16384, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/microsoft/wizardlm-2-8x22b", + "name": "Microsoft/Wizardlm 2 8x22b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 65535, + "maxTokens": 8000, + "reasoning": true + }, + { + "id": "openrouter/minimax/minimax-01", + "name": "Minimax/Minimax 01", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000192, + "maxTokens": 1000192, + "reasoning": true + }, + { + "id": "openrouter/minimax/minimax-m1", + "name": "Minimax/Minimax M1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 40000, + "reasoning": true + }, + { + "id": "openrouter/minimax/minimax-m2", + "name": "Minimax/Minimax M2", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 204800, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/minimax/minimax-m2-her", + "name": "Minimax/Minimax M2 Her", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 65536, + "maxTokens": 2048, + "reasoning": true + }, + { + "id": "openrouter/minimax/minimax-m2.1", + "name": "Minimax/Minimax M2.1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 204800, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/minimax/minimax-m2.5", + "name": "Minimax/Minimax M2.5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 204800, + "maxTokens": 196608, + "reasoning": true + }, + { + "id": "openrouter/minimax/minimax-m2.7", + "name": "Minimax/Minimax M2.7", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 204800, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/minimax/minimax-m3", + "name": "Minimax/Minimax M3", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1048576, + "maxTokens": 512000, + "reasoning": true + }, + { + "id": "openrouter/mistralai/codestral-2508", + "name": "Mistralai/Codestral 2508", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 256000, + "reasoning": true + }, + { + "id": "openrouter/mistralai/devstral-2512", + "name": "Mistralai/Devstral 2512", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "reasoning": true + }, + { + "id": "openrouter/mistralai/ministral-14b-2512", + "name": "Mistralai/Ministral 14b 2512", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "reasoning": true + }, + { + "id": "openrouter/mistralai/ministral-3b-2512", + "name": "Mistralai/Ministral 3b 2512", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "reasoning": true + }, + { + "id": "openrouter/mistralai/ministral-8b-2512", + "name": "Mistralai/Ministral 8b 2512", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "reasoning": true + }, + { + "id": "openrouter/mistralai/mistral-large", + "name": "Mistralai/Mistral Large", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "reasoning": true + }, + { + "id": "openrouter/mistralai/mistral-large-2407", + "name": "Mistralai/Mistral Large 2407", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "reasoning": true + }, + { + "id": "openrouter/mistralai/mistral-large-2512", + "name": "Mistralai/Mistral Large 2512", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "reasoning": true + }, + { + "id": "openrouter/mistralai/mistral-medium-3", + "name": "Mistralai/Mistral Medium 3", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 131072, + "reasoning": true + }, + { + "id": "openrouter/mistralai/mistral-medium-3-5", + "name": "Mistralai/Mistral Medium 3 5", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 262144, + "reasoning": true + }, + { + "id": "openrouter/mistralai/mistral-medium-3.1", + "name": "Mistralai/Mistral Medium 3.1", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 131072, + "reasoning": true + }, + { + "id": "openrouter/mistralai/mistral-nemo", + "name": "Mistralai/Mistral Nemo", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/mistralai/mistral-saba", + "name": "Mistralai/Mistral Saba", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 32768, + "reasoning": true + }, + { + "id": "openrouter/mistralai/mistral-small-24b-instruct-2501", + "name": "Mistralai/Mistral Small 24b Instruct 2501", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 32768, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/mistralai/mistral-small-2603", + "name": "Mistralai/Mistral Small 2603", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "reasoning": true + }, + { + "id": "openrouter/mistralai/mistral-small-3.1-24b-instruct", + "name": "Mistralai/Mistral Small 3.1 24b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/mistralai/mistral-small-3.2-24b-instruct", + "name": "Mistralai/Mistral Small 3.2 24b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 256000, + "reasoning": true + }, + { + "id": "openrouter/mistralai/mixtral-8x22b-instruct", + "name": "Mistralai/Mixtral 8x22b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 65536, + "reasoning": true + }, + { + "id": "openrouter/mistralai/voxtral-small-24b-2507", + "name": "Mistralai/Voxtral Small 24b 2507", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 32000, + "reasoning": true + }, + { + "id": "openrouter/moonshotai/kimi-k2", + "name": "Moonshotai/Kimi K2", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 100352, + "reasoning": true + }, + { + "id": "openrouter/moonshotai/kimi-k2-0905", + "name": "Moonshotai/Kimi K2 0905", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 100352, + "reasoning": true + }, + { + "id": "openrouter/moonshotai/kimi-k2-thinking", + "name": "Moonshotai/Kimi K2 Thinking", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 100352, + "reasoning": true + }, + { + "id": "openrouter/moonshotai/kimi-k2.5", + "name": "Moonshotai/Kimi K2.5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/moonshotai/kimi-k2.6", + "name": "Moonshotai/Kimi K2.6", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/moonshotai/kimi-k2.7-code", + "name": "Moonshotai/Kimi K2.7 Code", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/moonshotai/kimi-k3", + "name": "Moonshotai/Kimi K3", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "reasoning": true + }, + { + "id": "openrouter/morph/morph-v3-fast", + "name": "Morph/Morph V3 Fast", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 81920, + "maxTokens": 38000, + "reasoning": true + }, + { + "id": "openrouter/morph/morph-v3-large", + "name": "Morph/Morph V3 Large", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/nex-agi/nex-n2-mini", + "name": "Nex Agi/Nex N2 Mini", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/nex-agi/nex-n2-pro", + "name": "Nex Agi/Nex N2 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/nousresearch/hermes-3-llama-3.1-405b", + "name": "Nousresearch/Hermes 3 Llama 3.1 405b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/nousresearch/hermes-3-llama-3.1-70b", + "name": "Nousresearch/Hermes 3 Llama 3.1 70b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/nousresearch/hermes-4-405b", + "name": "Nousresearch/Hermes 4 405b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "reasoning": true + }, + { + "id": "openrouter/nousresearch/hermes-4-70b", + "name": "Nousresearch/Hermes 4 70b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "reasoning": true + }, + { + "id": "openrouter/nvidia/nemotron-3-nano-30b-a3b", + "name": "Nvidia/Nemotron 3 Nano 30b A3b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 228000, + "reasoning": true + }, + { + "id": "openrouter/nvidia/nemotron-3-nano-30b-a3b:free", + "name": "Nvidia/Nemotron 3 Nano 30b A3b:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 256000, + "reasoning": true + }, + { + "id": "openrouter/nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free", + "name": "Nvidia/Nemotron 3 Nano Omni 30b A3b Reasoning:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 256000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/nvidia/nemotron-3-super-120b-a12b", + "name": "Nvidia/Nemotron 3 Super 120b A12b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/nvidia/nemotron-3-super-120b-a12b:free", + "name": "Nvidia/Nemotron 3 Super 120b A12b:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/nvidia/nemotron-3-ultra-550b-a55b", + "name": "Nvidia/Nemotron 3 Ultra 550b A55b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 512288, + "reasoning": true + }, + { + "id": "openrouter/nvidia/nemotron-3-ultra-550b-a55b:free", + "name": "Nvidia/Nemotron 3 Ultra 550b A55b:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/nvidia/nemotron-3.5-content-safety:free", + "name": "Nvidia/Nemotron 3.5 Content Safety:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 8192, + "reasoning": true + }, + { + "id": "openrouter/nvidia/nemotron-nano-12b-v2-vl:free", + "name": "Nvidia/Nemotron Nano 12b V2 Vl:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/nvidia/nemotron-nano-9b-v2:free", + "name": "Nvidia/Nemotron Nano 9b V2:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-3.5-turbo", + "name": "Openai/Gpt 3.5 Turbo", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 16385, + "maxTokens": 4096, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-3.5-turbo-0613", + "name": "Openai/Gpt 3.5 Turbo 0613", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 4095, + "maxTokens": 4096, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-3.5-turbo-16k", + "name": "Openai/Gpt 3.5 Turbo 16k", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 16385, + "maxTokens": 4096, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-3.5-turbo-instruct", + "name": "Openai/Gpt 3.5 Turbo Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 4095, + "maxTokens": 4096, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-4", + "name": "Openai/Gpt 4", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 8191, + "maxTokens": 4096, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-4-turbo", + "name": "Openai/Gpt 4 Turbo", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 128000, + "maxTokens": 4096, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-4-turbo-preview", + "name": "Openai/Gpt 4 Turbo Preview", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 128000, + "maxTokens": 4096, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-4.1", + "name": "Openai/Gpt 4.1", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1047576, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-4.1-mini", + "name": "Openai/Gpt 4.1 Mini", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1047576, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-4.1-nano", + "name": "Openai/Gpt 4.1 Nano", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1047576, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-4o", + "name": "Openai/Gpt 4o", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 128000, + "maxTokens": 16384 + }, + { + "id": "openrouter/openai/gpt-4o-2024-05-13", + "name": "Openai/Gpt 4o 2024 05 13", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 128000, + "maxTokens": 4096, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-4o-2024-08-06", + "name": "Openai/Gpt 4o 2024 08 06", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 128000, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-4o-2024-11-20", + "name": "Openai/Gpt 4o 2024 11 20", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 128000, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-4o-mini", + "name": "Openai/Gpt 4o Mini", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 128000, + "maxTokens": 16384 + }, + { + "id": "openrouter/openai/gpt-4o-mini-2024-07-18", + "name": "Openai/Gpt 4o Mini 2024 07 18", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 128000, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5", + "name": "Openai/Gpt 5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5-codex", + "name": "Openai/Gpt 5 Codex", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5-image", + "name": "Openai/Gpt 5 Image", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5-mini", + "name": "Openai/Gpt 5 Mini", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5-nano", + "name": "Openai/Gpt 5 Nano", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5-pro", + "name": "Openai/Gpt 5 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.1", + "name": "Openai/Gpt 5.1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.1-chat", + "name": "Openai/Gpt 5.1 Chat", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 32000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.1-codex", + "name": "Openai/Gpt 5.1 Codex", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.1-codex-max", + "name": "Openai/Gpt 5.1 Codex Max", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.1-codex-mini", + "name": "Openai/Gpt 5.1 Codex Mini", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.2", + "name": "Openai/Gpt 5.2", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.2-chat", + "name": "Openai/Gpt 5.2 Chat", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.2-codex", + "name": "Openai/Gpt 5.2 Codex", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.2-pro", + "name": "Openai/Gpt 5.2 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.3-chat", + "name": "Openai/Gpt 5.3 Chat", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.3-codex", + "name": "Openai/Gpt 5.3 Codex", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.4", + "name": "Openai/Gpt 5.4", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1050000, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.4-mini", + "name": "Openai/Gpt 5.4 Mini", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.4-nano", + "name": "Openai/Gpt 5.4 Nano", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.4-pro", + "name": "Openai/Gpt 5.4 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1050000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.5", + "name": "Openai/Gpt 5.5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1050000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.5-pro", + "name": "Openai/Gpt 5.5 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1050000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.6-luna", + "name": "Openai/Gpt 5.6 Luna", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1050000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.6-luna-pro", + "name": "Openai/Gpt 5.6 Luna Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1050000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.6-sol", + "name": "Openai/Gpt 5.6 Sol", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1050000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.6-sol-pro", + "name": "Openai/Gpt 5.6 Sol Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1050000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.6-terra", + "name": "Openai/Gpt 5.6 Terra", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 1050000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-5.6-terra-pro", + "name": "Openai/Gpt 5.6 Terra Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1050000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-audio", + "name": "Openai/Gpt Audio", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-audio-mini", + "name": "Openai/Gpt Audio Mini", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-chat-latest", + "name": "Openai/Gpt Chat Latest", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-oss-120b", + "name": "Openai/Gpt Oss 120b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-oss-20b", + "name": "Openai/Gpt Oss 20b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-oss-20b:free", + "name": "Openai/Gpt Oss 20b:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/openai/gpt-oss-safeguard-20b", + "name": "Openai/Gpt Oss Safeguard 20b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/openai/o1", + "name": "Openai/O1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 100000, + "reasoning": true + }, + { + "id": "openrouter/openai/o1-pro", + "name": "Openai/O1 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 100000, + "reasoning": true + }, + { + "id": "openrouter/openai/o3", + "name": "Openai/O3", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 100000, + "reasoning": true + }, + { + "id": "openrouter/openai/o3-deep-research", + "name": "Openai/O3 Deep Research", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 100000, + "reasoning": true + }, + { + "id": "openrouter/openai/o3-mini", + "name": "Openai/O3 Mini", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 100000, + "reasoning": true + }, + { + "id": "openrouter/openai/o3-mini-high", + "name": "Openai/O3 Mini High", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 100000, + "reasoning": true + }, + { + "id": "openrouter/openai/o3-pro", + "name": "Openai/O3 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 100000, + "reasoning": true + }, + { + "id": "openrouter/openai/o4-mini", + "name": "Openai/O4 Mini", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 100000, + "reasoning": true + }, + { + "id": "openrouter/openai/o4-mini-deep-research", + "name": "Openai/O4 Mini Deep Research", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 100000, + "reasoning": true + }, + { + "id": "openrouter/openai/o4-mini-high", + "name": "Openai/O4 Mini High", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 100000, + "reasoning": true + }, + { + "id": "openrouter/openai/text-embedding-3-large", + "name": "Openai/Text Embedding 3 Large", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "reasoning": true + }, + { + "id": "openrouter/openai/text-embedding-3-small", + "name": "Openai/Text Embedding 3 Small", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "reasoning": true + }, + { + "id": "openrouter/openai/text-embedding-ada-002", + "name": "Openai/Text Embedding Ada 002", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "reasoning": true + }, + { + "id": "openrouter/openrouter/auto", + "name": "/Auto", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 2000000, + "reasoning": true + }, + { + "id": "openrouter/openrouter/auto-beta", + "name": "/Auto Beta", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 2000000, + "reasoning": true + }, + { + "id": "openrouter/openrouter/bodybuilder", + "name": "/Bodybuilder", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "reasoning": true + }, + { + "id": "openrouter/openrouter/free", + "name": "/Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "openrouter/openrouter/fusion", + "name": "/Fusion", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "reasoning": true + }, + { + "id": "openrouter/openrouter/pareto-code", + "name": "/Pareto Code", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 2000000, + "reasoning": true + }, + { + "id": "openrouter/perceptron/perceptron-mk1", + "name": "Perceptron/Perceptron Mk1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 32768, + "maxTokens": 8192, + "reasoning": true + }, + { + "id": "openrouter/perplexity/sonar", + "name": "Perplexity/Sonar", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 127072, + "reasoning": true + }, + { + "id": "openrouter/perplexity/sonar-deep-research", + "name": "Perplexity/Sonar Deep Research", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "reasoning": true + }, + { + "id": "openrouter/perplexity/sonar-pro", + "name": "Perplexity/Sonar Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 8000, + "reasoning": true + }, + { + "id": "openrouter/perplexity/sonar-pro-search", + "name": "Perplexity/Sonar Pro Search", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "maxTokens": 8000, + "reasoning": true + }, + { + "id": "openrouter/perplexity/sonar-reasoning-pro", + "name": "Perplexity/Sonar Reasoning Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "reasoning": true + }, + { + "id": "openrouter/poolside/laguna-m.1", + "name": "Poolside/Laguna M.1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/poolside/laguna-m.1:free", + "name": "Poolside/Laguna M.1:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/poolside/laguna-s-2.1", + "name": "Poolside/Laguna S 2.1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/poolside/laguna-s-2.1:free", + "name": "Poolside/Laguna S 2.1:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/poolside/laguna-xs-2.1", + "name": "Poolside/Laguna Xs 2.1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/poolside/laguna-xs-2.1:free", + "name": "Poolside/Laguna Xs 2.1:Free", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen-2.5-72b-instruct", + "name": "Qwen/Qwen 2.5 72b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 32768, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen-2.5-7b-instruct", + "name": "Qwen/Qwen 2.5 7b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 32768, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen-2.5-coder-32b-instruct", + "name": "Qwen/Qwen 2.5 Coder 32b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 32768, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen-plus", + "name": "Qwen/Qwen Plus", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen-plus-2025-07-28", + "name": "Qwen/Qwen Plus 2025 07 28", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen-plus-2025-07-28:thinking", + "name": "Qwen/Qwen Plus 2025 07 28:Thinking", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen2.5-vl-72b-instruct", + "name": "Qwen/Qwen2.5 Vl 72b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 128000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-14b", + "name": "Qwen/Qwen3 14b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 8192, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-235b-a22b", + "name": "Qwen/Qwen3 235b A22b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 8192, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-235b-a22b-2507", + "name": "Qwen/Qwen3 235b A22b 2507", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-235b-a22b-thinking-2507", + "name": "Qwen/Qwen3 235b A22b Thinking 2507", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-30b-a3b", + "name": "Qwen/Qwen3 30b A3b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-30b-a3b-instruct-2507", + "name": "Qwen/Qwen3 30b A3b Instruct 2507", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32000, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-30b-a3b-thinking-2507", + "name": "Qwen/Qwen3 30b A3b Thinking 2507", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 81920, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-32b", + "name": "Qwen/Qwen3 32b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-8b", + "name": "Qwen/Qwen3 8b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 8192, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-coder", + "name": "Qwen/Qwen3 Coder", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-coder-30b-a3b-instruct", + "name": "Qwen/Qwen3 Coder 30b A3b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-coder-flash", + "name": "Qwen/Qwen3 Coder Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-coder-next", + "name": "Qwen/Qwen3 Coder Next", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-coder-plus", + "name": "Qwen/Qwen3 Coder Plus", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-max", + "name": "Qwen/Qwen3 Max", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-max-thinking", + "name": "Qwen/Qwen3 Max Thinking", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-next-80b-a3b-instruct", + "name": "Qwen/Qwen3 Next 80b A3b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-next-80b-a3b-thinking", + "name": "Qwen/Qwen3 Next 80b A3b Thinking", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-vl-235b-a22b-instruct", + "name": "Qwen/Qwen3 Vl 235b A22b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-vl-235b-a22b-thinking", + "name": "Qwen/Qwen3 Vl 235b A22b Thinking", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 131072, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-vl-30b-a3b-instruct", + "name": "Qwen/Qwen3 Vl 30b A3b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 262144, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-vl-30b-a3b-thinking", + "name": "Qwen/Qwen3 Vl 30b A3b Thinking", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-vl-32b-instruct", + "name": "Qwen/Qwen3 Vl 32b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 131072, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-vl-8b-instruct", + "name": "Qwen/Qwen3 Vl 8b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 262144, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3-vl-8b-thinking", + "name": "Qwen/Qwen3 Vl 8b Thinking", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 131072, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.5-122b-a10b", + "name": "Qwen/Qwen3.5 122b A10b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.5-27b", + "name": "Qwen/Qwen3.5 27b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.5-35b-a3b", + "name": "Qwen/Qwen3.5 35b A3b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.5-397b-a17b", + "name": "Qwen/Qwen3.5 397b A17b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.5-9b", + "name": "Qwen/Qwen3.5 9b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.5-flash-02-23", + "name": "Qwen/Qwen3.5 Flash 02 23", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.5-plus-02-15", + "name": "Qwen/Qwen3.5 Plus 02 15", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.5-plus-20260420", + "name": "Qwen/Qwen3.5 Plus 20260420", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.6-27b", + "name": "Qwen/Qwen3.6 27b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.6-35b-a3b", + "name": "Qwen/Qwen3.6 35b A3b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 262144, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.6-flash", + "name": "Qwen/Qwen3.6 Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.6-max-preview", + "name": "Qwen/Qwen3.6 Max Preview", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.6-plus", + "name": "Qwen/Qwen3.6 Plus", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.7-flash", + "name": "Qwen/Qwen3.7 Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.7-max", + "name": "Qwen/Qwen3.7 Max", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/qwen/qwen3.7-plus", + "name": "Qwen/Qwen3.7 Plus", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/rekaai/reka-edge", + "name": "Rekaai/Reka Edge", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 16384, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/rekaai/reka-flash-3", + "name": "Rekaai/Reka Flash 3", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 65536, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/relace/relace-apply-3", + "name": "Relace/Relace Apply 3", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 256000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/relace/relace-search", + "name": "Relace/Relace Search", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 256000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/sakana/fugu-ultra", + "name": "Sakana/Fugu Ultra", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/sao10k/l3-lunaris-8b", + "name": "Sao10k/L3 Lunaris 8b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 8192, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/sao10k/l3.1-euryale-70b", + "name": "Sao10k/L3.1 Euryale 70b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/sao10k/l3.3-euryale-70b", + "name": "Sao10k/L3.3 Euryale 70b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/stepfun/step-3.5-flash", + "name": "Stepfun/Step 3.5 Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/stepfun/step-3.7-flash", + "name": "Stepfun/Step 3.7 Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 256000, + "reasoning": true + }, + { + "id": "openrouter/tencent/hunyuan-a13b-instruct", + "name": "Tencent/Hunyuan A13b Instruct", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/tencent/hy3", + "name": "Tencent/Hy3", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/tencent/hy3-preview", + "name": "Tencent/Hy3 Preview", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 262144, + "reasoning": true + }, + { + "id": "openrouter/thedrummer/cydonia-24b-v4.1", + "name": "Thedrummer/Cydonia 24b V4.1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/thedrummer/rocinante-12b", + "name": "Thedrummer/Rocinante 12b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 65536, + "maxTokens": 65536, + "reasoning": true + }, + { + "id": "openrouter/thedrummer/skyfall-36b-v2", + "name": "Thedrummer/Skyfall 36b V2", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 32768, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/thedrummer/unslopnemo-12b", + "name": "Thedrummer/Unslopnemo 12b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 32768, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/thinkingmachines/inkling", + "name": "Thinkingmachines/Inkling", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "reasoning": true + }, + { + "id": "openrouter/undi95/remm-slerp-l2-13b", + "name": "Undi95/Remm Slerp L2 13b", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 6144, + "maxTokens": 2048, + "reasoning": true + }, + { + "id": "openrouter/upstage/solar-pro-3", + "name": "Upstage/Solar Pro 3", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 128000, + "reasoning": true + }, + { + "id": "openrouter/writer/palmyra-x5", + "name": "Writer/Palmyra X5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1040000, + "maxTokens": 8192, + "reasoning": true + }, + { + "id": "openrouter/x-ai/grok-4.20", + "name": "X Ai/Grok 4.20", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 2000000, + "reasoning": true + }, + { + "id": "openrouter/x-ai/grok-4.20-multi-agent", + "name": "X Ai/Grok 4.20 Multi Agent", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 2000000, + "reasoning": true + }, + { + "id": "openrouter/x-ai/grok-4.3", + "name": "X Ai/Grok 4.3", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "reasoning": true + }, + { + "id": "openrouter/x-ai/grok-4.5", + "name": "X Ai/Grok 4.5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 500000, + "reasoning": true + }, + { + "id": "openrouter/x-ai/grok-build-0.1", + "name": "X Ai/Grok Build 0.1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 256000, + "reasoning": true + }, + { + "id": "openrouter/xiaomi/mimo-v2.5", + "name": "Xiaomi/Mimo V2.5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1050000, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/xiaomi/mimo-v2.5-pro", + "name": "Xiaomi/Mimo V2.5 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1050000, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/z-ai/glm-4.5", + "name": "Z Ai/Glm 4.5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 98304, + "reasoning": true + }, + { + "id": "openrouter/z-ai/glm-4.5-air", + "name": "Z Ai/Glm 4.5 Air", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 131072, + "maxTokens": 98304, + "reasoning": true + }, + { + "id": "openrouter/z-ai/glm-4.5v", + "name": "Z Ai/Glm 4.5v", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 65536, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/z-ai/glm-4.6", + "name": "Z Ai/Glm 4.6", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 204800, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/z-ai/glm-4.6v", + "name": "Z Ai/Glm 4.6v", + "api": "omni-prompt-tools", + "input": [ + "text", + "image" + ], + "contextWindow": 131072, + "maxTokens": 32768, + "reasoning": true + }, + { + "id": "openrouter/z-ai/glm-4.7", + "name": "Z Ai/Glm 4.7", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 204800, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/z-ai/glm-4.7-flash", + "name": "Z Ai/Glm 4.7 Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 202752, + "maxTokens": 16384, + "reasoning": true + }, + { + "id": "openrouter/z-ai/glm-5", + "name": "Z Ai/Glm 5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 204800, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/z-ai/glm-5-turbo", + "name": "Z Ai/Glm 5 Turbo", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 202752, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/z-ai/glm-5.1", + "name": "Z Ai/Glm 5.1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 204800, + "maxTokens": 128000, + "reasoning": true + }, + { + "id": "openrouter/z-ai/glm-5.2", + "name": "Z Ai/Glm 5.2", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1048576, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "openrouter/z-ai/glm-5v-turbo", + "name": "Z Ai/Glm 5v Turbo", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 202752, + "maxTokens": 131072, + "reasoning": true + }, + { + "id": "tllm/CLAUDE_4_5_HAIKU", + "name": "CLAUDE 4 5 HAIKU", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/CLAUDE_4_6_OPUS", + "name": "CLAUDE 4 6 OPUS", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/CLAUDE_4_6_SONNET", + "name": "CLAUDE 4 6 SONNET", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/claude_haiku_3_5", + "name": "Claude Haiku 3 5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/claude_opus_4", + "name": "Claude Opus 4", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/claude_sonnet_4", + "name": "Claude Sonnet 4", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/deepseek_v4", + "name": "Deepseek V4", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/gemini_1_5_flash", + "name": "Gemini 1 5 Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "reasoning": true + }, + { + "id": "tllm/gemini_2_0_flash", + "name": "Gemini 2 0 Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "reasoning": true + }, + { + "id": "tllm/gemini_2_5_pro", + "name": "Gemini 2 5 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "reasoning": true + }, + { + "id": "tllm/gemini_3_flash", + "name": "Gemini 3 Flash", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "reasoning": true + }, + { + "id": "tllm/gemini_3_pro", + "name": "Gemini 3 Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 1000000, + "reasoning": true + }, + { + "id": "tllm/GPT_4o", + "name": "GPT 4o", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/GPT_5", + "name": "GPT 5", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "reasoning": true + }, + { + "id": "tllm/GPT_5_1", + "name": "GPT 5 1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "reasoning": true + }, + { + "id": "tllm/GPT_5_2", + "name": "GPT 5 2", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "reasoning": true + }, + { + "id": "tllm/GPT_5_3", + "name": "GPT 5 3", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "reasoning": true + }, + { + "id": "tllm/GPT_5_4", + "name": "GPT 5 4", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 400000, + "reasoning": true + }, + { + "id": "tllm/GPT_o3_mini", + "name": "GPT O3 Mini", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/GPT_o4_mini", + "name": "GPT O4 Mini", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/openrouter_deepseek_r1", + "name": "Openrouter Deepseek R1", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/openrouter_gpt_4_o", + "name": "Openrouter Gpt 4 O", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/openrouter_gpt_4_o_mini", + "name": "Openrouter Gpt 4 O Mini", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/openrouter_grok_4", + "name": "Openrouter Grok 4", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/sonar-pro", + "name": "Sonar Pro", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "tllm/together_deepseek_v3", + "name": "Together Deepseek V3", + "api": "omni-prompt-tools", + "input": [ + "text" + ], + "contextWindow": 200000, + "reasoning": true + }, + { + "id": "veo-free/seedance", + "name": "Seedance", + "api": "omni-prompt-tools", + "tool_calling": false, + "input": [ + "text" + ], + "contextWindow": 128000, + "reasoning": true + }, + { + "id": "veo-free/veo", + "name": "Veo", + "api": "omni-prompt-tools", + "tool_calling": false, + "input": [ + "text" + ], + "contextWindow": 128000, + "reasoning": true + }, + { + "id": "veoaifree-web/seedance", + "name": "Seedance", + "api": "omni-prompt-tools", + "tool_calling": false, + "input": [ + "text" + ], + "reasoning": true + }, + { + "id": "veoaifree-web/veo", + "name": "Veo", + "api": "omni-prompt-tools", + "tool_calling": false, + "input": [ + "text" + ], + "reasoning": true + } + ] } } -} +} \ No newline at end of file