From 6b972329fdcba8a8dcfef5f4310e10226e159069 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Sat, 31 Jan 2026 01:58:20 -0500 Subject: [PATCH] sync --- .../test/tool/fixtures/models-api.json | 11702 ++++++++++----- packages/opencode/test/tool/read.test.ts | 4 +- packages/sdk/js/openapi.json | 11911 ++++++++++++++++ 3 files changed, 20245 insertions(+), 3372 deletions(-) create mode 100644 packages/sdk/js/openapi.json diff --git a/packages/opencode/test/tool/fixtures/models-api.json b/packages/opencode/test/tool/fixtures/models-api.json index 7f55e04a56..391e783699 100644 --- a/packages/opencode/test/tool/fixtures/models-api.json +++ b/packages/opencode/test/tool/fixtures/models-api.json @@ -1,4 +1,99 @@ { + "privatemode-ai": { + "id": "privatemode-ai", + "env": ["PRIVATEMODE_API_KEY", "PRIVATEMODE_ENDPOINT"], + "npm": "@ai-sdk/openai-compatible", + "api": "http://localhost:8080/v1", + "name": "Privatemode AI", + "doc": "https://docs.privatemode.ai/api/overview", + "models": { + "whisper-large-v3": { + "id": "whisper-large-v3", + "name": "Whisper large-v3", + "family": "whisper", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2023-09-01", + "last_updated": "2023-09-01", + "modalities": { "input": ["audio"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 0, "output": 4096 } + }, + "qwen3-embedding-4b": { + "id": "qwen3-embedding-4b", + "name": "Qwen3-Embedding 4B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-06-06", + "last_updated": "2025-06-06", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 32000, "output": 2560 } + }, + "gpt-oss-120b": { + "id": "gpt-oss-120b", + "name": "gpt-oss-120b", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-08-04", + "last_updated": "2025-08-14", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 128000, "output": 128000 } + }, + "gemma-3-27b": { + "id": "gemma-3-27b", + "name": "Gemma 3 27B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 128000, "output": 8192 } + }, + "qwen3-coder-30b-a3b": { + "id": "qwen3-coder-30b-a3b", + "name": "Qwen3-Coder 30B-A3B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 128000, "output": 32768 } + } + } + }, "moonshotai-cn": { "id": "moonshotai-cn", "env": ["MOONSHOT_API_KEY"], @@ -7,42 +102,10 @@ "name": "Moonshot AI (China)", "doc": "https://platform.moonshot.cn/docs/api/chat", "models": { - "kimi-k2-thinking-turbo": { - "id": "kimi-k2-thinking-turbo", - "name": "Kimi K2 Thinking Turbo", - "family": "kimi-k2", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.15, "output": 8, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - }, - "kimi-k2-thinking": { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-k2", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - }, "kimi-k2-0905-preview": { "id": "kimi-k2-0905-preview", "name": "Kimi K2 0905", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -55,10 +118,27 @@ "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, "limit": { "context": 262144, "output": 262144 } }, + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, + "limit": { "context": 262144, "output": 262144 } + }, "kimi-k2-0711-preview": { "id": "kimi-k2-0711-preview", "name": "Kimi K2 0711", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -71,10 +151,28 @@ "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, "limit": { "context": 131072, "output": 16384 } }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "structured_output": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, + "limit": { "context": 262144, "output": 262144 } + }, "kimi-k2-turbo-preview": { "id": "kimi-k2-turbo-preview", "name": "Kimi K2 Turbo", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -86,6 +184,428 @@ "open_weights": true, "cost": { "input": 2.4, "output": 10, "cache_read": 0.6 }, "limit": { "context": 262144, "output": 262144 } + }, + "kimi-k2-thinking-turbo": { + "id": "kimi-k2-thinking-turbo", + "name": "Kimi K2 Thinking Turbo", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 1.15, "output": 8, "cache_read": 0.15 }, + "limit": { "context": 262144, "output": 262144 } + } + } + }, + "firmware": { + "id": "firmware", + "env": ["FIRMWARE_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://app.firmware.ai/api/v1", + "name": "Firmware", + "doc": "https://docs.firmware.ai", + "models": { + "grok-4-fast-non-reasoning": { + "id": "grok-4-fast-non-reasoning", + "name": "Grok 4 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 2000000, "output": 30000 } + }, + "grok-4-fast-reasoning": { + "id": "grok-4-fast-reasoning", + "name": "Grok 4 Fast (Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 2000000, "output": 30000 } + }, + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 1048576, "output": 65536 } + }, + "grok-code-fast-1": { + "id": "grok-code-fast-1", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 256000, "output": 10000 } + }, + "claude-haiku-4-5": { + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 200000, "output": 64000 } + }, + "kimi-k2-thinking-turbo": { + "id": "kimi-k2-thinking-turbo", + "name": "Kimi K2 Thinking Turbo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "1970-01-01", + "last_updated": "1970-01-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.15, "output": 8 }, + "limit": { "context": 262000, "output": 128000 } + }, + "claude-opus-4-5": { + "id": "claude-opus-4-5", + "name": "Claude Opus 4.5 (latest)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 200000, "output": 64000 } + }, + "deepseek-chat": { + "id": "deepseek-chat", + "name": "DeepSeek Chat", + "family": "deepseek", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-12-26", + "last_updated": "2025-09-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 128000, "output": 8192 } + }, + "gemini-3-pro-preview": { + "id": "gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 1000000, "output": 64000 } + }, + "gemini-2.5-flash": { + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-07-17", + "last_updated": "2025-07-17", + "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 1048576, "output": 65536 } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi-K2.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "1970-01-01", + "last_updated": "1970-01-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.1, "output": 3 }, + "limit": { "context": 262000, "output": 128000 } + }, + "claude-sonnet-4-5": { + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 200000, "output": 64000 } + }, + "zai-glm-4.7": { + "id": "zai-glm-4.7", + "name": "Z.AI GLM-4.7", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "1970-01-01", + "last_updated": "1970-01-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 131072, "output": 40000 } + }, + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "1970-01-01", + "last_updated": "1970-01-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.6, "output": 2.5 }, + "limit": { "context": 262000, "output": 128000 } + }, + "gpt-5-nano": { + "id": "gpt-5-nano", + "name": "GPT-5 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0, "cache_read": 0 }, + "limit": { "context": 400000, "output": 128000 } + }, + "gpt-4o": { + "id": "gpt-4o", + "name": "GPT-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 128000, "output": 16384 } + }, + "gpt-5-mini": { + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0, "cache_read": 0 }, + "limit": { "context": 400000, "output": 128000 } + }, + "deepseek-reasoner": { + "id": "deepseek-reasoner", + "name": "DeepSeek Reasoner", + "family": "deepseek-thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-09-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 128000, "output": 65536 } + }, + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 1048576, "output": 65536 } + }, + "gpt-oss-120b": { + "id": "gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "1970-01-01", + "last_updated": "1970-01-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 131072, "output": 32768 } + }, + "gpt-5": { + "id": "gpt-5", + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 400000, "output": 128000 } + }, + "gpt-5.2": { + "id": "gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 400000, "output": 128000 } + } + } + }, + "nova": { + "id": "nova", + "env": ["NOVA_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.nova.amazon.com/v1", + "name": "Nova", + "doc": "https://nova.amazon.com/dev/documentation", + "models": { + "nova-2-lite-v1": { + "id": "nova-2-lite-v1", + "name": "Nova 2 Lite", + "family": "nova-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { "input": ["text", "image", "video", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0, "reasoning": 0 }, + "limit": { "context": 1000000, "output": 64000 } + }, + "nova-2-pro-v1": { + "id": "nova-2-pro-v1", + "name": "Nova 2 Pro", + "family": "nova-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-12-03", + "last_updated": "2026-01-03", + "modalities": { "input": ["text", "image", "video", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0, "reasoning": 0 }, + "limit": { "context": 1000000, "output": 64000 } } } }, @@ -100,7 +620,7 @@ "lucidquery-nexus-coder": { "id": "lucidquery-nexus-coder", "name": "LucidQuery Nexus Coder", - "family": "lucidquery-nexus-coder", + "family": "lucid", "attachment": true, "reasoning": true, "tool_call": true, @@ -142,7 +662,7 @@ "kimi-k2-thinking-turbo": { "id": "kimi-k2-thinking-turbo", "name": "Kimi K2 Thinking Turbo", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -159,7 +679,7 @@ "kimi-k2-turbo-preview": { "id": "kimi-k2-turbo-preview", "name": "Kimi K2 Turbo", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -172,10 +692,28 @@ "cost": { "input": 2.4, "output": 10, "cache_read": 0.6 }, "limit": { "context": 262144, "output": 262144 } }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "structured_output": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, + "limit": { "context": 262144, "output": 262144 } + }, "kimi-k2-0711-preview": { "id": "kimi-k2-0711-preview", "name": "Kimi K2 0711", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -191,7 +729,7 @@ "kimi-k2-thinking": { "id": "kimi-k2-thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -208,7 +746,7 @@ "kimi-k2-0905-preview": { "id": "kimi-k2-0905-preview", "name": "Kimi K2 0905", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -223,6 +761,984 @@ } } }, + "302ai": { + "id": "302ai", + "env": ["302AI_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.302.ai/v1", + "name": "302.AI", + "doc": "https://doc.302.ai", + "models": { + "gpt-4.1-nano": { + "id": "gpt-4.1-nano", + "name": "gpt-4.1-nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.1, "output": 0.4 }, + "limit": { "context": 1000000, "output": 32768 } + }, + "doubao-seed-code-preview-251028": { + "id": "doubao-seed-code-preview-251028", + "name": "doubao-seed-code-preview-251028", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-11-11", + "last_updated": "2025-11-11", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.17, "output": 1.14 }, + "limit": { "context": 256000, "output": 32000 } + }, + "glm-4.7": { + "id": "glm-4.7", + "name": "glm-4.7", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.286, "output": 1.142 }, + "limit": { "context": 200000, "output": 131072 } + }, + "grok-4-fast-non-reasoning": { + "id": "grok-4-fast-non-reasoning", + "name": "grok-4-fast-non-reasoning", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.2, "output": 0.5 }, + "limit": { "context": 2000000, "output": 30000 } + }, + "qwen3-235b-a22b-instruct-2507": { + "id": "qwen3-235b-a22b-instruct-2507", + "name": "qwen3-235b-a22b-instruct-2507", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.29, "output": 1.143 }, + "limit": { "context": 128000, "output": 65536 } + }, + "grok-4-fast-reasoning": { + "id": "grok-4-fast-reasoning", + "name": "grok-4-fast-reasoning", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.2, "output": 0.5 }, + "limit": { "context": 2000000, "output": 30000 } + }, + "mistral-large-2512": { + "id": "mistral-large-2512", + "name": "mistral-large-2512", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-12-16", + "last_updated": "2025-12-16", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.1, "output": 3.3 }, + "limit": { "context": 128000, "output": 262144 } + }, + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "gemini-3-flash-preview", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-12-18", + "last_updated": "2025-12-18", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.5, "output": 3 }, + "limit": { "context": 1000000, "output": 65536 } + }, + "MiniMax-M2": { + "id": "MiniMax-M2", + "name": "MiniMax-M2", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-26", + "last_updated": "2025-10-26", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.33, "output": 1.32 }, + "limit": { "context": 1000000, "output": 128000 } + }, + "grok-4-1-fast-reasoning": { + "id": "grok-4-1-fast-reasoning", + "name": "grok-4-1-fast-reasoning", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-11-20", + "last_updated": "2025-11-20", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.2, "output": 0.5 }, + "limit": { "context": 2000000, "output": 30000 } + }, + "deepseek-v3.2-thinking": { + "id": "deepseek-v3.2-thinking", + "name": "DeepSeek-V3.2-Thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.29, "output": 0.43 }, + "limit": { "context": 128000, "output": 128000 } + }, + "ministral-14b-2512": { + "id": "ministral-14b-2512", + "name": "ministral-14b-2512", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-12-16", + "last_updated": "2025-12-16", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.33, "output": 0.33 }, + "limit": { "context": 128000, "output": 128000 } + }, + "glm-4.5": { + "id": "glm-4.5", + "name": "GLM-4.5", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.286, "output": 1.142 }, + "limit": { "context": 128000, "output": 98304 } + }, + "gpt-5-thinking": { + "id": "gpt-5-thinking", + "name": "gpt-5-thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.25, "output": 10 }, + "limit": { "context": 400000, "output": 128000 } + }, + "kimi-k2-thinking-turbo": { + "id": "kimi-k2-thinking-turbo", + "name": "kimi-k2-thinking-turbo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.265, "output": 9.119 }, + "limit": { "context": 262144, "output": 262144 } + }, + "gemini-2.5-flash-image": { + "id": "gemini-2.5-flash-image", + "name": "gemini-2.5-flash-image", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-10-08", + "last_updated": "2025-10-08", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 30 }, + "limit": { "context": 32768, "output": 32768 } + }, + "deepseek-chat": { + "id": "deepseek-chat", + "name": "Deepseek-Chat", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-11-29", + "last_updated": "2024-11-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.29, "output": 0.43 }, + "limit": { "context": 128000, "output": 8192 } + }, + "gemini-3-pro-preview": { + "id": "gemini-3-pro-preview", + "name": "gemini-3-pro-preview", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 2, "output": 12 }, + "limit": { "context": 1000000, "output": 64000 } + }, + "gemini-2.5-flash": { + "id": "gemini-2.5-flash", + "name": "gemini-2.5-flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 2.5 }, + "limit": { "context": 1000000, "output": 65536 } + }, + "gpt-4.1-mini": { + "id": "gpt-4.1-mini", + "name": "gpt-4.1-mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.4, "output": 1.6 }, + "limit": { "context": 1000000, "output": 32768 } + }, + "gemini-2.0-flash-lite": { + "id": "gemini-2.0-flash-lite", + "name": "gemini-2.0-flash-lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-06-16", + "last_updated": "2025-06-16", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.075, "output": 0.3 }, + "limit": { "context": 2000000, "output": 8192 } + }, + "claude-sonnet-4-5-20250929-thinking": { + "id": "claude-sonnet-4-5-20250929-thinking", + "name": "claude-sonnet-4-5-20250929-thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 3, "output": 15 }, + "limit": { "context": 200000, "output": 64000 } + }, + "claude-opus-4-5-20251101": { + "id": "claude-opus-4-5-20251101", + "name": "claude-opus-4-5-20251101", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-11-25", + "last_updated": "2025-11-25", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 5, "output": 25 }, + "limit": { "context": 200000, "output": 64000 } + }, + "qwen3-max-2025-09-23": { + "id": "qwen3-max-2025-09-23", + "name": "qwen3-max-2025-09-23", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.86, "output": 3.43 }, + "limit": { "context": 258048, "output": 65536 } + }, + "claude-sonnet-4-5-20250929": { + "id": "claude-sonnet-4-5-20250929", + "name": "claude-sonnet-4-5-20250929", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 3, "output": 15 }, + "limit": { "context": 200000, "output": 64000 } + }, + "grok-4.1": { + "id": "grok-4.1", + "name": "grok-4.1", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 2, "output": 10 }, + "limit": { "context": 200000, "output": 64000 } + }, + "chatgpt-4o-latest": { + "id": "chatgpt-4o-latest", + "name": "chatgpt-4o-latest", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-08-08", + "last_updated": "2024-08-08", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 5, "output": 15 }, + "limit": { "context": 128000, "output": 16384 } + }, + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "kimi-k2-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.575, "output": 2.3 }, + "limit": { "context": 262144, "output": 262144 } + }, + "gpt-5.2-chat-latest": { + "id": "gpt-5.2-chat-latest", + "name": "gpt-5.2-chat-latest", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12-12", + "last_updated": "2025-12-12", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.75, "output": 14 }, + "limit": { "context": 128000, "output": 16384 } + }, + "gpt-5.1": { + "id": "gpt-5.1", + "name": "gpt-5.1", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.25, "output": 10 }, + "limit": { "context": 400000, "output": 128000 } + }, + "doubao-seed-1-6-vision-250815": { + "id": "doubao-seed-1-6-vision-250815", + "name": "doubao-seed-1-6-vision-250815", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.114, "output": 1.143 }, + "limit": { "context": 256000, "output": 32000 } + }, + "qwen-flash": { + "id": "qwen-flash", + "name": "Qwen-Flash", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.022, "output": 0.22 }, + "limit": { "context": 1000000, "output": 32768 } + }, + "gemini-3-pro-image-preview": { + "id": "gemini-3-pro-image-preview", + "name": "gemini-3-pro-image-preview", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-11-20", + "last_updated": "2025-11-20", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 2, "output": 120 }, + "limit": { "context": 32768, "output": 64000 } + }, + "kimi-k2-0905-preview": { + "id": "kimi-k2-0905-preview", + "name": "kimi-k2-0905-preview", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.632, "output": 2.53 }, + "limit": { "context": 262144, "output": 262144 } + }, + "gpt-4o": { + "id": "gpt-4o", + "name": "gpt-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 2.5, "output": 10 }, + "limit": { "context": 128000, "output": 16384 } + }, + "doubao-seed-1-6-thinking-250715": { + "id": "doubao-seed-1-6-thinking-250715", + "name": "doubao-seed-1-6-thinking-250715", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-15", + "last_updated": "2025-07-15", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.121, "output": 1.21 }, + "limit": { "context": 256000, "output": 16000 } + }, + "gpt-4.1": { + "id": "gpt-4.1", + "name": "gpt-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 2, "output": 8 }, + "limit": { "context": 1000000, "output": 32768 } + }, + "qwen-plus": { + "id": "qwen-plus", + "name": "Qwen-Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.12, "output": 1.2 }, + "limit": { "context": 1000000, "output": 32768 } + }, + "glm-4.5v": { + "id": "glm-4.5v", + "name": "GLM-4.5V", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.29, "output": 0.86 }, + "limit": { "context": 64000, "output": 16384 } + }, + "glm-4.6": { + "id": "glm-4.6", + "name": "glm-4.6", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.286, "output": 1.142 }, + "limit": { "context": 200000, "output": 131072 } + }, + "gemini-2.5-flash-preview-09-2025": { + "id": "gemini-2.5-flash-preview-09-2025", + "name": "gemini-2.5-flash-preview-09-2025", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-26", + "last_updated": "2025-09-26", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 2.5 }, + "limit": { "context": 1000000, "output": 65536 } + }, + "gpt-5-mini": { + "id": "gpt-5-mini", + "name": "gpt-5-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.25, "output": 2 }, + "limit": { "context": 400000, "output": 128000 } + }, + "claude-opus-4-1-20250805-thinking": { + "id": "claude-opus-4-1-20250805-thinking", + "name": "claude-opus-4-1-20250805-thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-05-27", + "last_updated": "2025-05-27", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 15, "output": 75 }, + "limit": { "context": 200000, "output": 32000 } + }, + "qwen3-235b-a22b": { + "id": "qwen3-235b-a22b", + "name": "Qwen3-235B-A22B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.29, "output": 2.86 }, + "limit": { "context": 128000, "output": 16384 } + }, + "MiniMax-M1": { + "id": "MiniMax-M1", + "name": "MiniMax-M1", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-16", + "last_updated": "2025-06-16", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.132, "output": 1.254 }, + "limit": { "context": 1000000, "output": 128000 } + }, + "deepseek-reasoner": { + "id": "deepseek-reasoner", + "name": "Deepseek-Reasoner", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.29, "output": 0.43 }, + "limit": { "context": 128000, "output": 128000 } + }, + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "gemini-2.5-pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.25, "output": 10 }, + "limit": { "context": 1000000, "output": 65536 } + }, + "qwen-max-latest": { + "id": "qwen-max-latest", + "name": "Qwen-Max-Latest", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2024-04-03", + "last_updated": "2025-01-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.343, "output": 1.372 }, + "limit": { "context": 131072, "output": 8192 } + }, + "qwen3-coder-480b-a35b-instruct": { + "id": "qwen3-coder-480b-a35b-instruct", + "name": "qwen3-coder-480b-a35b-instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.86, "output": 3.43 }, + "limit": { "context": 262144, "output": 65536 } + }, + "gpt-5": { + "id": "gpt-5", + "name": "gpt-5", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.25, "output": 10 }, + "limit": { "context": 400000, "output": 128000 } + }, + "qwen3-30b-a3b": { + "id": "qwen3-30b-a3b", + "name": "Qwen3-30B-A3B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.11, "output": 1.08 }, + "limit": { "context": 128000, "output": 8192 } + }, + "deepseek-v3.2": { + "id": "deepseek-v3.2", + "name": "deepseek-v3.2", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.29, "output": 0.43 }, + "limit": { "context": 128000, "output": 8192 } + }, + "MiniMax-M2.1": { + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-19", + "last_updated": "2025-12-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 1.2 }, + "limit": { "context": 1000000, "output": 131072 } + }, + "gemini-2.5-flash-lite-preview-09-2025": { + "id": "gemini-2.5-flash-lite-preview-09-2025", + "name": "gemini-2.5-flash-lite-preview-09-2025", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-26", + "last_updated": "2025-09-26", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.1, "output": 0.4 }, + "limit": { "context": 1000000, "output": 65536 } + }, + "grok-4-1-fast-non-reasoning": { + "id": "grok-4-1-fast-non-reasoning", + "name": "grok-4-1-fast-non-reasoning", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-11-20", + "last_updated": "2025-11-20", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.2, "output": 0.5 }, + "limit": { "context": 2000000, "output": 30000 } + }, + "doubao-seed-1-8-251215": { + "id": "doubao-seed-1-8-251215", + "name": "doubao-seed-1-8-251215", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-18", + "last_updated": "2025-12-18", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.114, "output": 0.286 }, + "limit": { "context": 224000, "output": 64000 } + }, + "gpt-5-pro": { + "id": "gpt-5-pro", + "name": "gpt-5-pro", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-10-08", + "last_updated": "2025-10-08", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 15, "output": 120 }, + "limit": { "context": 400000, "output": 272000 } + }, + "gemini-2.5-flash-nothink": { + "id": "gemini-2.5-flash-nothink", + "name": "gemini-2.5-flash-nothink", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-24", + "last_updated": "2025-06-24", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 2.5 }, + "limit": { "context": 1000000, "output": 65536 } + }, + "claude-opus-4-1-20250805": { + "id": "claude-opus-4-1-20250805", + "name": "claude-opus-4-1-20250805", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 15, "output": 75 }, + "limit": { "context": 200000, "output": 32000 } + }, + "gpt-5.2": { + "id": "gpt-5.2", + "name": "gpt-5.2", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12-12", + "last_updated": "2025-12-12", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.75, "output": 14 }, + "limit": { "context": 400000, "output": 128000 } + }, + "gpt-5.1-chat-latest": { + "id": "gpt-5.1-chat-latest", + "name": "gpt-5.1-chat-latest", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.25, "output": 10 }, + "limit": { "context": 128000, "output": 16384 } + }, + "glm-4.6v": { + "id": "glm-4.6v", + "name": "GLM-4.6V", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.145, "output": 0.43 }, + "limit": { "context": 128000, "output": 32768 } + }, + "claude-opus-4-5-20251101-thinking": { + "id": "claude-opus-4-5-20251101-thinking", + "name": "claude-opus-4-5-20251101-thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-11-25", + "last_updated": "2025-11-25", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 5, "output": 25 }, + "limit": { "context": 200000, "output": 64000 } + }, + "claude-haiku-4-5-20251001": { + "id": "claude-haiku-4-5-20251001", + "name": "claude-haiku-4-5-20251001", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-10-16", + "last_updated": "2025-10-16", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1, "output": 5 }, + "limit": { "context": 200000, "output": 64000 } + } + } + }, "zai-coding-plan": { "id": "zai-coding-plan", "env": ["ZHIPU_API_KEY"], @@ -234,7 +1750,7 @@ "glm-4.7": { "id": "glm-4.7", "name": "GLM-4.7", - "family": "glm-4.7", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -251,7 +1767,7 @@ "glm-4.5-flash": { "id": "glm-4.5-flash", "name": "GLM-4.5-Flash", - "family": "glm-4.5-flash", + "family": "glm-flash", "attachment": false, "reasoning": true, "tool_call": true, @@ -267,7 +1783,7 @@ "glm-4.5": { "id": "glm-4.5", "name": "GLM-4.5", - "family": "glm-4.5", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -280,10 +1796,26 @@ "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, "limit": { "context": 131072, "output": 98304 } }, + "glm-4.7-flash": { + "id": "glm-4.7-flash", + "name": "GLM-4.7-Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, + "limit": { "context": 200000, "output": 131072 } + }, "glm-4.5-air": { "id": "glm-4.5-air", "name": "GLM-4.5-Air", - "family": "glm-4.5-air", + "family": "glm-air", "attachment": false, "reasoning": true, "tool_call": true, @@ -299,7 +1831,7 @@ "glm-4.5v": { "id": "glm-4.5v", "name": "GLM-4.5V", - "family": "glm-4.5v", + "family": "glm", "attachment": true, "reasoning": true, "tool_call": true, @@ -315,7 +1847,7 @@ "glm-4.6": { "id": "glm-4.6", "name": "GLM-4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -331,7 +1863,7 @@ "glm-4.6v": { "id": "glm-4.6v", "name": "GLM-4.6V", - "family": "glm-4.6v", + "family": "glm", "attachment": true, "reasoning": true, "tool_call": true, @@ -354,185 +1886,385 @@ "name": "Ollama Cloud", "doc": "https://docs.ollama.com/cloud", "models": { - "kimi-k2-thinking:cloud": { - "id": "kimi-k2-thinking:cloud", - "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "glm-4.7": { + "id": "glm-4.7", + "name": "glm-4.7", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-06", - "last_updated": "2025-11-06", + "release_date": "2025-12-22", + "last_updated": "2026-01-19", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "limit": { "context": 256000, "output": 8192 } + "limit": { "context": 202752, "output": 131072 } }, - "qwen3-vl-235b-cloud": { - "id": "qwen3-vl-235b-cloud", - "name": "Qwen3-VL 235B Instruct", - "family": "qwen3-vl", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 200000, "output": 8192 } - }, - "qwen3-coder:480b-cloud": { - "id": "qwen3-coder:480b-cloud", - "name": "Qwen3 Coder 480B", - "family": "qwen3-coder", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-22", - "last_updated": "2025-07-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 200000, "output": 8192 } - }, - "gpt-oss:120b-cloud": { - "id": "gpt-oss:120b-cloud", - "name": "GPT-OSS 120B", - "family": "gpt-oss:120b", + "qwen3-next:80b": { + "id": "qwen3-next:80b", + "name": "qwen3-next:80b", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2025-09-15", + "last_updated": "2026-01-19", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "limit": { "context": 200000, "output": 8192 } + "limit": { "context": 262144, "output": 32768 } }, - "deepseek-v3.1:671b-cloud": { - "id": "deepseek-v3.1:671b-cloud", - "name": "DeepSeek-V3.1 671B", - "family": "deepseek-v3", + "cogito-2.1:671b": { + "id": "cogito-2.1:671b", + "name": "cogito-2.1:671b", + "family": "cogito", "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 160000, "output": 8192 } - }, - "glm-4.6:cloud": { - "id": "glm-4.6:cloud", - "name": "GLM-4.6", - "family": "glm-4.6", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 200000, "output": 8192 } - }, - "cogito-2.1:671b-cloud": { - "id": "cogito-2.1:671b-cloud", - "name": "Cogito 2.1 671B", - "family": "cogito-2.1:671b-cloud", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, "release_date": "2025-11-19", - "last_updated": "2025-11-19", + "last_updated": "2026-01-19", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "limit": { "context": 160000, "output": 8192 } + "limit": { "context": 163840, "output": 32000 } }, - "gpt-oss:20b-cloud": { - "id": "gpt-oss:20b-cloud", - "name": "GPT-OSS 20B", - "family": "gpt-oss:20b", + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "gemini-3-flash-preview", + "family": "gemini-flash", "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2026-01-19", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "limit": { "context": 200000, "output": 8192 } + "limit": { "context": 1048576, "output": 65536 } }, - "qwen3-vl-235b-instruct-cloud": { - "id": "qwen3-vl-235b-instruct-cloud", - "name": "Qwen3-VL 235B Instruct", - "family": "qwen3-vl", + "qwen3-vl:235b": { + "id": "qwen3-vl:235b", + "name": "qwen3-vl:235b", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "release_date": "2025-09-22", + "last_updated": "2026-01-19", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 262144, "output": 32768 } + }, + "ministral-3:3b": { + "id": "ministral-3:3b", + "name": "ministral-3:3b", + "family": "ministral", "attachment": true, "reasoning": false, "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-22", - "last_updated": "2025-09-22", + "release_date": "2024-10-22", + "last_updated": "2026-01-19", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "limit": { "context": 200000, "output": 8192 } + "limit": { "context": 262144, "output": 128000 } }, - "kimi-k2:1t-cloud": { - "id": "kimi-k2:1t-cloud", - "name": "Kimi K2", - "family": "kimi-k2", - "attachment": false, + "gemini-3-pro-preview": { + "id": "gemini-3-pro-preview", + "name": "gemini-3-pro-preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "release_date": "2025-11-18", + "last_updated": "2026-01-19", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 1048576, "output": 64000 } + }, + "qwen3-vl:235b-instruct": { + "id": "qwen3-vl:235b-instruct", + "name": "qwen3-vl:235b-instruct", + "family": "qwen", + "attachment": true, "reasoning": false, "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-09-22", + "last_updated": "2026-01-19", + "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "limit": { "context": 256000, "output": 8192 } + "limit": { "context": 262144, "output": 131072 } }, - "minimax-m2:cloud": { - "id": "minimax-m2:cloud", - "name": "MiniMax M2", + "devstral-small-2:24b": { + "id": "devstral-small-2:24b", + "name": "devstral-small-2:24b", + "family": "devstral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "release_date": "2025-12-09", + "last_updated": "2026-01-19", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 262144, "output": 262144 } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "kimi-k2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 262144, "output": 262144 } + }, + "minimax-m2": { + "id": "minimax-m2", + "name": "minimax-m2", "family": "minimax", "attachment": false, "reasoning": false, "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", + "release_date": "2025-10-23", + "last_updated": "2026-01-19", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "limit": { "context": 200000, "output": 8192 } + "limit": { "context": 204800, "output": 128000 } }, - "gemini-3-pro-preview:latest": { - "id": "gemini-3-pro-preview:latest", - "name": "Gemini 3 Pro Preview", - "family": "gemini-pro", + "qwen3-coder:480b": { + "id": "qwen3-coder:480b", + "name": "qwen3-coder:480b", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2025-07-22", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 262144, "output": 65536 } + }, + "gpt-oss:20b": { + "id": "gpt-oss:20b", + "name": "gpt-oss:20b", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-08-05", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 131072, "output": 32768 } + }, + "gemma3:27b": { + "id": "gemma3:27b", + "name": "gemma3:27b", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "release_date": "2025-07-27", + "last_updated": "2026-01-19", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 131072, "output": 131072 } + }, + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "kimi-k2-thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 262144, "output": 262144 } + }, + "rnj-1:8b": { + "id": "rnj-1:8b", + "name": "rnj-1:8b", + "family": "rnj", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2025-12-06", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 32768, "output": 4096 } + }, + "deepseek-v3.1:671b": { + "id": "deepseek-v3.1:671b", + "name": "deepseek-v3.1:671b", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-08-21", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 163840, "output": 163840 } + }, + "ministral-3:8b": { + "id": "ministral-3:8b", + "name": "ministral-3:8b", + "family": "ministral", "attachment": true, "reasoning": false, "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 1000000, "output": 64000 } + "release_date": "2024-12-01", + "last_updated": "2026-01-19", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 262144, "output": 128000 } + }, + "glm-4.6": { + "id": "glm-4.6", + "name": "glm-4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-09-29", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 202752, "output": 131072 } + }, + "kimi-k2:1t": { + "id": "kimi-k2:1t", + "name": "kimi-k2:1t", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "knowledge": "2024-10", + "release_date": "2025-07-11", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 262144, "output": 262144 } + }, + "devstral-2:123b": { + "id": "devstral-2:123b", + "name": "devstral-2:123b", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2025-12-09", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 262144, "output": 262144 } + }, + "gpt-oss:120b": { + "id": "gpt-oss:120b", + "name": "gpt-oss:120b", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-08-05", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 131072, "output": 32768 } + }, + "gemma3:4b": { + "id": "gemma3:4b", + "name": "gemma3:4b", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "release_date": "2024-12-01", + "last_updated": "2026-01-19", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 131072, "output": 131072 } + }, + "nemotron-3-nano:30b": { + "id": "nemotron-3-nano:30b", + "name": "nemotron-3-nano:30b", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-12-15", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 1048576, "output": 131072 } + }, + "ministral-3:14b": { + "id": "ministral-3:14b", + "name": "ministral-3:14b", + "family": "ministral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "release_date": "2024-12-01", + "last_updated": "2026-01-19", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 262144, "output": 128000 } + }, + "mistral-large-3:675b": { + "id": "mistral-large-3:675b", + "name": "mistral-large-3:675b", + "family": "mistral-large", + "attachment": true, + "reasoning": false, + "tool_call": true, + "release_date": "2025-12-02", + "last_updated": "2026-01-19", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 262144, "output": 262144 } + }, + "minimax-m2.1": { + "id": "minimax-m2.1", + "name": "minimax-m2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-12-23", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 204800, "output": 131072 } + }, + "deepseek-v3.2": { + "id": "deepseek-v3.2", + "name": "deepseek-v3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-06-15", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 163840, "output": 65536 } + }, + "gemma3:12b": { + "id": "gemma3:12b", + "name": "gemma3:12b", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "release_date": "2024-12-01", + "last_updated": "2026-01-19", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "limit": { "context": 131072, "output": 131072 } } } }, @@ -547,7 +2279,7 @@ "mimo-v2-flash": { "id": "mimo-v2-flash", "name": "MiMo-V2-Flash", - "family": "mimo-v2-flash", + "family": "mimo", "attachment": false, "reasoning": true, "tool_call": true, @@ -574,7 +2306,7 @@ "qwen3-livetranslate-flash-realtime": { "id": "qwen3-livetranslate-flash-realtime", "name": "Qwen3-LiveTranslate Flash Realtime", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -590,7 +2322,7 @@ "qwen3-asr-flash": { "id": "qwen3-asr-flash", "name": "Qwen3-ASR Flash", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -606,7 +2338,7 @@ "qwen-omni-turbo": { "id": "qwen-omni-turbo", "name": "Qwen-Omni Turbo", - "family": "qwen-omni", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -622,7 +2354,7 @@ "qwen-vl-max": { "id": "qwen-vl-max", "name": "Qwen-VL Max", - "family": "qwen-vl", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -638,7 +2370,7 @@ "qwen3-next-80b-a3b-instruct": { "id": "qwen3-next-80b-a3b-instruct", "name": "Qwen3-Next 80B-A3B Instruct", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -654,7 +2386,7 @@ "qwen-turbo": { "id": "qwen-turbo", "name": "Qwen Turbo", - "family": "qwen-turbo", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -670,7 +2402,7 @@ "qwen3-vl-235b-a22b": { "id": "qwen3-vl-235b-a22b", "name": "Qwen3-VL 235B-A22B", - "family": "qwen3-vl", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -686,7 +2418,7 @@ "qwen3-coder-flash": { "id": "qwen3-coder-flash", "name": "Qwen3 Coder Flash", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -702,7 +2434,7 @@ "qwen3-vl-30b-a3b": { "id": "qwen3-vl-30b-a3b", "name": "Qwen3-VL 30B-A3B", - "family": "qwen3-vl", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -718,7 +2450,7 @@ "qwen3-14b": { "id": "qwen3-14b", "name": "Qwen3 14B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -734,7 +2466,7 @@ "qvq-max": { "id": "qvq-max", "name": "QVQ Max", - "family": "qvq-max", + "family": "qvq", "attachment": false, "reasoning": true, "tool_call": true, @@ -750,7 +2482,7 @@ "qwen-plus-character-ja": { "id": "qwen-plus-character-ja", "name": "Qwen Plus Character (Japanese)", - "family": "qwen-plus", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -766,7 +2498,7 @@ "qwen2-5-14b-instruct": { "id": "qwen2-5-14b-instruct", "name": "Qwen2.5 14B Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -782,7 +2514,7 @@ "qwq-plus": { "id": "qwq-plus", "name": "QwQ Plus", - "family": "qwq", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -798,7 +2530,7 @@ "qwen3-coder-30b-a3b-instruct": { "id": "qwen3-coder-30b-a3b-instruct", "name": "Qwen3-Coder 30B-A3B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -814,7 +2546,7 @@ "qwen-vl-ocr": { "id": "qwen-vl-ocr", "name": "Qwen-VL OCR", - "family": "qwen-vl", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -830,7 +2562,7 @@ "qwen2-5-72b-instruct": { "id": "qwen2-5-72b-instruct", "name": "Qwen2.5 72B Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -846,7 +2578,7 @@ "qwen3-omni-flash": { "id": "qwen3-omni-flash", "name": "Qwen3-Omni Flash", - "family": "qwen3-omni", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -862,7 +2594,7 @@ "qwen-flash": { "id": "qwen-flash", "name": "Qwen Flash", - "family": "qwen-flash", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -878,7 +2610,7 @@ "qwen3-8b": { "id": "qwen3-8b", "name": "Qwen3 8B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -894,7 +2626,7 @@ "qwen3-omni-flash-realtime": { "id": "qwen3-omni-flash-realtime", "name": "Qwen3-Omni Flash Realtime", - "family": "qwen3-omni", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -910,7 +2642,7 @@ "qwen2-5-vl-72b-instruct": { "id": "qwen2-5-vl-72b-instruct", "name": "Qwen2.5-VL 72B Instruct", - "family": "qwen2.5-vl", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -926,7 +2658,7 @@ "qwen3-vl-plus": { "id": "qwen3-vl-plus", "name": "Qwen3-VL Plus", - "family": "qwen3-vl", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -942,7 +2674,7 @@ "qwen-plus": { "id": "qwen-plus", "name": "Qwen Plus", - "family": "qwen-plus", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -958,7 +2690,7 @@ "qwen2-5-32b-instruct": { "id": "qwen2-5-32b-instruct", "name": "Qwen2.5 32B Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -974,7 +2706,7 @@ "qwen2-5-omni-7b": { "id": "qwen2-5-omni-7b", "name": "Qwen2.5-Omni 7B", - "family": "qwen2.5-omni", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -990,7 +2722,7 @@ "qwen-max": { "id": "qwen-max", "name": "Qwen Max", - "family": "qwen-max", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -1006,7 +2738,7 @@ "qwen2-5-7b-instruct": { "id": "qwen2-5-7b-instruct", "name": "Qwen2.5 7B Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -1022,7 +2754,7 @@ "qwen2-5-vl-7b-instruct": { "id": "qwen2-5-vl-7b-instruct", "name": "Qwen2.5-VL 7B Instruct", - "family": "qwen2.5-vl", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -1038,7 +2770,7 @@ "qwen3-235b-a22b": { "id": "qwen3-235b-a22b", "name": "Qwen3 235B-A22B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -1054,7 +2786,7 @@ "qwen-omni-turbo-realtime": { "id": "qwen-omni-turbo-realtime", "name": "Qwen-Omni Turbo Realtime", - "family": "qwen-omni", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -1070,7 +2802,7 @@ "qwen-mt-turbo": { "id": "qwen-mt-turbo", "name": "Qwen-MT Turbo", - "family": "qwen-mt", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -1086,7 +2818,7 @@ "qwen3-coder-480b-a35b-instruct": { "id": "qwen3-coder-480b-a35b-instruct", "name": "Qwen3-Coder 480B-A35B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -1102,7 +2834,7 @@ "qwen-mt-plus": { "id": "qwen-mt-plus", "name": "Qwen-MT Plus", - "family": "qwen-mt", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -1118,7 +2850,7 @@ "qwen3-max": { "id": "qwen3-max", "name": "Qwen3 Max", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -1134,7 +2866,7 @@ "qwen3-coder-plus": { "id": "qwen3-coder-plus", "name": "Qwen3 Coder Plus", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -1150,7 +2882,7 @@ "qwen3-next-80b-a3b-thinking": { "id": "qwen3-next-80b-a3b-thinking", "name": "Qwen3-Next 80B-A3B (Thinking)", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -1166,7 +2898,7 @@ "qwen3-32b": { "id": "qwen3-32b", "name": "Qwen3 32B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -1182,7 +2914,7 @@ "qwen-vl-plus": { "id": "qwen-vl-plus", "name": "Qwen-VL Plus", - "family": "qwen-vl", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -1223,7 +2955,7 @@ "grok-3-fast": { "id": "grok-3-fast", "name": "Grok 3 Fast", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -1255,7 +2987,7 @@ "grok-2-vision": { "id": "grok-2-vision", "name": "Grok 2 Vision", - "family": "grok-2", + "family": "grok", "attachment": true, "reasoning": false, "tool_call": true, @@ -1287,7 +3019,7 @@ "grok-2": { "id": "grok-2", "name": "Grok 2", - "family": "grok-2", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -1303,7 +3035,7 @@ "grok-3-mini-fast-latest": { "id": "grok-3-mini-fast-latest", "name": "Grok 3 Mini Fast Latest", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -1319,7 +3051,7 @@ "grok-2-vision-1212": { "id": "grok-2-vision-1212", "name": "Grok 2 Vision (1212)", - "family": "grok-2", + "family": "grok", "attachment": true, "reasoning": false, "tool_call": true, @@ -1335,7 +3067,7 @@ "grok-3": { "id": "grok-3", "name": "Grok 3", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -1367,7 +3099,7 @@ "grok-2-latest": { "id": "grok-2-latest", "name": "Grok 2 Latest", - "family": "grok-2", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -1399,7 +3131,7 @@ "grok-2-1212": { "id": "grok-2-1212", "name": "Grok 2 (1212)", - "family": "grok-2", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -1415,7 +3147,7 @@ "grok-3-fast-latest": { "id": "grok-3-fast-latest", "name": "Grok 3 Fast Latest", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -1431,7 +3163,7 @@ "grok-3-latest": { "id": "grok-3-latest", "name": "Grok 3 Latest", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -1447,7 +3179,7 @@ "grok-2-vision-latest": { "id": "grok-2-vision-latest", "name": "Grok 2 Vision Latest", - "family": "grok-2", + "family": "grok", "attachment": true, "reasoning": false, "tool_call": true, @@ -1479,7 +3211,7 @@ "grok-3-mini": { "id": "grok-3-mini", "name": "Grok 3 Mini", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -1511,7 +3243,7 @@ "grok-3-mini-latest": { "id": "grok-3-mini-latest", "name": "Grok 3 Mini Latest", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -1543,7 +3275,7 @@ "grok-3-mini-fast": { "id": "grok-3-mini-fast", "name": "Grok 3 Mini Fast", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -1585,7 +3317,7 @@ "qwen2.5-coder-32b-instruct": { "id": "qwen2.5-coder-32b-instruct", "name": "Qwen2.5 Coder 32B Instruct", - "family": "qwen2.5-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -1601,7 +3333,7 @@ "kimi-k2-instruct": { "id": "kimi-k2-instruct", "name": "Kimi K2 Instruct", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -1617,7 +3349,7 @@ "deepseek-r1-distill-llama-70b": { "id": "deepseek-r1-distill-llama-70b", "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-r1-distill-llama", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -1656,10 +3388,27 @@ "name": "Nvidia", "doc": "https://docs.api.nvidia.com/nim/", "models": { + "moonshotai/kimi-k2.5": { + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 262144, "output": 262144 } + }, "moonshotai/kimi-k2-instruct-0905": { "id": "moonshotai/kimi-k2-instruct-0905", "name": "Kimi K2 0905", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -1675,7 +3424,7 @@ "moonshotai/kimi-k2-thinking": { "id": "moonshotai/kimi-k2-thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -1693,7 +3442,7 @@ "moonshotai/kimi-k2-instruct": { "id": "moonshotai/kimi-k2-instruct", "name": "Kimi K2 Instruct", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": true, "tool_call": true, @@ -1773,7 +3522,7 @@ "nvidia/parakeet-tdt-0.6b-v2": { "id": "nvidia/parakeet-tdt-0.6b-v2", "name": "Parakeet TDT 0.6B v2", - "family": "parakeet-tdt-0.6b", + "family": "parakeet", "attachment": false, "reasoning": false, "tool_call": false, @@ -1789,7 +3538,7 @@ "nvidia/nemoretriever-ocr-v1": { "id": "nvidia/nemoretriever-ocr-v1", "name": "NeMo Retriever OCR v1", - "family": "nemoretriever-ocr", + "family": "nemoretriever", "attachment": false, "reasoning": false, "tool_call": false, @@ -1850,7 +3599,7 @@ "nvidia/llama-3.1-nemotron-ultra-253b-v1": { "id": "nvidia/llama-3.1-nemotron-ultra-253b-v1", "name": "Llama-3.1-Nemotron-Ultra-253B-v1", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -1924,6 +3673,21 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 128000, "output": 16384 } }, + "minimaxai/minimax-m2.1": { + "id": "minimaxai/minimax-m2.1", + "name": "MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 204800, "output": 131072 } + }, "google/gemma-3n-e2b-it": { "id": "google/gemma-3n-e2b-it", "name": "Gemma 3n E2b It", @@ -2049,7 +3813,7 @@ "google/gemma-3-27b-it": { "id": "google/gemma-3-27b-it", "name": "Gemma-3-27B-IT", - "family": "gemma-3", + "family": "gemma", "attachment": true, "reasoning": true, "tool_call": true, @@ -2143,7 +3907,7 @@ "microsoft/phi-4-mini-instruct": { "id": "microsoft/phi-4-mini-instruct", "name": "Phi-4-Mini", - "family": "phi-4", + "family": "phi", "attachment": true, "reasoning": true, "tool_call": true, @@ -2190,7 +3954,7 @@ "openai/whisper-large-v3": { "id": "openai/whisper-large-v3", "name": "Whisper Large v3", - "family": "whisper-large", + "family": "whisper", "attachment": false, "reasoning": false, "tool_call": false, @@ -2219,10 +3983,27 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 128000, "output": 8192 } }, + "z-ai/glm4.7": { + "id": "z-ai/glm4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 204800, "output": 131072 } + }, "qwen/qwen3-next-80b-a3b-instruct": { "id": "qwen/qwen3-next-80b-a3b-instruct", "name": "Qwen3-Next-80B-A3B-Instruct", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -2268,7 +4049,7 @@ "qwen/qwen3-235b-a22b": { "id": "qwen/qwen3-235b-a22b", "name": "Qwen3-235B-A22B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -2284,7 +4065,7 @@ "qwen/qwen3-coder-480b-a35b-instruct": { "id": "qwen/qwen3-coder-480b-a35b-instruct", "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -2315,7 +4096,7 @@ "qwen/qwen3-next-80b-a3b-thinking": { "id": "qwen/qwen3-next-80b-a3b-thinking", "name": "Qwen3-Next-80B-A3B-Thinking", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -2626,7 +4407,7 @@ "deepseek-ai/deepseek-v3.1-terminus": { "id": "deepseek-ai/deepseek-v3.1-terminus", "name": "DeepSeek V3.1 Terminus", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -2642,7 +4423,7 @@ "deepseek-ai/deepseek-v3.1": { "id": "deepseek-ai/deepseek-v3.1", "name": "DeepSeek V3.1", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -2655,6 +4436,22 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 128000, "output": 8192 } }, + "deepseek-ai/deepseek-v3.2": { + "id": "deepseek-ai/deepseek-v3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 163840, "output": 65536 } + }, "deepseek-ai/deepseek-coder-6.7b-instruct": { "id": "deepseek-ai/deepseek-coder-6.7b-instruct", "name": "Deepseek Coder 6.7b Instruct", @@ -2746,7 +4543,7 @@ "command-r-plus-08-2024": { "id": "command-r-plus-08-2024", "name": "Command R+", - "family": "command-r-plus", + "family": "command-r", "attachment": false, "reasoning": true, "tool_call": true, @@ -2813,7 +4610,7 @@ "id": "upstage", "env": ["UPSTAGE_API_KEY"], "npm": "@ai-sdk/openai-compatible", - "api": "https://api.upstage.ai", + "api": "https://api.upstage.ai/v1/solar", "name": "Upstage", "doc": "https://developers.upstage.ai/docs/apis/chat", "models": { @@ -2833,6 +4630,22 @@ "cost": { "input": 0.15, "output": 0.15 }, "limit": { "context": 32768, "output": 4096 } }, + "solar-pro3": { + "id": "solar-pro3", + "name": "solar-pro3", + "family": "solar-pro", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.25, "output": 0.25 }, + "limit": { "context": 131072, "output": 8192 } + }, "solar-pro2": { "id": "solar-pro2", "name": "solar-pro2", @@ -2861,7 +4674,7 @@ "llama-3.1-8b-instant": { "id": "llama-3.1-8b-instant", "name": "Llama 3.1 8B Instant", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -2911,7 +4724,7 @@ "qwen-qwq-32b": { "id": "qwen-qwq-32b", "name": "Qwen QwQ 32B", - "family": "qwq", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -2945,7 +4758,7 @@ "deepseek-r1-distill-llama-70b": { "id": "deepseek-r1-distill-llama-70b", "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-r1-distill-llama", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -2978,7 +4791,7 @@ "gemma2-9b-it": { "id": "gemma2-9b-it", "name": "Gemma 2 9B", - "family": "gemma-2", + "family": "gemma", "attachment": false, "reasoning": false, "tool_call": true, @@ -2995,7 +4808,7 @@ "llama-3.3-70b-versatile": { "id": "llama-3.3-70b-versatile", "name": "Llama 3.3 70B Versatile", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -3011,7 +4824,7 @@ "moonshotai/kimi-k2-instruct-0905": { "id": "moonshotai/kimi-k2-instruct-0905", "name": "Kimi K2 Instruct 0905", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -3028,7 +4841,7 @@ "moonshotai/kimi-k2-instruct": { "id": "moonshotai/kimi-k2-instruct", "name": "Kimi K2 Instruct", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -3077,7 +4890,7 @@ "qwen/qwen3-32b": { "id": "qwen/qwen3-32b", "name": "Qwen3 32B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -3093,7 +4906,7 @@ "meta-llama/llama-4-scout-17b-16e-instruct": { "id": "meta-llama/llama-4-scout-17b-16e-instruct", "name": "Llama 4 Scout 17B", - "family": "llama-4-scout", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -3110,7 +4923,7 @@ "meta-llama/llama-4-maverick-17b-128e-instruct": { "id": "meta-llama/llama-4-maverick-17b-128e-instruct", "name": "Llama 4 Maverick 17B", - "family": "llama-4-maverick", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -3152,7 +4965,7 @@ "Ling-1T": { "id": "Ling-1T", "name": "Ling-1T", - "family": "ling-1t", + "family": "ling", "attachment": false, "reasoning": false, "tool_call": true, @@ -3168,7 +4981,7 @@ "Ring-1T": { "id": "Ring-1T", "name": "Ring-1T", - "family": "ring-1t", + "family": "ring", "attachment": false, "reasoning": true, "tool_call": false, @@ -3191,40 +5004,6 @@ "name": "GitHub Copilot", "doc": "https://docs.github.com/en/copilot", "models": { - "gemini-2.0-flash-001": { - "id": "gemini-2.0-flash-001", - "name": "Gemini 2.0 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 1000000, "output": 8192 }, - "status": "deprecated" - }, - "claude-opus-4": { - "id": "claude-opus-4", - "name": "Claude Opus 4", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 80000, "output": 16000 }, - "status": "deprecated" - }, "gemini-3-flash-preview": { "id": "gemini-3-flash-preview", "name": "Gemini 3 Flash", @@ -3242,6 +5021,22 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 128000, "output": 64000 } }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 272000, "output": 128000 } + }, "grok-code-fast-1": { "id": "grok-code-fast-1", "name": "Grok Code Fast 1", @@ -3261,7 +5056,7 @@ "gpt-5.1-codex": { "id": "gpt-5.1-codex", "name": "GPT-5.1-Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": false, "reasoning": true, "tool_call": true, @@ -3307,43 +5102,10 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 128000, "output": 64000 } }, - "oswe-vscode-prime": { - "id": "oswe-vscode-prime", - "name": "Raptor Mini (Preview)", - "family": "oswe-vscode-prime", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-11-10", - "last_updated": "2025-11-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-3.5-sonnet": { - "id": "claude-3.5-sonnet", - "name": "Claude Sonnet 3.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 90000, "output": 8192 }, - "status": "deprecated" - }, "gpt-5.1-codex-mini": { "id": "gpt-5.1-codex-mini", "name": "GPT-5.1-Codex-mini", - "family": "gpt-5-codex-mini", + "family": "gpt-codex", "attachment": false, "reasoning": true, "tool_call": true, @@ -3356,27 +5118,10 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 128000, "output": 100000 } }, - "o3-mini": { - "id": "o3-mini", - "name": "o3-mini", - "family": "o3-mini", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": false, - "knowledge": "2024-10", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 65536 }, - "status": "deprecated" - }, "gpt-5.1": { "id": "gpt-5.1", "name": "GPT-5.1", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -3389,26 +5134,10 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 128000, "output": 128000 } }, - "gpt-5-codex": { - "id": "gpt-5-codex", - "name": "GPT-5-Codex", - "family": "gpt-5-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 128000 } - }, "gpt-4o": { "id": "gpt-4o", "name": "GPT-4o", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -3424,7 +5153,7 @@ "gpt-4.1": { "id": "gpt-4.1", "name": "GPT-4.1", - "family": "gpt-4.1", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -3435,24 +5164,7 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "o4-mini": { - "id": "o4-mini", - "name": "o4-mini (Preview)", - "family": "o4-mini", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": false, - "knowledge": "2024-10", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 65536 }, - "status": "deprecated" + "limit": { "context": 64000, "output": 16384 } }, "claude-opus-41": { "id": "claude-opus-41", @@ -3473,7 +5185,7 @@ "gpt-5-mini": { "id": "gpt-5-mini", "name": "GPT-5-mini", - "family": "gpt-5-mini", + "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -3486,23 +5198,6 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 128000, "output": 64000 } }, - "claude-3.7-sonnet": { - "id": "claude-3.7-sonnet", - "name": "Claude Sonnet 3.7", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 16384 }, - "status": "deprecated" - }, "gemini-2.5-pro": { "id": "gemini-2.5-pro", "name": "Gemini 2.5 Pro", @@ -3522,7 +5217,7 @@ "gpt-5.1-codex-max": { "id": "gpt-5.1-codex-max", "name": "GPT-5.1-Codex-max", - "family": "gpt-5-codex-max", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -3535,23 +5230,6 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 128000, "output": 128000 } }, - "o3": { - "id": "o3", - "name": "o3 (Preview)", - "family": "o3", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 }, - "status": "deprecated" - }, "claude-sonnet-4": { "id": "claude-sonnet-4", "name": "Claude Sonnet 4", @@ -3571,7 +5249,7 @@ "gpt-5": { "id": "gpt-5", "name": "GPT-5", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -3584,23 +5262,6 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 128000, "output": 128000 } }, - "claude-3.7-sonnet-thought": { - "id": "claude-3.7-sonnet-thought", - "name": "Claude Sonnet 3.7 Thinking", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 16384 }, - "status": "deprecated" - }, "claude-opus-4.5": { "id": "claude-opus-4.5", "name": "Claude Opus 4.5", @@ -3620,7 +5281,7 @@ "gpt-5.2": { "id": "gpt-5.2", "name": "GPT-5.2", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -3661,7 +5322,7 @@ "devstral-medium-2507": { "id": "devstral-medium-2507", "name": "Devstral Medium", - "family": "devstral-medium", + "family": "devstral", "attachment": false, "reasoning": false, "tool_call": true, @@ -3693,7 +5354,7 @@ "open-mixtral-8x22b": { "id": "open-mixtral-8x22b", "name": "Mixtral 8x22B", - "family": "mixtral-8x22b", + "family": "mixtral", "attachment": false, "reasoning": false, "tool_call": true, @@ -3709,7 +5370,7 @@ "ministral-8b-latest": { "id": "ministral-8b-latest", "name": "Ministral 8B", - "family": "ministral-8b", + "family": "ministral", "attachment": false, "reasoning": false, "tool_call": true, @@ -3725,7 +5386,7 @@ "pixtral-large-latest": { "id": "pixtral-large-latest", "name": "Pixtral Large", - "family": "pixtral-large", + "family": "pixtral", "attachment": true, "reasoning": false, "tool_call": true, @@ -3757,7 +5418,7 @@ "devstral-2512": { "id": "devstral-2512", "name": "Devstral 2", - "family": "devstral-medium", + "family": "devstral", "attachment": false, "reasoning": false, "tool_call": true, @@ -3767,13 +5428,13 @@ "last_updated": "2025-12-09", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, + "cost": { "input": 0.4, "output": 2 }, "limit": { "context": 262144, "output": 262144 } }, "ministral-3b-latest": { "id": "ministral-3b-latest", "name": "Ministral 3B", - "family": "ministral-3b", + "family": "ministral", "attachment": false, "reasoning": false, "tool_call": true, @@ -3821,7 +5482,7 @@ "labs-devstral-small-2512": { "id": "labs-devstral-small-2512", "name": "Devstral Small 2", - "family": "devstral-small", + "family": "devstral", "attachment": false, "reasoning": false, "tool_call": true, @@ -3837,7 +5498,7 @@ "devstral-medium-latest": { "id": "devstral-medium-latest", "name": "Devstral 2", - "family": "devstral-medium", + "family": "devstral", "attachment": false, "reasoning": false, "tool_call": true, @@ -3853,7 +5514,7 @@ "devstral-small-2505": { "id": "devstral-small-2505", "name": "Devstral Small 2505", - "family": "devstral-small", + "family": "devstral", "attachment": false, "reasoning": false, "tool_call": true, @@ -3932,7 +5593,7 @@ "devstral-small-2507": { "id": "devstral-small-2507", "name": "Devstral Small", - "family": "devstral-small", + "family": "devstral", "attachment": false, "reasoning": false, "tool_call": true, @@ -3964,7 +5625,7 @@ "open-mixtral-8x7b": { "id": "open-mixtral-8x7b", "name": "Mixtral 8x7B", - "family": "mixtral-8x7b", + "family": "mixtral", "attachment": false, "reasoning": false, "tool_call": true, @@ -3996,7 +5657,7 @@ "open-mistral-7b": { "id": "open-mistral-7b", "name": "Mistral 7B", - "family": "mistral-7b", + "family": "mistral", "attachment": false, "reasoning": false, "tool_call": true, @@ -4079,14 +5740,14 @@ "id": "abacus", "env": ["ABACUS_API_KEY"], "npm": "@ai-sdk/openai-compatible", - "api": "https://routellm.abacus.ai/v1/chat/completions", + "api": "https://routellm.abacus.ai/v1", "name": "Abacus", "doc": "https://abacus.ai/help/api", "models": { "gpt-4.1-nano": { "id": "gpt-4.1-nano", "name": "GPT-4.1 Nano", - "family": "gpt-4.1", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -4102,7 +5763,7 @@ "grok-4-fast-non-reasoning": { "id": "grok-4-fast-non-reasoning", "name": "Grok 4 Fast (Non-Reasoning)", - "family": "grok-4", + "family": "grok", "attachment": true, "reasoning": false, "tool_call": true, @@ -4129,36 +5790,6 @@ "cost": { "input": 0.1, "output": 0.4 }, "limit": { "context": 1000000, "output": 8192 } }, - "deepseek-ai-DeepSeek-V3.2": { - "id": "deepseek-ai-DeepSeek-V3.2", - "name": "DeepSeek V3.2", - "family": "deepseek-v3", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-15", - "last_updated": "2025-06-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 0.4 }, - "limit": { "context": 128000, "output": 8192 } - }, - "meta-llama-Meta-Llama-3.1-405B-Instruct-Turbo": { - "id": "meta-llama-Meta-Llama-3.1-405B-Instruct-Turbo", - "name": "Llama 3.1 405B Instruct Turbo", - "family": "llama-3.1", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3.5, "output": 3.5 }, - "limit": { "context": 128000, "output": 4096 } - }, "gemini-3-flash-preview": { "id": "gemini-3-flash-preview", "name": "Gemini 3 Flash Preview", @@ -4175,40 +5806,26 @@ "cost": { "input": 0.5, "output": 3 }, "limit": { "context": 1048576, "output": 65536 } }, - "Qwen-Qwen3-235B-A22B-Instruct-2507": { - "id": "Qwen-Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct", - "family": "qwen-3", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-01", - "last_updated": "2025-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.6 }, - "limit": { "context": 262144, "output": 8192 } - }, - "meta-llama-Meta-Llama-3.1-8B-Instruct": { - "id": "meta-llama-Meta-Llama-3.1-8B-Instruct", - "name": "Llama 3.1 8B Instruct", - "family": "llama-3.1", - "attachment": false, + "route-llm": { + "id": "route-llm", + "name": "Route LLM", + "family": "gpt", + "attachment": true, "reasoning": false, "tool_call": true, "temperature": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.05 }, - "limit": { "context": 128000, "output": 4096 } + "knowledge": "2024-10", + "release_date": "2024-01-01", + "last_updated": "2024-01-01", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.5, "output": 1.5 }, + "limit": { "context": 128000, "output": 16384 } }, "grok-code-fast-1": { "id": "grok-code-fast-1", "name": "Grok Code Fast 1", - "family": "grok-code", + "family": "grok", "attachment": true, "reasoning": false, "tool_call": true, @@ -4220,25 +5837,10 @@ "cost": { "input": 0.2, "output": 1.5 }, "limit": { "context": 256000, "output": 16384 } }, - "deepseek-ai-DeepSeek-R1": { - "id": "deepseek-ai-DeepSeek-R1", - "name": "DeepSeek R1", - "family": "deepseek-r1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3, "output": 7 }, - "limit": { "context": 128000, "output": 8192 } - }, "kimi-k2-turbo-preview": { "id": "kimi-k2-turbo-preview", "name": "Kimi K2 Turbo Preview", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -4265,21 +5867,6 @@ "cost": { "input": 2, "output": 12 }, "limit": { "context": 1000000, "output": 65000 } }, - "qwen-qwen3-coder-480b-a35b-instruct": { - "id": "qwen-qwen3-coder-480b-a35b-instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen-3-coder", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-22", - "last_updated": "2025-07-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.29, "output": 1.2 }, - "limit": { "context": 262144, "output": 65536 } - }, "gemini-2.5-flash": { "id": "gemini-2.5-flash", "name": "Gemini 2.5 Flash", @@ -4299,7 +5886,7 @@ "gpt-4.1-mini": { "id": "gpt-4.1-mini", "name": "GPT-4.1 Mini", - "family": "gpt-4.1", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -4331,7 +5918,7 @@ "qwen-2.5-coder-32b": { "id": "qwen-2.5-coder-32b", "name": "Qwen 2.5 Coder 32B", - "family": "qwen-2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -4359,40 +5946,10 @@ "cost": { "input": 3, "output": 15 }, "limit": { "context": 200000, "output": 64000 } }, - "openai-gpt-oss-120b": { - "id": "openai-gpt-oss-120b", - "name": "GPT-OSS 120B", - "family": "gpt-oss", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.44 }, - "limit": { "context": 128000, "output": 32768 } - }, - "qwen-qwen3-Max": { - "id": "qwen-qwen3-Max", - "name": "Qwen3 Max", - "family": "qwen-3", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.2, "output": 6 }, - "limit": { "context": 131072, "output": 16384 } - }, "grok-4-0709": { "id": "grok-4-0709", "name": "Grok 4", - "family": "grok-4", + "family": "grok", "attachment": true, "reasoning": true, "tool_call": true, @@ -4404,25 +5961,10 @@ "cost": { "input": 3, "output": 15 }, "limit": { "context": 256000, "output": 16384 } }, - "meta-llama-Meta-Llama-3.1-70B-Instruct": { - "id": "meta-llama-Meta-Llama-3.1-70B-Instruct", - "name": "Llama 3.1 70B Instruct", - "family": "llama-3.1", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 0.4 }, - "limit": { "context": 128000, "output": 4096 } - }, "o3-mini": { "id": "o3-mini", "name": "o3-mini", - "family": "o3-mini", + "family": "o-mini", "attachment": false, "reasoning": true, "tool_call": true, @@ -4435,20 +5977,21 @@ "cost": { "input": 1.1, "output": 4.4 }, "limit": { "context": 200000, "output": 100000 } }, - "zai-org-glm-4.5": { - "id": "zai-org-glm-4.5", - "name": "GLM-4.5", - "family": "glm-4", - "attachment": false, + "gpt-5.2-chat-latest": { + "id": "gpt-5.2-chat-latest", + "name": "GPT-5.2 Chat Latest", + "family": "gpt", + "attachment": true, "reasoning": true, "tool_call": true, "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 128000, "output": 8192 } + "knowledge": "2024-09-30", + "release_date": "2026-01-01", + "last_updated": "2026-01-01", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.5, "output": 12 }, + "limit": { "context": 400000, "output": 128000 } }, "gemini-2.0-pro-exp-02-05": { "id": "gemini-2.0-pro-exp-02-05", @@ -4467,7 +6010,7 @@ "gpt-5.1": { "id": "gpt-5.1", "name": "GPT-5.1", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -4483,7 +6026,7 @@ "gpt-5-nano": { "id": "gpt-5-nano", "name": "GPT-5 Nano", - "family": "gpt-5-nano", + "family": "gpt-nano", "attachment": true, "reasoning": true, "tool_call": true, @@ -4514,7 +6057,7 @@ "gpt-4.1": { "id": "gpt-4.1", "name": "GPT-4.1", - "family": "gpt-4.1", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -4530,7 +6073,7 @@ "o4-mini": { "id": "o4-mini", "name": "o4-mini", - "family": "o4-mini", + "family": "o-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -4543,21 +6086,6 @@ "cost": { "input": 1.1, "output": 4.4 }, "limit": { "context": 200000, "output": 100000 } }, - "Qwen-Qwen3-32B": { - "id": "Qwen-Qwen3-32B", - "name": "Qwen3 32B", - "family": "qwen-3", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.29 }, - "limit": { "context": 128000, "output": 8192 } - }, "claude-opus-4-20250514": { "id": "claude-opus-4-20250514", "name": "Claude Opus 4", @@ -4576,7 +6104,7 @@ "gpt-5-mini": { "id": "gpt-5-mini", "name": "GPT-5 Mini", - "family": "gpt-5-mini", + "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -4589,26 +6117,10 @@ "cost": { "input": 0.25, "output": 2 }, "limit": { "context": 400000, "output": 128000 } }, - "meta-llama-Llama-4-Maverick-17B-128E-Instruct-FP8": { - "id": "meta-llama-Llama-4-Maverick-17B-128E-Instruct-FP8", - "name": "Llama 4 Maverick 17B 128E Instruct FP8", - "family": "llama-4", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.14, "output": 0.59 }, - "limit": { "context": 1000000, "output": 32768 } - }, "o3-pro": { "id": "o3-pro", "name": "o3-pro", - "family": "o3-pro", + "family": "o-pro", "attachment": true, "reasoning": true, "tool_call": true, @@ -4637,21 +6149,6 @@ "cost": { "input": 3, "output": 15 }, "limit": { "context": 200000, "output": 64000 } }, - "deepseek-ai-DeepSeek-V3.1-Terminus": { - "id": "deepseek-ai-DeepSeek-V3.1-Terminus", - "name": "DeepSeek V3.1 Terminus", - "family": "deepseek-v3", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 128000, "output": 8192 } - }, "gemini-2.5-pro": { "id": "gemini-2.5-pro", "name": "Gemini 2.5 Pro", @@ -4671,7 +6168,7 @@ "gpt-4o-2024-11-20": { "id": "gpt-4o-2024-11-20", "name": "GPT-4o (2024-11-20)", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -4687,7 +6184,7 @@ "o3": { "id": "o3", "name": "o3", - "family": "o3", + "family": "o", "attachment": true, "reasoning": true, "tool_call": true, @@ -4700,70 +6197,10 @@ "cost": { "input": 2, "output": 8 }, "limit": { "context": 200000, "output": 100000 } }, - "Qwen-Qwen2.5-72B-Instruct": { - "id": "Qwen-Qwen2.5-72B-Instruct", - "name": "Qwen 2.5 72B Instruct", - "family": "qwen-2.5", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-09-19", - "last_updated": "2024-09-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.11, "output": 0.38 }, - "limit": { "context": 128000, "output": 8192 } - }, - "zai-org-glm-4.6": { - "id": "zai-org-glm-4.6", - "name": "GLM-4.6", - "family": "glm-4", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-03-01", - "last_updated": "2025-03-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 128000, "output": 8192 } - }, - "deepseek-deepseek-v3.1": { - "id": "deepseek-deepseek-v3.1", - "name": "DeepSeek V3.1", - "family": "deepseek-v3", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 1.66 }, - "limit": { "context": 128000, "output": 8192 } - }, - "Qwen-QwQ-32B": { - "id": "Qwen-QwQ-32B", - "name": "QwQ 32B", - "family": "qwq", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2024-11-28", - "last_updated": "2024-11-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 0.4 }, - "limit": { "context": 32768, "output": 32768 } - }, "gpt-4o-mini": { "id": "gpt-4o-mini", "name": "GPT-4o Mini", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -4776,10 +6213,25 @@ "cost": { "input": 0.15, "output": 0.6 }, "limit": { "context": 128000, "output": 16384 } }, + "qwen3-max": { + "id": "qwen3-max", + "name": "Qwen3 Max", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.2, "output": 6 }, + "limit": { "context": 131072, "output": 16384 } + }, "gpt-5": { "id": "gpt-5", "name": "GPT-5", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -4795,7 +6247,7 @@ "grok-4-1-fast-non-reasoning": { "id": "grok-4-1-fast-non-reasoning", "name": "Grok 4.1 Fast (Non-Reasoning)", - "family": "grok-4.1", + "family": "grok", "attachment": true, "reasoning": false, "tool_call": true, @@ -4810,7 +6262,7 @@ "llama-3.3-70b-versatile": { "id": "llama-3.3-70b-versatile", "name": "Llama 3.3 70B Versatile", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -4840,7 +6292,7 @@ "gpt-5.2": { "id": "gpt-5.2", "name": "GPT-5.2", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -4856,7 +6308,7 @@ "gpt-5.1-chat-latest": { "id": "gpt-5.1-chat-latest", "name": "GPT-5.1 Chat Latest", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -4884,6 +6336,262 @@ "open_weights": false, "cost": { "input": 1, "output": 5 }, "limit": { "context": 200000, "output": 64000 } + }, + "deepseek/deepseek-v3.1": { + "id": "deepseek/deepseek-v3.1", + "name": "DeepSeek V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.14, "output": 0.28 }, + "limit": { "context": 128000, "output": 8192 } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT-OSS 120B", + "family": "gpt-oss", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.08, "output": 0.44 }, + "limit": { "context": 128000, "output": 32768 } + }, + "meta-llama/Meta-Llama-3.1-8B-Instruct": { + "id": "meta-llama/Meta-Llama-3.1-8B-Instruct", + "name": "Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.02, "output": 0.05 }, + "limit": { "context": 128000, "output": 4096 } + }, + "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo": { + "id": "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo", + "name": "Llama 3.1 405B Instruct Turbo", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 3.5, "output": 3.5 }, + "limit": { "context": 128000, "output": 4096 } + }, + "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": { + "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", + "name": "Llama 4 Maverick 17B 128E Instruct FP8", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.14, "output": 0.59 }, + "limit": { "context": 1000000, "output": 32768 } + }, + "meta-llama/Meta-Llama-3.1-70B-Instruct": { + "id": "meta-llama/Meta-Llama-3.1-70B-Instruct", + "name": "Llama 3.1 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.4, "output": 0.4 }, + "limit": { "context": 128000, "output": 4096 } + }, + "Qwen/Qwen3-235B-A22B-Instruct-2507": { + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen3 235B A22B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-01", + "last_updated": "2025-07-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.13, "output": 0.6 }, + "limit": { "context": 262144, "output": 8192 } + }, + "Qwen/Qwen2.5-72B-Instruct": { + "id": "Qwen/Qwen2.5-72B-Instruct", + "name": "Qwen 2.5 72B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-09-19", + "last_updated": "2024-09-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.11, "output": 0.38 }, + "limit": { "context": 128000, "output": 8192 } + }, + "Qwen/QwQ-32B": { + "id": "Qwen/QwQ-32B", + "name": "QwQ 32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2024-11-28", + "last_updated": "2024-11-28", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.4, "output": 0.4 }, + "limit": { "context": 32768, "output": 32768 } + }, + "Qwen/Qwen3-32B": { + "id": "Qwen/Qwen3-32B", + "name": "Qwen3 32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.09, "output": 0.29 }, + "limit": { "context": 128000, "output": 8192 } + }, + "Qwen/qwen3-coder-480b-a35b-instruct": { + "id": "Qwen/qwen3-coder-480b-a35b-instruct", + "name": "Qwen3 Coder 480B A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-22", + "last_updated": "2025-07-22", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.29, "output": 1.2 }, + "limit": { "context": 262144, "output": 65536 } + }, + "zai-org/glm-4.7": { + "id": "zai-org/glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-01", + "last_updated": "2025-06-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.7, "output": 2.5 }, + "limit": { "context": 128000, "output": 8192 } + }, + "zai-org/glm-4.5": { + "id": "zai-org/glm-4.5", + "name": "GLM-4.5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 2.2 }, + "limit": { "context": 128000, "output": 8192 } + }, + "zai-org/glm-4.6": { + "id": "zai-org/glm-4.6", + "name": "GLM-4.6", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-03-01", + "last_updated": "2025-03-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 2.2 }, + "limit": { "context": 128000, "output": 8192 } + }, + "deepseek-ai/DeepSeek-R1": { + "id": "deepseek-ai/DeepSeek-R1", + "name": "DeepSeek R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 3, "output": 7 }, + "limit": { "context": 128000, "output": 8192 } + }, + "deepseek-ai/DeepSeek-V3.1-Terminus": { + "id": "deepseek-ai/DeepSeek-V3.1-Terminus", + "name": "DeepSeek V3.1 Terminus", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-01", + "last_updated": "2025-06-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.27, "output": 1 }, + "limit": { "context": 128000, "output": 8192 } + }, + "deepseek-ai/DeepSeek-V3.2": { + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-15", + "last_updated": "2025-06-15", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.27, "output": 0.4 }, + "limit": { "context": 128000, "output": 8192 } } } }, @@ -4894,10 +6602,91 @@ "name": "Vercel AI Gateway", "doc": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", "models": { + "moonshotai/kimi-k2-thinking-turbo": { + "id": "moonshotai/kimi-k2-thinking-turbo", + "name": "Kimi K2 Thinking Turbo", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.15, "output": 8, "cache_read": 0.15 }, + "limit": { "context": 262114, "output": 262114 } + }, + "moonshotai/kimi-k2-turbo": { + "id": "moonshotai/kimi-k2-turbo", + "name": "Kimi K2 Turbo", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 2.4, "output": 10 }, + "limit": { "context": 256000, "output": 16384 } + }, + "moonshotai/kimi-k2.5": { + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_details" }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-26", + "last_updated": "2026-01-26", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 1.2 }, + "limit": { "context": 262144, "output": 262144 } + }, + "moonshotai/kimi-k2-0905": { + "id": "moonshotai/kimi-k2-0905", + "name": "Kimi K2 0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.6, "output": 2.5 }, + "limit": { "context": 131072, "output": 16384 } + }, + "moonshotai/kimi-k2-thinking": { + "id": "moonshotai/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.47, "output": 2, "cache_read": 0.14 }, + "limit": { "context": 216144, "output": 216144 } + }, "moonshotai/kimi-k2": { "id": "moonshotai/kimi-k2", "name": "Kimi K2 Instruct", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -4911,10 +6700,42 @@ "limit": { "context": 131072, "output": 16384 }, "status": "deprecated" }, + "xiaomi/mimo-v2-flash": { + "id": "xiaomi/mimo-v2-flash", + "name": "MiMo V2 Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.1, "output": 0.29 }, + "limit": { "context": 262144, "output": 32000 } + }, + "alibaba/qwen3-coder": { + "id": "alibaba/qwen3-coder", + "name": "Qwen3 Coder 480B A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.38, "output": 1.53 }, + "limit": { "context": 262144, "output": 66536 } + }, "alibaba/qwen3-next-80b-a3b-instruct": { "id": "alibaba/qwen3-next-80b-a3b-instruct", "name": "Qwen3 Next 80B A3B Instruct", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -4924,13 +6745,29 @@ "last_updated": "2025-09-12", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 131072, "output": 32768 } + "cost": { "input": 0.09, "output": 1.1 }, + "limit": { "context": 262144, "output": 32768 } + }, + "alibaba/qwen-3-32b": { + "id": "alibaba/qwen-3-32b", + "name": "Qwen 3.32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.1, "output": 0.3 }, + "limit": { "context": 40960, "output": 16384 } }, "alibaba/qwen3-vl-instruct": { "id": "alibaba/qwen3-vl-instruct", "name": "Qwen3 VL Instruct", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -4943,10 +6780,104 @@ "cost": { "input": 0.7, "output": 2.8 }, "limit": { "context": 131072, "output": 129024 } }, + "alibaba/qwen-3-235b": { + "id": "alibaba/qwen-3-235b", + "name": "Qwen3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.13, "output": 0.6 }, + "limit": { "context": 40960, "output": 16384 } + }, + "alibaba/qwen-3-14b": { + "id": "alibaba/qwen-3-14b", + "name": "Qwen3-14B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.06, "output": 0.24 }, + "limit": { "context": 40960, "output": 16384 } + }, + "alibaba/qwen3-embedding-4b": { + "id": "alibaba/qwen3-embedding-4b", + "name": "Qwen3 Embedding 4B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.02, "output": 0 }, + "limit": { "context": 32768, "output": 32768 } + }, + "alibaba/qwen3-235b-a22b-thinking": { + "id": "alibaba/qwen3-235b-a22b-thinking", + "name": "Qwen3 235B A22B Thinking 2507", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 2.9 }, + "limit": { "context": 262114, "output": 262114 } + }, + "alibaba/qwen-3-30b": { + "id": "alibaba/qwen-3-30b", + "name": "Qwen3-30B-A3B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.08, "output": 0.29 }, + "limit": { "context": 40960, "output": 16384 } + }, + "alibaba/qwen3-embedding-0.6b": { + "id": "alibaba/qwen3-embedding-0.6b", + "name": "Qwen3 Embedding 0.6B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.01, "output": 0 }, + "limit": { "context": 32768, "output": 32768 } + }, "alibaba/qwen3-vl-thinking": { "id": "alibaba/qwen3-vl-thinking", "name": "Qwen3 VL Thinking", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, @@ -4962,7 +6893,7 @@ "alibaba/qwen3-max": { "id": "alibaba/qwen3-max", "name": "Qwen3 Max", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -4975,10 +6906,41 @@ "cost": { "input": 1.2, "output": 6 }, "limit": { "context": 262144, "output": 32768 } }, + "alibaba/qwen3-embedding-8b": { + "id": "alibaba/qwen3-embedding-8b", + "name": "Qwen3 Embedding 8B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.05, "output": 0 }, + "limit": { "context": 32768, "output": 32768 } + }, + "alibaba/qwen3-max-preview": { + "id": "alibaba/qwen3-max-preview", + "name": "Qwen3 Max Preview", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.2, "output": 6, "cache_read": 0.24 }, + "limit": { "context": 262144, "output": 32768 } + }, "alibaba/qwen3-coder-plus": { "id": "alibaba/qwen3-coder-plus", "name": "Qwen3 Coder Plus", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -4994,7 +6956,7 @@ "alibaba/qwen3-next-80b-a3b-thinking": { "id": "alibaba/qwen3-next-80b-a3b-thinking", "name": "Qwen3 Next 80B A3B Thinking", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -5004,13 +6966,108 @@ "last_updated": "2025-09-12", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.5, "output": 6 }, - "limit": { "context": 131072, "output": 32768 } + "cost": { "input": 0.15, "output": 1.5 }, + "limit": { "context": 131072, "output": 65536 } + }, + "alibaba/qwen3-coder-30b-a3b": { + "id": "alibaba/qwen3-coder-30b-a3b", + "name": "Qwen 3 Coder 30B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.07, "output": 0.27 }, + "limit": { "context": 160000, "output": 32768 } + }, + "meituan/longcat-flash-thinking": { + "id": "meituan/longcat-flash-thinking", + "name": "LongCat Flash Thinking", + "family": "longcat", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.15, "output": 1.5 }, + "limit": { "context": 128000, "output": 8192 } + }, + "meituan/longcat-flash-chat": { + "id": "meituan/longcat-flash-chat", + "name": "LongCat Flash Chat", + "family": "longcat", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-30", + "last_updated": "2025-08-30", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "limit": { "context": 128000, "output": 8192 } + }, + "xai/grok-4-fast-reasoning": { + "id": "xai/grok-4-fast-reasoning", + "name": "Grok 4 Fast Reasoning", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, + "limit": { "context": 2000000, "output": 256000 } + }, + "xai/grok-4.1-fast-reasoning": { + "id": "xai/grok-4.1-fast-reasoning", + "name": "Grok 4.1 Fast Reasoning", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, + "limit": { "context": 2000000, "output": 30000 } + }, + "xai/grok-4.1-fast-non-reasoning": { + "id": "xai/grok-4.1-fast-non-reasoning", + "name": "Grok 4.1 Fast Non-Reasoning", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, + "limit": { "context": 2000000, "output": 30000 } }, "xai/grok-3-mini-fast": { "id": "xai/grok-3-mini-fast", "name": "Grok 3 Mini Fast", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -5026,7 +7083,7 @@ "xai/grok-3-mini": { "id": "xai/grok-3-mini", "name": "Grok 3 Mini", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -5039,26 +7096,10 @@ "cost": { "input": 0.3, "output": 0.5, "reasoning": 0.5, "cache_read": 0.075 }, "limit": { "context": 131072, "output": 8192 } }, - "xai/grok-4-fast": { - "id": "xai/grok-4-fast", - "name": "Grok 4 Fast", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, "xai/grok-3": { "id": "xai/grok-3", "name": "Grok 3", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -5071,22 +7112,6 @@ "cost": { "input": 3, "output": 15, "cache_read": 0.75 }, "limit": { "context": 131072, "output": 8192 } }, - "xai/grok-2": { - "id": "xai/grok-2", - "name": "Grok 2", - "family": "grok-2", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2 }, - "limit": { "context": 131072, "output": 8192 } - }, "xai/grok-code-fast-1": { "id": "xai/grok-code-fast-1", "name": "Grok Code Fast 1", @@ -5106,7 +7131,7 @@ "xai/grok-2-vision": { "id": "xai/grok-2-vision", "name": "Grok 2 Vision", - "family": "grok-2", + "family": "grok", "attachment": true, "reasoning": false, "tool_call": true, @@ -5138,7 +7163,7 @@ "xai/grok-3-fast": { "id": "xai/grok-3-fast", "name": "Grok 3 Fast", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -5167,6 +7192,240 @@ "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, "limit": { "context": 2000000, "output": 30000 } }, + "nvidia/nemotron-nano-9b-v2": { + "id": "nvidia/nemotron-nano-9b-v2", + "name": "Nvidia Nemotron Nano 9B V2", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-18", + "last_updated": "2025-08-18", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.04, "output": 0.16 }, + "limit": { "context": 131072, "output": 131072 } + }, + "nvidia/nemotron-nano-12b-v2-vl": { + "id": "nvidia/nemotron-nano-12b-v2-vl", + "name": "Nvidia Nemotron Nano 12B V2 VL", + "family": "nemotron", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12", + "last_updated": "2024-12", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.2, "output": 0.6 }, + "limit": { "context": 131072, "output": 131072 } + }, + "nvidia/nemotron-3-nano-30b-a3b": { + "id": "nvidia/nemotron-3-nano-30b-a3b", + "name": "Nemotron 3 Nano 30B A3B", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12", + "last_updated": "2024-12", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.06, "output": 0.24 }, + "limit": { "context": 262144, "output": 262144 } + }, + "cohere/embed-v4.0": { + "id": "cohere/embed-v4.0", + "name": "Embed v4.0", + "family": "cohere-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.12, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "cohere/command-a": { + "id": "cohere/command-a", + "name": "Command A", + "family": "command", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 2.5, "output": 10 }, + "limit": { "context": 256000, "output": 8000 } + }, + "kwaipilot/kat-coder-pro-v1": { + "id": "kwaipilot/kat-coder-pro-v1", + "name": "KAT-Coder-Pro V1", + "family": "kat-coder", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-10-24", + "last_updated": "2025-10-24", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "limit": { "context": 256000, "output": 32000 } + }, + "mistral/mistral-medium": { + "id": "mistral/mistral-medium", + "name": "Mistral Medium 3.1", + "family": "mistral-medium", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.4, "output": 2 }, + "limit": { "context": 128000, "output": 64000 } + }, + "mistral/codestral-embed": { + "id": "mistral/codestral-embed", + "name": "Codestral Embed", + "family": "codestral-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.15, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "mistral/devstral-2": { + "id": "mistral/devstral-2", + "name": "Devstral 2", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "limit": { "context": 256000, "output": 256000 } + }, + "mistral/devstral-small": { + "id": "mistral/devstral-small", + "name": "Devstral Small 1.1", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.1, "output": 0.3 }, + "limit": { "context": 128000, "output": 64000 } + }, + "mistral/mistral-large-3": { + "id": "mistral/mistral-large-3", + "name": "Mistral Large 3", + "family": "mistral-large", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.5, "output": 1.5 }, + "limit": { "context": 256000, "output": 256000 } + }, + "mistral/mistral-embed": { + "id": "mistral/mistral-embed", + "name": "Mistral Embed", + "family": "mistral-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2023-12-11", + "last_updated": "2023-12-11", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.1, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "mistral/mistral-nemo": { + "id": "mistral/mistral-nemo", + "name": "Mistral Nemo", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.04, "output": 0.17 }, + "limit": { "context": 60288, "output": 16000 } + }, + "mistral/ministral-14b": { + "id": "mistral/ministral-14b", + "name": "Ministral 14B", + "family": "ministral", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.2, "output": 0.2 }, + "limit": { "context": 256000, "output": 256000 } + }, + "mistral/devstral-small-2": { + "id": "mistral/devstral-small-2", + "name": "Devstral Small 2", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "limit": { "context": 256000, "output": 256000 } + }, "mistral/codestral": { "id": "mistral/codestral", "name": "Codestral", @@ -5199,26 +7458,10 @@ "cost": { "input": 2, "output": 5 }, "limit": { "context": 128000, "output": 16384 } }, - "mistral/mistral-large": { - "id": "mistral/mistral-large", - "name": "Mistral Large", - "family": "mistral-large", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 262144, "output": 262144 } - }, "mistral/pixtral-large": { "id": "mistral/pixtral-large", "name": "Pixtral Large", - "family": "pixtral-large", + "family": "pixtral", "attachment": true, "reasoning": false, "tool_call": true, @@ -5234,7 +7477,7 @@ "mistral/ministral-8b": { "id": "mistral/ministral-8b", "name": "Ministral 8B", - "family": "ministral-8b", + "family": "ministral", "attachment": false, "reasoning": false, "tool_call": true, @@ -5250,7 +7493,7 @@ "mistral/ministral-3b": { "id": "mistral/ministral-3b", "name": "Ministral 3B", - "family": "ministral-3b", + "family": "ministral", "attachment": false, "reasoning": false, "tool_call": true, @@ -5314,7 +7557,7 @@ "mistral/mixtral-8x22b-instruct": { "id": "mistral/mixtral-8x22b-instruct", "name": "Mixtral 8x22B", - "family": "mixtral-8x22b", + "family": "mixtral", "attachment": false, "reasoning": false, "tool_call": true, @@ -5357,26 +7600,42 @@ "cost": { "input": 3, "output": 15 }, "limit": { "context": 128000, "output": 32000 } }, - "deepseek/deepseek-v3.2-exp-thinking": { - "id": "deepseek/deepseek-v3.2-exp-thinking", - "name": "DeepSeek V3.2 Exp Thinking", - "family": "deepseek-v3", + "deepseek/deepseek-v3": { + "id": "deepseek/deepseek-v3", + "name": "DeepSeek V3 0324", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-12-26", + "last_updated": "2024-12-26", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.77, "output": 0.77 }, + "limit": { "context": 163840, "output": 16384 } + }, + "deepseek/deepseek-v3.2-thinking": { + "id": "deepseek/deepseek-v3.2-thinking", + "name": "DeepSeek V3.2 Thinking", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.28, "output": 0.42 }, - "limit": { "context": 163840, "output": 8192 } + "cost": { "input": 0.28, "output": 0.42, "cache_read": 0.03 }, + "limit": { "context": 128000, "output": 64000 } }, "deepseek/deepseek-v3.1-terminus": { "id": "deepseek/deepseek-v3.1-terminus", "name": "DeepSeek V3.1 Terminus", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -5387,14 +7646,30 @@ "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 128000, "output": 8192 } + "limit": { "context": 131072, "output": 65536 } + }, + "deepseek/deepseek-v3.1": { + "id": "deepseek/deepseek-v3.1", + "name": "DeepSeek-V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 1 }, + "limit": { "context": 163840, "output": 128000 } }, "deepseek/deepseek-v3.2-exp": { "id": "deepseek/deepseek-v3.2-exp", "name": "DeepSeek V3.2 Exp", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, - "reasoning": false, + "reasoning": true, "tool_call": true, "temperature": true, "knowledge": "2025-09", @@ -5402,30 +7677,29 @@ "last_updated": "2025-09-29", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.28, "output": 0.42 }, - "limit": { "context": 163840, "output": 8192 } + "cost": { "input": 0.27, "output": 0.4 }, + "limit": { "context": 163840, "output": 163840 } }, - "deepseek/deepseek-r1-distill-llama-70b": { - "id": "deepseek/deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-r1-distill-llama", + "deepseek/deepseek-v3.2": { + "id": "deepseek/deepseek-v3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", "attachment": false, - "reasoning": true, - "tool_call": true, + "reasoning": false, + "tool_call": false, "temperature": true, "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.75, "output": 0.99 }, - "limit": { "context": 131072, "output": 8192 }, - "status": "deprecated" + "open_weights": false, + "cost": { "input": 0.27, "output": 0.4, "cache_read": 0.22 }, + "limit": { "context": 163842, "output": 8000 } }, "deepseek/deepseek-r1": { "id": "deepseek/deepseek-r1", "name": "DeepSeek-R1", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -5438,6 +7712,120 @@ "cost": { "input": 1.35, "output": 5.4 }, "limit": { "context": 128000, "output": 32768 } }, + "recraft/recraft-v3": { + "id": "recraft/recraft-v3", + "name": "Recraft V3", + "family": "recraft", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-10", + "last_updated": "2024-10", + "modalities": { "input": ["text"], "output": ["image"] }, + "open_weights": false, + "limit": { "context": 512, "output": 0 } + }, + "recraft/recraft-v2": { + "id": "recraft/recraft-v2", + "name": "Recraft V2", + "family": "recraft", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-03", + "last_updated": "2024-03", + "modalities": { "input": ["text"], "output": ["image"] }, + "open_weights": false, + "limit": { "context": 512, "output": 0 } + }, + "bfl/flux-kontext-pro": { + "id": "bfl/flux-kontext-pro", + "name": "FLUX.1 Kontext Pro", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-06", + "last_updated": "2025-06", + "modalities": { "input": ["text"], "output": ["image"] }, + "open_weights": false, + "limit": { "context": 512, "output": 0 } + }, + "bfl/flux-kontext-max": { + "id": "bfl/flux-kontext-max", + "name": "FLUX.1 Kontext Max", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-06", + "last_updated": "2025-06", + "modalities": { "input": ["text"], "output": ["image"] }, + "open_weights": false, + "limit": { "context": 512, "output": 0 } + }, + "bfl/flux-pro-1.1": { + "id": "bfl/flux-pro-1.1", + "name": "FLUX1.1 [pro]", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-10", + "last_updated": "2024-10", + "modalities": { "input": ["text"], "output": ["image"] }, + "open_weights": false, + "limit": { "context": 512, "output": 0 } + }, + "bfl/flux-pro-1.1-ultra": { + "id": "bfl/flux-pro-1.1-ultra", + "name": "FLUX1.1 [pro] Ultra", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-11", + "last_updated": "2024-11", + "modalities": { "input": ["text"], "output": ["image"] }, + "open_weights": false, + "limit": { "context": 512, "output": 0 } + }, + "bfl/flux-pro-1.0-fill": { + "id": "bfl/flux-pro-1.0-fill", + "name": "FLUX.1 Fill [pro]", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-10", + "last_updated": "2024-10", + "modalities": { "input": ["text"], "output": ["image"] }, + "open_weights": false, + "limit": { "context": 512, "output": 0 } + }, + "arcee-ai/trinity-mini": { + "id": "arcee-ai/trinity-mini", + "name": "Trinity Mini", + "family": "trinity", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12", + "last_updated": "2025-12", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.05, "output": 0.15 }, + "limit": { "context": 131072, "output": 131072 } + }, "minimax/minimax-m2": { "id": "minimax/minimax-m2", "name": "MiniMax M2", @@ -5451,8 +7839,250 @@ "last_updated": "2025-10-27", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, + "cost": { "input": 0.27, "output": 1.15, "cache_read": 0.03, "cache_write": 0.38 }, + "limit": { "context": 262114, "output": 262114 } + }, + "minimax/minimax-m2.1-lightning": { + "id": "minimax/minimax-m2.1-lightning", + "name": "MiniMax M2.1 Lightning", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 2.4, "cache_read": 0.03, "cache_write": 0.38 }, + "limit": { "context": 204800, "output": 131072 } + }, + "minimax/minimax-m2.1": { + "id": "minimax/minimax-m2.1", + "name": "MiniMax M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03, "cache_write": 0.38 }, - "limit": { "context": 205000, "output": 131072 } + "limit": { "context": 204800, "output": 131072 } + }, + "bytedance/seed-1.6": { + "id": "bytedance/seed-1.6", + "name": "Seed 1.6", + "family": "seed", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09", + "last_updated": "2025-09", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.25, "output": 2, "cache_read": 0.05 }, + "limit": { "context": 256000, "output": 32000 } + }, + "bytedance/seed-1.8": { + "id": "bytedance/seed-1.8", + "name": "Seed 1.8", + "family": "seed", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-10", + "last_updated": "2025-10", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.25, "output": 2, "cache_read": 0.05 }, + "limit": { "context": 256000, "output": 64000 } + }, + "voyage/voyage-code-2": { + "id": "voyage/voyage-code-2", + "name": "voyage-code-2", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-01", + "last_updated": "2024-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.12, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "voyage/voyage-3.5-lite": { + "id": "voyage/voyage-3.5-lite", + "name": "voyage-3.5-lite", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.02, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "voyage/voyage-3.5": { + "id": "voyage/voyage-3.5", + "name": "voyage-3.5", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.06, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "voyage/voyage-finance-2": { + "id": "voyage/voyage-finance-2", + "name": "voyage-finance-2", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-03", + "last_updated": "2024-03", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.12, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "voyage/voyage-law-2": { + "id": "voyage/voyage-law-2", + "name": "voyage-law-2", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-03", + "last_updated": "2024-03", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.12, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "voyage/voyage-code-3": { + "id": "voyage/voyage-code-3", + "name": "voyage-code-3", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.18, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "voyage/voyage-3-large": { + "id": "voyage/voyage-3-large", + "name": "voyage-3-large", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.18, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "google/gemini-embedding-001": { + "id": "google/gemini-embedding-001", + "name": "Gemini Embedding 001", + "family": "gemini-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.15, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "google/imagen-4.0-ultra-generate-001": { + "id": "google/imagen-4.0-ultra-generate-001", + "name": "Imagen 4 Ultra", + "family": "imagen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-05-24", + "last_updated": "2025-05-24", + "modalities": { "input": ["text"], "output": ["image"] }, + "open_weights": false, + "limit": { "context": 480, "output": 0 } + }, + "google/gemini-2.5-flash-image": { + "id": "google/gemini-2.5-flash-image", + "name": "Nano Banana (Gemini 2.5 Flash Image)", + "family": "gemini-flash", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-03-20", + "modalities": { "input": ["text"], "output": ["text", "image"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 2.5 }, + "limit": { "context": 32768, "output": 32768 } + }, + "google/imagen-4.0-fast-generate-001": { + "id": "google/imagen-4.0-fast-generate-001", + "name": "Imagen 4 Fast", + "family": "imagen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-06", + "last_updated": "2025-06", + "modalities": { "input": ["text"], "output": ["image"] }, + "open_weights": false, + "limit": { "context": 480, "output": 0 } + }, + "google/imagen-4.0-generate-001": { + "id": "google/imagen-4.0-generate-001", + "name": "Imagen 4", + "family": "imagen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { "input": ["text"], "output": ["image"] }, + "open_weights": false, + "limit": { "context": 480, "output": 0 } }, "google/gemini-3-pro-preview": { "id": "google/gemini-3-pro-preview", @@ -5461,7 +8091,6 @@ "attachment": true, "reasoning": true, "tool_call": true, - "structured_output": true, "temperature": true, "knowledge": "2025-01", "release_date": "2025-11-18", @@ -5489,9 +8118,71 @@ "last_updated": "2025-06-17", "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, + "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.01 }, "limit": { "context": 1048576, "output": 65536 } }, + "google/text-multilingual-embedding-002": { + "id": "google/text-multilingual-embedding-002", + "name": "Text Multilingual Embedding 002", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-03", + "last_updated": "2024-03", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.03, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "google/gemini-3-pro-image": { + "id": "google/gemini-3-pro-image", + "name": "Nano Banana Pro (Gemini 3 Pro Image)", + "family": "gemini-pro", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-09", + "last_updated": "2025-09", + "modalities": { "input": ["text"], "output": ["text", "image"] }, + "open_weights": false, + "cost": { "input": 2, "output": 120 }, + "limit": { "context": 65536, "output": 32768 } + }, + "google/text-embedding-005": { + "id": "google/text-embedding-005", + "name": "Text Embedding 005", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-08", + "last_updated": "2024-08", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.03, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "google/gemini-2.5-flash-image-preview": { + "id": "google/gemini-2.5-flash-image-preview", + "name": "Nano Banana Preview (Gemini 2.5 Flash Image Preview)", + "family": "gemini-flash", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-03-20", + "modalities": { "input": ["text"], "output": ["text", "image"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 2.5 }, + "limit": { "context": 32768, "output": 32768 } + }, "google/gemini-2.5-flash-preview-09-2025": { "id": "google/gemini-2.5-flash-preview-09-2025", "name": "Gemini 2.5 Flash Preview 09-25", @@ -5505,9 +8196,25 @@ "last_updated": "2025-09-25", "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075, "cache_write": 0.383 }, + "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.03, "cache_write": 0.383 }, "limit": { "context": 1048576, "output": 65536 } }, + "google/gemini-3-flash": { + "id": "google/gemini-3-flash", + "name": "Gemini 3 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.5, "output": 3, "cache_read": 0.05 }, + "limit": { "context": 1000000, "output": 64000 } + }, "google/gemini-2.5-flash-lite-preview-09-2025": { "id": "google/gemini-2.5-flash-lite-preview-09-2025", "name": "Gemini 2.5 Flash Lite Preview 09-25", @@ -5521,7 +8228,7 @@ "last_updated": "2025-09-25", "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, + "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.01 }, "limit": { "context": 1048576, "output": 65536 } }, "google/gemini-2.5-pro": { @@ -5592,6 +8299,323 @@ "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075, "input_audio": 1 }, "limit": { "context": 1048576, "output": 65536 } }, + "prime-intellect/intellect-3": { + "id": "prime-intellect/intellect-3", + "name": "INTELLECT 3", + "family": "intellect", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-11-26", + "last_updated": "2025-11-26", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.2, "output": 1.1 }, + "limit": { "context": 131072, "output": 131072 } + }, + "inception/mercury-coder-small": { + "id": "inception/mercury-coder-small", + "name": "Mercury Coder Small Beta", + "family": "mercury", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-02-26", + "last_updated": "2025-02-26", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.25, "output": 1 }, + "limit": { "context": 32000, "output": 16384 } + }, + "openai/text-embedding-3-small": { + "id": "openai/text-embedding-3-small", + "name": "text-embedding-3-small", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.02, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "openai/gpt-5.2-chat": { + "id": "openai/gpt-5.2-chat", + "name": "GPT-5.2 Chat", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.75, "output": 14, "cache_read": 0.18 }, + "limit": { "context": 128000, "output": 16384 } + }, + "openai/gpt-oss-safeguard-20b": { + "id": "openai/gpt-oss-safeguard-20b", + "name": "gpt-oss-safeguard-20b", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.08, "output": 0.3, "cache_read": 0.04 }, + "limit": { "context": 131072, "output": 65536 } + }, + "openai/gpt-5.2-codex": { + "id": "openai/gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12", + "last_updated": "2025-12", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, + "limit": { "context": 400000, "output": 128000 } + }, + "openai/gpt-5.1-codex": { + "id": "openai/gpt-5.1-codex", + "name": "GPT-5.1-Codex", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, + "limit": { "context": 400000, "output": 128000 } + }, + "openai/gpt-5-chat": { + "id": "openai/gpt-5-chat", + "name": "GPT-5 Chat", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text", "image"] }, + "open_weights": false, + "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, + "limit": { "context": 128000, "output": 16384 } + }, + "openai/o3-deep-research": { + "id": "openai/o3-deep-research", + "name": "o3-deep-research", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-10", + "release_date": "2024-06-26", + "last_updated": "2024-06-26", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 10, "output": 40, "cache_read": 2.5 }, + "limit": { "context": 200000, "output": 100000 } + }, + "openai/gpt-3.5-turbo": { + "id": "openai/gpt-3.5-turbo", + "name": "GPT-3.5 Turbo", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-09", + "release_date": "2023-03-01", + "last_updated": "2023-03-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.5, "output": 1.5 }, + "limit": { "context": 16385, "output": 4096 } + }, + "openai/gpt-5.2-pro": { + "id": "openai/gpt-5.2-pro", + "name": "GPT 5.2 ", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 21, "output": 168 }, + "limit": { "context": 400000, "output": 128000 } + }, + "openai/text-embedding-3-large": { + "id": "openai/text-embedding-3-large", + "name": "text-embedding-3-large", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.13, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "openai/gpt-5.1-codex-mini": { + "id": "openai/gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex mini", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-05-16", + "last_updated": "2025-05-16", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, + "limit": { "context": 400000, "output": 128000 } + }, + "openai/gpt-5.1-instant": { + "id": "openai/gpt-5.1-instant", + "name": "GPT-5.1 Instant", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text", "image"] }, + "open_weights": false, + "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, + "limit": { "context": 128000, "output": 16384 } + }, + "openai/gpt-5.1-thinking": { + "id": "openai/gpt-5.1-thinking", + "name": "GPT 5.1 Thinking", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text", "image"] }, + "open_weights": false, + "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, + "limit": { "context": 400000, "output": 128000 } + }, + "openai/text-embedding-ada-002": { + "id": "openai/text-embedding-ada-002", + "name": "text-embedding-ada-002", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2022-12-15", + "last_updated": "2022-12-15", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.1, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, + "openai/o3-pro": { + "id": "openai/o3-pro", + "name": "o3 Pro", + "family": "o-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-10", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 20, "output": 80 }, + "limit": { "context": 200000, "output": 100000 } + }, + "openai/gpt-5.1-codex-max": { + "id": "openai/gpt-5.1-codex-max", + "name": "GPT 5.1 Codex Max", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, + "limit": { "context": 400000, "output": 128000 } + }, + "openai/gpt-3.5-turbo-instruct": { + "id": "openai/gpt-3.5-turbo-instruct", + "name": "GPT-3.5 Turbo Instruct", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-09", + "release_date": "2023-03-01", + "last_updated": "2023-03-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.5, "output": 2 }, + "limit": { "context": 8192, "output": 4096 } + }, + "openai/codex-mini": { + "id": "openai/codex-mini", + "name": "Codex Mini", + "family": "gpt-codex-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-05-16", + "last_updated": "2025-05-16", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.5, "output": 6, "cache_read": 0.38 }, + "limit": { "context": 200000, "output": 100000 } + }, "openai/gpt-oss-20b": { "id": "openai/gpt-oss-20b", "name": "GPT OSS 20B", @@ -5600,6 +8624,7 @@ "reasoning": true, "tool_call": true, "temperature": true, + "knowledge": "2024-10", "release_date": "2025-08-05", "last_updated": "2025-08-05", "modalities": { "input": ["text"], "output": ["text"] }, @@ -5615,17 +8640,50 @@ "reasoning": true, "tool_call": true, "temperature": true, + "knowledge": "2024-10", "release_date": "2025-08-05", "last_updated": "2025-08-05", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.1, "output": 0.5 }, - "limit": { "context": 131072, "output": 32768 } + "limit": { "context": 131072, "output": 131072 } + }, + "openai/gpt-5-pro": { + "id": "openai/gpt-5-pro", + "name": "GPT-5 pro", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text", "image"] }, + "open_weights": false, + "cost": { "input": 15, "output": 120 }, + "limit": { "context": 400000, "output": 272000 } + }, + "openai/gpt-5.2": { + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.75, "output": 14, "cache_read": 0.18 }, + "limit": { "context": 400000, "output": 128000 } }, "openai/gpt-5": { "id": "openai/gpt-5", "name": "GPT-5", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -5636,13 +8694,13 @@ "last_updated": "2025-08-07", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } + "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "openai/gpt-4o-mini": { "id": "openai/gpt-4o-mini", "name": "GPT-4o mini", - "family": "gpt-4o-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -5659,7 +8717,7 @@ "openai/o3": { "id": "openai/o3", "name": "o3", - "family": "o3", + "family": "o", "attachment": true, "reasoning": true, "tool_call": true, @@ -5676,7 +8734,7 @@ "openai/gpt-5-mini": { "id": "openai/gpt-5-mini", "name": "GPT-5 Mini", - "family": "gpt-5-mini", + "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -5687,13 +8745,13 @@ "last_updated": "2025-08-07", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 400000, "output": 128000 } + "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "openai/o1": { "id": "openai/o1", "name": "o1", - "family": "o1", + "family": "o", "attachment": true, "reasoning": true, "tool_call": true, @@ -5710,7 +8768,7 @@ "openai/o4-mini": { "id": "openai/o4-mini", "name": "o4-mini", - "family": "o4-mini", + "family": "o-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -5727,7 +8785,7 @@ "openai/gpt-4.1": { "id": "openai/gpt-4.1", "name": "GPT-4.1", - "family": "gpt-4.1", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -5744,7 +8802,7 @@ "openai/gpt-4o": { "id": "openai/gpt-4o", "name": "GPT-4o", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -5761,7 +8819,7 @@ "openai/gpt-5-codex": { "id": "openai/gpt-5-codex", "name": "GPT-5-Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": false, "reasoning": true, "tool_call": true, @@ -5773,12 +8831,12 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "openai/gpt-5-nano": { "id": "openai/gpt-5-nano", "name": "GPT-5 Nano", - "family": "gpt-5-nano", + "family": "gpt-nano", "attachment": true, "reasoning": true, "tool_call": true, @@ -5789,13 +8847,13 @@ "last_updated": "2025-08-07", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 400000, "output": 128000 } + "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.005 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "openai/o3-mini": { "id": "openai/o3-mini", "name": "o3-mini", - "family": "o3-mini", + "family": "o-mini", "attachment": false, "reasoning": true, "tool_call": true, @@ -5812,7 +8870,7 @@ "openai/gpt-4-turbo": { "id": "openai/gpt-4-turbo", "name": "GPT-4 Turbo", - "family": "gpt-4-turbo", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -5829,7 +8887,7 @@ "openai/gpt-4.1-mini": { "id": "openai/gpt-4.1-mini", "name": "GPT-4.1 mini", - "family": "gpt-4.1-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -5846,7 +8904,7 @@ "openai/gpt-4.1-nano": { "id": "openai/gpt-4.1-nano", "name": "GPT-4.1 nano", - "family": "gpt-4.1-nano", + "family": "gpt-nano", "attachment": true, "reasoning": false, "tool_call": true, @@ -5880,9 +8938,9 @@ "id": "perplexity/sonar", "name": "Sonar", "family": "sonar", - "attachment": false, + "attachment": true, "reasoning": false, - "tool_call": false, + "tool_call": true, "temperature": true, "knowledge": "2025-02", "release_date": "2025-02-19", @@ -5896,9 +8954,9 @@ "id": "perplexity/sonar-pro", "name": "Sonar Pro", "family": "sonar-pro", - "attachment": false, + "attachment": true, "reasoning": false, - "tool_call": false, + "tool_call": true, "temperature": true, "knowledge": "2025-09", "release_date": "2025-02-19", @@ -5924,10 +8982,41 @@ "cost": { "input": 2, "output": 8 }, "limit": { "context": 127000, "output": 8000 } }, + "zai/glm-4.7": { + "id": "zai/glm-4.7", + "name": "GLM 4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.43, "output": 1.75, "cache_read": 0.08 }, + "limit": { "context": 202752, "output": 120000 } + }, + "zai/glm-4.6v-flash": { + "id": "zai/glm-4.6v-flash", + "name": "GLM-4.6V-Flash", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "limit": { "context": 128000, "output": 24000 } + }, "zai/glm-4.5": { "id": "zai/glm-4.5", "name": "GLM 4.5", - "family": "glm-4.5", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -5938,12 +9027,12 @@ "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 128000, "output": 96000 } + "limit": { "context": 131072, "output": 131072 } }, "zai/glm-4.5-air": { "id": "zai/glm-4.5-air", "name": "GLM 4.5 Air", - "family": "glm-4.5-air", + "family": "glm-air", "attachment": false, "reasoning": true, "tool_call": true, @@ -5959,7 +9048,7 @@ "zai/glm-4.5v": { "id": "zai/glm-4.5v", "name": "GLM 4.5V", - "family": "glm-4.5v", + "family": "glm", "attachment": true, "reasoning": true, "tool_call": true, @@ -5970,12 +9059,12 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.6, "output": 1.8 }, - "limit": { "context": 66000, "output": 16000 } + "limit": { "context": 66000, "output": 66000 } }, "zai/glm-4.6": { "id": "zai/glm-4.6", "name": "GLM 4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -5985,9 +9074,56 @@ "last_updated": "2025-09-30", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, + "cost": { "input": 0.45, "output": 1.8 }, "limit": { "context": 200000, "output": 96000 } }, + "zai/glm-4.6v": { + "id": "zai/glm-4.6v", + "name": "GLM-4.6V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 0.9, "cache_read": 0.05 }, + "limit": { "context": 128000, "output": 24000 } + }, + "amazon/nova-2-lite": { + "id": "amazon/nova-2-lite", + "name": "Nova 2 Lite", + "family": "nova", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 2.5 }, + "limit": { "context": 1000000, "output": 1000000 } + }, + "amazon/titan-embed-text-v2": { + "id": "amazon/titan-embed-text-v2", + "name": "Titan Text Embeddings V2", + "family": "titan-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-04", + "last_updated": "2024-04", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.02, "output": 0 }, + "limit": { "context": 8192, "output": 1536 } + }, "amazon/nova-micro": { "id": "amazon/nova-micro", "name": "Nova Micro", @@ -6039,7 +9175,7 @@ "morph/morph-v3-fast": { "id": "morph/morph-v3-fast", "name": "Morph v3 Fast", - "family": "morph-v3-fast", + "family": "morph", "attachment": false, "reasoning": false, "tool_call": false, @@ -6054,7 +9190,7 @@ "morph/morph-v3-large": { "id": "morph/morph-v3-large", "name": "Morph v3 Large", - "family": "morph-v3-large", + "family": "morph", "attachment": false, "reasoning": false, "tool_call": false, @@ -6066,10 +9202,106 @@ "cost": { "input": 0.9, "output": 1.9 }, "limit": { "context": 32000, "output": 32000 } }, + "meta/llama-3.1-8b": { + "id": "meta/llama-3.1-8b", + "name": "Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.03, "output": 0.05 }, + "limit": { "context": 131072, "output": 16384 } + }, + "meta/llama-3.2-90b": { + "id": "meta/llama-3.2-90b", + "name": "Llama 3.2 90B Vision Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.72, "output": 0.72 }, + "limit": { "context": 128000, "output": 8192 } + }, + "meta/llama-3.2-1b": { + "id": "meta/llama-3.2-1b", + "name": "Llama 3.2 1B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-18", + "last_updated": "2024-09-18", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.1, "output": 0.1 }, + "limit": { "context": 128000, "output": 8192 } + }, + "meta/llama-3.2-11b": { + "id": "meta/llama-3.2-11b", + "name": "Llama 3.2 11B Vision Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.16, "output": 0.16 }, + "limit": { "context": 128000, "output": 8192 } + }, + "meta/llama-3.2-3b": { + "id": "meta/llama-3.2-3b", + "name": "Llama 3.2 3B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-18", + "last_updated": "2024-09-18", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.15, "output": 0.15 }, + "limit": { "context": 128000, "output": 8192 } + }, + "meta/llama-3.1-70b": { + "id": "meta/llama-3.1-70b", + "name": "Llama 3.1 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.4, "output": 0.4 }, + "limit": { "context": 131072, "output": 16384 } + }, "meta/llama-4-scout": { "id": "meta/llama-4-scout", "name": "Llama-4-Scout-17B-16E-Instruct-FP8", - "family": "llama-4-scout", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -6085,7 +9317,7 @@ "meta/llama-3.3-70b": { "id": "meta/llama-3.3-70b", "name": "Llama-3.3-70B-Instruct", - "family": "llama-3.3", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -6101,7 +9333,7 @@ "meta/llama-4-maverick": { "id": "meta/llama-4-maverick", "name": "Llama-4-Maverick-17B-128E-Instruct-FP8", - "family": "llama-4-maverick", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -6127,9 +9359,25 @@ "last_updated": "2025-10-15", "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 1, "output": 1.25, "cache_read": 0.1, "cache_write": 1.25 }, + "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, "limit": { "context": 200000, "output": 64000 } }, + "anthropic/claude-3.5-sonnet-20240620": { + "id": "anthropic/claude-3.5-sonnet-20240620", + "name": "Claude 3.5 Sonnet (2024-06-20)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-06-20", + "last_updated": "2024-06-20", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 3, "output": 15 }, + "limit": { "context": 200000, "output": 8192 } + }, "anthropic/claude-opus-4.5": { "id": "anthropic/claude-opus-4.5", "name": "Claude Opus 4.5", @@ -6143,7 +9391,39 @@ "last_updated": "2025-11-24", "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 1.5, "cache_write": 18.75 }, + "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 18.75 }, + "limit": { "context": 200000, "output": 64000 } + }, + "anthropic/claude-sonnet-4.5": { + "id": "anthropic/claude-sonnet-4.5", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, + "limit": { "context": 200000, "output": 64000 } + }, + "anthropic/claude-sonnet-4": { + "id": "anthropic/claude-sonnet-4", + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, "limit": { "context": 200000, "output": 64000 } }, "anthropic/claude-3.5-haiku": { @@ -6178,21 +9458,21 @@ "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, "limit": { "context": 200000, "output": 64000 } }, - "anthropic/claude-4.5-sonnet": { - "id": "anthropic/claude-4.5-sonnet", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", + "anthropic/claude-opus-4.1": { + "id": "anthropic/claude-opus-4.1", + "name": "Claude Opus 4", + "family": "claude-opus", "attachment": true, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } + "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, + "limit": { "context": 200000, "output": 32000 } }, "anthropic/claude-3.5-sonnet": { "id": "anthropic/claude-3.5-sonnet", @@ -6210,38 +9490,6 @@ "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, "limit": { "context": 200000, "output": 8192 } }, - "anthropic/claude-4-1-opus": { - "id": "anthropic/claude-4-1-opus", - "name": "Claude Opus 4", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-4-sonnet": { - "id": "anthropic/claude-4-sonnet", - "name": "Claude Sonnet 4", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, "anthropic/claude-3-opus": { "id": "anthropic/claude-3-opus", "name": "Claude Opus 3", @@ -6274,8 +9522,8 @@ "cost": { "input": 0.25, "output": 1.25, "cache_read": 0.03, "cache_write": 0.3 }, "limit": { "context": 200000, "output": 4096 } }, - "anthropic/claude-4-opus": { - "id": "anthropic/claude-4-opus", + "anthropic/claude-opus-4": { + "id": "anthropic/claude-opus-4", "name": "Claude Opus 4", "family": "claude-opus", "attachment": true, @@ -6335,7 +9583,7 @@ "moonshotai/kimi-k2-instruct": { "id": "moonshotai/kimi-k2-instruct", "name": "Kimi K2 Instruct", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": true, "tool_call": true, @@ -6351,7 +9599,7 @@ "nvidia/llama-3_1-nemotron-ultra-253b-v1": { "id": "nvidia/llama-3_1-nemotron-ultra-253b-v1", "name": "Llama 3.1 Nemotron Ultra 253B v1", - "family": "llama-3", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -6399,7 +9647,7 @@ "qwen/qwen3-235b-a22b-instruct-2507": { "id": "qwen/qwen3-235b-a22b-instruct-2507", "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -6415,7 +9663,7 @@ "qwen/qwen3-235b-a22b-thinking-2507": { "id": "qwen/qwen3-235b-a22b-thinking-2507", "name": "Qwen3 235B A22B Thinking 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -6431,7 +9679,7 @@ "qwen/qwen3-coder-480b-a35b-instruct": { "id": "qwen/qwen3-coder-480b-a35b-instruct", "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -6447,7 +9695,7 @@ "meta-llama/llama-3_1-405b-instruct": { "id": "meta-llama/llama-3_1-405b-instruct", "name": "Llama 3.1 405B Instruct", - "family": "llama-3", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -6463,7 +9711,7 @@ "meta-llama/llama-3.3-70b-instruct-fast": { "id": "meta-llama/llama-3.3-70b-instruct-fast", "name": "Llama-3.3-70B-Instruct (Fast)", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -6479,7 +9727,7 @@ "meta-llama/llama-3.3-70b-instruct-base": { "id": "meta-llama/llama-3.3-70b-instruct-base", "name": "Llama-3.3-70B-Instruct (Base)", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -6495,7 +9743,7 @@ "zai-org/glm-4.5": { "id": "zai-org/glm-4.5", "name": "GLM 4.5", - "family": "glm-4.5", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -6511,7 +9759,7 @@ "zai-org/glm-4.5-air": { "id": "zai-org/glm-4.5-air", "name": "GLM 4.5 Air", - "family": "glm-4.5-air", + "family": "glm-air", "attachment": false, "reasoning": true, "tool_call": true, @@ -6527,7 +9775,7 @@ "deepseek-ai/deepseek-v3": { "id": "deepseek-ai/deepseek-v3", "name": "DeepSeek V3", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -6553,7 +9801,7 @@ "deepseek-chat": { "id": "deepseek-chat", "name": "DeepSeek Chat", - "family": "deepseek-chat", + "family": "deepseek", "attachment": true, "reasoning": false, "tool_call": true, @@ -6569,7 +9817,7 @@ "deepseek-reasoner": { "id": "deepseek-reasoner", "name": "DeepSeek Reasoner", - "family": "deepseek", + "family": "deepseek-thinking", "attachment": true, "reasoning": true, "tool_call": true, @@ -6611,7 +9859,7 @@ "qwen3-asr-flash": { "id": "qwen3-asr-flash", "name": "Qwen3-ASR Flash", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -6627,7 +9875,7 @@ "deepseek-r1-0528": { "id": "deepseek-r1-0528", "name": "DeepSeek R1 0528", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -6642,7 +9890,7 @@ "deepseek-v3": { "id": "deepseek-v3", "name": "DeepSeek V3", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -6657,7 +9905,7 @@ "qwen-omni-turbo": { "id": "qwen-omni-turbo", "name": "Qwen-Omni Turbo", - "family": "qwen-omni", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -6673,7 +9921,7 @@ "qwen-vl-max": { "id": "qwen-vl-max", "name": "Qwen-VL Max", - "family": "qwen-vl", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -6689,7 +9937,7 @@ "deepseek-v3-2-exp": { "id": "deepseek-v3-2-exp", "name": "DeepSeek V3.2 Exp", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -6704,7 +9952,7 @@ "qwen3-next-80b-a3b-instruct": { "id": "qwen3-next-80b-a3b-instruct", "name": "Qwen3-Next 80B-A3B Instruct", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -6720,7 +9968,7 @@ "deepseek-r1": { "id": "deepseek-r1", "name": "DeepSeek R1", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -6735,7 +9983,7 @@ "qwen-turbo": { "id": "qwen-turbo", "name": "Qwen Turbo", - "family": "qwen-turbo", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -6751,7 +9999,7 @@ "qwen3-vl-235b-a22b": { "id": "qwen3-vl-235b-a22b", "name": "Qwen3-VL 235B-A22B", - "family": "qwen3-vl", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -6767,7 +10015,7 @@ "qwen3-coder-flash": { "id": "qwen3-coder-flash", "name": "Qwen3 Coder Flash", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -6783,7 +10031,7 @@ "qwen3-vl-30b-a3b": { "id": "qwen3-vl-30b-a3b", "name": "Qwen3-VL 30B-A3B", - "family": "qwen3-vl", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -6799,7 +10047,7 @@ "qwen3-14b": { "id": "qwen3-14b", "name": "Qwen3 14B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -6815,7 +10063,7 @@ "qvq-max": { "id": "qvq-max", "name": "QVQ Max", - "family": "qvq-max", + "family": "qvq", "attachment": false, "reasoning": true, "tool_call": true, @@ -6846,7 +10094,7 @@ "qwen-plus-character": { "id": "qwen-plus-character", "name": "Qwen Plus Character", - "family": "qwen-plus", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -6862,7 +10110,7 @@ "qwen2-5-14b-instruct": { "id": "qwen2-5-14b-instruct", "name": "Qwen2.5 14B Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -6878,7 +10126,7 @@ "qwq-plus": { "id": "qwq-plus", "name": "QwQ Plus", - "family": "qwq", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -6894,7 +10142,7 @@ "qwen2-5-coder-32b-instruct": { "id": "qwen2-5-coder-32b-instruct", "name": "Qwen2.5-Coder 32B Instruct", - "family": "qwen2.5-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -6910,7 +10158,7 @@ "qwen3-coder-30b-a3b-instruct": { "id": "qwen3-coder-30b-a3b-instruct", "name": "Qwen3-Coder 30B-A3B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -6926,7 +10174,7 @@ "qwen-math-plus": { "id": "qwen-math-plus", "name": "Qwen Math Plus", - "family": "qwen-math", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -6942,7 +10190,7 @@ "qwen-vl-ocr": { "id": "qwen-vl-ocr", "name": "Qwen-VL OCR", - "family": "qwen-vl", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -6958,7 +10206,7 @@ "qwen-doc-turbo": { "id": "qwen-doc-turbo", "name": "Qwen Doc Turbo", - "family": "qwen-doc", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -6974,7 +10222,7 @@ "qwen-deep-research": { "id": "qwen-deep-research", "name": "Qwen Deep Research", - "family": "qwen-deep-research", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -6990,7 +10238,7 @@ "qwen2-5-72b-instruct": { "id": "qwen2-5-72b-instruct", "name": "Qwen2.5 72B Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7006,7 +10254,7 @@ "qwen3-omni-flash": { "id": "qwen3-omni-flash", "name": "Qwen3-Omni Flash", - "family": "qwen3-omni", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -7022,7 +10270,7 @@ "qwen-flash": { "id": "qwen-flash", "name": "Qwen Flash", - "family": "qwen-flash", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -7038,7 +10286,7 @@ "qwen3-8b": { "id": "qwen3-8b", "name": "Qwen3 8B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -7054,7 +10302,7 @@ "qwen3-omni-flash-realtime": { "id": "qwen3-omni-flash-realtime", "name": "Qwen3-Omni Flash Realtime", - "family": "qwen3-omni", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7070,7 +10318,7 @@ "qwen2-5-vl-72b-instruct": { "id": "qwen2-5-vl-72b-instruct", "name": "Qwen2.5-VL 72B Instruct", - "family": "qwen2.5-vl", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7086,7 +10334,7 @@ "qwen3-vl-plus": { "id": "qwen3-vl-plus", "name": "Qwen3-VL Plus", - "family": "qwen3-vl", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -7102,7 +10350,7 @@ "qwen-plus": { "id": "qwen-plus", "name": "Qwen Plus", - "family": "qwen-plus", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -7118,7 +10366,7 @@ "qwen2-5-32b-instruct": { "id": "qwen2-5-32b-instruct", "name": "Qwen2.5 32B Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7134,7 +10382,7 @@ "qwen2-5-omni-7b": { "id": "qwen2-5-omni-7b", "name": "Qwen2.5-Omni 7B", - "family": "qwen2.5-omni", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7150,7 +10398,7 @@ "qwen-max": { "id": "qwen-max", "name": "Qwen Max", - "family": "qwen-max", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7166,7 +10414,7 @@ "qwen-long": { "id": "qwen-long", "name": "Qwen Long", - "family": "qwen-long", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7182,7 +10430,7 @@ "qwen2-5-math-72b-instruct": { "id": "qwen2-5-math-72b-instruct", "name": "Qwen2.5-Math 72B Instruct", - "family": "qwen2.5-math", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7198,7 +10446,7 @@ "moonshot-kimi-k2-instruct": { "id": "moonshot-kimi-k2-instruct", "name": "Moonshot Kimi K2 Instruct", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -7229,7 +10477,7 @@ "qwen2-5-7b-instruct": { "id": "qwen2-5-7b-instruct", "name": "Qwen2.5 7B Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7245,7 +10493,7 @@ "qwen2-5-vl-7b-instruct": { "id": "qwen2-5-vl-7b-instruct", "name": "Qwen2.5-VL 7B Instruct", - "family": "qwen2.5-vl", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7261,7 +10509,7 @@ "deepseek-v3-1": { "id": "deepseek-v3-1", "name": "DeepSeek V3.1", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -7276,7 +10524,7 @@ "deepseek-r1-distill-llama-70b": { "id": "deepseek-r1-distill-llama-70b", "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-r1-distill-llama", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -7291,7 +10539,7 @@ "qwen3-235b-a22b": { "id": "qwen3-235b-a22b", "name": "Qwen3 235B-A22B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -7307,7 +10555,7 @@ "qwen2-5-coder-7b-instruct": { "id": "qwen2-5-coder-7b-instruct", "name": "Qwen2.5-Coder 7B Instruct", - "family": "qwen2.5-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7338,7 +10586,7 @@ "qwen-omni-turbo-realtime": { "id": "qwen-omni-turbo-realtime", "name": "Qwen-Omni Turbo Realtime", - "family": "qwen-omni", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7354,7 +10602,7 @@ "qwen-math-turbo": { "id": "qwen-math-turbo", "name": "Qwen Math Turbo", - "family": "qwen-math", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7370,7 +10618,7 @@ "qwen-mt-turbo": { "id": "qwen-mt-turbo", "name": "Qwen-MT Turbo", - "family": "qwen-mt", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -7386,7 +10634,7 @@ "deepseek-r1-distill-llama-8b": { "id": "deepseek-r1-distill-llama-8b", "name": "DeepSeek R1 Distill Llama 8B", - "family": "deepseek-r1-distill-llama", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -7401,7 +10649,7 @@ "qwen3-coder-480b-a35b-instruct": { "id": "qwen3-coder-480b-a35b-instruct", "name": "Qwen3-Coder 480B-A35B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7417,7 +10665,7 @@ "qwen-mt-plus": { "id": "qwen-mt-plus", "name": "Qwen-MT Plus", - "family": "qwen-mt", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -7433,7 +10681,7 @@ "qwen3-max": { "id": "qwen3-max", "name": "Qwen3 Max", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7449,7 +10697,7 @@ "qwq-32b": { "id": "qwq-32b", "name": "QwQ 32B", - "family": "qwq", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -7465,7 +10713,7 @@ "qwen2-5-math-7b-instruct": { "id": "qwen2-5-math-7b-instruct", "name": "Qwen2.5-Math 7B Instruct", - "family": "qwen2.5-math", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7481,7 +10729,7 @@ "qwen3-next-80b-a3b-thinking": { "id": "qwen3-next-80b-a3b-thinking", "name": "Qwen3-Next 80B-A3B (Thinking)", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -7512,7 +10760,7 @@ "qwen3-32b": { "id": "qwen3-32b", "name": "Qwen3 32B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -7528,7 +10776,7 @@ "qwen-vl-plus": { "id": "qwen-vl-plus", "name": "Qwen-VL Plus", - "family": "qwen-vl", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7544,7 +10792,7 @@ "qwen3-coder-plus": { "id": "qwen3-coder-plus", "name": "Qwen3 Coder Plus", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7562,7 +10810,7 @@ "google-vertex-anthropic": { "id": "google-vertex-anthropic", "env": ["GOOGLE_VERTEX_PROJECT", "GOOGLE_VERTEX_LOCATION", "GOOGLE_APPLICATION_CREDENTIALS"], - "npm": "@ai-sdk/google-vertex", + "npm": "@ai-sdk/google-vertex/anthropic", "name": "Vertex (Anthropic)", "doc": "https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/claude", "models": { @@ -7712,11 +10960,1235 @@ } } }, + "novita-ai": { + "id": "novita-ai", + "env": ["NOVITA_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.novita.ai/openai", + "name": "NovitaAI", + "doc": "https://novita.ai/docs/guides/introduction", + "models": { + "baichuan/baichuan-m2-32b": { + "id": "baichuan/baichuan-m2-32b", + "name": "baichuan-m2-32b", + "family": "baichuan", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-08-13", + "last_updated": "2025-08-13", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.07, "output": 0.07 }, + "limit": { "context": 131072, "output": 131072 } + }, + "moonshotai/kimi-k2.5": { + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, + "limit": { "context": 262144, "output": 262144 } + }, + "moonshotai/kimi-k2-0905": { + "id": "moonshotai/kimi-k2-0905", + "name": "Kimi K2 0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 2.5 }, + "limit": { "context": 262144, "output": 262144 } + }, + "moonshotai/kimi-k2-thinking": { + "id": "moonshotai/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "structured_output": true, + "temperature": true, + "release_date": "2025-11-07", + "last_updated": "2025-11-07", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 2.5 }, + "limit": { "context": 262144, "output": 262144 } + }, + "moonshotai/kimi-k2-instruct": { + "id": "moonshotai/kimi-k2-instruct", + "name": "Kimi K2 Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-11", + "last_updated": "2025-07-11", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.57, "output": 2.3 }, + "limit": { "context": 131072, "output": 131072 } + }, + "nousresearch/hermes-2-pro-llama-3-8b": { + "id": "nousresearch/hermes-2-pro-llama-3-8b", + "name": "Hermes 2 Pro Llama 3 8B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2024-06-27", + "last_updated": "2024-06-27", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.14, "output": 0.14 }, + "limit": { "context": 8192, "output": 8192 } + }, + "paddlepaddle/paddleocr-vl": { + "id": "paddlepaddle/paddleocr-vl", + "name": "PaddleOCR-VL", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-10-22", + "last_updated": "2025-10-22", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.02, "output": 0.02 }, + "limit": { "context": 16384, "output": 16384 } + }, + "kwaipilot/kat-coder": { + "id": "kwaipilot/kat-coder", + "name": "KAT-Coder-Pro V1(Free)", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 256000, "output": 32000 } + }, + "kwaipilot/kat-coder-pro": { + "id": "kwaipilot/kat-coder-pro", + "name": "Kat Coder Pro", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-05", + "last_updated": "2026-01-05", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.06 }, + "limit": { "context": 256000, "output": 128000 } + }, + "xiaomimimo/mimo-v2-flash": { + "id": "xiaomimimo/mimo-v2-flash", + "name": "XiaomiMiMo/MiMo-V2-Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-12-19", + "last_updated": "2025-12-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.1, "output": 0.3, "cache_read": 0.3 }, + "limit": { "context": 262144, "output": 32000 } + }, + "deepseek/deepseek-prover-v2-671b": { + "id": "deepseek/deepseek-prover-v2-671b", + "name": "Deepseek Prover V2 671B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-30", + "last_updated": "2025-04-30", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.7, "output": 2.5 }, + "limit": { "context": 160000, "output": 160000 } + }, + "deepseek/deepseek-r1-0528": { + "id": "deepseek/deepseek-r1-0528", + "name": "DeepSeek R1 0528", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.7, "output": 2.5, "cache_read": 0.35 }, + "limit": { "context": 163840, "output": 32768 } + }, + "deepseek/deepseek-r1-0528-qwen3-8b": { + "id": "deepseek/deepseek-r1-0528-qwen3-8b", + "name": "DeepSeek R1 0528 Qwen3 8B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-05-29", + "last_updated": "2025-05-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.06, "output": 0.09 }, + "limit": { "context": 128000, "output": 32000 } + }, + "deepseek/deepseek-v3.1-terminus": { + "id": "deepseek/deepseek-v3.1-terminus", + "name": "Deepseek V3.1 Terminus", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.27, "output": 1, "cache_read": 0.135 }, + "limit": { "context": 131072, "output": 32768 } + }, + "deepseek/deepseek-v3.1": { + "id": "deepseek/deepseek-v3.1", + "name": "DeepSeek V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.27, "output": 1, "cache_read": 0.135 }, + "limit": { "context": 131072, "output": 32768 } + }, + "deepseek/deepseek-v3-0324": { + "id": "deepseek/deepseek-v3-0324", + "name": "DeepSeek V3 0324", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.27, "output": 1.12, "cache_read": 0.135 }, + "limit": { "context": 163840, "output": 163840 } + }, + "deepseek/deepseek-r1-turbo": { + "id": "deepseek/deepseek-r1-turbo", + "name": "DeepSeek R1 (Turbo)\t", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-03-05", + "last_updated": "2025-03-05", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.7, "output": 2.5 }, + "limit": { "context": 64000, "output": 16000 } + }, + "deepseek/deepseek-v3.2-exp": { + "id": "deepseek/deepseek-v3.2-exp", + "name": "Deepseek V3.2 Exp", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.27, "output": 0.41 }, + "limit": { "context": 163840, "output": 65536 } + }, + "deepseek/deepseek-r1-distill-llama-70b": { + "id": "deepseek/deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill LLama 70B", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-01-27", + "last_updated": "2025-01-27", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.8, "output": 0.8 }, + "limit": { "context": 8192, "output": 8192 } + }, + "deepseek/deepseek-ocr": { + "id": "deepseek/deepseek-ocr", + "name": "DeepSeek-OCR", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-24", + "last_updated": "2025-10-24", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.03, "output": 0.03 }, + "limit": { "context": 8192, "output": 8192 } + }, + "deepseek/deepseek-v3.2": { + "id": "deepseek/deepseek-v3.2", + "name": "Deepseek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.269, "output": 0.4, "cache_read": 0.1345 }, + "limit": { "context": 163840, "output": 65536 } + }, + "deepseek/deepseek-v3-turbo": { + "id": "deepseek/deepseek-v3-turbo", + "name": "DeepSeek V3 (Turbo)\t", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-03-05", + "last_updated": "2025-03-05", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.4, "output": 1.3 }, + "limit": { "context": 64000, "output": 16000 } + }, + "sao10k/l3-8b-lunaris": { + "id": "sao10k/l3-8b-lunaris", + "name": "Sao10k L3 8B Lunaris\t", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2024-11-28", + "last_updated": "2024-11-28", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.05, "output": 0.05 }, + "limit": { "context": 8192, "output": 8192 } + }, + "sao10k/L3-8B-Stheno-v3.2": { + "id": "sao10k/L3-8B-Stheno-v3.2", + "name": "L3 8B Stheno V3.2", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-11-29", + "last_updated": "2024-11-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.05, "output": 0.05 }, + "limit": { "context": 8192, "output": 32000 } + }, + "sao10k/l31-70b-euryale-v2.2": { + "id": "sao10k/l31-70b-euryale-v2.2", + "name": "L31 70B Euryale V2.2", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-09-19", + "last_updated": "2024-09-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 1.48, "output": 1.48 }, + "limit": { "context": 8192, "output": 8192 } + }, + "sao10k/l3-70b-euryale-v2.1": { + "id": "sao10k/l3-70b-euryale-v2.1", + "name": "L3 70B Euryale V2.1\t", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-06-18", + "last_updated": "2024-06-18", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 1.48, "output": 1.48 }, + "limit": { "context": 8192, "output": 8192 } + }, + "skywork/r1v4-lite": { + "id": "skywork/r1v4-lite", + "name": "Skywork R1V4-Lite", + "family": "skywork", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.2, "output": 0.6 }, + "limit": { "context": 262144, "output": 65536 } + }, + "minimaxai/minimax-m1-80k": { + "id": "minimaxai/minimax-m1-80k", + "name": "MiniMax M1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.55, "output": 2.2 }, + "limit": { "context": 1000000, "output": 40000 } + }, + "minimax/minimax-m2": { + "id": "minimax/minimax-m2", + "name": "MiniMax-M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03 }, + "limit": { "context": 204800, "output": 131072 } + }, + "minimax/minimax-m2.1": { + "id": "minimax/minimax-m2.1", + "name": "Minimax M2.1", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03 }, + "limit": { "context": 204800, "output": 131072 } + }, + "google/gemma-3-27b-it": { + "id": "google/gemma-3-27b-it", + "name": "Gemma 3 27B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.119, "output": 0.2 }, + "limit": { "context": 98304, "output": 16384 } + }, + "microsoft/wizardlm-2-8x22b": { + "id": "microsoft/wizardlm-2-8x22b", + "name": "Wizardlm 2 8x22B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-04-24", + "last_updated": "2024-04-24", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.62, "output": 0.62 }, + "limit": { "context": 65535, "output": 8000 } + }, + "openai/gpt-oss-20b": { + "id": "openai/gpt-oss-20b", + "name": "OpenAI: GPT OSS 20B", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-06", + "last_updated": "2025-08-06", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.04, "output": 0.15 }, + "limit": { "context": 131072, "output": 32768 } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "OpenAI GPT OSS 120B", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-06", + "last_updated": "2025-08-06", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.05, "output": 0.25 }, + "limit": { "context": 131072, "output": 32768 } + }, + "gryphe/mythomax-l2-13b": { + "id": "gryphe/mythomax-l2-13b", + "name": "Mythomax L2 13B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-04-25", + "last_updated": "2024-04-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.09, "output": 0.09 }, + "limit": { "context": 4096, "output": 3200 } + }, + "baidu/ernie-4.5-vl-28b-a3b-thinking": { + "id": "baidu/ernie-4.5-vl-28b-a3b-thinking", + "name": "ERNIE-4.5-VL-28B-A3B-Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-11-26", + "last_updated": "2025-11-26", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.39, "output": 0.39 }, + "limit": { "context": 131072, "output": 65536 } + }, + "baidu/ernie-4.5-300b-a47b-paddle": { + "id": "baidu/ernie-4.5-300b-a47b-paddle", + "name": "ERNIE 4.5 300B A47B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-06-30", + "last_updated": "2025-06-30", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.28, "output": 1.1 }, + "limit": { "context": 123000, "output": 12000 } + }, + "baidu/ernie-4.5-21B-a3b": { + "id": "baidu/ernie-4.5-21B-a3b", + "name": "ERNIE 4.5 21B A3B", + "family": "ernie", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-06-30", + "last_updated": "2025-06-30", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.07, "output": 0.28 }, + "limit": { "context": 120000, "output": 8000 } + }, + "baidu/ernie-4.5-21B-a3b-thinking": { + "id": "baidu/ernie-4.5-21B-a3b-thinking", + "name": "ERNIE-4.5-21B-A3B-Thinking", + "family": "ernie", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.07, "output": 0.28 }, + "limit": { "context": 131072, "output": 65536 } + }, + "baidu/ernie-4.5-vl-424b-a47b": { + "id": "baidu/ernie-4.5-vl-424b-a47b", + "name": "ERNIE 4.5 VL 424B A47B", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-06-30", + "last_updated": "2025-06-30", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.42, "output": 1.25 }, + "limit": { "context": 123000, "output": 16000 } + }, + "baidu/ernie-4.5-vl-28b-a3b": { + "id": "baidu/ernie-4.5-vl-28b-a3b", + "name": "ERNIE 4.5 VL 28B A3B", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-30", + "last_updated": "2025-06-30", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 1.4, "output": 5.6 }, + "limit": { "context": 30000, "output": 8000 } + }, + "qwen/qwen3-vl-30b-a3b-thinking": { + "id": "qwen/qwen3-vl-30b-a3b-thinking", + "name": "qwen/qwen3-vl-30b-a3b-thinking", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-11", + "last_updated": "2025-10-11", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.2, "output": 1 }, + "limit": { "context": 131072, "output": 32768 } + }, + "qwen/qwen3-235b-a22b-instruct-2507": { + "id": "qwen/qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-22", + "last_updated": "2025-07-22", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.09, "output": 0.58 }, + "limit": { "context": 131072, "output": 16384 } + }, + "qwen/qwen3-omni-30b-a3b-thinking": { + "id": "qwen/qwen3-omni-30b-a3b-thinking", + "name": "Qwen3 Omni 30B A3B Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { "input": ["text", "audio", "video", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.25, "output": 0.97, "input_audio": 2.2, "output_audio": 1.788 }, + "limit": { "context": 65536, "output": 16384 } + }, + "qwen/qwen3-next-80b-a3b-instruct": { + "id": "qwen/qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-10", + "last_updated": "2025-09-10", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.15, "output": 1.5 }, + "limit": { "context": 131072, "output": 32768 } + }, + "qwen/qwen3-8b-fp8": { + "id": "qwen/qwen3-8b-fp8", + "name": "Qwen3 8B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.035, "output": 0.138 }, + "limit": { "context": 128000, "output": 20000 } + }, + "qwen/qwen2.5-vl-72b-instruct": { + "id": "qwen/qwen2.5-vl-72b-instruct", + "name": "Qwen2.5 VL 72B Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.8, "output": 0.8 }, + "limit": { "context": 32768, "output": 32768 } + }, + "qwen/qwen3-4b-fp8": { + "id": "qwen/qwen3-4b-fp8", + "name": "Qwen3 4B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.03, "output": 0.03 }, + "limit": { "context": 128000, "output": 20000 } + }, + "qwen/qwen3-coder-30b-a3b-instruct": { + "id": "qwen/qwen3-coder-30b-a3b-instruct", + "name": "Qwen3 Coder 30b A3B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-09", + "last_updated": "2025-10-09", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.07, "output": 0.27 }, + "limit": { "context": 160000, "output": 32768 } + }, + "qwen/qwen3-vl-8b-instruct": { + "id": "qwen/qwen3-vl-8b-instruct", + "name": "qwen/qwen3-vl-8b-instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-17", + "last_updated": "2025-10-17", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.08, "output": 0.5 }, + "limit": { "context": 131072, "output": 32768 } + }, + "qwen/qwen3-235b-a22b-thinking-2507": { + "id": "qwen/qwen3-235b-a22b-thinking-2507", + "name": "Qwen3 235B A22b Thinking 2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.3, "output": 3 }, + "limit": { "context": 131072, "output": 32768 } + }, + "qwen/qwen2.5-7b-instruct": { + "id": "qwen/qwen2.5-7b-instruct", + "name": "Qwen2.5 7B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.07, "output": 0.07 }, + "limit": { "context": 32000, "output": 32000 } + }, + "qwen/qwen3-30b-a3b-fp8": { + "id": "qwen/qwen3-30b-a3b-fp8", + "name": "Qwen3 30B A3B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.09, "output": 0.45 }, + "limit": { "context": 40960, "output": 20000 } + }, + "qwen/qwen3-32b-fp8": { + "id": "qwen/qwen3-32b-fp8", + "name": "Qwen3 32B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.1, "output": 0.45 }, + "limit": { "context": 40960, "output": 20000 } + }, + "qwen/qwen3-omni-30b-a3b-instruct": { + "id": "qwen/qwen3-omni-30b-a3b-instruct", + "name": "Qwen3 Omni 30B A3B Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { "input": ["text", "video", "audio", "image"], "output": ["text", "audio"] }, + "open_weights": true, + "cost": { "input": 0.25, "output": 0.97, "input_audio": 2.2, "output_audio": 1.788 }, + "limit": { "context": 65536, "output": 16384 } + }, + "qwen/qwen-2.5-72b-instruct": { + "id": "qwen/qwen-2.5-72b-instruct", + "name": "Qwen 2.5 72B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-10-15", + "last_updated": "2024-10-15", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.38, "output": 0.4 }, + "limit": { "context": 32000, "output": 8192 } + }, + "qwen/qwen3-coder-480b-a35b-instruct": { + "id": "qwen/qwen3-coder-480b-a35b-instruct", + "name": "Qwen3 Coder 480B A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.3, "output": 1.3 }, + "limit": { "context": 262144, "output": 65536 } + }, + "qwen/qwen3-vl-235b-a22b-thinking": { + "id": "qwen/qwen3-vl-235b-a22b-thinking", + "name": "Qwen3 VL 235B A22B Thinking", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.98, "output": 3.95 }, + "limit": { "context": 131072, "output": 32768 } + }, + "qwen/qwen-mt-plus": { + "id": "qwen/qwen-mt-plus", + "name": "Qwen MT Plus", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-09-03", + "last_updated": "2025-09-03", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.25, "output": 0.75 }, + "limit": { "context": 16384, "output": 8192 } + }, + "qwen/qwen3-max": { + "id": "qwen/qwen3-max", + "name": "Qwen3 Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 2.11, "output": 8.45 }, + "limit": { "context": 262144, "output": 65536 } + }, + "qwen/qwen3-vl-235b-a22b-instruct": { + "id": "qwen/qwen3-vl-235b-a22b-instruct", + "name": "Qwen3 VL 235B A22B Instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.3, "output": 1.5 }, + "limit": { "context": 131072, "output": 32768 } + }, + "qwen/qwen3-vl-30b-a3b-instruct": { + "id": "qwen/qwen3-vl-30b-a3b-instruct", + "name": "qwen/qwen3-vl-30b-a3b-instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-11", + "last_updated": "2025-10-11", + "modalities": { "input": ["text", "video", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.2, "output": 0.7 }, + "limit": { "context": 131072, "output": 32768 } + }, + "qwen/qwen3-next-80b-a3b-thinking": { + "id": "qwen/qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B Thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-10", + "last_updated": "2025-09-10", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.15, "output": 1.5 }, + "limit": { "context": 131072, "output": 32768 } + }, + "qwen/qwen3-235b-a22b-fp8": { + "id": "qwen/qwen3-235b-a22b-fp8", + "name": "Qwen3 235B A22B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.2, "output": 0.8 }, + "limit": { "context": 40960, "output": 20000 } + }, + "mistralai/mistral-nemo": { + "id": "mistralai/mistral-nemo", + "name": "Mistral Nemo", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2024-07-30", + "last_updated": "2024-07-30", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.04, "output": 0.17 }, + "limit": { "context": 60288, "output": 16000 } + }, + "meta-llama/llama-3-70b-instruct": { + "id": "meta-llama/llama-3-70b-instruct", + "name": "Llama3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2024-04-25", + "last_updated": "2024-04-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.51, "output": 0.74 }, + "limit": { "context": 8192, "output": 8000 } + }, + "meta-llama/llama-3-8b-instruct": { + "id": "meta-llama/llama-3-8b-instruct", + "name": "Llama 3 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-04-25", + "last_updated": "2024-04-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.04, "output": 0.04 }, + "limit": { "context": 8192, "output": 8192 } + }, + "meta-llama/llama-3.1-8b-instruct": { + "id": "meta-llama/llama-3.1-8b-instruct", + "name": "Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-07-24", + "last_updated": "2024-07-24", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.02, "output": 0.05 }, + "limit": { "context": 16384, "output": 16384 } + }, + "meta-llama/llama-4-maverick-17b-128e-instruct-fp8": { + "id": "meta-llama/llama-4-maverick-17b-128e-instruct-fp8", + "name": "Llama 4 Maverick Instruct", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-06", + "last_updated": "2025-04-06", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.27, "output": 0.85 }, + "limit": { "context": 1048576, "output": 8192 } + }, + "meta-llama/llama-3.3-70b-instruct": { + "id": "meta-llama/llama-3.3-70b-instruct", + "name": "Llama 3.3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-07", + "last_updated": "2024-12-07", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.135, "output": 0.4 }, + "limit": { "context": 131072, "output": 120000 } + }, + "meta-llama/llama-4-scout-17b-16e-instruct": { + "id": "meta-llama/llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout Instruct", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-06", + "last_updated": "2025-04-06", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.18, "output": 0.59 }, + "limit": { "context": 131072, "output": 131072 } + }, + "zai-org/glm-4.7": { + "id": "zai-org/glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11 }, + "limit": { "context": 204800, "output": 131072 } + }, + "zai-org/glm-4.5": { + "id": "zai-org/glm-4.5", + "name": "GLM-4.5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11 }, + "limit": { "context": 131072, "output": 98304 } + }, + "zai-org/glm-4.7-flash": { + "id": "zai-org/glm-4.7-flash", + "name": "GLM-4.7-Flash", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.07, "output": 0.4, "cache_read": 0.01 }, + "limit": { "context": 200000, "output": 128000 } + }, + "zai-org/glm-4.5-air": { + "id": "zai-org/glm-4.5-air", + "name": "GLM 4.5 Air", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-10-13", + "last_updated": "2025-10-13", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.13, "output": 0.85 }, + "limit": { "context": 131072, "output": 98304 } + }, + "zai-org/glm-4.5v": { + "id": "zai-org/glm-4.5v", + "name": "GLM 4.5V", + "family": "glmv", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", + "modalities": { "input": ["text", "video", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 1.8, "cache_read": 0.11 }, + "limit": { "context": 65536, "output": 16384 } + }, + "zai-org/glm-4.6": { + "id": "zai-org/glm-4.6", + "name": "GLM 4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.55, "output": 2.2, "cache_read": 0.11 }, + "limit": { "context": 204800, "output": 131072 } + }, + "zai-org/glm-4.6v": { + "id": "zai-org/glm-4.6v", + "name": "GLM 4.6V", + "family": "glmv", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { "input": ["text", "video", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.3, "output": 0.9, "cache_read": 0.055 }, + "limit": { "context": 131072, "output": 32768 } + }, + "zai-org/autoglm-phone-9b-multilingual": { + "id": "zai-org/autoglm-phone-9b-multilingual", + "name": "AutoGLM-Phone-9B-Multilingual", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-12-10", + "last_updated": "2025-12-10", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.035, "output": 0.138 }, + "limit": { "context": 65536, "output": 65536 } + } + } + }, "venice": { "id": "venice", "env": ["VENICE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.venice.ai/api/v1", + "npm": "venice-ai-sdk-provider", "name": "Venice AI", "doc": "https://docs.venice.ai", "models": { @@ -7731,16 +12203,16 @@ "temperature": true, "knowledge": "2025-07", "release_date": "2025-12-01", - "last_updated": "2025-12-29", + "last_updated": "2026-01-28", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 0.5, "output": 1.25, "cache_read": 0.125 }, - "limit": { "context": 262144, "output": 65536 } + "limit": { "context": 256000, "output": 64000 } }, "qwen3-235b-a22b-instruct-2507": { "id": "qwen3-235b-a22b-instruct-2507", "name": "Qwen 3 235B A22B Instruct 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -7748,11 +12220,11 @@ "temperature": true, "knowledge": "2025-07", "release_date": "2025-04-29", - "last_updated": "2025-12-18", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.15, "output": 0.75 }, - "limit": { "context": 131072, "output": 32768 } + "limit": { "context": 128000, "output": 32000 } }, "gemini-3-flash-preview": { "id": "gemini-3-flash-preview", @@ -7761,16 +12233,16 @@ "attachment": true, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_details" }, + "interleaved": { "field": "reasoning_content" }, "structured_output": true, "temperature": true, "knowledge": "2025-01", "release_date": "2025-12-19", - "last_updated": "2025-12-30", + "last_updated": "2026-01-28", "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, "open_weights": false, "cost": { "input": 0.7, "output": 3.75, "cache_read": 0.07 }, - "limit": { "context": 262144, "output": 65536 } + "limit": { "context": 256000, "output": 64000 } }, "claude-opus-45": { "id": "claude-opus-45", @@ -7783,11 +12255,11 @@ "temperature": true, "knowledge": "2025-03", "release_date": "2025-12-06", - "last_updated": "2025-12-29", + "last_updated": "2026-01-28", "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 6, "output": 30, "cache_read": 0.6 }, - "limit": { "context": 202752, "output": 50688 } + "cost": { "input": 6, "output": 30, "cache_read": 0.6, "cache_write": 7.5 }, + "limit": { "context": 198000, "output": 49500 } }, "mistral-31-24b": { "id": "mistral-31-24b", @@ -7800,11 +12272,11 @@ "temperature": true, "knowledge": "2023-10", "release_date": "2025-03-18", - "last_updated": "2025-12-18", + "last_updated": "2026-01-28", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 131072, "output": 32768 } + "limit": { "context": 128000, "output": 32000 } }, "grok-code-fast-1": { "id": "grok-code-fast-1", @@ -7816,33 +12288,50 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-01", - "last_updated": "2026-01-02", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": false, "cost": { "input": 0.25, "output": 1.87, "cache_read": 0.03 }, - "limit": { "context": 262144, "output": 65536 } + "limit": { "context": 256000, "output": 64000 } }, "zai-org-glm-4.7": { "id": "zai-org-glm-4.7", "name": "GLM 4.7", - "family": "glm-4.7", + "family": "glm", "attachment": false, - "reasoning": false, + "reasoning": true, "tool_call": true, + "interleaved": { "field": "reasoning_content" }, "structured_output": true, "temperature": true, "knowledge": "2025-04", "release_date": "2025-12-24", - "last_updated": "2025-12-29", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.85, "output": 2.75 }, - "limit": { "context": 131072, "output": 32768 } + "cost": { "input": 0.55, "output": 2.65, "cache_read": 0.11 }, + "limit": { "context": 198000, "output": 49500 } + }, + "qwen3-vl-235b-a22b": { + "id": "qwen3-vl-235b-a22b", + "name": "Qwen3 VL 235B", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-16", + "last_updated": "2026-01-28", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.25, "output": 1.5 }, + "limit": { "context": 256000, "output": 64000 } }, "venice-uncensored": { "id": "venice-uncensored", "name": "Venice Uncensored 1.1", - "family": "venice-uncensored", + "family": "venice", "attachment": false, "reasoning": false, "tool_call": false, @@ -7850,11 +12339,11 @@ "temperature": true, "knowledge": "2023-10", "release_date": "2025-03-18", - "last_updated": "2025-12-18", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.2, "output": 0.9 }, - "limit": { "context": 32768, "output": 8192 } + "limit": { "context": 32000, "output": 8000 } }, "gemini-3-pro-preview": { "id": "gemini-3-pro-preview", @@ -7867,16 +12356,16 @@ "temperature": true, "knowledge": "2024-04", "release_date": "2025-12-02", - "last_updated": "2025-12-29", + "last_updated": "2026-01-28", "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, "open_weights": false, "cost": { "input": 2.5, "output": 15, "cache_read": 0.625 }, - "limit": { "context": 202752, "output": 50688 } + "limit": { "context": 198000, "output": 49500 } }, "openai-gpt-52": { "id": "openai-gpt-52", "name": "GPT-5.2", - "family": "gpt-5", + "family": "gpt", "attachment": false, "reasoning": true, "tool_call": true, @@ -7884,16 +12373,16 @@ "temperature": true, "knowledge": "2025-08-31", "release_date": "2025-12-13", - "last_updated": "2025-12-29", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": false, "cost": { "input": 2.19, "output": 17.5, "cache_read": 0.219 }, - "limit": { "context": 262144, "output": 65536 } + "limit": { "context": 256000, "output": 64000 } }, "qwen3-4b": { "id": "qwen3-4b", "name": "Venice Small", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -7901,48 +12390,66 @@ "temperature": true, "knowledge": "2024-07", "release_date": "2025-04-29", - "last_updated": "2025-12-18", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.05, "output": 0.15 }, - "limit": { "context": 32768, "output": 8192 } + "limit": { "context": 32000, "output": 8000 } }, "llama-3.3-70b": { "id": "llama-3.3-70b", "name": "Llama 3.3 70B", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, "knowledge": "2023-12", "release_date": "2025-04-06", - "last_updated": "2025-12-29", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.7, "output": 2.8 }, - "limit": { "context": 131072, "output": 32768 } + "limit": { "context": 128000, "output": 32000 } + }, + "claude-sonnet-45": { + "id": "claude-sonnet-45", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-01-15", + "last_updated": "2026-01-28", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 3.75, "output": 18.75, "cache_read": 0.375, "cache_write": 4.69 }, + "limit": { "context": 198000, "output": 49500 } }, "openai-gpt-oss-120b": { "id": "openai-gpt-oss-120b", "name": "OpenAI GPT OSS 120B", - "family": "openai-gpt-oss", + "family": "gpt-oss", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, "knowledge": "2025-07", "release_date": "2025-11-06", - "last_updated": "2025-12-29", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.07, "output": 0.3 }, - "limit": { "context": 131072, "output": 32768 } + "limit": { "context": 128000, "output": 32000 } }, "kimi-k2-thinking": { "id": "kimi-k2-thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -7950,50 +12457,50 @@ "temperature": true, "knowledge": "2024-04", "release_date": "2025-12-10", - "last_updated": "2025-12-30", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.75, "output": 3.2, "cache_read": 0.375 }, - "limit": { "context": 262144, "output": 65536 } + "limit": { "context": 256000, "output": 64000 } }, "qwen3-235b-a22b-thinking-2507": { "id": "qwen3-235b-a22b-thinking-2507", "name": "Qwen 3 235B A22B Thinking 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { "field": "reasoning_content" }, "structured_output": true, "temperature": true, "knowledge": "2025-07", "release_date": "2025-04-29", - "last_updated": "2025-12-18", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.45, "output": 3.5 }, - "limit": { "context": 131072, "output": 32768 } + "limit": { "context": 128000, "output": 32000 } }, "llama-3.2-3b": { "id": "llama-3.2-3b", "name": "Llama 3.2 3B", - "family": "llama-3.2", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, - "structured_output": true, "temperature": true, "knowledge": "2023-12", "release_date": "2024-10-03", - "last_updated": "2025-12-18", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 131072, "output": 32768 } + "limit": { "context": 128000, "output": 32000 } }, "google-gemma-3-27b-it": { "id": "google-gemma-3-27b-it", "name": "Google Gemma 3 27B Instruct", - "family": "gemma-3", + "family": "gemma", "attachment": true, "reasoning": false, "tool_call": true, @@ -8001,43 +12508,45 @@ "temperature": true, "knowledge": "2025-07", "release_date": "2025-11-04", - "last_updated": "2025-12-29", + "last_updated": "2026-01-28", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.12, "output": 0.2 }, - "limit": { "context": 202752, "output": 50688 } + "limit": { "context": 198000, "output": 49500 } + }, + "kimi-k2-5": { + "id": "kimi-k2-5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2026-01-27", + "last_updated": "2026-01-28", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.75, "output": 3.75, "cache_read": 0.125 }, + "limit": { "context": 256000, "output": 64000 } }, "hermes-3-llama-3.1-405b": { "id": "hermes-3-llama-3.1-405b", "name": "Hermes 3 Llama 3.1 405b", - "family": "llama-3.1", + "family": "hermes", "attachment": false, "reasoning": false, "tool_call": false, "temperature": true, "knowledge": "2024-04", "release_date": "2025-09-25", - "last_updated": "2025-12-29", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 1.1, "output": 3 }, - "limit": { "context": 131072, "output": 32768 } - }, - "zai-org-glm-4.6v": { - "id": "zai-org-glm-4.6v", - "name": "GLM 4.6V", - "family": "glm-4.6", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-11", - "last_updated": "2025-12-29", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.39, "output": 1.13 }, - "limit": { "context": 131072, "output": 32768 } + "limit": { "context": 128000, "output": 32000 } }, "minimax-m21": { "id": "minimax-m21", @@ -8050,16 +12559,16 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-01", - "last_updated": "2026-01-02", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, + "open_weights": true, "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.04 }, - "limit": { "context": 202752, "output": 50688 } + "limit": { "context": 198000, "output": 49500 } }, "qwen3-next-80b": { "id": "qwen3-next-80b", "name": "Qwen 3 Next 80b", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8067,33 +12576,16 @@ "temperature": true, "knowledge": "2025-07", "release_date": "2025-04-29", - "last_updated": "2025-12-18", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.35, "output": 1.9 }, - "limit": { "context": 262144, "output": 65536 } - }, - "zai-org-glm-4.6": { - "id": "zai-org-glm-4.6", - "name": "GLM 4.6", - "family": "glm-4.6", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-10-18", - "last_updated": "2025-12-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.85, "output": 2.75 }, - "limit": { "context": 202752, "output": 50688 } + "limit": { "context": 256000, "output": 64000 } }, "qwen3-coder-480b-a35b-instruct": { "id": "qwen3-coder-480b-a35b-instruct", "name": "Qwen 3 Coder 480b", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8101,33 +12593,50 @@ "temperature": true, "knowledge": "2025-07", "release_date": "2025-04-29", - "last_updated": "2025-12-18", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.75, "output": 3 }, - "limit": { "context": 262144, "output": 65536 } + "limit": { "context": 256000, "output": 64000 } + }, + "openai-gpt-52-codex": { + "id": "openai-gpt-52-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-01-15", + "last_updated": "2026-01-28", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 2.19, "output": 17.5, "cache_read": 0.219 }, + "limit": { "context": 256000, "output": 64000 } }, "deepseek-v3.2": { "id": "deepseek-v3.2", "name": "DeepSeek V3.2", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": false, "temperature": true, "knowledge": "2025-10", "release_date": "2025-12-04", - "last_updated": "2025-12-29", + "last_updated": "2026-01-28", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.4, "output": 1, "cache_read": 0.2 }, - "limit": { "context": 163840, "output": 40960 } + "limit": { "context": 160000, "output": 40000 } } } }, "siliconflow-cn": { "id": "siliconflow-cn", - "env": ["SILICONFLOW_API_KEY"], + "env": ["SILICONFLOW_CN_API_KEY"], "npm": "@ai-sdk/openai-compatible", "api": "https://api.siliconflow.cn/v1", "name": "SiliconFlow (China)", @@ -8136,7 +12645,7 @@ "inclusionAI/Ring-flash-2.0": { "id": "inclusionAI/Ring-flash-2.0", "name": "inclusionAI/Ring-flash-2.0", - "family": "inclusionai-ring-flash", + "family": "ring", "attachment": false, "reasoning": true, "tool_call": true, @@ -8152,7 +12661,7 @@ "inclusionAI/Ling-flash-2.0": { "id": "inclusionAI/Ling-flash-2.0", "name": "inclusionAI/Ling-flash-2.0", - "family": "inclusionai-ling-flash", + "family": "ling", "attachment": false, "reasoning": false, "tool_call": true, @@ -8168,7 +12677,7 @@ "inclusionAI/Ling-mini-2.0": { "id": "inclusionAI/Ling-mini-2.0", "name": "inclusionAI/Ling-mini-2.0", - "family": "inclusionai-ling-mini", + "family": "ling", "attachment": false, "reasoning": false, "tool_call": true, @@ -8181,10 +12690,26 @@ "cost": { "input": 0.07, "output": 0.28 }, "limit": { "context": 131000, "output": 131000 } }, + "Kwaipilot/KAT-Dev": { + "id": "Kwaipilot/KAT-Dev", + "name": "Kwaipilot/KAT-Dev", + "family": "kat-coder", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-27", + "last_updated": "2026-01-16", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.2, "output": 0.6 }, + "limit": { "context": 128000, "output": 128000 } + }, "moonshotai/Kimi-K2-Thinking": { "id": "moonshotai/Kimi-K2-Thinking", "name": "moonshotai/Kimi-K2-Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -8200,7 +12725,7 @@ "moonshotai/Kimi-K2-Instruct-0905": { "id": "moonshotai/Kimi-K2-Instruct-0905", "name": "moonshotai/Kimi-K2-Instruct-0905", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -8229,22 +12754,6 @@ "cost": { "input": 0.29, "output": 1.15 }, "limit": { "context": 131000, "output": 131000 } }, - "moonshotai/Kimi-K2-Instruct": { - "id": "moonshotai/Kimi-K2-Instruct", - "name": "moonshotai/Kimi-K2-Instruct", - "family": "kimi-k2", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-13", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.58, "output": 2.29 }, - "limit": { "context": 131000, "output": 131000 } - }, "tencent/Hunyuan-A13B-Instruct": { "id": "tencent/Hunyuan-A13B-Instruct", "name": "tencent/Hunyuan-A13B-Instruct", @@ -8312,7 +12821,7 @@ "THUDM/GLM-Z1-32B-0414": { "id": "THUDM/GLM-Z1-32B-0414", "name": "THUDM/GLM-Z1-32B-0414", - "family": "glm-z1", + "family": "glm-z", "attachment": false, "reasoning": true, "tool_call": true, @@ -8328,7 +12837,7 @@ "THUDM/GLM-4-9B-0414": { "id": "THUDM/GLM-4-9B-0414", "name": "THUDM/GLM-4-9B-0414", - "family": "glm-4", + "family": "glm", "attachment": false, "reasoning": false, "tool_call": true, @@ -8344,7 +12853,7 @@ "THUDM/GLM-Z1-9B-0414": { "id": "THUDM/GLM-Z1-9B-0414", "name": "THUDM/GLM-Z1-9B-0414", - "family": "glm-z1", + "family": "glm-z", "attachment": false, "reasoning": true, "tool_call": true, @@ -8360,7 +12869,7 @@ "THUDM/GLM-4.1V-9B-Thinking": { "id": "THUDM/GLM-4.1V-9B-Thinking", "name": "THUDM/GLM-4.1V-9B-Thinking", - "family": "glm-4v", + "family": "glm", "attachment": true, "reasoning": true, "tool_call": true, @@ -8376,7 +12885,7 @@ "THUDM/GLM-4-32B-0414": { "id": "THUDM/GLM-4-32B-0414", "name": "THUDM/GLM-4-32B-0414", - "family": "glm-4", + "family": "glm", "attachment": false, "reasoning": false, "tool_call": true, @@ -8389,42 +12898,26 @@ "cost": { "input": 0.27, "output": 0.27 }, "limit": { "context": 33000, "output": 33000 } }, - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "openai/gpt-oss-120b", - "family": "openai-gpt-oss", + "ascend-tribe/pangu-pro-moe": { + "id": "ascend-tribe/pangu-pro-moe", + "name": "ascend-tribe/pangu-pro-moe", + "family": "pangu", "attachment": false, "reasoning": true, - "tool_call": true, + "tool_call": false, "structured_output": true, "temperature": true, - "release_date": "2025-08-13", - "last_updated": "2025-11-25", + "release_date": "2025-07-02", + "last_updated": "2026-01-16", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.05, "output": 0.45 }, - "limit": { "context": 131000, "output": 8000 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "openai/gpt-oss-20b", - "family": "openai-gpt-oss", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-13", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.04, "output": 0.18 }, - "limit": { "context": 131000, "output": 8000 } + "cost": { "input": 0.2, "output": 0.6 }, + "limit": { "context": 128000, "output": 128000 } }, "stepfun-ai/step3": { "id": "stepfun-ai/step3", "name": "stepfun-ai/step3", - "family": "stepfun-ai-step3", + "family": "step", "attachment": true, "reasoning": false, "tool_call": true, @@ -8437,26 +12930,10 @@ "cost": { "input": 0.57, "output": 1.42 }, "limit": { "context": 66000, "output": 66000 } }, - "nex-agi/DeepSeek-V3.1-Nex-N1": { - "id": "nex-agi/DeepSeek-V3.1-Nex-N1", - "name": "nex-agi/DeepSeek-V3.1-Nex-N1", - "family": "deepseek-v3", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 131000, "output": 131000 } - }, "baidu/ERNIE-4.5-300B-A47B": { "id": "baidu/ERNIE-4.5-300B-A47B", "name": "baidu/ERNIE-4.5-300B-A47B", - "family": "ernie-4", + "family": "ernie", "attachment": false, "reasoning": false, "tool_call": true, @@ -8469,42 +12946,10 @@ "cost": { "input": 0.28, "output": 1.1 }, "limit": { "context": 131000, "output": 131000 } }, - "z-ai/GLM-4.5-Air": { - "id": "z-ai/GLM-4.5-Air", - "name": "z-ai/GLM-4.5-Air", - "family": "glm-4.5-air", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.86 }, - "limit": { "context": 131000, "output": 131000 } - }, - "z-ai/GLM-4.5": { - "id": "z-ai/GLM-4.5", - "name": "z-ai/GLM-4.5", - "family": "glm-4.5", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131000, "output": 131000 } - }, "ByteDance-Seed/Seed-OSS-36B-Instruct": { "id": "ByteDance-Seed/Seed-OSS-36B-Instruct", "name": "ByteDance-Seed/Seed-OSS-36B-Instruct", - "family": "bytedance-seed-seed-oss", + "family": "seed", "attachment": false, "reasoning": false, "tool_call": true, @@ -8517,26 +12962,10 @@ "cost": { "input": 0.21, "output": 0.57 }, "limit": { "context": 262000, "output": 262000 } }, - "meta-llama/Meta-Llama-3.1-8B-Instruct": { - "id": "meta-llama/Meta-Llama-3.1-8B-Instruct", - "name": "meta-llama/Meta-Llama-3.1-8B-Instruct", - "family": "llama-3.1", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-23", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.06, "output": 0.06 }, - "limit": { "context": 33000, "output": 4000 } - }, "Qwen/Qwen3-Next-80B-A3B-Thinking": { "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", "name": "Qwen/Qwen3-Next-80B-A3B-Thinking", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -8552,7 +12981,7 @@ "Qwen/Qwen2.5-14B-Instruct": { "id": "Qwen/Qwen2.5-14B-Instruct", "name": "Qwen/Qwen2.5-14B-Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8568,7 +12997,7 @@ "Qwen/Qwen3-Next-80B-A3B-Instruct": { "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8584,7 +13013,7 @@ "Qwen/Qwen3-VL-32B-Instruct": { "id": "Qwen/Qwen3-VL-32B-Instruct", "name": "Qwen/Qwen3-VL-32B-Instruct", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -8600,7 +13029,7 @@ "Qwen/Qwen3-Omni-30B-A3B-Thinking": { "id": "Qwen/Qwen3-Omni-30B-A3B-Thinking", "name": "Qwen/Qwen3-Omni-30B-A3B-Thinking", - "family": "qwen3-omni", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, @@ -8616,7 +13045,7 @@ "Qwen/Qwen3-235B-A22B-Thinking-2507": { "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", "name": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -8632,7 +13061,7 @@ "Qwen/Qwen3-VL-32B-Thinking": { "id": "Qwen/Qwen3-VL-32B-Thinking", "name": "Qwen/Qwen3-VL-32B-Thinking", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, @@ -8648,7 +13077,7 @@ "Qwen/Qwen3-VL-30B-A3B-Thinking": { "id": "Qwen/Qwen3-VL-30B-A3B-Thinking", "name": "Qwen/Qwen3-VL-30B-A3B-Thinking", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, @@ -8664,7 +13093,7 @@ "Qwen/Qwen3-30B-A3B-Instruct-2507": { "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", "name": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8680,7 +13109,7 @@ "Qwen/Qwen3-VL-235B-A22B-Thinking": { "id": "Qwen/Qwen3-VL-235B-A22B-Thinking", "name": "Qwen/Qwen3-VL-235B-A22B-Thinking", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, @@ -8696,7 +13125,7 @@ "Qwen/Qwen3-Coder-480B-A35B-Instruct": { "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", "name": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8712,7 +13141,7 @@ "Qwen/Qwen3-VL-235B-A22B-Instruct": { "id": "Qwen/Qwen3-VL-235B-A22B-Instruct", "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -8728,7 +13157,7 @@ "Qwen/Qwen3-VL-8B-Instruct": { "id": "Qwen/Qwen3-VL-8B-Instruct", "name": "Qwen/Qwen3-VL-8B-Instruct", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -8744,7 +13173,7 @@ "Qwen/Qwen3-32B": { "id": "Qwen/Qwen3-32B", "name": "Qwen/Qwen3-32B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8757,26 +13186,10 @@ "cost": { "input": 0.14, "output": 0.57 }, "limit": { "context": 131000, "output": 131000 } }, - "Qwen/Qwen2.5-VL-7B-Instruct": { - "id": "Qwen/Qwen2.5-VL-7B-Instruct", - "name": "Qwen/Qwen2.5-VL-7B-Instruct", - "family": "qwen2.5-vl", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.05 }, - "limit": { "context": 33000, "output": 4000 } - }, "Qwen/QwQ-32B": { "id": "Qwen/QwQ-32B", "name": "Qwen/QwQ-32B", - "family": "qwq", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -8792,7 +13205,7 @@ "Qwen/Qwen2.5-VL-72B-Instruct": { "id": "Qwen/Qwen2.5-VL-72B-Instruct", "name": "Qwen/Qwen2.5-VL-72B-Instruct", - "family": "qwen2.5-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -8805,26 +13218,10 @@ "cost": { "input": 0.59, "output": 0.59 }, "limit": { "context": 131000, "output": 4000 } }, - "Qwen/Qwen3-235B-A22B": { - "id": "Qwen/Qwen3-235B-A22B", - "name": "Qwen/Qwen3-235B-A22B", - "family": "qwen3", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.35, "output": 1.42 }, - "limit": { "context": 131000, "output": 131000 } - }, "Qwen/Qwen2.5-7B-Instruct": { "id": "Qwen/Qwen2.5-7B-Instruct", "name": "Qwen/Qwen2.5-7B-Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8840,7 +13237,7 @@ "Qwen/Qwen3-Coder-30B-A3B-Instruct": { "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", "name": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8856,7 +13253,7 @@ "Qwen/Qwen2.5-72B-Instruct": { "id": "Qwen/Qwen2.5-72B-Instruct", "name": "Qwen/Qwen2.5-72B-Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8872,7 +13269,7 @@ "Qwen/Qwen2.5-72B-Instruct-128K": { "id": "Qwen/Qwen2.5-72B-Instruct-128K", "name": "Qwen/Qwen2.5-72B-Instruct-128K", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8888,7 +13285,7 @@ "Qwen/Qwen2.5-32B-Instruct": { "id": "Qwen/Qwen2.5-32B-Instruct", "name": "Qwen/Qwen2.5-32B-Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8904,7 +13301,7 @@ "Qwen/Qwen2.5-Coder-32B-Instruct": { "id": "Qwen/Qwen2.5-Coder-32B-Instruct", "name": "Qwen/Qwen2.5-Coder-32B-Instruct", - "family": "qwen2.5-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8920,7 +13317,7 @@ "Qwen/Qwen3-235B-A22B-Instruct-2507": { "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", "name": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8936,7 +13333,7 @@ "Qwen/Qwen3-VL-8B-Thinking": { "id": "Qwen/Qwen3-VL-8B-Thinking", "name": "Qwen/Qwen3-VL-8B-Thinking", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, @@ -8952,7 +13349,7 @@ "Qwen/Qwen3-Omni-30B-A3B-Instruct": { "id": "Qwen/Qwen3-Omni-30B-A3B-Instruct", "name": "Qwen/Qwen3-Omni-30B-A3B-Instruct", - "family": "qwen3-omni", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -8968,7 +13365,7 @@ "Qwen/Qwen3-8B": { "id": "Qwen/Qwen3-8B", "name": "Qwen/Qwen3-8B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -8984,7 +13381,7 @@ "Qwen/Qwen3-Omni-30B-A3B-Captioner": { "id": "Qwen/Qwen3-Omni-30B-A3B-Captioner", "name": "Qwen/Qwen3-Omni-30B-A3B-Captioner", - "family": "qwen3-omni", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -9000,7 +13397,7 @@ "Qwen/Qwen2.5-VL-32B-Instruct": { "id": "Qwen/Qwen2.5-VL-32B-Instruct", "name": "Qwen/Qwen2.5-VL-32B-Instruct", - "family": "qwen2.5-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -9016,7 +13413,7 @@ "Qwen/Qwen3-14B": { "id": "Qwen/Qwen3-14B", "name": "Qwen/Qwen3-14B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -9032,7 +13429,7 @@ "Qwen/Qwen3-VL-30B-A3B-Instruct": { "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", "name": "Qwen/Qwen3-VL-30B-A3B-Instruct", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -9048,7 +13445,7 @@ "Qwen/Qwen3-30B-A3B-Thinking-2507": { "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", "name": "Qwen/Qwen3-30B-A3B-Thinking-2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -9064,7 +13461,7 @@ "Qwen/Qwen3-30B-A3B": { "id": "Qwen/Qwen3-30B-A3B", "name": "Qwen/Qwen3-30B-A3B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -9080,7 +13477,7 @@ "zai-org/GLM-4.5-Air": { "id": "zai-org/GLM-4.5-Air", "name": "zai-org/GLM-4.5-Air", - "family": "glm-4.5-air", + "family": "glm-air", "attachment": false, "reasoning": false, "tool_call": true, @@ -9096,7 +13493,7 @@ "zai-org/GLM-4.5V": { "id": "zai-org/GLM-4.5V", "name": "zai-org/GLM-4.5V", - "family": "glm-4.5v", + "family": "glm", "attachment": true, "reasoning": false, "tool_call": true, @@ -9112,7 +13509,7 @@ "zai-org/GLM-4.6": { "id": "zai-org/GLM-4.6", "name": "zai-org/GLM-4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": false, "tool_call": true, @@ -9125,42 +13522,26 @@ "cost": { "input": 0.5, "output": 1.9 }, "limit": { "context": 205000, "output": 205000 } }, - "zai-org/GLM-4.5": { - "id": "zai-org/GLM-4.5", - "name": "zai-org/GLM-4.5", - "family": "glm-4.5", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131000, "output": 131000 } - }, - "deepseek-ai/DeepSeek-V3.1": { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "deepseek-ai/DeepSeek-V3.1", - "family": "deepseek-v3", - "attachment": false, + "zai-org/GLM-4.6V": { + "id": "zai-org/GLM-4.6V", + "name": "zai-org/GLM-4.6V", + "family": "glm", + "attachment": true, "reasoning": true, "tool_call": true, - "structured_output": true, + "structured_output": false, "temperature": true, - "release_date": "2025-08-25", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-12-07", + "last_updated": "2025-12-07", + "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 164000, "output": 164000 } + "cost": { "input": 0.3, "output": 0.9 }, + "limit": { "context": 131000, "output": 131000 } }, "deepseek-ai/DeepSeek-V3": { "id": "deepseek-ai/DeepSeek-V3", "name": "deepseek-ai/DeepSeek-V3", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -9173,6 +13554,22 @@ "cost": { "input": 0.25, "output": 1 }, "limit": { "context": 164000, "output": 164000 } }, + "deepseek-ai/DeepSeek-V3.2": { + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "deepseek-ai/DeepSeek-V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-03", + "last_updated": "2025-12-03", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.27, "output": 0.42 }, + "limit": { "context": 164000, "output": 164000 } + }, "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B": { "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", @@ -9192,7 +13589,7 @@ "deepseek-ai/DeepSeek-V3.1-Terminus": { "id": "deepseek-ai/DeepSeek-V3.1-Terminus", "name": "deepseek-ai/DeepSeek-V3.1-Terminus", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -9205,22 +13602,6 @@ "cost": { "input": 0.27, "output": 1 }, "limit": { "context": 164000, "output": 164000 } }, - "deepseek-ai/DeepSeek-V3.2-Exp": { - "id": "deepseek-ai/DeepSeek-V3.2-Exp", - "name": "deepseek-ai/DeepSeek-V3.2-Exp", - "family": "deepseek-v3", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-10", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.41 }, - "limit": { "context": 164000, "output": 164000 } - }, "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B": { "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", @@ -9272,7 +13653,7 @@ "deepseek-ai/DeepSeek-R1": { "id": "deepseek-ai/DeepSeek-R1", "name": "deepseek-ai/DeepSeek-R1", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -9284,6 +13665,240 @@ "open_weights": false, "cost": { "input": 0.5, "output": 2.18 }, "limit": { "context": 164000, "output": 164000 } + }, + "Pro/moonshotai/Kimi-K2-Instruct-0905": { + "id": "Pro/moonshotai/Kimi-K2-Instruct-0905", + "name": "Pro/moonshotai/Kimi-K2-Instruct-0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-08", + "last_updated": "2025-11-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.4, "output": 2 }, + "limit": { "context": 262000, "output": 262000 } + }, + "Pro/moonshotai/Kimi-K2-Thinking": { + "id": "Pro/moonshotai/Kimi-K2-Thinking", + "name": "Pro/moonshotai/Kimi-K2-Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-11-07", + "last_updated": "2025-11-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.55, "output": 2.5 }, + "limit": { "context": 262000, "output": 262000 } + }, + "Pro/MiniMaxAI/MiniMax-M2.1": { + "id": "Pro/MiniMaxAI/MiniMax-M2.1", + "name": "Pro/MiniMaxAI/MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 1.2 }, + "limit": { "context": 197000, "output": 131000 } + }, + "Pro/zai-org/GLM-4.7": { + "id": "Pro/zai-org/GLM-4.7", + "name": "Pro/zai-org/GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.6, "output": 2.2 }, + "limit": { "context": 205000, "output": 205000 } + }, + "Pro/deepseek-ai/DeepSeek-R1": { + "id": "Pro/deepseek-ai/DeepSeek-R1", + "name": "Pro/deepseek-ai/DeepSeek-R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-05-28", + "last_updated": "2025-11-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.5, "output": 2.18 }, + "limit": { "context": 164000, "output": 164000 } + }, + "Pro/deepseek-ai/DeepSeek-V3.1-Terminus": { + "id": "Pro/deepseek-ai/DeepSeek-V3.1-Terminus", + "name": "Pro/deepseek-ai/DeepSeek-V3.1-Terminus", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-29", + "last_updated": "2025-11-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.27, "output": 1 }, + "limit": { "context": 164000, "output": 164000 } + }, + "Pro/deepseek-ai/DeepSeek-V3.2": { + "id": "Pro/deepseek-ai/DeepSeek-V3.2", + "name": "Pro/deepseek-ai/DeepSeek-V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-03", + "last_updated": "2025-12-03", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.27, "output": 0.42 }, + "limit": { "context": 164000, "output": 164000 } + }, + "Pro/deepseek-ai/DeepSeek-V3": { + "id": "Pro/deepseek-ai/DeepSeek-V3", + "name": "Pro/deepseek-ai/DeepSeek-V3", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-26", + "last_updated": "2025-11-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.25, "output": 1 }, + "limit": { "context": 164000, "output": 164000 } + } + } + }, + "vivgrid": { + "id": "vivgrid", + "env": ["VIVGRID_API_KEY"], + "npm": "@ai-sdk/openai", + "api": "https://api.vivgrid.com/v1", + "name": "Vivgrid", + "doc": "https://docs.vivgrid.com/models", + "models": { + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "context_over_200k": { "input": 0.5, "output": 3, "cache_read": 0.05 } + }, + "limit": { "context": 1048576, "output": 65536 }, + "provider": { "npm": "@ai-sdk/openai-compatible" } + }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, + "limit": { "context": 400000, "output": 128000 } + }, + "gpt-5.1-codex": { + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, + "limit": { "context": 400000, "output": 128000 } + }, + "gemini-3-pro-preview": { + "id": "gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "context_over_200k": { "input": 4, "output": 18, "cache_read": 0.4 } + }, + "limit": { "context": 1048576, "output": 65536 }, + "provider": { "npm": "@ai-sdk/openai-compatible" } + }, + "gpt-5.1-codex-max": { + "id": "gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, + "limit": { "context": 400000, "output": 128000 } } } }, @@ -9305,18 +13920,11 @@ "structured_output": false, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.1, - "output": 0.39, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, - "limit": { "context": 40960, "output": 40960 } + "cost": { "input": 0.1, "output": 0.39 }, + "limit": { "context": 32768, "output": 8192 } }, "NousResearch/Hermes-4-70B": { "id": "NousResearch/Hermes-4-70B", @@ -9329,18 +13937,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.11, - "output": 0.38, - "reasoning": 0.5700000000000001, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.11, "output": 0.38 }, "limit": { "context": 131072, "output": 131072 } }, "NousResearch/Hermes-4-14B": { @@ -9354,18 +13954,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.01, - "output": 0.05, - "reasoning": 0.07500000000000001, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.01, "output": 0.05 }, "limit": { "context": 40960, "output": 40960 } }, "NousResearch/Hermes-4-405B-FP8-TEE": { @@ -9373,41 +13965,17 @@ "name": "Hermes 4 405B FP8 TEE", "family": "nousresearch", "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2025-12-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0, "cache_write": 0, "input_audio": 0, "output_audio": 0 }, - "limit": { "context": 40960, "output": 40960 } - }, - "NousResearch/Hermes-4-405B-FP8": { - "id": "NousResearch/Hermes-4-405B-FP8", - "name": "Hermes 4 405B FP8", - "family": "nousresearch", - "attachment": false, "reasoning": true, "tool_call": true, "interleaved": { "field": "reasoning_content" }, "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.3, - "output": 1.2, - "reasoning": 1.7999999999999998, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, - "limit": { "context": 131072, "output": 131072 } + "cost": { "input": 0.3, "output": 1.2 }, + "limit": { "context": 131072, "output": 65536 } }, "NousResearch/DeepHermes-3-Mistral-24B-Preview": { "id": "NousResearch/DeepHermes-3-Mistral-24B-Preview", @@ -9419,69 +13987,66 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.02, - "output": 0.1, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.02, "output": 0.1 }, "limit": { "context": 32768, "output": 32768 } }, "rednote-hilab/dots.ocr": { "id": "rednote-hilab/dots.ocr", "name": "dots.ocr", - "family": "rednote-hilab", + "family": "rednote", "attachment": false, "reasoning": false, "tool_call": false, "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.01, - "output": 0.01, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.01, "output": 0.01 }, "limit": { "context": 131072, "output": 131072 } }, + "moonshotai/Kimi-K2.5-TEE": { + "id": "moonshotai/Kimi-K2.5-TEE", + "name": "Kimi K2.5 TEE", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 3 }, + "limit": { "context": 262144, "output": 65535 } + }, "moonshotai/Kimi-K2-Instruct-0905": { "id": "moonshotai/Kimi-K2-Instruct-0905", "name": "Kimi K2 Instruct 0905", - "family": "moonshotai", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.39, - "output": 1.9, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.39, "output": 1.9 }, "limit": { "context": 262144, "output": 262144 } }, "moonshotai/Kimi-K2-Thinking-TEE": { "id": "moonshotai/Kimi-K2-Thinking-TEE", "name": "Kimi K2 Thinking TEE", - "family": "moonshotai", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -9489,49 +14054,16 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.4, - "output": 1.75, - "reasoning": 2.625, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.4, "output": 1.75 }, "limit": { "context": 262144, "output": 65535 } }, - "MiniMaxAI/MiniMax-M2": { - "id": "MiniMaxAI/MiniMax-M2", - "name": "MiniMax M2", - "family": "minimaxai", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2025-12-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { - "input": 0.26, - "output": 1.02, - "reasoning": 1.53, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, - "limit": { "context": 196608, "output": 196608 } - }, "MiniMaxAI/MiniMax-M2.1-TEE": { "id": "MiniMaxAI/MiniMax-M2.1-TEE", "name": "MiniMax M2.1 TEE", - "family": "minimaxai", + "family": "minimax", "attachment": false, "reasoning": true, "tool_call": true, @@ -9539,67 +14071,42 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-27", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.3, - "output": 1.2, - "reasoning": 1.7999999999999998, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.27, "output": 1.12 }, "limit": { "context": 196608, "output": 65536 } }, "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16": { "id": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16", "name": "NVIDIA Nemotron 3 Nano 30B A3B BF16", - "family": "nvidia", + "family": "nemotron", "attachment": false, "reasoning": false, "tool_call": true, "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.06, - "output": 0.24, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.06, "output": 0.24 }, "limit": { "context": 262144, "output": 262144 } }, - "ArliAI/QwQ-32B-ArliAI-RpR-v1": { - "id": "ArliAI/QwQ-32B-ArliAI-RpR-v1", - "name": "QwQ 32B ArliAI RpR v1", - "family": "arliai", + "tngtech/TNG-R1T-Chimera-Turbo": { + "id": "tngtech/TNG-R1T-Chimera-Turbo", + "name": "TNG R1T Chimera Turbo", "attachment": false, "reasoning": true, - "tool_call": false, - "interleaved": { "field": "reasoning_content" }, + "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.03, - "output": 0.11, - "reasoning": 0.165, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, - "limit": { "context": 32768, "output": 32768 } + "cost": { "input": 0.22, "output": 0.6 }, + "limit": { "context": 163840, "output": 65536 } }, "tngtech/DeepSeek-R1T-Chimera": { "id": "tngtech/DeepSeek-R1T-Chimera", @@ -9612,18 +14119,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.3, - "output": 1.2, - "reasoning": 1.7999999999999998, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.3, "output": 1.2 }, "limit": { "context": 163840, "output": 163840 } }, "tngtech/DeepSeek-TNG-R1T2-Chimera": { @@ -9637,18 +14136,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.3, - "output": 1.2, - "reasoning": 1.7999999999999998, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.25, "output": 0.85 }, "limit": { "context": 163840, "output": 163840 } }, "tngtech/TNG-R1T-Chimera-TEE": { @@ -9662,70 +14153,48 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.3, - "output": 1.2, - "reasoning": 1.7999999999999998, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.25, "output": 0.85 }, "limit": { "context": 163840, "output": 65536 } }, "XiaomiMiMo/MiMo-V2-Flash": { "id": "XiaomiMiMo/MiMo-V2-Flash", "name": "MiMo V2 Flash", - "family": "xiaomimimo", + "family": "mimo", "attachment": false, "reasoning": false, "tool_call": false, "structured_output": false, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-27", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.17, - "output": 0.65, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, - "limit": { "context": 40960, "output": 40960 } + "cost": { "input": 0.09, "output": 0.29 }, + "limit": { "context": 32768, "output": 8192 } }, - "OpenGVLab/InternVL3-78B": { - "id": "OpenGVLab/InternVL3-78B", - "name": "InternVL3 78B", + "OpenGVLab/InternVL3-78B-TEE": { + "id": "OpenGVLab/InternVL3-78B-TEE", + "name": "InternVL3 78B TEE", "family": "opengvlab", "attachment": false, "reasoning": false, "tool_call": false, "structured_output": true, "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "release_date": "2025-01-06", + "last_updated": "2026-01-10", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.1, - "output": 0.39, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.1, "output": 0.39 }, "limit": { "context": 32768, "output": 32768 } }, "openai/gpt-oss-120b-TEE": { "id": "openai/gpt-oss-120b-TEE", "name": "gpt oss 120b TEE", - "family": "openai", + "family": "gpt-oss", "attachment": false, "reasoning": true, "tool_call": true, @@ -9733,24 +14202,16 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.04, - "output": 0.25, - "reasoning": 0.375, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.04, "output": 0.18 }, "limit": { "context": 131072, "output": 65536 } }, "openai/gpt-oss-20b": { "id": "openai/gpt-oss-20b", "name": "gpt oss 20b", - "family": "openai", + "family": "gpt-oss", "attachment": false, "reasoning": true, "tool_call": true, @@ -9758,18 +14219,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.02, - "output": 0.1, - "reasoning": 0.15000000000000002, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.02, "output": 0.1 }, "limit": { "context": 131072, "output": 131072 } }, "chutesai/Mistral-Small-3.1-24B-Instruct-2503": { @@ -9782,17 +14235,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.03, - "output": 0.11, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.03, "output": 0.11 }, "limit": { "context": 131072, "output": 131072 } }, "chutesai/Mistral-Small-3.2-24B-Instruct-2506": { @@ -9805,65 +14251,25 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.06, - "output": 0.18, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.06, "output": 0.18 }, "limit": { "context": 131072, "output": 131072 } }, - "Alibaba-NLP/Tongyi-DeepResearch-30B-A3B": { - "id": "Alibaba-NLP/Tongyi-DeepResearch-30B-A3B", - "name": "Tongyi DeepResearch 30B A3B", - "family": "alibaba-nlp", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2025-12-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { - "input": 0.1, - "output": 0.39, - "reasoning": 0.585, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, - "limit": { "context": 131072, "output": 131072 } - }, - "mistralai/Devstral-2-123B-Instruct-2512": { - "id": "mistralai/Devstral-2-123B-Instruct-2512", - "name": "Devstral 2 123B Instruct 2512", - "family": "mistralai", + "mistralai/Devstral-2-123B-Instruct-2512-TEE": { + "id": "mistralai/Devstral-2-123B-Instruct-2512-TEE", + "name": "Devstral 2 123B Instruct 2512 TEE", "attachment": false, "reasoning": false, "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "release_date": "2026-01-10", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.05, - "output": 0.22, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.05, "output": 0.22 }, "limit": { "context": 262144, "output": 65536 } }, "unsloth/Mistral-Nemo-Instruct-2407": { @@ -9876,17 +14282,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.02, - "output": 0.04, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.02, "output": 0.04 }, "limit": { "context": 131072, "output": 131072 } }, "unsloth/gemma-3-4b-it": { @@ -9899,17 +14298,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.01, - "output": 0.03, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.01, "output": 0.03 }, "limit": { "context": 96000, "output": 96000 } }, "unsloth/Mistral-Small-24B-Instruct-2501": { @@ -9922,19 +14314,27 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.03, - "output": 0.11, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.03, "output": 0.11 }, "limit": { "context": 32768, "output": 32768 } }, + "unsloth/Llama-3.2-1B-Instruct": { + "id": "unsloth/Llama-3.2-1B-Instruct", + "name": "Llama 3.2 1B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.01, "output": 0.01 }, + "limit": { "context": 32768, "output": 8192 } + }, "unsloth/gemma-3-12b-it": { "id": "unsloth/gemma-3-12b-it", "name": "gemma 3 12b it", @@ -9942,20 +14342,13 @@ "attachment": false, "reasoning": false, "tool_call": false, - "structured_output": false, + "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.03, - "output": 0.1, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.03, "output": 0.1 }, "limit": { "context": 131072, "output": 131072 } }, "unsloth/gemma-3-27b-it": { @@ -9968,17 +14361,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.04, - "output": 0.15, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.04, "output": 0.15 }, "limit": { "context": 96000, "output": 96000 } }, "Qwen/Qwen3-30B-A3B": { @@ -9992,18 +14378,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.06, - "output": 0.22, - "reasoning": 0.33, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.06, "output": 0.22 }, "limit": { "context": 40960, "output": 40960 } }, "Qwen/Qwen3-14B": { @@ -10017,18 +14395,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.05, - "output": 0.22, - "reasoning": 0.33, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.05, "output": 0.22 }, "limit": { "context": 40960, "output": 40960 } }, "Qwen/Qwen2.5-VL-32B-Instruct": { @@ -10041,17 +14411,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.05, - "output": 0.22, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.05, "output": 0.22 }, "limit": { "context": 16384, "output": 16384 } }, "Qwen/Qwen3Guard-Gen-0.6B": { @@ -10064,41 +14427,11 @@ "structured_output": false, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.01, - "output": 0.01, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, - "limit": { "context": 40960, "output": 40960 } - }, - "Qwen/Qwen3-235B-A22B-Instruct-2507": { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2025-12-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { - "input": 0.08, - "output": 0.55, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, - "limit": { "context": 262144, "output": 262144 } + "cost": { "input": 0.01, "output": 0.01 }, + "limit": { "context": 32768, "output": 8192 } }, "Qwen/Qwen2.5-Coder-32B-Instruct": { "id": "Qwen/Qwen2.5-Coder-32B-Instruct", @@ -10110,17 +14443,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.03, - "output": 0.11, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.03, "output": 0.11 }, "limit": { "context": 32768, "output": 32768 } }, "Qwen/Qwen2.5-72B-Instruct": { @@ -10133,17 +14459,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.13, - "output": 0.52, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.13, "output": 0.52 }, "limit": { "context": 32768, "output": 32768 } }, "Qwen/Qwen2.5-VL-72B-Instruct-TEE": { @@ -10153,21 +14472,14 @@ "attachment": false, "reasoning": false, "tool_call": false, - "structured_output": false, + "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", - "modalities": { "input": ["text"], "output": ["text"] }, + "last_updated": "2026-01-10", + "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, - "limit": { "context": 40960, "output": 40960 } + "cost": { "input": 0.15, "output": 0.6 }, + "limit": { "context": 32768, "output": 32768 } }, "Qwen/Qwen3-235B-A22B": { "id": "Qwen/Qwen3-235B-A22B", @@ -10180,43 +14492,12 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.3, - "output": 1.2, - "reasoning": 1.7999999999999998, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.3, "output": 1.2 }, "limit": { "context": 40960, "output": 40960 } }, - "Qwen/Qwen2.5-VL-72B-Instruct": { - "id": "Qwen/Qwen2.5-VL-72B-Instruct", - "name": "Qwen2.5 VL 72B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2025-12-29", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { - "input": 0.07, - "output": 0.26, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, - "limit": { "context": 32768, "output": 32768 } - }, "Qwen/Qwen3-235B-A22B-Instruct-2507-TEE": { "id": "Qwen/Qwen3-235B-A22B-Instruct-2507-TEE", "name": "Qwen3 235B A22B Instruct 2507 TEE", @@ -10227,17 +14508,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.08, - "output": 0.55, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.08, "output": 0.55 }, "limit": { "context": 262144, "output": 65536 } }, "Qwen/Qwen3-32B": { @@ -10251,18 +14525,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.08, - "output": 0.24, - "reasoning": 0.36, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.08, "output": 0.24 }, "limit": { "context": 40960, "output": 40960 } }, "Qwen/Qwen3-VL-235B-A22B-Instruct": { @@ -10272,38 +14538,13 @@ "attachment": false, "reasoning": false, "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2025-12-29", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0, "cache_write": 0, "input_audio": 0, "output_audio": 0 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3-VL-235B-A22B-Thinking": { - "id": "Qwen/Qwen3-VL-235B-A22B-Thinking", - "name": "Qwen3 VL 235B A22B Thinking", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.3, - "output": 1.2, - "reasoning": 1.7999999999999998, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.3, "output": 1.2 }, "limit": { "context": 262144, "output": 262144 } }, "Qwen/Qwen3-30B-A3B-Instruct-2507": { @@ -10316,17 +14557,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.08, - "output": 0.33, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.08, "output": 0.33 }, "limit": { "context": 262144, "output": 262144 } }, "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8-TEE": { @@ -10339,17 +14573,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.22, - "output": 0.95, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.22, "output": 0.95 }, "limit": { "context": 262144, "output": 262144 } }, "Qwen/Qwen3-235B-A22B-Thinking-2507": { @@ -10363,18 +14590,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.11, - "output": 0.6, - "reasoning": 0.8999999999999999, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.11, "output": 0.6 }, "limit": { "context": 262144, "output": 262144 } }, "Qwen/Qwen3-Next-80B-A3B-Instruct": { @@ -10387,16 +14606,31 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.1, "output": 0.8, "cache_read": 0, "cache_write": 0, "input_audio": 0, "output_audio": 0 }, + "cost": { "input": 0.1, "output": 0.8 }, "limit": { "context": 262144, "output": 262144 } }, + "miromind-ai/MiroThinker-v1.5-235B": { + "id": "miromind-ai/MiroThinker-v1.5-235B", + "name": "MiroThinker V1.5 235B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2026-01-10", + "last_updated": "2026-01-10", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.3, "output": 1.2 }, + "limit": { "context": 32768, "output": 8192 } + }, "zai-org/GLM-4.6-TEE": { "id": "zai-org/GLM-4.6-TEE", "name": "GLM 4.6 TEE", - "family": "zai-org", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -10404,24 +14638,16 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.4, - "output": 1.75, - "reasoning": 2.625, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.35, "output": 1.5 }, "limit": { "context": 202752, "output": 65536 } }, "zai-org/GLM-4.5-TEE": { "id": "zai-org/GLM-4.5-TEE", "name": "GLM 4.5 TEE", - "family": "zai-org", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -10429,24 +14655,16 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.35, - "output": 1.55, - "reasoning": 2.325, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.35, "output": 1.55 }, "limit": { "context": 131072, "output": 65536 } }, "zai-org/GLM-4.6V": { "id": "zai-org/GLM-4.6V", "name": "GLM 4.6V", - "family": "zai-org", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -10454,24 +14672,46 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.3, - "output": 0.9, - "reasoning": 1.35, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.3, "output": 0.9 }, "limit": { "context": 131072, "output": 65536 } }, + "zai-org/GLM-4.7-FP8": { + "id": "zai-org/GLM-4.7-FP8", + "name": "GLM 4.7 FP8", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.3, "output": 1.2 }, + "limit": { "context": 202752, "output": 65535 } + }, + "zai-org/GLM-4.6-FP8": { + "id": "zai-org/GLM-4.6-FP8", + "name": "GLM 4.6 FP8", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.3, "output": 1.2 }, + "limit": { "context": 202752, "output": 65535 } + }, "zai-org/GLM-4.7-TEE": { "id": "zai-org/GLM-4.7-TEE", "name": "GLM 4.7 TEE", - "family": "zai-org", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -10479,24 +14719,46 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.4, - "output": 1.5, - "reasoning": 2.25, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.4, "output": 1.5 }, + "limit": { "context": 202752, "output": 65535 } + }, + "zai-org/GLM-4.5-FP8": { + "id": "zai-org/GLM-4.5-FP8", + "name": "GLM 4.5 FP8", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.3, "output": 1.2 }, + "limit": { "context": 131072, "output": 65536 } + }, + "zai-org/GLM-4.7-Flash": { + "id": "zai-org/GLM-4.7-Flash", + "name": "GLM 4.7 Flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.06, "output": 0.35 }, "limit": { "context": 202752, "output": 65535 } }, "zai-org/GLM-4.5-Air": { "id": "zai-org/GLM-4.5-Air", "name": "GLM 4.5 Air", - "family": "zai-org", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -10504,47 +14766,32 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.05, - "output": 0.22, - "reasoning": 0.33, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.05, "output": 0.22 }, "limit": { "context": 131072, "output": 131072 } }, "deepseek-ai/DeepSeek-V3-0324-TEE": { "id": "deepseek-ai/DeepSeek-V3-0324-TEE", "name": "DeepSeek V3 0324 TEE", - "family": "deepseek-ai", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.24, - "output": 0.84, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.19, "output": 0.87 }, "limit": { "context": 163840, "output": 65536 } }, "deepseek-ai/DeepSeek-V3.2-Speciale-TEE": { "id": "deepseek-ai/DeepSeek-V3.2-Speciale-TEE", "name": "DeepSeek V3.2 Speciale TEE", - "family": "deepseek-ai", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": false, @@ -10552,24 +14799,16 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.27, - "output": 0.41, - "reasoning": 0.615, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.27, "output": 0.41 }, "limit": { "context": 163840, "output": 65536 } }, "deepseek-ai/DeepSeek-V3.1-Terminus-TEE": { "id": "deepseek-ai/DeepSeek-V3.1-Terminus-TEE", "name": "DeepSeek V3.1 Terminus TEE", - "family": "deepseek-ai", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -10577,40 +14816,32 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.23, - "output": 0.9, - "reasoning": 1.35, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.23, "output": 0.9 }, "limit": { "context": 163840, "output": 65536 } }, "deepseek-ai/DeepSeek-V3": { "id": "deepseek-ai/DeepSeek-V3", "name": "DeepSeek V3", - "family": "deepseek-ai", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": false, "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0, "cache_write": 0, "input_audio": 0, "output_audio": 0 }, + "cost": { "input": 0.3, "output": 1.2 }, "limit": { "context": 163840, "output": 163840 } }, "deepseek-ai/DeepSeek-R1-TEE": { "id": "deepseek-ai/DeepSeek-R1-TEE", "name": "DeepSeek R1 TEE", - "family": "deepseek-ai", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": false, @@ -10618,24 +14849,16 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.3, - "output": 1.2, - "reasoning": 1.7999999999999998, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.3, "output": 1.2 }, "limit": { "context": 163840, "output": 163840 } }, "deepseek-ai/DeepSeek-R1-Distill-Llama-70B": { "id": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B", "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-ai", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -10643,49 +14866,16 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.03, - "output": 0.11, - "reasoning": 0.165, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.03, "output": 0.11 }, "limit": { "context": 131072, "output": 131072 } }, - "deepseek-ai/DeepSeek-V3.1": { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "DeepSeek V3.1", - "family": "deepseek-ai", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2025-12-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { - "input": 0.2, - "output": 0.8, - "reasoning": 1.2000000000000002, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, - "limit": { "context": 163840, "output": 65536 } - }, "deepseek-ai/DeepSeek-R1-0528-TEE": { "id": "deepseek-ai/DeepSeek-R1-0528-TEE", "name": "DeepSeek R1 0528 TEE", - "family": "deepseek-ai", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -10693,24 +14883,16 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.4, - "output": 1.75, - "reasoning": 2.625, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, - "limit": { "context": 163840, "output": 163840 } + "cost": { "input": 0.4, "output": 1.75 }, + "limit": { "context": 163840, "output": 65536 } }, "deepseek-ai/DeepSeek-V3.2-TEE": { "id": "deepseek-ai/DeepSeek-V3.2-TEE", "name": "DeepSeek V3.2 TEE", - "family": "deepseek-ai", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -10718,24 +14900,16 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.27, - "output": 0.41, - "reasoning": 0.615, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, - "limit": { "context": 163840, "output": 16384 } + "cost": { "input": 0.25, "output": 0.38 }, + "limit": { "context": 163840, "output": 65536 } }, "deepseek-ai/DeepSeek-V3.1-TEE": { "id": "deepseek-ai/DeepSeek-V3.1-TEE", "name": "DeepSeek V3.1 TEE", - "family": "deepseek-ai", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -10743,18 +14917,10 @@ "structured_output": true, "temperature": true, "release_date": "2025-12-29", - "last_updated": "2025-12-29", + "last_updated": "2026-01-10", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { - "input": 0.2, - "output": 0.8, - "reasoning": 1.2000000000000002, - "cache_read": 0, - "cache_write": 0, - "input_audio": 0, - "output_audio": 0 - }, + "cost": { "input": 0.2, "output": 0.8 }, "limit": { "context": 163840, "output": 65536 } } } @@ -10767,10 +14933,27 @@ "name": "Kimi For Coding", "doc": "https://www.kimi.com/coding/docs/en/third-party-agents.html", "models": { + "k2p5": { + "id": "k2p5", + "name": "Kimi K2.5", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, + "limit": { "context": 262144, "output": 32768 } + }, "kimi-k2-thinking": { "id": "kimi-k2-thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -10859,7 +15042,7 @@ "deepseek-v3-0324": { "id": "deepseek-v3-0324", "name": "DeepSeek V3 0324", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -10891,7 +15074,7 @@ "kimi-k2-instruct": { "id": "kimi-k2-instruct", "name": "Kimi K2 Instruct", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -10907,7 +15090,7 @@ "gpt-4.1": { "id": "gpt-4.1", "name": "GPT 4.1", - "family": "gpt-4.1", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": true, @@ -10970,7 +15153,7 @@ "qwen3-coder-480b-a35b-instruct": { "id": "qwen3-coder-480b-a35b-instruct", "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -11002,7 +15185,7 @@ "llama-3.1-405b-instruct": { "id": "llama-3.1-405b-instruct", "name": "Llama 3.1 405B Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -11033,7 +15216,7 @@ "qwen3-32b": { "id": "qwen3-32b", "name": "Qwen3 32B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -11075,7 +15258,7 @@ "xai/grok-3": { "id": "xai/grok-3", "name": "Grok 3", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -11091,7 +15274,7 @@ "xai/grok-3-mini": { "id": "xai/grok-3-mini", "name": "Grok 3 Mini", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -11139,7 +15322,7 @@ "cohere/cohere-command-r-plus-08-2024": { "id": "cohere/cohere-command-r-plus-08-2024", "name": "Cohere Command R+ 08-2024", - "family": "command-r-plus", + "family": "command-r", "attachment": false, "reasoning": true, "tool_call": true, @@ -11171,7 +15354,7 @@ "cohere/cohere-command-r-plus": { "id": "cohere/cohere-command-r-plus", "name": "Cohere Command R+", - "family": "command-r-plus", + "family": "command-r", "attachment": false, "reasoning": true, "tool_call": true, @@ -11187,7 +15370,7 @@ "deepseek/deepseek-r1-0528": { "id": "deepseek/deepseek-r1-0528", "name": "DeepSeek-R1-0528", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -11203,7 +15386,7 @@ "deepseek/deepseek-r1": { "id": "deepseek/deepseek-r1", "name": "DeepSeek-R1", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -11219,7 +15402,7 @@ "deepseek/deepseek-v3-0324": { "id": "deepseek/deepseek-v3-0324", "name": "DeepSeek-V3-0324", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -11251,7 +15434,7 @@ "mistral-ai/ministral-3b": { "id": "mistral-ai/ministral-3b", "name": "Ministral 3B", - "family": "ministral-3b", + "family": "ministral", "attachment": false, "reasoning": true, "tool_call": true, @@ -11331,7 +15514,7 @@ "microsoft/phi-3-medium-128k-instruct": { "id": "microsoft/phi-3-medium-128k-instruct", "name": "Phi-3-medium instruct (128k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -11347,7 +15530,7 @@ "microsoft/phi-3-mini-4k-instruct": { "id": "microsoft/phi-3-mini-4k-instruct", "name": "Phi-3-mini instruct (4k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -11363,7 +15546,7 @@ "microsoft/phi-3-small-128k-instruct": { "id": "microsoft/phi-3-small-128k-instruct", "name": "Phi-3-small instruct (128k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -11379,7 +15562,7 @@ "microsoft/phi-3.5-vision-instruct": { "id": "microsoft/phi-3.5-vision-instruct", "name": "Phi-3.5-vision instruct (128k)", - "family": "phi-3.5", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -11395,7 +15578,7 @@ "microsoft/phi-4": { "id": "microsoft/phi-4", "name": "Phi-4", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -11411,7 +15594,7 @@ "microsoft/phi-4-mini-reasoning": { "id": "microsoft/phi-4-mini-reasoning", "name": "Phi-4-mini-reasoning", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -11427,7 +15610,7 @@ "microsoft/phi-3-small-8k-instruct": { "id": "microsoft/phi-3-small-8k-instruct", "name": "Phi-3-small instruct (8k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -11443,7 +15626,7 @@ "microsoft/phi-3.5-mini-instruct": { "id": "microsoft/phi-3.5-mini-instruct", "name": "Phi-3.5-mini instruct (128k)", - "family": "phi-3.5", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -11459,7 +15642,7 @@ "microsoft/phi-4-multimodal-instruct": { "id": "microsoft/phi-4-multimodal-instruct", "name": "Phi-4-multimodal-instruct", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -11475,7 +15658,7 @@ "microsoft/phi-3-mini-128k-instruct": { "id": "microsoft/phi-3-mini-128k-instruct", "name": "Phi-3-mini instruct (128k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -11491,7 +15674,7 @@ "microsoft/phi-3.5-moe-instruct": { "id": "microsoft/phi-3.5-moe-instruct", "name": "Phi-3.5-MoE instruct (128k)", - "family": "phi-3.5", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -11507,7 +15690,7 @@ "microsoft/phi-4-mini-instruct": { "id": "microsoft/phi-4-mini-instruct", "name": "Phi-4-mini-instruct", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -11523,7 +15706,7 @@ "microsoft/phi-3-medium-4k-instruct": { "id": "microsoft/phi-3-medium-4k-instruct", "name": "Phi-3-medium instruct (4k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -11539,7 +15722,7 @@ "microsoft/phi-4-reasoning": { "id": "microsoft/phi-4-reasoning", "name": "Phi-4-Reasoning", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -11555,7 +15738,7 @@ "microsoft/mai-ds-r1": { "id": "microsoft/mai-ds-r1", "name": "MAI-DS-R1", - "family": "mai-ds-r1", + "family": "mai", "attachment": false, "reasoning": true, "tool_call": true, @@ -11571,7 +15754,7 @@ "openai/gpt-4.1-nano": { "id": "openai/gpt-4.1-nano", "name": "GPT-4.1-nano", - "family": "gpt-4.1-nano", + "family": "gpt-nano", "attachment": true, "reasoning": false, "tool_call": true, @@ -11587,7 +15770,7 @@ "openai/gpt-4.1-mini": { "id": "openai/gpt-4.1-mini", "name": "GPT-4.1-mini", - "family": "gpt-4.1-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -11603,7 +15786,7 @@ "openai/o1-preview": { "id": "openai/o1-preview", "name": "OpenAI o1-preview", - "family": "o1-preview", + "family": "o", "attachment": false, "reasoning": true, "tool_call": false, @@ -11619,7 +15802,7 @@ "openai/o3-mini": { "id": "openai/o3-mini", "name": "OpenAI o3-mini", - "family": "o3-mini", + "family": "o-mini", "attachment": false, "reasoning": true, "tool_call": false, @@ -11635,7 +15818,7 @@ "openai/gpt-4o": { "id": "openai/gpt-4o", "name": "GPT-4o", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -11651,7 +15834,7 @@ "openai/gpt-4.1": { "id": "openai/gpt-4.1", "name": "GPT-4.1", - "family": "gpt-4.1", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -11667,7 +15850,7 @@ "openai/o4-mini": { "id": "openai/o4-mini", "name": "OpenAI o4-mini", - "family": "o4-mini", + "family": "o-mini", "attachment": false, "reasoning": true, "tool_call": false, @@ -11683,7 +15866,7 @@ "openai/o1": { "id": "openai/o1", "name": "OpenAI o1", - "family": "o1", + "family": "o", "attachment": false, "reasoning": true, "tool_call": false, @@ -11699,7 +15882,7 @@ "openai/o1-mini": { "id": "openai/o1-mini", "name": "OpenAI o1-mini", - "family": "o1-mini", + "family": "o-mini", "attachment": false, "reasoning": true, "tool_call": false, @@ -11715,7 +15898,7 @@ "openai/o3": { "id": "openai/o3", "name": "OpenAI o3", - "family": "o3", + "family": "o", "attachment": false, "reasoning": true, "tool_call": false, @@ -11731,7 +15914,7 @@ "openai/gpt-4o-mini": { "id": "openai/gpt-4o-mini", "name": "GPT-4o mini", - "family": "gpt-4o-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -11747,7 +15930,7 @@ "meta/llama-3.2-11b-vision-instruct": { "id": "meta/llama-3.2-11b-vision-instruct", "name": "Llama-3.2-11B-Vision-Instruct", - "family": "llama-3.2", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -11763,7 +15946,7 @@ "meta/meta-llama-3.1-405b-instruct": { "id": "meta/meta-llama-3.1-405b-instruct", "name": "Meta-Llama-3.1-405B-Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -11779,7 +15962,7 @@ "meta/llama-4-maverick-17b-128e-instruct-fp8": { "id": "meta/llama-4-maverick-17b-128e-instruct-fp8", "name": "Llama 4 Maverick 17B 128E Instruct FP8", - "family": "llama-4-maverick", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -11795,7 +15978,7 @@ "meta/meta-llama-3-70b-instruct": { "id": "meta/meta-llama-3-70b-instruct", "name": "Meta-Llama-3-70B-Instruct", - "family": "llama-3", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -11811,7 +15994,7 @@ "meta/meta-llama-3.1-70b-instruct": { "id": "meta/meta-llama-3.1-70b-instruct", "name": "Meta-Llama-3.1-70B-Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -11827,7 +16010,7 @@ "meta/llama-3.3-70b-instruct": { "id": "meta/llama-3.3-70b-instruct", "name": "Llama-3.3-70B-Instruct", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -11843,7 +16026,7 @@ "meta/llama-3.2-90b-vision-instruct": { "id": "meta/llama-3.2-90b-vision-instruct", "name": "Llama-3.2-90B-Vision-Instruct", - "family": "llama-3.2", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -11859,7 +16042,7 @@ "meta/meta-llama-3-8b-instruct": { "id": "meta/meta-llama-3-8b-instruct", "name": "Meta-Llama-3-8B-Instruct", - "family": "llama-3", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -11875,7 +16058,7 @@ "meta/llama-4-scout-17b-16e-instruct": { "id": "meta/llama-4-scout-17b-16e-instruct", "name": "Llama 4 Scout 17B 16E Instruct", - "family": "llama-4-scout", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -11891,7 +16074,7 @@ "meta/meta-llama-3.1-8b-instruct": { "id": "meta/meta-llama-3.1-8b-instruct", "name": "Meta-Llama-3.1-8B-Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -11907,7 +16090,7 @@ "ai21-labs/ai21-jamba-1.5-large": { "id": "ai21-labs/ai21-jamba-1.5-large", "name": "AI21 Jamba 1.5 Large", - "family": "jamba-1.5-large", + "family": "jamba", "attachment": false, "reasoning": true, "tool_call": true, @@ -11923,7 +16106,7 @@ "ai21-labs/ai21-jamba-1.5-mini": { "id": "ai21-labs/ai21-jamba-1.5-mini", "name": "AI21 Jamba 1.5 Mini", - "family": "jamba-1.5-mini", + "family": "jamba", "attachment": false, "reasoning": true, "tool_call": true, @@ -11948,7 +16131,7 @@ "moonshotai/Kimi-K2-Instruct": { "id": "moonshotai/Kimi-K2-Instruct", "name": "Kimi K2 Instruct", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -11961,10 +16144,43 @@ "cost": { "input": 1, "output": 3 }, "limit": { "context": 131072, "output": 32768 } }, + "moonshotai/Kimi-K2.5": { + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2026-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.5, "output": 2.8 }, + "limit": { "context": 262144, "output": 32768 } + }, + "moonshotai/Kimi-K2-Instruct-0905": { + "id": "moonshotai/Kimi-K2-Instruct-0905", + "name": "Kimi K2 Instruct-0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 1, "output": 3 }, + "limit": { "context": 262144, "output": 32768 } + }, "moonshotai/Kimi-K2-Thinking": { "id": "moonshotai/Kimi-K2-Thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -11978,6 +16194,23 @@ "cost": { "input": 1.2, "output": 4 }, "limit": { "context": 262144, "output": 32768 } }, + "moonshotai/Kimi-K2-5": { + "id": "moonshotai/Kimi-K2-5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.5, "output": 2.8 }, + "limit": { "context": 262144, "output": 32768 } + }, "essentialai/Rnj-1-Instruct": { "id": "essentialai/Rnj-1-Instruct", "name": "Rnj-1 Instruct", @@ -12013,7 +16246,7 @@ "meta-llama/Llama-3.3-70B-Instruct-Turbo": { "id": "meta-llama/Llama-3.3-70B-Instruct-Turbo", "name": "Llama 3.3 70B", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -12029,7 +16262,7 @@ "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": { "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8", "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -12042,10 +16275,58 @@ "cost": { "input": 2, "output": 2 }, "limit": { "context": 262144, "output": 66536 } }, + "Qwen/Qwen3-235B-A22B-Instruct-2507-tput": { + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507-tput", + "name": "Qwen3 235B A22B Instruct 2507 FP8", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.2, "output": 0.6 }, + "limit": { "context": 262144, "output": 131072 } + }, + "Qwen/Qwen3-Next-80B-A3B-Instruct": { + "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "name": "Qwen3-Next-80B-A3B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.15, "output": 1.5 }, + "limit": { "context": 262144, "output": 131072 } + }, + "zai-org/GLM-4.7": { + "id": "zai-org/GLM-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.45, "output": 2 }, + "limit": { "context": 200000, "output": 128000 } + }, "zai-org/GLM-4.6": { "id": "zai-org/GLM-4.6", "name": "GLM 4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": false, "tool_call": true, @@ -12061,7 +16342,7 @@ "deepseek-ai/DeepSeek-R1": { "id": "deepseek-ai/DeepSeek-R1", "name": "DeepSeek R1", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": false, @@ -12077,7 +16358,7 @@ "deepseek-ai/DeepSeek-V3": { "id": "deepseek-ai/DeepSeek-V3", "name": "DeepSeek V3", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -12093,7 +16374,7 @@ "deepseek-ai/DeepSeek-V3-1": { "id": "deepseek-ai/DeepSeek-V3-1", "name": "DeepSeek V3.1", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -12118,7 +16399,7 @@ "gpt-4.1-nano": { "id": "gpt-4.1-nano", "name": "GPT-4.1 nano", - "family": "gpt-4.1-nano", + "family": "gpt-nano", "attachment": true, "reasoning": false, "tool_call": true, @@ -12134,7 +16415,7 @@ "text-embedding-3-small": { "id": "text-embedding-3-small", "name": "text-embedding-3-small", - "family": "text-embedding-3-small", + "family": "text-embedding", "attachment": false, "reasoning": false, "tool_call": false, @@ -12164,7 +16445,7 @@ "deepseek-r1-0528": { "id": "deepseek-r1-0528", "name": "DeepSeek-R1-0528", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -12196,7 +16477,7 @@ "phi-3-medium-128k-instruct": { "id": "phi-3-medium-128k-instruct", "name": "Phi-3-medium-instruct (128k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -12212,7 +16493,7 @@ "gpt-4": { "id": "gpt-4", "name": "GPT-4", - "family": "gpt-4", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": true, @@ -12246,7 +16527,7 @@ "gpt-5.2-chat": { "id": "gpt-5.2-chat", "name": "GPT-5.2 Chat", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -12263,7 +16544,7 @@ "llama-3.2-11b-vision-instruct": { "id": "llama-3.2-11b-vision-instruct", "name": "Llama-3.2-11B-Vision-Instruct", - "family": "llama-3.2", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -12341,7 +16622,7 @@ "phi-4-mini": { "id": "phi-4-mini", "name": "Phi-4-mini", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": true, @@ -12357,7 +16638,7 @@ "gpt-4-32k": { "id": "gpt-4-32k", "name": "GPT-4 32K", - "family": "gpt-4", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": true, @@ -12370,10 +16651,26 @@ "cost": { "input": 60, "output": 120 }, "limit": { "context": 32768, "output": 32768 } }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, + "limit": { "context": 400000, "output": 128000 } + }, "meta-llama-3.1-405b-instruct": { "id": "meta-llama-3.1-405b-instruct", "name": "Meta-Llama-3.1-405B-Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -12389,7 +16686,7 @@ "deepseek-r1": { "id": "deepseek-r1", "name": "DeepSeek-R1", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": false, @@ -12421,7 +16718,7 @@ "gpt-5.1-codex": { "id": "gpt-5.1-codex", "name": "GPT-5.1 Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": false, "reasoning": true, "tool_call": true, @@ -12437,7 +16734,7 @@ "phi-3-mini-4k-instruct": { "id": "phi-3-mini-4k-instruct", "name": "Phi-3-mini-instruct (4k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -12471,7 +16768,7 @@ "deepseek-v3.2-speciale": { "id": "deepseek-v3.2-speciale", "name": "DeepSeek-V3.2-Speciale", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": false, @@ -12481,7 +16778,7 @@ "last_updated": "2025-12-01", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.28, "output": 0.42 }, + "cost": { "input": 0.58, "output": 1.68 }, "limit": { "context": 128000, "output": 128000 } }, "mistral-medium-2505": { @@ -12513,14 +16810,14 @@ "last_updated": "2025-08-01", "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 1.5, "cache_write": 18.75 }, + "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, "limit": { "context": 200000, "output": 64000 }, "provider": { "npm": "@ai-sdk/anthropic" } }, "phi-3-small-128k-instruct": { "id": "phi-3-small-128k-instruct", "name": "Phi-3-small-instruct (128k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -12552,7 +16849,7 @@ "cohere-command-r-plus-08-2024": { "id": "cohere-command-r-plus-08-2024", "name": "Command R+", - "family": "command-r-plus", + "family": "command-r", "attachment": false, "reasoning": true, "tool_call": true, @@ -12568,7 +16865,7 @@ "llama-4-maverick-17b-128e-instruct-fp8": { "id": "llama-4-maverick-17b-128e-instruct-fp8", "name": "Llama 4 Maverick 17B 128E Instruct FP8", - "family": "llama-4-maverick", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -12584,7 +16881,7 @@ "gpt-4.1-mini": { "id": "gpt-4.1-mini", "name": "GPT-4.1 mini", - "family": "gpt-4.1-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -12600,7 +16897,7 @@ "gpt-5-chat": { "id": "gpt-5-chat", "name": "GPT-5 Chat", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": false, @@ -12616,7 +16913,7 @@ "deepseek-v3.1": { "id": "deepseek-v3.1", "name": "DeepSeek-V3.1", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -12632,7 +16929,7 @@ "phi-4": { "id": "phi-4", "name": "Phi-4", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -12648,7 +16945,7 @@ "phi-4-mini-reasoning": { "id": "phi-4-mini-reasoning", "name": "Phi-4-mini-reasoning", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -12682,7 +16979,7 @@ "gpt-3.5-turbo-0125": { "id": "gpt-3.5-turbo-0125", "name": "GPT-3.5 Turbo 0125", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": false, @@ -12698,7 +16995,7 @@ "grok-3": { "id": "grok-3", "name": "Grok 3", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -12714,7 +17011,7 @@ "text-embedding-3-large": { "id": "text-embedding-3-large", "name": "text-embedding-3-large", - "family": "text-embedding-3-large", + "family": "text-embedding", "attachment": false, "reasoning": false, "tool_call": false, @@ -12728,7 +17025,7 @@ "meta-llama-3-70b-instruct": { "id": "meta-llama-3-70b-instruct", "name": "Meta-Llama-3-70B-Instruct", - "family": "llama-3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -12744,7 +17041,7 @@ "deepseek-v3-0324": { "id": "deepseek-v3-0324", "name": "DeepSeek-V3-0324", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -12760,7 +17057,7 @@ "phi-3-small-8k-instruct": { "id": "phi-3-small-8k-instruct", "name": "Phi-3-small-instruct (8k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -12776,7 +17073,7 @@ "meta-llama-3.1-70b-instruct": { "id": "meta-llama-3.1-70b-instruct", "name": "Meta-Llama-3.1-70B-Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -12792,7 +17089,7 @@ "gpt-4-turbo": { "id": "gpt-4-turbo", "name": "GPT-4 Turbo", - "family": "gpt-4-turbo", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -12808,7 +17105,7 @@ "gpt-3.5-turbo-0613": { "id": "gpt-3.5-turbo-0613", "name": "GPT-3.5 Turbo 0613", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": false, @@ -12824,7 +17121,7 @@ "phi-3.5-mini-instruct": { "id": "phi-3.5-mini-instruct", "name": "Phi-3.5-mini-instruct", - "family": "phi-3.5", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -12840,7 +17137,7 @@ "o1-preview": { "id": "o1-preview", "name": "o1-preview", - "family": "o1-preview", + "family": "o", "attachment": false, "reasoning": true, "tool_call": true, @@ -12856,7 +17153,7 @@ "llama-3.3-70b-instruct": { "id": "llama-3.3-70b-instruct", "name": "Llama-3.3-70B-Instruct", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -12872,7 +17169,7 @@ "gpt-5.1-codex-mini": { "id": "gpt-5.1-codex-mini", "name": "GPT-5.1 Codex Mini", - "family": "gpt-5-codex-mini", + "family": "gpt-codex", "attachment": false, "reasoning": true, "tool_call": true, @@ -12888,7 +17185,7 @@ "kimi-k2-thinking": { "id": "kimi-k2-thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -12919,7 +17216,7 @@ "o3-mini": { "id": "o3-mini", "name": "o3-mini", - "family": "o3-mini", + "family": "o-mini", "attachment": false, "reasoning": true, "tool_call": true, @@ -12935,7 +17232,7 @@ "gpt-5.1": { "id": "gpt-5.1", "name": "GPT-5.1", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -12951,7 +17248,7 @@ "gpt-5-nano": { "id": "gpt-5-nano", "name": "GPT-5 Nano", - "family": "gpt-5-nano", + "family": "gpt-nano", "attachment": true, "reasoning": true, "tool_call": true, @@ -12967,7 +17264,7 @@ "gpt-5-codex": { "id": "gpt-5-codex", "name": "GPT-5-Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": false, "reasoning": true, "tool_call": true, @@ -12983,7 +17280,7 @@ "llama-3.2-90b-vision-instruct": { "id": "llama-3.2-90b-vision-instruct", "name": "Llama-3.2-90B-Vision-Instruct", - "family": "llama-3.2", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -12999,7 +17296,7 @@ "phi-3-mini-128k-instruct": { "id": "phi-3-mini-128k-instruct", "name": "Phi-3-mini-instruct (128k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -13015,7 +17312,7 @@ "gpt-4o": { "id": "gpt-4o", "name": "GPT-4o", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -13031,7 +17328,7 @@ "gpt-3.5-turbo-0301": { "id": "gpt-3.5-turbo-0301", "name": "GPT-3.5 Turbo 0301", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": false, @@ -13047,7 +17344,7 @@ "ministral-3b": { "id": "ministral-3b", "name": "Ministral 3B", - "family": "ministral-3b", + "family": "ministral", "attachment": false, "reasoning": false, "tool_call": true, @@ -13063,7 +17360,7 @@ "gpt-4.1": { "id": "gpt-4.1", "name": "GPT-4.1", - "family": "gpt-4.1", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -13079,7 +17376,7 @@ "o4-mini": { "id": "o4-mini", "name": "o4-mini", - "family": "o4-mini", + "family": "o-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -13095,7 +17392,7 @@ "phi-4-multimodal": { "id": "phi-4-multimodal", "name": "Phi-4-multimodal", - "family": "phi-4", + "family": "phi", "attachment": true, "reasoning": false, "tool_call": false, @@ -13111,7 +17408,7 @@ "meta-llama-3-8b-instruct": { "id": "meta-llama-3-8b-instruct", "name": "Meta-Llama-3-8B-Instruct", - "family": "llama-3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -13127,7 +17424,7 @@ "o1": { "id": "o1", "name": "o1", - "family": "o1", + "family": "o", "attachment": false, "reasoning": true, "tool_call": true, @@ -13143,7 +17440,7 @@ "grok-3-mini": { "id": "grok-3-mini", "name": "Grok 3 Mini", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -13159,7 +17456,7 @@ "gpt-5.1-chat": { "id": "gpt-5.1-chat", "name": "GPT-5.1 Chat", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -13175,7 +17472,7 @@ "phi-3.5-moe-instruct": { "id": "phi-3.5-moe-instruct", "name": "Phi-3.5-MoE-instruct", - "family": "phi-3.5", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -13191,7 +17488,7 @@ "gpt-5-mini": { "id": "gpt-5-mini", "name": "GPT-5 Mini", - "family": "gpt-5-mini", + "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -13207,7 +17504,7 @@ "o1-mini": { "id": "o1-mini", "name": "o1-mini", - "family": "o1-mini", + "family": "o-mini", "attachment": false, "reasoning": true, "tool_call": true, @@ -13223,7 +17520,7 @@ "llama-4-scout-17b-16e-instruct": { "id": "llama-4-scout-17b-16e-instruct", "name": "Llama 4 Scout 17B 16E Instruct", - "family": "llama-4-scout", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -13254,7 +17551,7 @@ "text-embedding-ada-002": { "id": "text-embedding-ada-002", "name": "text-embedding-ada-002", - "family": "text-embedding-ada", + "family": "text-embedding", "attachment": false, "reasoning": false, "tool_call": false, @@ -13268,7 +17565,7 @@ "meta-llama-3.1-8b-instruct": { "id": "meta-llama-3.1-8b-instruct", "name": "Meta-Llama-3.1-8B-Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -13284,7 +17581,7 @@ "gpt-5.1-codex-max": { "id": "gpt-5.1-codex-max", "name": "GPT-5.1 Codex Max", - "family": "gpt-5-codex-max", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -13301,7 +17598,7 @@ "gpt-3.5-turbo-instruct": { "id": "gpt-3.5-turbo-instruct", "name": "GPT-3.5 Turbo Instruct", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": false, @@ -13333,7 +17630,7 @@ "o3": { "id": "o3", "name": "o3", - "family": "o3", + "family": "o", "attachment": true, "reasoning": true, "tool_call": true, @@ -13349,7 +17646,7 @@ "codex-mini": { "id": "codex-mini", "name": "Codex Mini", - "family": "codex", + "family": "gpt-codex-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -13365,7 +17662,7 @@ "phi-3-medium-4k-instruct": { "id": "phi-3-medium-4k-instruct", "name": "Phi-3-medium-instruct (4k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -13381,7 +17678,7 @@ "phi-4-reasoning": { "id": "phi-4-reasoning", "name": "Phi-4-reasoning", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": false, @@ -13397,7 +17694,7 @@ "gpt-4-turbo-vision": { "id": "gpt-4-turbo-vision", "name": "GPT-4 Turbo Vision", - "family": "gpt-4-turbo", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -13413,7 +17710,7 @@ "phi-4-reasoning-plus": { "id": "phi-4-reasoning-plus", "name": "Phi-4-reasoning-plus", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": false, @@ -13429,7 +17726,7 @@ "gpt-4o-mini": { "id": "gpt-4o-mini", "name": "GPT-4o mini", - "family": "gpt-4o-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -13445,7 +17742,7 @@ "gpt-5": { "id": "gpt-5", "name": "GPT-5", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -13461,7 +17758,7 @@ "mai-ds-r1": { "id": "mai-ds-r1", "name": "MAI-DS-R1", - "family": "mai-ds-r1", + "family": "mai", "attachment": false, "reasoning": true, "tool_call": false, @@ -13477,7 +17774,7 @@ "deepseek-v3.2": { "id": "deepseek-v3.2", "name": "DeepSeek-V3.2", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -13487,13 +17784,13 @@ "last_updated": "2025-12-01", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.28, "output": 0.42, "cache_read": 0.028 }, + "cost": { "input": 0.58, "output": 1.68 }, "limit": { "context": 128000, "output": 128000 } }, "gpt-5-pro": { "id": "gpt-5-pro", "name": "GPT-5 Pro", - "family": "gpt-5-pro", + "family": "gpt-pro", "attachment": true, "reasoning": true, "tool_call": true, @@ -13526,7 +17823,7 @@ "gpt-5.2": { "id": "gpt-5.2", "name": "GPT-5.2", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -13574,7 +17871,7 @@ "gpt-3.5-turbo-1106": { "id": "gpt-3.5-turbo-1106", "name": "GPT-3.5 Turbo 1106", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": false, @@ -13600,7 +17897,7 @@ "moonshotai/Kimi-K2-Instruct-0905": { "id": "moonshotai/Kimi-K2-Instruct-0905", "name": "Kimi K2 Instruct 0905", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -13616,7 +17913,7 @@ "moonshotai/Kimi-K2-Thinking": { "id": "moonshotai/Kimi-K2-Thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -13633,7 +17930,7 @@ "Qwen/Qwen3-Coder-480B-A35B-Instruct": { "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -13649,7 +17946,7 @@ "zai-org/GLM-4.7": { "id": "zai-org/GLM-4.7", "name": "GLM-4.7", - "family": "glm-4.7", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -13666,7 +17963,7 @@ "zai-org/GLM-4.6": { "id": "zai-org/GLM-4.6", "name": "GLM 4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": false, "tool_call": true, @@ -13682,7 +17979,7 @@ "deepseek-ai/DeepSeek-V3.2": { "id": "deepseek-ai/DeepSeek-V3.2", "name": "DeepSeek V3.2", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -13698,6 +17995,48 @@ } } }, + "moark": { + "id": "moark", + "env": ["MOARK_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://moark.com/v1", + "name": "Moark", + "doc": "https://moark.com/docs/openapi/v1#tag/%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90", + "models": { + "GLM-4.7": { + "id": "GLM-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 3.5, "output": 14 }, + "limit": { "context": 204800, "output": 131072 } + }, + "MiniMax-M2.1": { + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 2.1, "output": 8.4 }, + "limit": { "context": 204800, "output": 131072 } + } + } + }, "siliconflow": { "id": "siliconflow", "env": ["SILICONFLOW_API_KEY"], @@ -13709,7 +18048,7 @@ "inclusionAI/Ling-mini-2.0": { "id": "inclusionAI/Ling-mini-2.0", "name": "inclusionAI/Ling-mini-2.0", - "family": "inclusionai-ling-mini", + "family": "ling", "attachment": false, "reasoning": false, "tool_call": true, @@ -13725,7 +18064,7 @@ "inclusionAI/Ling-flash-2.0": { "id": "inclusionAI/Ling-flash-2.0", "name": "inclusionAI/Ling-flash-2.0", - "family": "inclusionai-ling-flash", + "family": "ling", "attachment": false, "reasoning": false, "tool_call": true, @@ -13741,7 +18080,7 @@ "inclusionAI/Ring-flash-2.0": { "id": "inclusionAI/Ring-flash-2.0", "name": "inclusionAI/Ring-flash-2.0", - "family": "inclusionai-ring-flash", + "family": "ring", "attachment": false, "reasoning": true, "tool_call": true, @@ -13757,7 +18096,7 @@ "moonshotai/Kimi-K2-Instruct": { "id": "moonshotai/Kimi-K2-Instruct", "name": "moonshotai/Kimi-K2-Instruct", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -13789,7 +18128,7 @@ "moonshotai/Kimi-K2-Instruct-0905": { "id": "moonshotai/Kimi-K2-Instruct-0905", "name": "moonshotai/Kimi-K2-Instruct-0905", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -13805,7 +18144,7 @@ "moonshotai/Kimi-K2-Thinking": { "id": "moonshotai/Kimi-K2-Thinking", "name": "moonshotai/Kimi-K2-Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -13882,10 +18221,26 @@ "cost": { "input": 0.55, "output": 2.2 }, "limit": { "context": 131000, "output": 131000 } }, + "MiniMaxAI/MiniMax-M2.1": { + "id": "MiniMaxAI/MiniMax-M2.1", + "name": "MiniMaxAI/MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 1.2 }, + "limit": { "context": 197000, "output": 131000 } + }, "THUDM/GLM-4-32B-0414": { "id": "THUDM/GLM-4-32B-0414", "name": "THUDM/GLM-4-32B-0414", - "family": "glm-4", + "family": "glm", "attachment": false, "reasoning": false, "tool_call": true, @@ -13901,7 +18256,7 @@ "THUDM/GLM-4.1V-9B-Thinking": { "id": "THUDM/GLM-4.1V-9B-Thinking", "name": "THUDM/GLM-4.1V-9B-Thinking", - "family": "glm-4v", + "family": "glm", "attachment": true, "reasoning": true, "tool_call": true, @@ -13917,7 +18272,7 @@ "THUDM/GLM-Z1-9B-0414": { "id": "THUDM/GLM-Z1-9B-0414", "name": "THUDM/GLM-Z1-9B-0414", - "family": "glm-z1", + "family": "glm-z", "attachment": false, "reasoning": true, "tool_call": true, @@ -13933,7 +18288,7 @@ "THUDM/GLM-4-9B-0414": { "id": "THUDM/GLM-4-9B-0414", "name": "THUDM/GLM-4-9B-0414", - "family": "glm-4", + "family": "glm", "attachment": false, "reasoning": false, "tool_call": true, @@ -13949,7 +18304,7 @@ "THUDM/GLM-Z1-32B-0414": { "id": "THUDM/GLM-Z1-32B-0414", "name": "THUDM/GLM-Z1-32B-0414", - "family": "glm-z1", + "family": "glm-z", "attachment": false, "reasoning": true, "tool_call": true, @@ -13965,7 +18320,7 @@ "openai/gpt-oss-20b": { "id": "openai/gpt-oss-20b", "name": "openai/gpt-oss-20b", - "family": "openai-gpt-oss", + "family": "gpt-oss", "attachment": false, "reasoning": false, "tool_call": true, @@ -13981,7 +18336,7 @@ "openai/gpt-oss-120b": { "id": "openai/gpt-oss-120b", "name": "openai/gpt-oss-120b", - "family": "openai-gpt-oss", + "family": "gpt-oss", "attachment": false, "reasoning": true, "tool_call": true, @@ -13997,7 +18352,7 @@ "stepfun-ai/step3": { "id": "stepfun-ai/step3", "name": "stepfun-ai/step3", - "family": "stepfun-ai-step3", + "family": "step", "attachment": true, "reasoning": false, "tool_call": true, @@ -14013,7 +18368,7 @@ "nex-agi/DeepSeek-V3.1-Nex-N1": { "id": "nex-agi/DeepSeek-V3.1-Nex-N1", "name": "nex-agi/DeepSeek-V3.1-Nex-N1", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -14029,7 +18384,7 @@ "baidu/ERNIE-4.5-300B-A47B": { "id": "baidu/ERNIE-4.5-300B-A47B", "name": "baidu/ERNIE-4.5-300B-A47B", - "family": "ernie-4", + "family": "ernie", "attachment": false, "reasoning": false, "tool_call": true, @@ -14042,42 +18397,10 @@ "cost": { "input": 0.28, "output": 1.1 }, "limit": { "context": 131000, "output": 131000 } }, - "z-ai/GLM-4.5": { - "id": "z-ai/GLM-4.5", - "name": "z-ai/GLM-4.5", - "family": "glm-4.5", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131000, "output": 131000 } - }, - "z-ai/GLM-4.5-Air": { - "id": "z-ai/GLM-4.5-Air", - "name": "z-ai/GLM-4.5-Air", - "family": "glm-4.5-air", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.86 }, - "limit": { "context": 131000, "output": 131000 } - }, "ByteDance-Seed/Seed-OSS-36B-Instruct": { "id": "ByteDance-Seed/Seed-OSS-36B-Instruct", "name": "ByteDance-Seed/Seed-OSS-36B-Instruct", - "family": "bytedance-seed-seed-oss", + "family": "seed", "attachment": false, "reasoning": false, "tool_call": true, @@ -14093,7 +18416,7 @@ "meta-llama/Meta-Llama-3.1-8B-Instruct": { "id": "meta-llama/Meta-Llama-3.1-8B-Instruct", "name": "meta-llama/Meta-Llama-3.1-8B-Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -14109,7 +18432,7 @@ "Qwen/Qwen3-30B-A3B": { "id": "Qwen/Qwen3-30B-A3B", "name": "Qwen/Qwen3-30B-A3B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14125,7 +18448,7 @@ "Qwen/Qwen3-30B-A3B-Thinking-2507": { "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", "name": "Qwen/Qwen3-30B-A3B-Thinking-2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -14141,7 +18464,7 @@ "Qwen/Qwen3-VL-30B-A3B-Instruct": { "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", "name": "Qwen/Qwen3-VL-30B-A3B-Instruct", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -14157,7 +18480,7 @@ "Qwen/Qwen3-14B": { "id": "Qwen/Qwen3-14B", "name": "Qwen/Qwen3-14B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14173,7 +18496,7 @@ "Qwen/Qwen2.5-VL-32B-Instruct": { "id": "Qwen/Qwen2.5-VL-32B-Instruct", "name": "Qwen/Qwen2.5-VL-32B-Instruct", - "family": "qwen2.5-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -14189,7 +18512,7 @@ "Qwen/Qwen3-Omni-30B-A3B-Captioner": { "id": "Qwen/Qwen3-Omni-30B-A3B-Captioner", "name": "Qwen/Qwen3-Omni-30B-A3B-Captioner", - "family": "qwen3-omni", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -14205,7 +18528,7 @@ "Qwen/Qwen3-8B": { "id": "Qwen/Qwen3-8B", "name": "Qwen/Qwen3-8B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14221,7 +18544,7 @@ "Qwen/Qwen3-Omni-30B-A3B-Instruct": { "id": "Qwen/Qwen3-Omni-30B-A3B-Instruct", "name": "Qwen/Qwen3-Omni-30B-A3B-Instruct", - "family": "qwen3-omni", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -14237,7 +18560,7 @@ "Qwen/Qwen3-VL-8B-Thinking": { "id": "Qwen/Qwen3-VL-8B-Thinking", "name": "Qwen/Qwen3-VL-8B-Thinking", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, @@ -14253,7 +18576,7 @@ "Qwen/Qwen3-235B-A22B-Instruct-2507": { "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", "name": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14269,7 +18592,7 @@ "Qwen/Qwen2.5-Coder-32B-Instruct": { "id": "Qwen/Qwen2.5-Coder-32B-Instruct", "name": "Qwen/Qwen2.5-Coder-32B-Instruct", - "family": "qwen2.5-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14285,7 +18608,7 @@ "Qwen/Qwen2.5-32B-Instruct": { "id": "Qwen/Qwen2.5-32B-Instruct", "name": "Qwen/Qwen2.5-32B-Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14301,7 +18624,7 @@ "Qwen/Qwen2.5-72B-Instruct-128K": { "id": "Qwen/Qwen2.5-72B-Instruct-128K", "name": "Qwen/Qwen2.5-72B-Instruct-128K", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14317,7 +18640,7 @@ "Qwen/Qwen2.5-72B-Instruct": { "id": "Qwen/Qwen2.5-72B-Instruct", "name": "Qwen/Qwen2.5-72B-Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14333,7 +18656,7 @@ "Qwen/Qwen3-Coder-30B-A3B-Instruct": { "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", "name": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14349,7 +18672,7 @@ "Qwen/Qwen2.5-7B-Instruct": { "id": "Qwen/Qwen2.5-7B-Instruct", "name": "Qwen/Qwen2.5-7B-Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14365,7 +18688,7 @@ "Qwen/Qwen3-235B-A22B": { "id": "Qwen/Qwen3-235B-A22B", "name": "Qwen/Qwen3-235B-A22B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14381,7 +18704,7 @@ "Qwen/Qwen2.5-VL-72B-Instruct": { "id": "Qwen/Qwen2.5-VL-72B-Instruct", "name": "Qwen/Qwen2.5-VL-72B-Instruct", - "family": "qwen2.5-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -14397,7 +18720,7 @@ "Qwen/QwQ-32B": { "id": "Qwen/QwQ-32B", "name": "Qwen/QwQ-32B", - "family": "qwq", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -14413,7 +18736,7 @@ "Qwen/Qwen2.5-VL-7B-Instruct": { "id": "Qwen/Qwen2.5-VL-7B-Instruct", "name": "Qwen/Qwen2.5-VL-7B-Instruct", - "family": "qwen2.5-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -14429,7 +18752,7 @@ "Qwen/Qwen3-32B": { "id": "Qwen/Qwen3-32B", "name": "Qwen/Qwen3-32B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14445,7 +18768,7 @@ "Qwen/Qwen3-VL-8B-Instruct": { "id": "Qwen/Qwen3-VL-8B-Instruct", "name": "Qwen/Qwen3-VL-8B-Instruct", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -14461,7 +18784,7 @@ "Qwen/Qwen3-VL-235B-A22B-Instruct": { "id": "Qwen/Qwen3-VL-235B-A22B-Instruct", "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -14477,7 +18800,7 @@ "Qwen/Qwen3-Coder-480B-A35B-Instruct": { "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", "name": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14493,7 +18816,7 @@ "Qwen/Qwen3-VL-235B-A22B-Thinking": { "id": "Qwen/Qwen3-VL-235B-A22B-Thinking", "name": "Qwen/Qwen3-VL-235B-A22B-Thinking", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, @@ -14509,7 +18832,7 @@ "Qwen/Qwen3-30B-A3B-Instruct-2507": { "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", "name": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14525,7 +18848,7 @@ "Qwen/Qwen3-VL-30B-A3B-Thinking": { "id": "Qwen/Qwen3-VL-30B-A3B-Thinking", "name": "Qwen/Qwen3-VL-30B-A3B-Thinking", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, @@ -14541,7 +18864,7 @@ "Qwen/Qwen3-VL-32B-Thinking": { "id": "Qwen/Qwen3-VL-32B-Thinking", "name": "Qwen/Qwen3-VL-32B-Thinking", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, @@ -14557,7 +18880,7 @@ "Qwen/Qwen3-235B-A22B-Thinking-2507": { "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", "name": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -14573,7 +18896,7 @@ "Qwen/Qwen3-Omni-30B-A3B-Thinking": { "id": "Qwen/Qwen3-Omni-30B-A3B-Thinking", "name": "Qwen/Qwen3-Omni-30B-A3B-Thinking", - "family": "qwen3-omni", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, @@ -14589,7 +18912,7 @@ "Qwen/Qwen3-VL-32B-Instruct": { "id": "Qwen/Qwen3-VL-32B-Instruct", "name": "Qwen/Qwen3-VL-32B-Instruct", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -14605,7 +18928,7 @@ "Qwen/Qwen3-Next-80B-A3B-Instruct": { "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14621,7 +18944,7 @@ "Qwen/Qwen2.5-14B-Instruct": { "id": "Qwen/Qwen2.5-14B-Instruct", "name": "Qwen/Qwen2.5-14B-Instruct", - "family": "qwen2.5", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14637,7 +18960,7 @@ "Qwen/Qwen3-Next-80B-A3B-Thinking": { "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", "name": "Qwen/Qwen3-Next-80B-A3B-Thinking", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -14650,10 +18973,26 @@ "cost": { "input": 0.14, "output": 0.57 }, "limit": { "context": 262000, "output": 262000 } }, + "zai-org/GLM-4.6V": { + "id": "zai-org/GLM-4.6V", + "name": "zai-org/GLM-4.6V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-07", + "last_updated": "2025-12-07", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.3, "output": 0.9 }, + "limit": { "context": 131000, "output": 131000 } + }, "zai-org/GLM-4.5": { "id": "zai-org/GLM-4.5", "name": "zai-org/GLM-4.5", - "family": "glm-4.5", + "family": "glm", "attachment": false, "reasoning": false, "tool_call": true, @@ -14666,10 +19005,26 @@ "cost": { "input": 0.4, "output": 2 }, "limit": { "context": 131000, "output": 131000 } }, + "zai-org/GLM-4.7": { + "id": "zai-org/GLM-4.7", + "name": "zai-org/GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.6, "output": 2.2 }, + "limit": { "context": 205000, "output": 205000 } + }, "zai-org/GLM-4.6": { "id": "zai-org/GLM-4.6", "name": "zai-org/GLM-4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": false, "tool_call": true, @@ -14685,7 +19040,7 @@ "zai-org/GLM-4.5V": { "id": "zai-org/GLM-4.5V", "name": "zai-org/GLM-4.5V", - "family": "glm-4.5v", + "family": "glm", "attachment": true, "reasoning": false, "tool_call": true, @@ -14701,7 +19056,7 @@ "zai-org/GLM-4.5-Air": { "id": "zai-org/GLM-4.5-Air", "name": "zai-org/GLM-4.5-Air", - "family": "glm-4.5-air", + "family": "glm-air", "attachment": false, "reasoning": false, "tool_call": true, @@ -14717,7 +19072,7 @@ "deepseek-ai/DeepSeek-R1": { "id": "deepseek-ai/DeepSeek-R1", "name": "deepseek-ai/DeepSeek-R1", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -14781,7 +19136,7 @@ "deepseek-ai/DeepSeek-V3.2-Exp": { "id": "deepseek-ai/DeepSeek-V3.2-Exp", "name": "deepseek-ai/DeepSeek-V3.2-Exp", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -14797,7 +19152,7 @@ "deepseek-ai/DeepSeek-V3.1-Terminus": { "id": "deepseek-ai/DeepSeek-V3.1-Terminus", "name": "deepseek-ai/DeepSeek-V3.1-Terminus", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -14826,10 +19181,26 @@ "cost": { "input": 0.05, "output": 0.05 }, "limit": { "context": 33000, "output": 16000 } }, + "deepseek-ai/DeepSeek-V3.2": { + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "deepseek-ai/DeepSeek-V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-03", + "last_updated": "2025-12-03", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.27, "output": 0.42 }, + "limit": { "context": 164000, "output": 164000 } + }, "deepseek-ai/DeepSeek-V3": { "id": "deepseek-ai/DeepSeek-V3", "name": "deepseek-ai/DeepSeek-V3", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -14845,7 +19216,7 @@ "deepseek-ai/DeepSeek-V3.1": { "id": "deepseek-ai/DeepSeek-V3.1", "name": "deepseek-ai/DeepSeek-V3.1", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -14871,7 +19242,7 @@ "gpt-4.1-nano": { "id": "gpt-4.1-nano", "name": "OpenAI GPT-4.1 Nano", - "family": "gpt-4.1-nano", + "family": "gpt-nano", "attachment": false, "reasoning": false, "tool_call": true, @@ -14903,7 +19274,7 @@ "qwen3-coder": { "id": "qwen3-coder", "name": "Qwen3 Coder 480B A35B Instruct Turbo", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -14919,7 +19290,7 @@ "deepseek-v3": { "id": "deepseek-v3", "name": "DeepSeek V3", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -14967,7 +19338,7 @@ "llama-3.1-8b-instant": { "id": "llama-3.1-8b-instant", "name": "Meta Llama 3.1 8B Instant", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -15015,7 +19386,7 @@ "qwen3-next-80b-a3b-instruct": { "id": "qwen3-next-80b-a3b-instruct", "name": "Qwen3 Next 80B A3B Instruct", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -15031,7 +19402,7 @@ "llama-4-maverick": { "id": "llama-4-maverick", "name": "Meta Llama 4 Maverick 17B 128E", - "family": "llama-4-maverick", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -15111,7 +19482,7 @@ "llama-3.1-8b-instruct-turbo": { "id": "llama-3.1-8b-instruct-turbo", "name": "Meta Llama 3.1 8B Instruct Turbo", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -15127,7 +19498,7 @@ "gpt-5.1-codex": { "id": "gpt-5.1-codex", "name": "OpenAI: GPT-5.1 Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": false, "reasoning": false, "tool_call": true, @@ -15143,7 +19514,7 @@ "gpt-4.1-mini-2025-04-14": { "id": "gpt-4.1-mini-2025-04-14", "name": "OpenAI GPT-4.1 Mini", - "family": "gpt-4.1-mini", + "family": "gpt-mini", "attachment": false, "reasoning": false, "tool_call": true, @@ -15175,7 +19546,7 @@ "llama-3.1-8b-instruct": { "id": "llama-3.1-8b-instruct", "name": "Meta Llama 3.1 8B Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -15223,7 +19594,7 @@ "gpt-4.1-mini": { "id": "gpt-4.1-mini", "name": "OpenAI GPT-4.1 Mini", - "family": "gpt-4.1-mini", + "family": "gpt-mini", "attachment": false, "reasoning": false, "tool_call": true, @@ -15239,7 +19610,7 @@ "deepseek-v3.1-terminus": { "id": "deepseek-v3.1-terminus", "name": "DeepSeek V3.1 Terminus", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -15340,7 +19711,7 @@ "grok-3": { "id": "grok-3", "name": "xAI Grok 3", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -15372,7 +19743,7 @@ "kimi-k2-0711": { "id": "kimi-k2-0711", "name": "Kimi K2 (07/11)", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -15388,7 +19759,7 @@ "chatgpt-4o-latest": { "id": "chatgpt-4o-latest", "name": "OpenAI ChatGPT-4o", - "family": "chatgpt-4o", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": true, @@ -15404,7 +19775,7 @@ "qwen3-coder-30b-a3b-instruct": { "id": "qwen3-coder-30b-a3b-instruct", "name": "Qwen3 Coder 30B A3B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -15420,7 +19791,7 @@ "kimi-k2-0905": { "id": "kimi-k2-0905", "name": "Kimi K2 (09/05)", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -15452,7 +19823,7 @@ "llama-3.3-70b-instruct": { "id": "llama-3.3-70b-instruct", "name": "Meta Llama 3.3 70B Instruct", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -15468,7 +19839,7 @@ "gpt-5.1-codex-mini": { "id": "gpt-5.1-codex-mini", "name": "OpenAI: GPT-5.1 Codex Mini", - "family": "gpt-5-codex-mini", + "family": "gpt-codex", "attachment": false, "reasoning": false, "tool_call": true, @@ -15484,7 +19855,7 @@ "kimi-k2-thinking": { "id": "kimi-k2-thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": false, "tool_call": true, @@ -15500,7 +19871,7 @@ "o3-mini": { "id": "o3-mini", "name": "OpenAI o3 Mini", - "family": "o3-mini", + "family": "o-mini", "attachment": false, "reasoning": false, "tool_call": true, @@ -15532,7 +19903,7 @@ "gpt-5.1": { "id": "gpt-5.1", "name": "OpenAI GPT-5.1", - "family": "gpt-5", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": true, @@ -15548,7 +19919,7 @@ "codex-mini-latest": { "id": "codex-mini-latest", "name": "OpenAI Codex Mini Latest", - "family": "codex", + "family": "gpt-codex-mini", "attachment": false, "reasoning": false, "tool_call": true, @@ -15564,7 +19935,7 @@ "gpt-5-nano": { "id": "gpt-5-nano", "name": "OpenAI GPT-5 Nano", - "family": "gpt-5-nano", + "family": "gpt-nano", "attachment": false, "reasoning": false, "tool_call": true, @@ -15580,7 +19951,7 @@ "gpt-5-codex": { "id": "gpt-5-codex", "name": "OpenAI: GPT-5 Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": false, "reasoning": false, "tool_call": true, @@ -15596,7 +19967,7 @@ "gpt-4o": { "id": "gpt-4o", "name": "OpenAI GPT-4o", - "family": "gpt-4o", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": true, @@ -15612,7 +19983,7 @@ "deepseek-tng-r1t2-chimera": { "id": "deepseek-tng-r1t2-chimera", "name": "DeepSeek TNG R1T2 Chimera", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": false, "tool_call": true, @@ -15638,13 +20009,13 @@ "last_updated": "2025-11-24", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5000000000000001, "cache_write": 6.25 }, + "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, "limit": { "context": 200000, "output": 64000 } }, "gpt-4.1": { "id": "gpt-4.1", "name": "OpenAI GPT-4.1", - "family": "gpt-4.1", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": true, @@ -15676,7 +20047,7 @@ "glm-4.6": { "id": "glm-4.6", "name": "Zai GLM-4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -15692,7 +20063,7 @@ "o4-mini": { "id": "o4-mini", "name": "OpenAI o4 Mini", - "family": "o4-mini", + "family": "o-mini", "attachment": false, "reasoning": false, "tool_call": true, @@ -15708,7 +20079,7 @@ "qwen3-235b-a22b-thinking": { "id": "qwen3-235b-a22b-thinking", "name": "Qwen3 235B A22B Thinking", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": false, @@ -15724,7 +20095,7 @@ "hermes-2-pro-llama-3-8b": { "id": "hermes-2-pro-llama-3-8b", "name": "Hermes 2 Pro Llama 3 8B", - "family": "llama-3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -15740,7 +20111,7 @@ "o1": { "id": "o1", "name": "OpenAI: o1", - "family": "o1", + "family": "o", "attachment": false, "reasoning": false, "tool_call": false, @@ -15756,7 +20127,7 @@ "grok-3-mini": { "id": "grok-3-mini", "name": "xAI Grok 3 Mini", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -15788,7 +20159,7 @@ "gpt-5-mini": { "id": "gpt-5-mini", "name": "OpenAI GPT-5 Mini", - "family": "gpt-5-mini", + "family": "gpt-mini", "attachment": false, "reasoning": false, "tool_call": true, @@ -15804,7 +20175,7 @@ "deepseek-r1-distill-llama-70b": { "id": "deepseek-r1-distill-llama-70b", "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-r1-distill-llama", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -15820,7 +20191,7 @@ "o1-mini": { "id": "o1-mini", "name": "OpenAI: o1-mini", - "family": "o1-mini", + "family": "o-mini", "attachment": false, "reasoning": false, "tool_call": false, @@ -15868,7 +20239,7 @@ "o3-pro": { "id": "o3-pro", "name": "OpenAI o3 Pro", - "family": "o3-pro", + "family": "o-pro", "attachment": false, "reasoning": false, "tool_call": true, @@ -15884,7 +20255,7 @@ "qwen2.5-coder-7b-fast": { "id": "qwen2.5-coder-7b-fast", "name": "Qwen2.5 Coder 7B fast", - "family": "qwen2.5-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -15900,7 +20271,7 @@ "deepseek-reasoner": { "id": "deepseek-reasoner", "name": "DeepSeek Reasoner", - "family": "deepseek", + "family": "deepseek-thinking", "attachment": false, "reasoning": false, "tool_call": false, @@ -15932,7 +20303,7 @@ "gemma-3-12b-it": { "id": "gemma-3-12b-it", "name": "Google Gemma 3 12B", - "family": "gemma-3", + "family": "gemma", "attachment": false, "reasoning": false, "tool_call": false, @@ -15964,7 +20335,7 @@ "o3": { "id": "o3", "name": "OpenAI o3", - "family": "o3", + "family": "o", "attachment": false, "reasoning": false, "tool_call": true, @@ -16028,7 +20399,7 @@ "gpt-5-chat-latest": { "id": "gpt-5-chat-latest", "name": "OpenAI GPT-5 Chat Latest", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": false, "reasoning": false, "tool_call": true, @@ -16044,7 +20415,7 @@ "gpt-4o-mini": { "id": "gpt-4o-mini", "name": "OpenAI GPT-4o-mini", - "family": "gpt-4o-mini", + "family": "gpt-mini", "attachment": false, "reasoning": false, "tool_call": true, @@ -16060,7 +20431,7 @@ "gemma2-9b-it": { "id": "gemma2-9b-it", "name": "Google Gemma 2", - "family": "gemma-2", + "family": "gemma", "attachment": false, "reasoning": false, "tool_call": false, @@ -16108,7 +20479,7 @@ "gpt-5": { "id": "gpt-5", "name": "OpenAI GPT-5", - "family": "gpt-5", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": true, @@ -16124,7 +20495,7 @@ "qwen3-vl-235b-a22b-instruct": { "id": "qwen3-vl-235b-a22b-instruct", "name": "Qwen3 VL 235B A22B Instruct", - "family": "qwen3-vl", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -16140,7 +20511,7 @@ "qwen3-30b-a3b": { "id": "qwen3-30b-a3b", "name": "Qwen3 30B A3B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -16156,7 +20527,7 @@ "deepseek-v3.2": { "id": "deepseek-v3.2", "name": "DeepSeek V3.2", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -16188,7 +20559,7 @@ "gpt-5-pro": { "id": "gpt-5-pro", "name": "OpenAI: GPT-5 Pro", - "family": "gpt-5-pro", + "family": "gpt-pro", "attachment": false, "reasoning": false, "tool_call": false, @@ -16204,7 +20575,7 @@ "llama-3.3-70b-versatile": { "id": "llama-3.3-70b-versatile", "name": "Meta Llama 3.3 70B Versatile", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -16252,7 +20623,7 @@ "ernie-4.5-21b-a3b-thinking": { "id": "ernie-4.5-21b-a3b-thinking", "name": "Baidu Ernie 4.5 21B A3B Thinking", - "family": "ernie-4", + "family": "ernie", "attachment": false, "reasoning": true, "tool_call": false, @@ -16268,7 +20639,7 @@ "gpt-5.1-chat-latest": { "id": "gpt-5.1-chat-latest", "name": "OpenAI GPT-5.1 Chat", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": false, "reasoning": false, "tool_call": true, @@ -16284,7 +20655,7 @@ "qwen3-32b": { "id": "qwen3-32b", "name": "Qwen3 32B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -16316,7 +20687,7 @@ "llama-4-scout": { "id": "llama-4-scout", "name": "Meta Llama 4 Scout 17B 16E", - "family": "llama-4-scout", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -16342,7 +20713,7 @@ "moonshotai/Kimi-K2-Instruct": { "id": "moonshotai/Kimi-K2-Instruct", "name": "Kimi-K2-Instruct", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -16355,10 +20726,27 @@ "cost": { "input": 1, "output": 3 }, "limit": { "context": 131072, "output": 16384 } }, + "moonshotai/Kimi-K2.5": { + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi-K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_details" }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-01", + "last_updated": "2026-01-01", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, + "limit": { "context": 262144, "output": 262144 } + }, "moonshotai/Kimi-K2-Instruct-0905": { "id": "moonshotai/Kimi-K2-Instruct-0905", "name": "Kimi-K2-Instruct-0905", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -16371,26 +20759,60 @@ "cost": { "input": 1, "output": 3 }, "limit": { "context": 262144, "output": 16384 } }, - "MiniMaxAI/MiniMax-M2": { - "id": "MiniMaxAI/MiniMax-M2", - "name": "MiniMax-M2", + "moonshotai/Kimi-K2-Thinking": { + "id": "moonshotai/Kimi-K2-Thinking", + "name": "Kimi-K2-Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_details" }, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, + "limit": { "context": 262144, "output": 262144 } + }, + "MiniMaxAI/MiniMax-M2.1": { + "id": "MiniMaxAI/MiniMax-M2.1", + "name": "MiniMax-M2.1", "family": "minimax", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { "field": "reasoning_details" }, "temperature": true, "knowledge": "2025-10", - "release_date": "2025-10-27", - "last_updated": "2025-10-27", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 204800, "output": 204800 } + "limit": { "context": 204800, "output": 131072 } + }, + "XiaomiMiMo/MiMo-V2-Flash": { + "id": "XiaomiMiMo/MiMo-V2-Flash", + "name": "MiMo-V2-Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-12-16", + "last_updated": "2025-12-16", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.1, "output": 0.3 }, + "limit": { "context": 262144, "output": 4096 } }, "Qwen/Qwen3-Embedding-8B": { "id": "Qwen/Qwen3-Embedding-8B", "name": "Qwen 3 Embedding 8B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -16406,7 +20828,7 @@ "Qwen/Qwen3-Embedding-4B": { "id": "Qwen/Qwen3-Embedding-4B", "name": "Qwen 3 Embedding 4B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -16422,7 +20844,7 @@ "Qwen/Qwen3-Coder-480B-A35B-Instruct": { "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", "name": "Qwen3-Coder-480B-A35B-Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -16438,7 +20860,7 @@ "Qwen/Qwen3-235B-A22B-Thinking-2507": { "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", "name": "Qwen3-235B-A22B-Thinking-2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -16454,7 +20876,7 @@ "Qwen/Qwen3-Next-80B-A3B-Instruct": { "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", "name": "Qwen3-Next-80B-A3B-Instruct", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -16470,7 +20892,7 @@ "Qwen/Qwen3-Next-80B-A3B-Thinking": { "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", "name": "Qwen3-Next-80B-A3B-Thinking", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -16483,74 +20905,44 @@ "cost": { "input": 0.3, "output": 2 }, "limit": { "context": 262144, "output": 131072 } }, - "zai-org/GLM-4.5": { - "id": "zai-org/GLM-4.5", - "name": "GLM-4.5", - "family": "glm-4.5", + "zai-org/GLM-4.7": { + "id": "zai-org/GLM-4.7", + "name": "GLM-4.7", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { "field": "reasoning_details" }, "temperature": true, "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 131072, "output": 98304 } - }, - "zai-org/GLM-4.6": { - "id": "zai-org/GLM-4.6", - "name": "GLM-4.6", - "family": "glm-4.6", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11 }, - "limit": { "context": 200000, "output": 128000 } + "limit": { "context": 204800, "output": 131072 } }, - "zai-org/GLM-4.5-Air": { - "id": "zai-org/GLM-4.5-Air", - "name": "GLM-4.5-Air", - "family": "glm-4.5-air", + "zai-org/GLM-4.7-Flash": { + "id": "zai-org/GLM-4.7-Flash", + "name": "GLM-4.7-Flash", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { "field": "reasoning_details" }, "temperature": true, "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.2, "output": 1.1 }, - "limit": { "context": 128000, "output": 96000 } - }, - "deepseek-ai/Deepseek-V3-0324": { - "id": "deepseek-ai/Deepseek-V3-0324", - "name": "DeepSeek-V3-0324", - "family": "deepseek-v3", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.25, "output": 1.25 }, - "limit": { "context": 16384, "output": 8192 } + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 200000, "output": 128000 } }, "deepseek-ai/DeepSeek-R1-0528": { "id": "deepseek-ai/DeepSeek-R1-0528", "name": "DeepSeek-R1-0528", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -16562,6 +20954,22 @@ "open_weights": true, "cost": { "input": 3, "output": 5 }, "limit": { "context": 163840, "output": 163840 } + }, + "deepseek-ai/DeepSeek-V3.2": { + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "DeepSeek-V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.28, "output": 0.4 }, + "limit": { "context": 163840, "output": 65536 } } } }, @@ -16573,10 +20981,27 @@ "name": "OpenCode Zen", "doc": "https://opencode.ai/docs/zen", "models": { + "glm-4.7": { + "id": "glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.1 }, + "limit": { "context": 204800, "output": 131072 } + }, "qwen3-coder": { "id": "qwen3-coder", "name": "Qwen3 Coder", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -16609,7 +21034,7 @@ "kimi-k2": { "id": "kimi-k2", "name": "Kimi K2", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -16622,10 +21047,28 @@ "cost": { "input": 0.4, "output": 2.5, "cache_read": 0.4 }, "limit": { "context": 262144, "output": 262144 } }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 }, + "provider": { "npm": "@ai-sdk/openai" } + }, "gpt-5.1-codex": { "id": "gpt-5.1-codex", "name": "GPT-5.1 Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -16657,6 +21100,22 @@ "limit": { "context": 200000, "output": 64000 }, "provider": { "npm": "@ai-sdk/anthropic" } }, + "trinity-large-preview-free": { + "id": "trinity-large-preview-free", + "name": "Trinity Large Preview", + "family": "trinity", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-01-28", + "last_updated": "2026-01-28", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 131072, "output": 131072 } + }, "claude-opus-4-5": { "id": "claude-opus-4-5", "name": "Claude Opus 4.5", @@ -16674,6 +21133,23 @@ "limit": { "context": 200000, "output": 64000 }, "provider": { "npm": "@ai-sdk/anthropic" } }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 3, "cache_read": 0.08 }, + "limit": { "context": 262144, "output": 262144 } + }, "gemini-3-pro": { "id": "gemini-3-pro", "name": "Gemini 3 Pro", @@ -16697,24 +21173,6 @@ "limit": { "context": 1048576, "output": 65536 }, "provider": { "npm": "@ai-sdk/google" } }, - "alpha-glm-4.7": { - "id": "alpha-glm-4.7", - "name": "Alpha GLM-4.7", - "family": "alpha-glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.6 }, - "limit": { "context": 204800, "output": 131072 }, - "status": "alpha" - }, "claude-sonnet-4-5": { "id": "claude-sonnet-4-5", "name": "Claude Sonnet 4.5", @@ -16742,7 +21200,7 @@ "gpt-5.1-codex-mini": { "id": "gpt-5.1-codex-mini", "name": "GPT-5.1 Codex Mini", - "family": "gpt-5-codex-mini", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -16757,28 +21215,10 @@ "limit": { "context": 400000, "input": 272000, "output": 128000 }, "provider": { "npm": "@ai-sdk/openai" } }, - "alpha-gd4": { - "id": "alpha-gd4", - "name": "Alpha GD4", - "family": "alpha-gd4", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 32768 }, - "status": "alpha", - "provider": { "npm": "@ai-sdk/anthropic" } - }, "kimi-k2-thinking": { "id": "kimi-k2-thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -16795,7 +21235,7 @@ "gpt-5.1": { "id": "gpt-5.1", "name": "GPT-5.1", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -16807,13 +21247,13 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 1.07, "output": 8.5, "cache_read": 0.107 }, - "limit": { "context": 400000, "output": 128000 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 }, "provider": { "npm": "@ai-sdk/openai" } }, "gpt-5-nano": { "id": "gpt-5-nano", "name": "GPT-5 Nano", - "family": "gpt-5-nano", + "family": "gpt-nano", "attachment": true, "reasoning": true, "tool_call": true, @@ -16825,13 +21265,13 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 0, "output": 0, "cache_read": 0 }, - "limit": { "context": 400000, "output": 128000 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 }, "provider": { "npm": "@ai-sdk/openai" } }, "gpt-5-codex": { "id": "gpt-5-codex", "name": "GPT-5 Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -16843,7 +21283,7 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 1.07, "output": 8.5, "cache_read": 0.107 }, - "limit": { "context": 400000, "output": 128000 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 }, "provider": { "npm": "@ai-sdk/openai" } }, "big-pickle": { @@ -16897,7 +21337,7 @@ }, "glm-4.7-free": { "id": "glm-4.7-free", - "name": "GLM-4.7", + "name": "GLM-4.7 Free", "family": "glm-free", "attachment": false, "reasoning": true, @@ -16925,7 +21365,8 @@ "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": false, "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 256000, "output": 256000 } + "limit": { "context": 256000, "output": 256000 }, + "status": "deprecated" }, "gemini-3-flash": { "id": "gemini-3-flash", @@ -16948,7 +21389,7 @@ "gpt-5.1-codex-max": { "id": "gpt-5.1-codex-max", "name": "GPT-5.1 Codex Max", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -16965,7 +21406,7 @@ }, "minimax-m2.1-free": { "id": "minimax-m2.1-free", - "name": "MiniMax M2.1", + "name": "MiniMax M2.1 Free", "family": "minimax-free", "attachment": false, "reasoning": true, @@ -16980,6 +21421,23 @@ "limit": { "context": 204800, "output": 131072 }, "provider": { "npm": "@ai-sdk/anthropic" } }, + "kimi-k2.5-free": { + "id": "kimi-k2.5-free", + "name": "Kimi K2.5 Free", + "family": "kimi-free", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0, "cache_read": 0 }, + "limit": { "context": 262144, "output": 262144 } + }, "claude-sonnet-4": { "id": "claude-sonnet-4", "name": "Claude Sonnet 4", @@ -17006,7 +21464,7 @@ "gpt-5": { "id": "gpt-5", "name": "GPT-5", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -17018,13 +21476,30 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 1.07, "output": 8.5, "cache_read": 0.107 }, - "limit": { "context": 400000, "output": 128000 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 }, "provider": { "npm": "@ai-sdk/openai" } }, + "minimax-m2.1": { + "id": "minimax-m2.1", + "name": "MiniMax M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.1 }, + "limit": { "context": 204800, "output": 131072 } + }, "gpt-5.2": { "id": "gpt-5.2", "name": "GPT-5.2", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -17036,7 +21511,7 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 }, "provider": { "npm": "@ai-sdk/openai" } } } @@ -17052,7 +21527,7 @@ "moonshotai/kimi-k2": { "id": "moonshotai/kimi-k2", "name": "Kimi K2", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -17068,7 +21543,7 @@ "x-ai/grok-4": { "id": "x-ai/grok-4", "name": "Grok 4", - "family": "grok-4", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -17116,7 +21591,7 @@ "openai/gpt-5-nano": { "id": "openai/gpt-5-nano", "name": "GPT-5 Nano", - "family": "gpt-5-nano", + "family": "gpt-nano", "attachment": true, "reasoning": true, "tool_call": true, @@ -17132,7 +21607,7 @@ "openai/gpt-4.1": { "id": "openai/gpt-4.1", "name": "GPT-4.1", - "family": "gpt-4.1", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -17148,7 +21623,7 @@ "openai/gpt-5-mini": { "id": "openai/gpt-5-mini", "name": "GPT-5 Mini", - "family": "gpt-5-mini", + "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -17194,7 +21669,7 @@ "openai/gpt-5": { "id": "openai/gpt-5", "name": "GPT-5", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -17210,7 +21685,7 @@ "qwen/qwen3-coder": { "id": "qwen/qwen3-coder", "name": "Qwen3 Coder", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -17258,7 +21733,7 @@ "deepseek-ai/deepseek-r1-distill-llama-70b": { "id": "deepseek-ai/deepseek-r1-distill-llama-70b", "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-r1-distill-llama", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": false, @@ -17278,7 +21753,7 @@ "env": ["MINIMAX_API_KEY"], "npm": "@ai-sdk/anthropic", "api": "https://api.minimax.io/anthropic/v1", - "name": "MiniMax", + "name": "MiniMax (minimax.io)", "doc": "https://platform.minimax.io/docs/guides/quickstart", "models": { "MiniMax-M2": { @@ -17361,7 +21836,7 @@ "gemini-2.5-flash-image": { "id": "gemini-2.5-flash-image", "name": "Gemini 2.5 Flash Image", - "family": "gemini-flash-image", + "family": "gemini-flash", "attachment": true, "reasoning": true, "tool_call": false, @@ -17484,7 +21959,7 @@ "gemini-2.5-flash-preview-tts": { "id": "gemini-2.5-flash-preview-tts", "name": "Gemini 2.5 Flash Preview TTS", - "family": "gemini-flash-tts", + "family": "gemini-flash", "attachment": false, "reasoning": false, "tool_call": false, @@ -17616,7 +22091,7 @@ "gemini-2.5-flash-image-preview": { "id": "gemini-2.5-flash-image-preview", "name": "Gemini 2.5 Flash Image (Preview)", - "family": "gemini-flash-image", + "family": "gemini-flash", "attachment": true, "reasoning": true, "tool_call": false, @@ -17665,7 +22140,7 @@ "gemini-2.5-pro-preview-tts": { "id": "gemini-2.5-pro-preview-tts", "name": "Gemini 2.5 Pro Preview TTS", - "family": "gemini-flash-tts", + "family": "gemini-flash", "attachment": false, "reasoning": false, "tool_call": false, @@ -17938,7 +22413,7 @@ "last_updated": "2024-12-11", "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, + "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.025 }, "limit": { "context": 1048576, "output": 8192 } }, "gemini-2.5-flash-lite": { @@ -18082,6 +22557,23 @@ "open_weights": true, "cost": { "input": 0.07, "output": 0.25 }, "limit": { "context": 131072, "output": 32768 } + }, + "zai-org/glm-4.7-maas": { + "id": "zai-org/glm-4.7-maas", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 2.2 }, + "limit": { "context": 204800, "output": 131072 } } } }, @@ -18095,7 +22587,7 @@ "mistral-7b-instruct-v0.1-awq": { "id": "mistral-7b-instruct-v0.1-awq", "name": "@hf/thebloke/mistral-7b-instruct-v0.1-awq", - "family": "mistral-7b", + "family": "mistral", "attachment": false, "reasoning": false, "tool_call": true, @@ -18126,7 +22618,7 @@ "mistral-7b-instruct-v0.2": { "id": "mistral-7b-instruct-v0.2", "name": "@hf/mistral/mistral-7b-instruct-v0.2", - "family": "mistral-7b", + "family": "mistral", "attachment": false, "reasoning": false, "tool_call": true, @@ -18173,7 +22665,7 @@ "llama-3.2-11b-vision-instruct": { "id": "llama-3.2-11b-vision-instruct", "name": "@cf/meta/llama-3.2-11b-vision-instruct", - "family": "llama-3.2", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -18188,7 +22680,7 @@ "llama-2-13b-chat-awq": { "id": "llama-2-13b-chat-awq", "name": "@hf/thebloke/llama-2-13b-chat-awq", - "family": "llama-2", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -18204,7 +22696,7 @@ "llama-3.1-8b-instruct-fp8": { "id": "llama-3.1-8b-instruct-fp8", "name": "@cf/meta/llama-3.1-8b-instruct-fp8", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -18249,7 +22741,7 @@ "llama-2-7b-chat-fp16": { "id": "llama-2-7b-chat-fp16", "name": "@cf/meta/llama-2-7b-chat-fp16", - "family": "llama-2", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -18309,7 +22801,7 @@ "llama-3-8b-instruct": { "id": "llama-3-8b-instruct", "name": "@cf/meta/llama-3-8b-instruct", - "family": "llama-3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -18324,7 +22816,7 @@ "llama-2-7b-chat-hf-lora": { "id": "llama-2-7b-chat-hf-lora", "name": "@cf/meta-llama/llama-2-7b-chat-hf-lora", - "family": "llama-2", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -18339,7 +22831,7 @@ "llama-3.1-8b-instruct": { "id": "llama-3.1-8b-instruct", "name": "@cf/meta/llama-3.1-8b-instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -18370,7 +22862,7 @@ "openhermes-2.5-mistral-7b-awq": { "id": "openhermes-2.5-mistral-7b-awq", "name": "@hf/thebloke/openhermes-2.5-mistral-7b-awq", - "family": "mistral-7b", + "family": "mistral", "attachment": false, "reasoning": false, "tool_call": true, @@ -18386,7 +22878,7 @@ "lucid-origin": { "id": "lucid-origin", "name": "@cf/leonardo/lucid-origin", - "family": "lucid-origin", + "family": "lucid", "attachment": false, "reasoning": false, "tool_call": false, @@ -18401,7 +22893,7 @@ "bart-large-cnn": { "id": "bart-large-cnn", "name": "@cf/facebook/bart-large-cnn", - "family": "bart-large-cnn", + "family": "bart", "attachment": false, "reasoning": false, "tool_call": false, @@ -18416,7 +22908,7 @@ "flux-1-schnell": { "id": "flux-1-schnell", "name": "@cf/black-forest-labs/flux-1-schnell", - "family": "flux-1", + "family": "flux", "attachment": false, "reasoning": false, "tool_call": false, @@ -18446,7 +22938,7 @@ "gemma-2b-it-lora": { "id": "gemma-2b-it-lora", "name": "@cf/google/gemma-2b-it-lora", - "family": "gemma-2", + "family": "gemma", "attachment": false, "reasoning": false, "tool_call": true, @@ -18492,7 +22984,7 @@ "m2m100-1.2b": { "id": "m2m100-1.2b", "name": "@cf/meta/m2m100-1.2b", - "family": "m2m100-1.2b", + "family": "m2m", "attachment": false, "reasoning": false, "tool_call": false, @@ -18507,7 +22999,7 @@ "llama-3.2-3b-instruct": { "id": "llama-3.2-3b-instruct", "name": "@cf/meta/llama-3.2-3b-instruct", - "family": "llama-3.2", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -18522,7 +23014,7 @@ "qwen2.5-coder-32b-instruct": { "id": "qwen2.5-coder-32b-instruct", "name": "@cf/qwen/qwen2.5-coder-32b-instruct", - "family": "qwen2.5-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -18629,7 +23121,7 @@ "qwen3-30b-a3b-fp8": { "id": "qwen3-30b-a3b-fp8", "name": "@cf/qwen/qwen3-30b-a3b-fp8", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -18660,7 +23152,7 @@ "hermes-2-pro-mistral-7b": { "id": "hermes-2-pro-mistral-7b", "name": "@hf/nousresearch/hermes-2-pro-mistral-7b", - "family": "mistral-7b", + "family": "mistral", "attachment": false, "reasoning": false, "tool_call": true, @@ -18690,7 +23182,7 @@ "falcon-7b-instruct": { "id": "falcon-7b-instruct", "name": "@cf/tiiuae/falcon-7b-instruct", - "family": "falcon-7b", + "family": "falcon", "attachment": false, "reasoning": false, "tool_call": true, @@ -18706,7 +23198,7 @@ "llama-3.3-70b-instruct-fp8-fast": { "id": "llama-3.3-70b-instruct-fp8-fast", "name": "@cf/meta/llama-3.3-70b-instruct-fp8-fast", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -18721,7 +23213,7 @@ "llama-3-8b-instruct-awq": { "id": "llama-3-8b-instruct-awq", "name": "@cf/meta/llama-3-8b-instruct-awq", - "family": "llama-3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -18766,7 +23258,7 @@ "dreamshaper-8-lcm": { "id": "dreamshaper-8-lcm", "name": "@cf/lykon/dreamshaper-8-lcm", - "family": "dreamshaper-8-lcm", + "family": "dreamshaper", "attachment": true, "reasoning": false, "tool_call": false, @@ -18781,7 +23273,7 @@ "discolm-german-7b-v1-awq": { "id": "discolm-german-7b-v1-awq", "name": "@cf/thebloke/discolm-german-7b-v1-awq", - "family": "discolm-german", + "family": "discolm", "attachment": false, "reasoning": false, "tool_call": true, @@ -18797,7 +23289,7 @@ "llama-2-7b-chat-int8": { "id": "llama-2-7b-chat-int8", "name": "@cf/meta/llama-2-7b-chat-int8", - "family": "llama-2", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -18812,7 +23304,7 @@ "llama-3.2-1b-instruct": { "id": "llama-3.2-1b-instruct", "name": "@cf/meta/llama-3.2-1b-instruct", - "family": "llama-3.2", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -18827,7 +23319,7 @@ "whisper-large-v3-turbo": { "id": "whisper-large-v3-turbo", "name": "@cf/openai/whisper-large-v3-turbo", - "family": "whisper-large", + "family": "whisper", "attachment": false, "reasoning": false, "tool_call": false, @@ -18842,7 +23334,7 @@ "llama-4-scout-17b-16e-instruct": { "id": "llama-4-scout-17b-16e-instruct", "name": "@cf/meta/llama-4-scout-17b-16e-instruct", - "family": "llama-4-scout", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -18857,7 +23349,7 @@ "starling-lm-7b-beta": { "id": "starling-lm-7b-beta", "name": "@hf/nexusflow/starling-lm-7b-beta", - "family": "starling-lm", + "family": "starling", "attachment": false, "reasoning": false, "tool_call": true, @@ -18873,7 +23365,7 @@ "deepseek-coder-6.7b-base-awq": { "id": "deepseek-coder-6.7b-base-awq", "name": "@hf/thebloke/deepseek-coder-6.7b-base-awq", - "family": "deepseek-coder", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -18889,7 +23381,7 @@ "gemma-3-12b-it": { "id": "gemma-3-12b-it", "name": "@cf/google/gemma-3-12b-it", - "family": "gemma-3", + "family": "gemma", "attachment": false, "reasoning": false, "tool_call": true, @@ -18919,7 +23411,7 @@ "neural-chat-7b-v3-1-awq": { "id": "neural-chat-7b-v3-1-awq", "name": "@hf/thebloke/neural-chat-7b-v3-1-awq", - "family": "neural-chat-7b-v3", + "family": "neural-chat", "attachment": false, "reasoning": false, "tool_call": true, @@ -18965,7 +23457,7 @@ "mistral-7b-instruct-v0.1": { "id": "mistral-7b-instruct-v0.1", "name": "@cf/mistral/mistral-7b-instruct-v0.1", - "family": "mistral-7b", + "family": "mistral", "attachment": false, "reasoning": false, "tool_call": true, @@ -18980,7 +23472,7 @@ "llava-1.5-7b-hf": { "id": "llava-1.5-7b-hf", "name": "@cf/llava-hf/llava-1.5-7b-hf", - "family": "llava-1.5-7b-hf", + "family": "llava", "attachment": true, "reasoning": false, "tool_call": false, @@ -19072,7 +23564,7 @@ "llama-3.1-8b-instruct-fast": { "id": "llama-3.1-8b-instruct-fast", "name": "@cf/meta/llama-3.1-8b-instruct-fast", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -19102,7 +23594,7 @@ "llama-3.1-70b-instruct": { "id": "llama-3.1-70b-instruct", "name": "@cf/meta/llama-3.1-70b-instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -19117,7 +23609,7 @@ "qwq-32b": { "id": "qwq-32b", "name": "@cf/qwen/qwq-32b", - "family": "qwq", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -19148,7 +23640,7 @@ "deepseek-coder-6.7b-instruct-awq": { "id": "deepseek-coder-6.7b-instruct-awq", "name": "@hf/thebloke/deepseek-coder-6.7b-instruct-awq", - "family": "deepseek-coder", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -19164,7 +23656,7 @@ "llama-3.1-8b-instruct-awq": { "id": "llama-3.1-8b-instruct-awq", "name": "@cf/meta/llama-3.1-8b-instruct-awq", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -19179,7 +23671,7 @@ "mistral-7b-instruct-v0.2-lora": { "id": "mistral-7b-instruct-v0.2-lora", "name": "@cf/mistral/mistral-7b-instruct-v0.2-lora", - "family": "mistral-7b", + "family": "mistral", "attachment": false, "reasoning": false, "tool_call": true, @@ -19219,7 +23711,7 @@ "mercury-coder": { "id": "mercury-coder", "name": "Mercury Coder", - "family": "mercury-coder", + "family": "mercury", "attachment": false, "reasoning": false, "tool_call": true, @@ -19261,7 +23753,7 @@ "moonshotai/Kimi-K2-Instruct": { "id": "moonshotai/Kimi-K2-Instruct", "name": "Kimi-K2-Instruct", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -19277,7 +23769,7 @@ "microsoft/Phi-4-mini-instruct": { "id": "microsoft/Phi-4-mini-instruct", "name": "Phi-4-mini-instruct", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -19293,7 +23785,7 @@ "meta-llama/Llama-3.1-8B-Instruct": { "id": "meta-llama/Llama-3.1-8B-Instruct", "name": "Meta-Llama-3.1-8B-Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -19309,7 +23801,7 @@ "meta-llama/Llama-3.3-70B-Instruct": { "id": "meta-llama/Llama-3.3-70B-Instruct", "name": "Llama-3.3-70B-Instruct", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -19325,7 +23817,7 @@ "meta-llama/Llama-4-Scout-17B-16E-Instruct": { "id": "meta-llama/Llama-4-Scout-17B-16E-Instruct", "name": "Llama 4 Scout 17B 16E Instruct", - "family": "llama-4-scout", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -19341,7 +23833,7 @@ "Qwen/Qwen3-235B-A22B-Instruct-2507": { "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -19357,7 +23849,7 @@ "Qwen/Qwen3-Coder-480B-A35B-Instruct": { "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", "name": "Qwen3-Coder-480B-A35B-Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -19373,7 +23865,7 @@ "Qwen/Qwen3-235B-A22B-Thinking-2507": { "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", "name": "Qwen3-235B-A22B-Thinking-2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -19389,7 +23881,7 @@ "deepseek-ai/DeepSeek-R1-0528": { "id": "deepseek-ai/DeepSeek-R1-0528", "name": "DeepSeek-R1-0528", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -19405,7 +23897,7 @@ "deepseek-ai/DeepSeek-V3-0324": { "id": "deepseek-ai/DeepSeek-V3-0324", "name": "DeepSeek-V3-0324", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -19431,7 +23923,7 @@ "workers-ai/@cf/ibm-granite/granite-4.0-h-micro": { "id": "workers-ai/@cf/ibm-granite/granite-4.0-h-micro", "name": "IBM Granite 4.0 H Micro", - "family": "granite-4", + "family": "granite", "attachment": false, "reasoning": false, "tool_call": false, @@ -19461,7 +23953,7 @@ "workers-ai/@cf/mistral/mistral-7b-instruct-v0.1": { "id": "workers-ai/@cf/mistral/mistral-7b-instruct-v0.1", "name": "Mistral 7B Instruct v0.1", - "family": "mistral-7b", + "family": "mistral", "attachment": false, "reasoning": false, "tool_call": false, @@ -19506,7 +23998,7 @@ "workers-ai/@cf/google/gemma-3-12b-it": { "id": "workers-ai/@cf/google/gemma-3-12b-it", "name": "Gemma 3 12B IT", - "family": "gemma-3", + "family": "gemma", "attachment": false, "reasoning": false, "tool_call": false, @@ -19521,7 +24013,7 @@ "workers-ai/@cf/pfnet/plamo-embedding-1b": { "id": "workers-ai/@cf/pfnet/plamo-embedding-1b", "name": "PLaMo Embedding 1B", - "family": "plamo-embedding", + "family": "plamo", "attachment": false, "reasoning": false, "tool_call": false, @@ -19564,7 +24056,7 @@ "workers-ai/@cf/ai4bharat/indictrans2-en-indic-1B": { "id": "workers-ai/@cf/ai4bharat/indictrans2-en-indic-1B", "name": "IndicTrans2 EN-Indic 1B", - "family": "indictrans2", + "family": "indictrans", "attachment": false, "reasoning": false, "tool_call": false, @@ -19594,7 +24086,7 @@ "workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct": { "id": "workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct", "name": "Qwen 2.5 Coder 32B Instruct", - "family": "qwen2.5-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -19609,7 +24101,7 @@ "workers-ai/@cf/qwen/qwen3-30b-a3b-fp8": { "id": "workers-ai/@cf/qwen/qwen3-30b-a3b-fp8", "name": "Qwen3 30B A3B FP8", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -19624,7 +24116,7 @@ "workers-ai/@cf/qwen/qwen3-embedding-0.6b": { "id": "workers-ai/@cf/qwen/qwen3-embedding-0.6b", "name": "Qwen3 Embedding 0.6B", - "family": "qwen3-embedding", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -19639,7 +24131,7 @@ "workers-ai/@cf/qwen/qwq-32b": { "id": "workers-ai/@cf/qwen/qwq-32b", "name": "QwQ 32B", - "family": "qwq", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -19669,7 +24161,7 @@ "workers-ai/@cf/deepgram/aura-2-es": { "id": "workers-ai/@cf/deepgram/aura-2-es", "name": "Deepgram Aura 2 (ES)", - "family": "aura-2", + "family": "aura", "attachment": false, "reasoning": false, "tool_call": false, @@ -19684,7 +24176,7 @@ "workers-ai/@cf/deepgram/aura-2-en": { "id": "workers-ai/@cf/deepgram/aura-2-en", "name": "Deepgram Aura 2 (EN)", - "family": "aura-2", + "family": "aura", "attachment": false, "reasoning": false, "tool_call": false, @@ -19714,7 +24206,7 @@ "workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it": { "id": "workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it", "name": "Gemma SEA-LION v4 27B IT", - "family": "gemma-sea-lion", + "family": "gemma", "attachment": false, "reasoning": false, "tool_call": false, @@ -19729,7 +24221,7 @@ "workers-ai/@cf/meta/llama-3.2-11b-vision-instruct": { "id": "workers-ai/@cf/meta/llama-3.2-11b-vision-instruct", "name": "Llama 3.2 11B Vision Instruct", - "family": "llama-3.2-vision", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -19744,7 +24236,7 @@ "workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8": { "id": "workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8", "name": "Llama 3.1 8B Instruct FP8", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -19759,7 +24251,7 @@ "workers-ai/@cf/meta/llama-2-7b-chat-fp16": { "id": "workers-ai/@cf/meta/llama-2-7b-chat-fp16", "name": "Llama 2 7B Chat FP16", - "family": "llama-2", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -19774,7 +24266,7 @@ "workers-ai/@cf/meta/llama-3-8b-instruct": { "id": "workers-ai/@cf/meta/llama-3-8b-instruct", "name": "Llama 3 8B Instruct", - "family": "llama-3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -19789,7 +24281,7 @@ "workers-ai/@cf/meta/llama-3.1-8b-instruct": { "id": "workers-ai/@cf/meta/llama-3.1-8b-instruct", "name": "Llama 3.1 8B Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -19804,7 +24296,7 @@ "workers-ai/@cf/meta/m2m100-1.2b": { "id": "workers-ai/@cf/meta/m2m100-1.2b", "name": "M2M100 1.2B", - "family": "m2m100", + "family": "m2m", "attachment": false, "reasoning": false, "tool_call": false, @@ -19819,7 +24311,7 @@ "workers-ai/@cf/meta/llama-3.2-3b-instruct": { "id": "workers-ai/@cf/meta/llama-3.2-3b-instruct", "name": "Llama 3.2 3B Instruct", - "family": "llama-3.2", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -19834,7 +24326,7 @@ "workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast": { "id": "workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast", "name": "Llama 3.3 70B Instruct FP8 Fast", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -19849,7 +24341,7 @@ "workers-ai/@cf/meta/llama-3-8b-instruct-awq": { "id": "workers-ai/@cf/meta/llama-3-8b-instruct-awq", "name": "Llama 3 8B Instruct AWQ", - "family": "llama-3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -19864,7 +24356,7 @@ "workers-ai/@cf/meta/llama-3.2-1b-instruct": { "id": "workers-ai/@cf/meta/llama-3.2-1b-instruct", "name": "Llama 3.2 1B Instruct", - "family": "llama-3.2", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -19879,7 +24371,7 @@ "workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct": { "id": "workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct", "name": "Llama 4 Scout 17B 16E Instruct", - "family": "llama-4-scout", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -19894,7 +24386,7 @@ "workers-ai/@cf/meta/llama-guard-3-8b": { "id": "workers-ai/@cf/meta/llama-guard-3-8b", "name": "Llama Guard 3 8B", - "family": "llama-guard", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -19909,7 +24401,7 @@ "workers-ai/@cf/meta/llama-3.1-8b-instruct-awq": { "id": "workers-ai/@cf/meta/llama-3.1-8b-instruct-awq", "name": "Llama 3.1 8B Instruct AWQ", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -19924,7 +24416,7 @@ "workers-ai/@cf/baai/bge-m3": { "id": "workers-ai/@cf/baai/bge-m3", "name": "BGE M3", - "family": "bge-m3", + "family": "bge", "attachment": false, "reasoning": false, "tool_call": false, @@ -19939,7 +24431,7 @@ "workers-ai/@cf/baai/bge-base-en-v1.5": { "id": "workers-ai/@cf/baai/bge-base-en-v1.5", "name": "BGE Base EN v1.5", - "family": "bge-base", + "family": "bge", "attachment": false, "reasoning": false, "tool_call": false, @@ -19954,7 +24446,7 @@ "workers-ai/@cf/baai/bge-large-en-v1.5": { "id": "workers-ai/@cf/baai/bge-large-en-v1.5", "name": "BGE Large EN v1.5", - "family": "bge-large", + "family": "bge", "attachment": false, "reasoning": false, "tool_call": false, @@ -19969,7 +24461,7 @@ "workers-ai/@cf/baai/bge-reranker-base": { "id": "workers-ai/@cf/baai/bge-reranker-base", "name": "BGE Reranker Base", - "family": "bge-reranker", + "family": "bge", "attachment": false, "reasoning": false, "tool_call": false, @@ -19984,7 +24476,7 @@ "workers-ai/@cf/baai/bge-small-en-v1.5": { "id": "workers-ai/@cf/baai/bge-small-en-v1.5", "name": "BGE Small EN v1.5", - "family": "bge-small", + "family": "bge", "attachment": false, "reasoning": false, "tool_call": false, @@ -19999,7 +24491,7 @@ "workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b": { "id": "workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b", "name": "DeepSeek R1 Distill Qwen 32B", - "family": "deepseek-r1-distill-qwen", + "family": "deepseek-thinking", "attachment": false, "reasoning": false, "tool_call": false, @@ -20014,7 +24506,7 @@ "openai/gpt-4": { "id": "openai/gpt-4", "name": "GPT-4", - "family": "gpt-4", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -20031,7 +24523,7 @@ "openai/gpt-5.1-codex": { "id": "openai/gpt-5.1-codex", "name": "GPT-5.1 Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -20048,7 +24540,7 @@ "openai/gpt-3.5-turbo": { "id": "openai/gpt-3.5-turbo", "name": "GPT-3.5-turbo", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": false, @@ -20065,7 +24557,7 @@ "openai/gpt-4-turbo": { "id": "openai/gpt-4-turbo", "name": "GPT-4 Turbo", - "family": "gpt-4-turbo", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -20082,7 +24574,7 @@ "openai/o3-mini": { "id": "openai/o3-mini", "name": "o3-mini", - "family": "o3-mini", + "family": "o-mini", "attachment": false, "reasoning": true, "tool_call": true, @@ -20099,7 +24591,7 @@ "openai/gpt-5.1": { "id": "openai/gpt-5.1", "name": "GPT-5.1", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -20115,7 +24607,7 @@ "openai/gpt-4o": { "id": "openai/gpt-4o", "name": "GPT-4o", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -20132,7 +24624,7 @@ "openai/o4-mini": { "id": "openai/o4-mini", "name": "o4-mini", - "family": "o4-mini", + "family": "o-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -20149,7 +24641,7 @@ "openai/o1": { "id": "openai/o1", "name": "o1", - "family": "o1", + "family": "o", "attachment": true, "reasoning": true, "tool_call": true, @@ -20166,7 +24658,7 @@ "openai/o3-pro": { "id": "openai/o3-pro", "name": "o3-pro", - "family": "o3-pro", + "family": "o-pro", "attachment": true, "reasoning": true, "tool_call": true, @@ -20183,7 +24675,7 @@ "openai/o3": { "id": "openai/o3", "name": "o3", - "family": "o3", + "family": "o", "attachment": true, "reasoning": true, "tool_call": true, @@ -20200,7 +24692,7 @@ "openai/gpt-4o-mini": { "id": "openai/gpt-4o-mini", "name": "GPT-4o mini", - "family": "gpt-4o-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -20217,7 +24709,7 @@ "openai/gpt-5.2": { "id": "openai/gpt-5.2", "name": "GPT-5.2", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -20434,7 +24926,7 @@ "gpt-4.1-nano": { "id": "gpt-4.1-nano", "name": "GPT-4.1 nano", - "family": "gpt-4.1-nano", + "family": "gpt-nano", "attachment": true, "reasoning": false, "tool_call": true, @@ -20451,7 +24943,7 @@ "text-embedding-3-small": { "id": "text-embedding-3-small", "name": "text-embedding-3-small", - "family": "text-embedding-3-small", + "family": "text-embedding", "attachment": false, "reasoning": false, "tool_call": false, @@ -20467,7 +24959,7 @@ "gpt-4": { "id": "gpt-4", "name": "GPT-4", - "family": "gpt-4", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -20484,7 +24976,7 @@ "o1-pro": { "id": "o1-pro", "name": "o1-pro", - "family": "o1-pro", + "family": "o-pro", "attachment": true, "reasoning": true, "tool_call": true, @@ -20501,7 +24993,7 @@ "gpt-4o-2024-05-13": { "id": "gpt-4o-2024-05-13", "name": "GPT-4o (2024-05-13)", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -20515,10 +25007,27 @@ "cost": { "input": 5, "output": 15 }, "limit": { "context": 128000, "output": 4096 } }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 } + }, "gpt-5.1-codex": { "id": "gpt-5.1-codex", "name": "GPT-5.1 Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -20530,12 +25039,12 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "gpt-4o-2024-08-06": { "id": "gpt-4o-2024-08-06", "name": "GPT-4o (2024-08-06)", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -20552,7 +25061,7 @@ "gpt-4.1-mini": { "id": "gpt-4.1-mini", "name": "GPT-4.1 mini", - "family": "gpt-4.1-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -20569,7 +25078,7 @@ "o3-deep-research": { "id": "o3-deep-research", "name": "o3-deep-research", - "family": "o3", + "family": "o", "attachment": true, "reasoning": true, "tool_call": true, @@ -20585,7 +25094,7 @@ "gpt-3.5-turbo": { "id": "gpt-3.5-turbo", "name": "GPT-3.5-turbo", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": false, @@ -20602,7 +25111,7 @@ "gpt-5.2-pro": { "id": "gpt-5.2-pro", "name": "GPT-5.2 Pro", - "family": "gpt-5-pro", + "family": "gpt-pro", "attachment": true, "reasoning": true, "tool_call": true, @@ -20614,12 +25123,12 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 21, "output": 168 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "text-embedding-3-large": { "id": "text-embedding-3-large", "name": "text-embedding-3-large", - "family": "text-embedding-3-large", + "family": "text-embedding", "attachment": false, "reasoning": false, "tool_call": false, @@ -20635,7 +25144,7 @@ "gpt-4-turbo": { "id": "gpt-4-turbo", "name": "GPT-4 Turbo", - "family": "gpt-4-turbo", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -20652,7 +25161,7 @@ "o1-preview": { "id": "o1-preview", "name": "o1-preview", - "family": "o1-preview", + "family": "o", "attachment": false, "reasoning": true, "tool_call": false, @@ -20668,7 +25177,7 @@ "gpt-5.1-codex-mini": { "id": "gpt-5.1-codex-mini", "name": "GPT-5.1 Codex mini", - "family": "gpt-5-codex-mini", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -20680,12 +25189,12 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "o3-mini": { "id": "o3-mini", "name": "o3-mini", - "family": "o3-mini", + "family": "o-mini", "attachment": false, "reasoning": true, "tool_call": true, @@ -20702,7 +25211,7 @@ "gpt-5.2-chat-latest": { "id": "gpt-5.2-chat-latest", "name": "GPT-5.2 Chat", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -20719,7 +25228,7 @@ "gpt-5.1": { "id": "gpt-5.1", "name": "GPT-5.1", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -20730,12 +25239,12 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "codex-mini-latest": { "id": "codex-mini-latest", "name": "Codex Mini", - "family": "codex", + "family": "gpt-codex-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -20751,7 +25260,7 @@ "gpt-5-nano": { "id": "gpt-5-nano", "name": "GPT-5 Nano", - "family": "gpt-5-nano", + "family": "gpt-nano", "attachment": true, "reasoning": true, "tool_call": true, @@ -20762,13 +25271,13 @@ "last_updated": "2025-08-07", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 400000, "output": 128000 } + "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.005 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "gpt-5-codex": { "id": "gpt-5-codex", "name": "GPT-5-Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": false, "reasoning": true, "tool_call": true, @@ -20780,12 +25289,12 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "gpt-4o": { "id": "gpt-4o", "name": "GPT-4o", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -20802,7 +25311,7 @@ "gpt-4.1": { "id": "gpt-4.1", "name": "GPT-4.1", - "family": "gpt-4.1", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -20819,7 +25328,7 @@ "o4-mini": { "id": "o4-mini", "name": "o4-mini", - "family": "o4-mini", + "family": "o-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -20836,7 +25345,7 @@ "o1": { "id": "o1", "name": "o1", - "family": "o1", + "family": "o", "attachment": true, "reasoning": true, "tool_call": true, @@ -20853,7 +25362,7 @@ "gpt-5-mini": { "id": "gpt-5-mini", "name": "GPT-5 Mini", - "family": "gpt-5-mini", + "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -20864,13 +25373,13 @@ "last_updated": "2025-08-07", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 400000, "output": 128000 } + "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "o1-mini": { "id": "o1-mini", "name": "o1-mini", - "family": "o1-mini", + "family": "o-mini", "attachment": false, "reasoning": true, "tool_call": false, @@ -20887,7 +25396,7 @@ "text-embedding-ada-002": { "id": "text-embedding-ada-002", "name": "text-embedding-ada-002", - "family": "text-embedding-ada", + "family": "text-embedding", "attachment": false, "reasoning": false, "tool_call": false, @@ -20903,7 +25412,7 @@ "o3-pro": { "id": "o3-pro", "name": "o3-pro", - "family": "o3-pro", + "family": "o-pro", "attachment": true, "reasoning": true, "tool_call": true, @@ -20920,7 +25429,7 @@ "gpt-4o-2024-11-20": { "id": "gpt-4o-2024-11-20", "name": "GPT-4o (2024-11-20)", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -20937,7 +25446,7 @@ "gpt-5.1-codex-max": { "id": "gpt-5.1-codex-max", "name": "GPT-5.1 Codex Max", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -20949,12 +25458,12 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "o3": { "id": "o3", "name": "o3", - "family": "o3", + "family": "o", "attachment": true, "reasoning": true, "tool_call": true, @@ -20971,7 +25480,7 @@ "o4-mini-deep-research": { "id": "o4-mini-deep-research", "name": "o4-mini-deep-research", - "family": "o4-mini", + "family": "o-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -20987,7 +25496,7 @@ "gpt-5-chat-latest": { "id": "gpt-5-chat-latest", "name": "GPT-5 Chat (latest)", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": false, @@ -20999,12 +25508,12 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "gpt-4o-mini": { "id": "gpt-4o-mini", "name": "GPT-4o mini", - "family": "gpt-4o-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -21021,7 +25530,7 @@ "gpt-5": { "id": "gpt-5", "name": "GPT-5", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -21032,13 +25541,13 @@ "last_updated": "2025-08-07", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } + "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "gpt-5-pro": { "id": "gpt-5-pro", "name": "GPT-5 Pro", - "family": "gpt-5-pro", + "family": "gpt-pro", "attachment": true, "reasoning": true, "tool_call": true, @@ -21050,12 +25559,12 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 15, "output": 120 }, - "limit": { "context": 400000, "output": 272000 } + "limit": { "context": 400000, "input": 272000, "output": 272000 } }, "gpt-5.2": { "id": "gpt-5.2", "name": "GPT-5.2", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -21066,12 +25575,12 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { "context": 400000, "input": 272000, "output": 128000 } }, "gpt-5.1-chat-latest": { "id": "gpt-5.1-chat-latest", "name": "GPT-5.1 Chat", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -21098,7 +25607,7 @@ "glm-4.6v-flash": { "id": "glm-4.6v-flash", "name": "GLM-4.6V-Flash", - "family": "glm-4.6v", + "family": "glm", "attachment": true, "reasoning": true, "tool_call": true, @@ -21114,7 +25623,7 @@ "glm-4.6v": { "id": "glm-4.6v", "name": "GLM-4.6V", - "family": "glm-4.6v", + "family": "glm", "attachment": true, "reasoning": true, "tool_call": true, @@ -21130,7 +25639,7 @@ "glm-4.6": { "id": "glm-4.6", "name": "GLM-4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -21146,7 +25655,7 @@ "glm-4.5v": { "id": "glm-4.5v", "name": "GLM-4.5V", - "family": "glm-4.5v", + "family": "glm", "attachment": true, "reasoning": true, "tool_call": true, @@ -21162,7 +25671,7 @@ "glm-4.5-air": { "id": "glm-4.5-air", "name": "GLM-4.5-Air", - "family": "glm-4.5-air", + "family": "glm-air", "attachment": false, "reasoning": true, "tool_call": true, @@ -21178,7 +25687,7 @@ "glm-4.5": { "id": "glm-4.5", "name": "GLM-4.5", - "family": "glm-4.5", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -21194,7 +25703,7 @@ "glm-4.5-flash": { "id": "glm-4.5-flash", "name": "GLM-4.5-Flash", - "family": "glm-4.5-flash", + "family": "glm-flash", "attachment": false, "reasoning": true, "tool_call": true, @@ -21210,7 +25719,7 @@ "glm-4.7": { "id": "glm-4.7", "name": "GLM-4.7", - "family": "glm-4.7", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -21231,7 +25740,7 @@ "env": ["MINIMAX_API_KEY"], "npm": "@ai-sdk/anthropic", "api": "https://api.minimaxi.com/anthropic/v1", - "name": "MiniMax (China)", + "name": "MiniMax (minimaxi.com)", "doc": "https://platform.minimaxi.com/docs/guides/quickstart", "models": { "MiniMax-M2.1": { @@ -21334,7 +25843,7 @@ "moonshotai/kimi-k2": { "id": "moonshotai/kimi-k2", "name": "Kimi K2", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -21347,10 +25856,28 @@ "cost": { "input": 0.55, "output": 2.2 }, "limit": { "context": 131072, "output": 32768 } }, + "moonshotai/kimi-k2.5": { + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_details" }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, + "limit": { "context": 262144, "output": 262144 }, + "provider": { "npm": "@openrouter/ai-sdk-provider" } + }, "moonshotai/kimi-k2-0905": { "id": "moonshotai/kimi-k2-0905", "name": "Kimi K2 Instruct 0905", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -21382,7 +25909,7 @@ "moonshotai/kimi-k2-thinking": { "id": "moonshotai/kimi-k2-thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -21400,7 +25927,7 @@ "moonshotai/kimi-k2-0905:exacto": { "id": "moonshotai/kimi-k2-0905:exacto", "name": "Kimi K2 Instruct 0905 (exacto)", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -21416,7 +25943,7 @@ "moonshotai/kimi-k2:free": { "id": "moonshotai/kimi-k2:free", "name": "Kimi K2 (free)", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -21432,7 +25959,7 @@ "thudm/glm-z1-32b:free": { "id": "thudm/glm-z1-32b:free", "name": "GLM Z1 32B (free)", - "family": "glm-z1", + "family": "glm-z", "attachment": false, "reasoning": true, "tool_call": true, @@ -21480,7 +26007,7 @@ "nousresearch/deephermes-3-llama-3-8b-preview": { "id": "nousresearch/deephermes-3-llama-3-8b-preview", "name": "DeepHermes 3 Llama 3 8B Preview", - "family": "llama-3", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -21512,7 +26039,7 @@ "x-ai/grok-4": { "id": "x-ai/grok-4", "name": "Grok 4", - "family": "grok-4", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -21544,7 +26071,7 @@ "x-ai/grok-3": { "id": "x-ai/grok-3", "name": "Grok 3", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -21560,7 +26087,7 @@ "x-ai/grok-4-fast": { "id": "x-ai/grok-4-fast", "name": "Grok 4 Fast", - "family": "grok-4", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -21576,7 +26103,7 @@ "x-ai/grok-3-beta": { "id": "x-ai/grok-3-beta", "name": "Grok 3 Beta", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -21592,7 +26119,7 @@ "x-ai/grok-3-mini-beta": { "id": "x-ai/grok-3-mini-beta", "name": "Grok 3 Mini Beta", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -21608,7 +26135,7 @@ "x-ai/grok-3-mini": { "id": "x-ai/grok-3-mini", "name": "Grok 3 Mini", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -21624,7 +26151,7 @@ "x-ai/grok-4.1-fast": { "id": "x-ai/grok-4.1-fast", "name": "Grok 4.1 Fast", - "family": "grok-4", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -21640,7 +26167,7 @@ "kwaipilot/kat-coder-pro:free": { "id": "kwaipilot/kat-coder-pro:free", "name": "Kat Coder Pro (free)", - "family": "kat-coder-pro", + "family": "kat-coder", "attachment": false, "reasoning": false, "tool_call": true, @@ -21688,7 +26215,7 @@ "deepseek/deepseek-chat-v3.1": { "id": "deepseek/deepseek-chat-v3.1", "name": "DeepSeek-V3.1", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -21704,7 +26231,7 @@ "deepseek/deepseek-r1:free": { "id": "deepseek/deepseek-r1:free", "name": "R1 (free)", - "family": "deepseek-r1", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -21720,7 +26247,7 @@ "deepseek/deepseek-v3.2-speciale": { "id": "deepseek/deepseek-v3.2-speciale", "name": "DeepSeek V3.2 Speciale", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -21737,7 +26264,7 @@ "deepseek/deepseek-v3-base:free": { "id": "deepseek/deepseek-v3-base:free", "name": "DeepSeek V3 Base (free)", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": false, @@ -21753,7 +26280,7 @@ "deepseek/deepseek-v3.1-terminus": { "id": "deepseek/deepseek-v3.1-terminus", "name": "DeepSeek V3.1 Terminus", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -21769,7 +26296,7 @@ "deepseek/deepseek-r1-0528-qwen3-8b:free": { "id": "deepseek/deepseek-r1-0528-qwen3-8b:free", "name": "Deepseek R1 0528 Qwen3 8B (free)", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -21785,7 +26312,7 @@ "deepseek/deepseek-chat-v3-0324": { "id": "deepseek/deepseek-chat-v3-0324", "name": "DeepSeek V3 0324", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": false, @@ -21801,7 +26328,7 @@ "deepseek/deepseek-r1-0528:free": { "id": "deepseek/deepseek-r1-0528:free", "name": "R1 0528 (free)", - "family": "deepseek-r1", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -21817,7 +26344,7 @@ "deepseek/deepseek-r1-distill-llama-70b": { "id": "deepseek/deepseek-r1-distill-llama-70b", "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-r1-distill-llama", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": false, @@ -21849,7 +26376,7 @@ "deepseek/deepseek-v3.1-terminus:exacto": { "id": "deepseek/deepseek-v3.1-terminus:exacto", "name": "DeepSeek V3.1 Terminus (exacto)", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -21865,7 +26392,7 @@ "deepseek/deepseek-v3.2": { "id": "deepseek/deepseek-v3.2", "name": "DeepSeek V3.2", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -21898,7 +26425,7 @@ "tngtech/deepseek-r1t2-chimera:free": { "id": "tngtech/deepseek-r1t2-chimera:free", "name": "DeepSeek R1T2 Chimera (free)", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": false, @@ -21911,6 +26438,38 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 163840, "output": 163840 } }, + "arcee-ai/trinity-mini:free": { + "id": "arcee-ai/trinity-mini:free", + "name": "Trinity Mini", + "family": "trinity-mini", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-01-28", + "last_updated": "2026-01-28", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 131072, "output": 131072 } + }, + "arcee-ai/trinity-large-preview:free": { + "id": "arcee-ai/trinity-large-preview:free", + "name": "Trinity Large Preview", + "family": "trinity", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-01-28", + "last_updated": "2026-01-28", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 131072, "output": 131072 } + }, "minimax/minimax-m1": { "id": "minimax/minimax-m1", "name": "MiniMax M1", @@ -21991,22 +26550,6 @@ "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, "limit": { "context": 1048576, "output": 8192 } }, - "google/gemma-2-9b-it:free": { - "id": "google/gemma-2-9b-it:free", - "name": "Gemma 2 9B (free)", - "family": "gemma-2", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-06-28", - "last_updated": "2024-06-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 8192 } - }, "google/gemini-3-flash-preview": { "id": "google/gemini-3-flash-preview", "name": "Gemini 3 Flash Preview", @@ -22025,6 +26568,22 @@ "limit": { "context": 1048576, "output": 65536 }, "provider": { "npm": "@openrouter/ai-sdk-provider" } }, + "google/gemma-3-27b-it:free": { + "id": "google/gemma-3-27b-it:free", + "name": "Gemma 3 27B (free)", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 131072, "output": 8192 } + }, "google/gemini-3-pro-preview": { "id": "google/gemini-3-pro-preview", "name": "Gemini 3 Pro Preview", @@ -22077,19 +26636,19 @@ }, "google/gemma-3n-e4b-it": { "id": "google/gemma-3n-e4b-it", - "name": "Gemma 3n E4B IT", - "family": "gemma-3", + "name": "Gemma 3n 4B", + "family": "gemma", "attachment": true, "reasoning": false, "tool_call": false, "temperature": true, - "knowledge": "2024-10", + "knowledge": "2024-06", "release_date": "2025-05-20", "last_updated": "2025-05-20", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, + "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 8192 } + "cost": { "input": 0.02, "output": 0.04 }, + "limit": { "context": 32768, "output": 32768 } }, "google/gemini-2.5-flash-lite": { "id": "google/gemini-2.5-flash-lite", @@ -22123,6 +26682,38 @@ "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, "limit": { "context": 1048576, "output": 65536 } }, + "google/gemma-3-4b-it": { + "id": "google/gemma-3-4b-it", + "name": "Gemma 3 4B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.01703, "output": 0.06815 }, + "limit": { "context": 96000, "output": 96000 } + }, + "google/gemma-2-9b-it": { + "id": "google/gemma-2-9b-it", + "name": "Gemma 2 9B", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-06-28", + "last_updated": "2024-06-28", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.03, "output": 0.09 }, + "limit": { "context": 8192, "output": 8192 } + }, "google/gemini-2.5-flash-preview-09-2025": { "id": "google/gemini-2.5-flash-preview-09-2025", "name": "Gemini 2.5 Flash Preview 09-25", @@ -22139,6 +26730,22 @@ "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.031 }, "limit": { "context": 1048576, "output": 65536 } }, + "google/gemma-3-12b-it:free": { + "id": "google/gemma-3-12b-it:free", + "name": "Gemma 3 12B (free)", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 32768, "output": 8192 } + }, "google/gemini-2.5-pro": { "id": "google/gemini-2.5-pro", "name": "Gemini 2.5 Pro", @@ -22157,35 +26764,51 @@ }, "google/gemma-3-12b-it": { "id": "google/gemma-3-12b-it", - "name": "Gemma 3 12B IT", - "family": "gemma-3", + "name": "Gemma 3 12B", + "family": "gemma", "attachment": true, "reasoning": false, - "tool_call": true, + "tool_call": false, "temperature": true, "knowledge": "2024-10", "release_date": "2025-03-13", "last_updated": "2025-03-13", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, + "cost": { "input": 0.03, "output": 0.1 }, + "limit": { "context": 131072, "output": 131072 } + }, + "google/gemma-3n-e2b-it:free": { + "id": "google/gemma-3n-e2b-it:free", + "name": "Gemma 3n 2B (free)", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, "cost": { "input": 0, "output": 0 }, - "limit": { "context": 96000, "output": 8192 } + "limit": { "context": 8192, "output": 2000 } }, "google/gemma-3n-e4b-it:free": { "id": "google/gemma-3n-e4b-it:free", "name": "Gemma 3n 4B (free)", - "family": "gemma-3", + "family": "gemma", "attachment": true, "reasoning": false, - "tool_call": true, + "tool_call": false, "temperature": true, - "knowledge": "2025-05", + "knowledge": "2024-06", "release_date": "2025-05-20", "last_updated": "2025-05-20", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, + "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 8192 } + "limit": { "context": 8192, "output": 2000 } }, "google/gemini-2.5-flash-lite-preview-09-2025": { "id": "google/gemini-2.5-flash-lite-preview-09-2025", @@ -22203,6 +26826,22 @@ "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, "limit": { "context": 1048576, "output": 65536 } }, + "google/gemma-3-4b-it:free": { + "id": "google/gemma-3-4b-it:free", + "name": "Gemma 3 4B (free)", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 32768, "output": 8192 } + }, "google/gemini-2.0-flash-exp:free": { "id": "google/gemini-2.0-flash-exp:free", "name": "Gemini 2.0 Flash Experimental (free)", @@ -22221,8 +26860,8 @@ }, "google/gemma-3-27b-it": { "id": "google/gemma-3-27b-it", - "name": "Gemma 3 27B IT", - "family": "gemma-3", + "name": "Gemma 3 27B", + "family": "gemma", "attachment": true, "reasoning": false, "tool_call": true, @@ -22232,13 +26871,13 @@ "last_updated": "2025-03-12", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 96000, "output": 8192 } + "cost": { "input": 0.04, "output": 0.15 }, + "limit": { "context": 96000, "output": 96000 } }, "microsoft/mai-ds-r1:free": { "id": "microsoft/mai-ds-r1:free", "name": "MAI DS R1 (free)", - "family": "mai-ds-r1", + "family": "mai", "attachment": false, "reasoning": true, "tool_call": true, @@ -22266,10 +26905,27 @@ "cost": { "input": 0.075, "output": 0.3 }, "limit": { "context": 131072, "output": 65536 } }, + "openai/gpt-5.2-codex": { + "id": "openai/gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, + "limit": { "context": 400000, "output": 128000 } + }, "openai/gpt-5.1-codex": { "id": "openai/gpt-5.1-codex", "name": "GPT-5.1-Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -22286,7 +26942,7 @@ "openai/gpt-4.1-mini": { "id": "openai/gpt-4.1-mini", "name": "GPT-4.1 Mini", - "family": "gpt-4.1-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -22302,7 +26958,7 @@ "openai/gpt-5-chat": { "id": "openai/gpt-5-chat", "name": "GPT-5 Chat (latest)", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": false, @@ -22318,7 +26974,7 @@ "openai/gpt-5.2-pro": { "id": "openai/gpt-5.2-pro", "name": "GPT-5.2 Pro", - "family": "gpt-5-pro", + "family": "gpt-pro", "attachment": true, "reasoning": true, "tool_call": true, @@ -22335,7 +26991,7 @@ "openai/gpt-5.1-codex-mini": { "id": "openai/gpt-5.1-codex-mini", "name": "GPT-5.1-Codex-Mini", - "family": "gpt-5-codex-mini", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -22352,7 +27008,7 @@ "openai/gpt-5.2-chat-latest": { "id": "openai/gpt-5.2-chat-latest", "name": "GPT-5.2 Chat", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -22369,7 +27025,7 @@ "openai/gpt-5.1": { "id": "openai/gpt-5.1", "name": "GPT-5.1", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -22386,7 +27042,7 @@ "openai/gpt-5-nano": { "id": "openai/gpt-5-nano", "name": "GPT-5 Nano", - "family": "gpt-5-nano", + "family": "gpt-nano", "attachment": true, "reasoning": true, "tool_call": true, @@ -22402,7 +27058,7 @@ "openai/gpt-5-codex": { "id": "openai/gpt-5-codex", "name": "GPT-5 Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -22418,7 +27074,7 @@ "openai/gpt-4.1": { "id": "openai/gpt-4.1", "name": "GPT-4.1", - "family": "gpt-4.1", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -22449,7 +27105,7 @@ "openai/o4-mini": { "id": "openai/o4-mini", "name": "o4 Mini", - "family": "o4-mini", + "family": "o-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -22465,7 +27121,7 @@ "openai/gpt-5.1-chat": { "id": "openai/gpt-5.1-chat", "name": "GPT-5.1 Chat", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -22482,7 +27138,7 @@ "openai/gpt-5-mini": { "id": "openai/gpt-5-mini", "name": "GPT-5 Mini", - "family": "gpt-5-mini", + "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -22498,7 +27154,7 @@ "openai/gpt-5-image": { "id": "openai/gpt-5-image", "name": "GPT-5 Image", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -22511,6 +27167,23 @@ "cost": { "input": 5, "output": 10, "cache_read": 1.25 }, "limit": { "context": 400000, "output": 128000 } }, + "openai/gpt-5.1-codex-max": { + "id": "openai/gpt-5.1-codex-max", + "name": "GPT-5.1-Codex-Max", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.1, "output": 9, "cache_read": 0.11 }, + "limit": { "context": 400000, "output": 128000 } + }, "openai/gpt-oss-20b": { "id": "openai/gpt-oss-20b", "name": "GPT OSS 20B", @@ -22544,7 +27217,7 @@ "openai/gpt-4o-mini": { "id": "openai/gpt-4o-mini", "name": "GPT-4o-mini", - "family": "gpt-4o-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -22560,7 +27233,7 @@ "openai/gpt-5": { "id": "openai/gpt-5", "name": "GPT-5", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -22576,7 +27249,7 @@ "openai/gpt-5-pro": { "id": "openai/gpt-5-pro", "name": "GPT-5 Pro", - "family": "gpt-5-pro", + "family": "gpt-pro", "attachment": true, "reasoning": true, "tool_call": true, @@ -22592,7 +27265,7 @@ "openai/gpt-5.2": { "id": "openai/gpt-5.2", "name": "GPT-5.2", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -22640,7 +27313,7 @@ "z-ai/glm-4.7": { "id": "z-ai/glm-4.7", "name": "GLM-4.7", - "family": "glm-4.7", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -22658,7 +27331,7 @@ "z-ai/glm-4.5": { "id": "z-ai/glm-4.5", "name": "GLM 4.5", - "family": "glm-4.5", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -22671,10 +27344,28 @@ "cost": { "input": 0.6, "output": 2.2 }, "limit": { "context": 128000, "output": 96000 } }, + "z-ai/glm-4.7-flash": { + "id": "z-ai/glm-4.7-flash", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_details" }, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.07, "output": 0.4 }, + "limit": { "context": 200000, "output": 65535 }, + "provider": { "npm": "@openrouter/ai-sdk-provider" } + }, "z-ai/glm-4.5-air": { "id": "z-ai/glm-4.5-air", "name": "GLM 4.5 Air", - "family": "glm-4.5-air", + "family": "glm-air", "attachment": false, "reasoning": true, "tool_call": true, @@ -22690,7 +27381,7 @@ "z-ai/glm-4.5v": { "id": "z-ai/glm-4.5v", "name": "GLM 4.5V", - "family": "glm-4.5v", + "family": "glm", "attachment": true, "reasoning": true, "tool_call": true, @@ -22706,7 +27397,7 @@ "z-ai/glm-4.6": { "id": "z-ai/glm-4.6", "name": "GLM 4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -22722,7 +27413,7 @@ "z-ai/glm-4.6:exacto": { "id": "z-ai/glm-4.6:exacto", "name": "GLM 4.6 (exacto)", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -22738,7 +27429,7 @@ "z-ai/glm-4.5-air:free": { "id": "z-ai/glm-4.5-air:free", "name": "GLM 4.5 Air (free)", - "family": "glm-4.5-air", + "family": "glm-air", "attachment": false, "reasoning": true, "tool_call": false, @@ -22754,7 +27445,7 @@ "qwen/qwen3-coder": { "id": "qwen/qwen3-coder", "name": "Qwen3 Coder", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -22770,7 +27461,7 @@ "qwen/qwen3-32b:free": { "id": "qwen/qwen3-32b:free", "name": "Qwen3 32B (free)", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -22786,7 +27477,7 @@ "qwen/qwen3-next-80b-a3b-instruct": { "id": "qwen/qwen3-next-80b-a3b-instruct", "name": "Qwen3 Next 80B A3B Instruct", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -22818,7 +27509,7 @@ "qwen/qwen3-235b-a22b:free": { "id": "qwen/qwen3-235b-a22b:free", "name": "Qwen3 235B A22B (free)", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -22834,7 +27525,7 @@ "qwen/qwen3-coder-flash": { "id": "qwen/qwen3-coder-flash", "name": "Qwen3 Coder Flash", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -22851,7 +27542,7 @@ "qwen/qwq-32b:free": { "id": "qwen/qwq-32b:free", "name": "QwQ 32B (free)", - "family": "qwq", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -22867,7 +27558,7 @@ "qwen/qwen3-30b-a3b-thinking-2507": { "id": "qwen/qwen3-30b-a3b-thinking-2507", "name": "Qwen3 30B A3B Thinking 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -22883,7 +27574,7 @@ "qwen/qwen3-30b-a3b:free": { "id": "qwen/qwen3-30b-a3b:free", "name": "Qwen3 30B A3B (free)", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -22899,7 +27590,7 @@ "qwen/qwen2.5-vl-72b-instruct": { "id": "qwen/qwen2.5-vl-72b-instruct", "name": "Qwen2.5 VL 72B Instruct", - "family": "qwen2.5-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": false, @@ -22915,7 +27606,7 @@ "qwen/qwen3-14b:free": { "id": "qwen/qwen3-14b:free", "name": "Qwen3 14B (free)", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -22931,7 +27622,7 @@ "qwen/qwen3-30b-a3b-instruct-2507": { "id": "qwen/qwen3-30b-a3b-instruct-2507", "name": "Qwen3 30B A3B Instruct 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -22944,10 +27635,26 @@ "cost": { "input": 0.2, "output": 0.8 }, "limit": { "context": 262000, "output": 262000 } }, + "qwen/qwen3-coder-30b-a3b-instruct": { + "id": "qwen/qwen3-coder-30b-a3b-instruct", + "name": "Qwen3 Coder 30B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-31", + "last_updated": "2025-07-31", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.07, "output": 0.27 }, + "limit": { "context": 160000, "output": 65536 } + }, "qwen/qwen3-235b-a22b-thinking-2507": { "id": "qwen/qwen3-235b-a22b-thinking-2507", "name": "Qwen3 235B A22B Thinking 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -22963,7 +27670,7 @@ "qwen/qwen2.5-vl-32b-instruct:free": { "id": "qwen/qwen2.5-vl-32b-instruct:free", "name": "Qwen2.5 VL 32B Instruct (free)", - "family": "qwen2.5-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -22979,7 +27686,7 @@ "qwen/qwen2.5-vl-72b-instruct:free": { "id": "qwen/qwen2.5-vl-72b-instruct:free", "name": "Qwen2.5 VL 72B Instruct (free)", - "family": "qwen2.5-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -22995,7 +27702,7 @@ "qwen/qwen3-235b-a22b-07-25:free": { "id": "qwen/qwen3-235b-a22b-07-25:free", "name": "Qwen3 235B A22B Instruct 2507 (free)", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -23011,7 +27718,7 @@ "qwen/qwen3-coder:free": { "id": "qwen/qwen3-coder:free", "name": "Qwen3 Coder 480B A35B Instruct (free)", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -23027,7 +27734,7 @@ "qwen/qwen3-235b-a22b-07-25": { "id": "qwen/qwen3-235b-a22b-07-25", "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -23043,7 +27750,7 @@ "qwen/qwen3-8b:free": { "id": "qwen/qwen3-8b:free", "name": "Qwen3 8B (free)", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -23059,7 +27766,7 @@ "qwen/qwen3-max": { "id": "qwen/qwen3-max", "name": "Qwen3 Max", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -23074,7 +27781,7 @@ "qwen/qwen3-next-80b-a3b-thinking": { "id": "qwen/qwen3-next-80b-a3b-thinking", "name": "Qwen3 Next 80B A3B Thinking", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -23090,7 +27797,7 @@ "qwen/qwen3-coder:exacto": { "id": "qwen/qwen3-coder:exacto", "name": "Qwen3 Coder (exacto)", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -23106,7 +27813,7 @@ "mistralai/devstral-medium-2507": { "id": "mistralai/devstral-medium-2507", "name": "Devstral Medium", - "family": "devstral-medium", + "family": "devstral", "attachment": false, "reasoning": false, "tool_call": true, @@ -23170,7 +27877,7 @@ "mistralai/mistral-7b-instruct:free": { "id": "mistralai/mistral-7b-instruct:free", "name": "Mistral 7B Instruct (free)", - "family": "mistral-7b", + "family": "mistral", "attachment": false, "reasoning": false, "tool_call": true, @@ -23186,7 +27893,7 @@ "mistralai/devstral-small-2505": { "id": "mistralai/devstral-small-2505", "name": "Devstral Small", - "family": "devstral-small", + "family": "devstral", "attachment": false, "reasoning": false, "tool_call": true, @@ -23218,7 +27925,7 @@ "mistralai/devstral-small-2505:free": { "id": "mistralai/devstral-small-2505:free", "name": "Devstral Small 2505 (free)", - "family": "devstral-small", + "family": "devstral", "attachment": false, "reasoning": false, "tool_call": true, @@ -23282,7 +27989,7 @@ "mistralai/devstral-small-2507": { "id": "mistralai/devstral-small-2507", "name": "Devstral Small 1.1", - "family": "devstral-small", + "family": "devstral", "attachment": false, "reasoning": false, "tool_call": true, @@ -23330,7 +28037,7 @@ "rekaai/reka-flash-3": { "id": "rekaai/reka-flash-3", "name": "Reka Flash 3", - "family": "reka-flash", + "family": "reka", "attachment": false, "reasoning": true, "tool_call": true, @@ -23346,7 +28053,7 @@ "meta-llama/llama-3.2-11b-vision-instruct": { "id": "meta-llama/llama-3.2-11b-vision-instruct", "name": "Llama 3.2 11B Vision Instruct", - "family": "llama-3.2", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": false, @@ -23362,7 +28069,7 @@ "meta-llama/llama-3.3-70b-instruct:free": { "id": "meta-llama/llama-3.3-70b-instruct:free", "name": "Llama 3.3 70B Instruct (free)", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -23378,7 +28085,7 @@ "meta-llama/llama-4-scout:free": { "id": "meta-llama/llama-4-scout:free", "name": "Llama 4 Scout (free)", - "family": "llama-4-scout", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -23534,7 +28241,7 @@ "sarvamai/sarvam-m:free": { "id": "sarvamai/sarvam-m:free", "name": "Sarvam-M (free)", - "family": "sarvam-m", + "family": "sarvam", "attachment": false, "reasoning": true, "tool_call": true, @@ -23575,7 +28282,7 @@ "moonshotai/kimi-k2-thinking-turbo": { "id": "moonshotai/kimi-k2-thinking-turbo", "name": "Kimi K2 Thinking Turbo", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -23588,6 +28295,23 @@ "cost": { "input": 1.15, "output": 8, "cache_read": 0.15 }, "limit": { "context": 262144, "output": 64000 } }, + "moonshotai/kimi-k2.5": { + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-01-25", + "last_updated": "2026-01-25", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.58, "output": 3.02, "cache_read": 0.1 }, + "limit": { "context": 262144, "output": 262144 } + }, "moonshotai/kimi-k2-0905": { "id": "moonshotai/kimi-k2-0905", "name": "Kimi K2 0905", @@ -23606,7 +28330,7 @@ "moonshotai/kimi-k2-thinking": { "id": "moonshotai/kimi-k2-thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -23935,6 +28659,21 @@ "cost": { "input": 0.11, "output": 0.28, "cache_read": 0.02, "cache_write": 0 }, "limit": { "context": 256000, "output": 64000 } }, + "openai/gpt-5.2-codex": { + "id": "openai/gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-01-15", + "last_updated": "2026-01-15", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, + "limit": { "context": 400000, "output": 128000 } + }, "openai/gpt-5.1-codex": { "id": "openai/gpt-5.1-codex", "name": "GPT-5.1-Codex", @@ -24163,7 +28902,7 @@ "z-ai/glm-4.6": { "id": "z-ai/glm-4.6", "name": "GLM 4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -24176,6 +28915,23 @@ "cost": { "input": 0.35, "output": 1.54, "cache_read": 0.07 }, "limit": { "context": 200000, "output": 128000 } }, + "z-ai/glm-4.7-flashx": { + "id": "z-ai/glm-4.7-flashx", + "name": "GLM 4.7 FlashX", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0.0715, "output": 0.425, "cache_read": 0.014 }, + "limit": { "context": 200000, "output": 128000 } + }, "z-ai/glm-4.6v": { "id": "z-ai/glm-4.6v", "name": "GLM 4.6V", @@ -24191,6 +28947,21 @@ "cost": { "input": 0.14, "output": 0.42, "cache_read": 0.03 }, "limit": { "context": 200000, "output": 64000 } }, + "qwen/qwen3-max-thinking": { + "id": "qwen/qwen3-max-thinking", + "name": "Qwen3-Max-Thinking", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-01-23", + "last_updated": "2026-01-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.2, "output": 6 }, + "limit": { "context": 256000, "output": 32000 } + }, "qwen/qwen3-coder-plus": { "id": "qwen/qwen3-coder-plus", "name": "Qwen3-Coder-Plus", @@ -24331,6 +29102,46 @@ } } }, + "minimax-coding-plan": { + "id": "minimax-coding-plan", + "env": ["MINIMAX_API_KEY"], + "npm": "@ai-sdk/anthropic", + "api": "https://api.minimax.io/anthropic/v1", + "name": "MiniMax Coding Plan (minimax.io)", + "doc": "https://platform.minimax.io/docs/coding-plan/intro", + "models": { + "MiniMax-M2": { + "id": "MiniMax-M2", + "name": "MiniMax-M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 196608, "output": 128000 } + }, + "MiniMax-M2.1": { + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 204800, "output": 131072 } + } + } + }, "ovhcloud": { "id": "ovhcloud", "env": ["OVHCLOUD_API_KEY"], @@ -24342,7 +29153,6 @@ "mixtral-8x7b-instruct-v0.1": { "id": "mixtral-8x7b-instruct-v0.1", "name": "Mixtral-8x7B-Instruct-v0.1", - "family": "mixtral-8x7b", "attachment": false, "reasoning": false, "tool_call": false, @@ -24353,12 +29163,11 @@ "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.7, "output": 0.7 }, - "limit": { "context": 32000, "output": 32000 } + "limit": { "context": 32768, "output": 32768 } }, "mistral-7b-instruct-v0.3": { "id": "mistral-7b-instruct-v0.3", "name": "Mistral-7B-Instruct-v0.3", - "family": "mistral-7b", "attachment": false, "reasoning": false, "tool_call": true, @@ -24369,12 +29178,11 @@ "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.11, "output": 0.11 }, - "limit": { "context": 127000, "output": 127000 } + "limit": { "context": 65536, "output": 65536 } }, "llama-3.1-8b-instruct": { "id": "llama-3.1-8b-instruct", "name": "Llama-3.1-8B-Instruct", - "family": "llama-3.1", "attachment": false, "reasoning": false, "tool_call": true, @@ -24385,12 +29193,11 @@ "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.11, "output": 0.11 }, - "limit": { "context": 131000, "output": 131000 } + "limit": { "context": 131072, "output": 131072 } }, "qwen2.5-vl-72b-instruct": { "id": "qwen2.5-vl-72b-instruct", "name": "Qwen2.5-VL-72B-Instruct", - "family": "qwen2.5-vl", "attachment": true, "reasoning": false, "tool_call": false, @@ -24401,12 +29208,11 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, "cost": { "input": 1.01, "output": 1.01 }, - "limit": { "context": 32000, "output": 32000 } + "limit": { "context": 32768, "output": 32768 } }, "mistral-nemo-instruct-2407": { "id": "mistral-nemo-instruct-2407", "name": "Mistral-Nemo-Instruct-2407", - "family": "mistral-nemo", "attachment": false, "reasoning": false, "tool_call": true, @@ -24417,12 +29223,11 @@ "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.14, "output": 0.14 }, - "limit": { "context": 118000, "output": 118000 } + "limit": { "context": 65536, "output": 65536 } }, "mistral-small-3.2-24b-instruct-2506": { "id": "mistral-small-3.2-24b-instruct-2506", "name": "Mistral-Small-3.2-24B-Instruct-2506", - "family": "mistral-small", "attachment": true, "reasoning": false, "tool_call": true, @@ -24433,12 +29238,11 @@ "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.1, "output": 0.31 }, - "limit": { "context": 128000, "output": 128000 } + "limit": { "context": 131072, "output": 131072 } }, "qwen2.5-coder-32b-instruct": { "id": "qwen2.5-coder-32b-instruct", "name": "Qwen2.5-Coder-32B-Instruct", - "family": "qwen2.5-coder", "attachment": false, "reasoning": false, "tool_call": false, @@ -24449,12 +29253,11 @@ "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.96, "output": 0.96 }, - "limit": { "context": 32000, "output": 32000 } + "limit": { "context": 32768, "output": 32768 } }, "qwen3-coder-30b-a3b-instruct": { "id": "qwen3-coder-30b-a3b-instruct", "name": "Qwen3-Coder-30B-A3B-Instruct", - "family": "qwen3-coder", "attachment": false, "reasoning": false, "tool_call": true, @@ -24465,28 +29268,11 @@ "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.07, "output": 0.26 }, - "limit": { "context": 256000, "output": 256000 } - }, - "llava-next-mistral-7b": { - "id": "llava-next-mistral-7b", - "name": "llava-next-mistral-7b", - "family": "mistral-7b", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-08", - "last_updated": "2025-01-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.32, "output": 0.32 }, - "limit": { "context": 32000, "output": 32000 } + "limit": { "context": 262144, "output": 262144 } }, "deepseek-r1-distill-llama-70b": { "id": "deepseek-r1-distill-llama-70b", "name": "DeepSeek-R1-Distill-Llama-70B", - "family": "deepseek-r1-distill-llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -24497,27 +29283,11 @@ "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.74, "output": 0.74 }, - "limit": { "context": 131000, "output": 131000 } - }, - "meta-llama-3_1-70b-instruct": { - "id": "meta-llama-3_1-70b-instruct", - "name": "Meta-Llama-3_1-70B-Instruct", - "family": "llama-3", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-01", - "last_updated": "2025-04-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.74, "output": 0.74 }, - "limit": { "context": 131000, "output": 131000 } + "limit": { "context": 131072, "output": 131072 } }, "gpt-oss-20b": { "id": "gpt-oss-20b", "name": "gpt-oss-20b", - "family": "gpt-oss", "attachment": false, "reasoning": true, "tool_call": true, @@ -24527,12 +29297,11 @@ "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.05, "output": 0.18 }, - "limit": { "context": 131000, "output": 131000 } + "limit": { "context": 131072, "output": 131072 } }, "gpt-oss-120b": { "id": "gpt-oss-120b", "name": "gpt-oss-120b", - "family": "gpt-oss", "attachment": false, "reasoning": true, "tool_call": true, @@ -24542,12 +29311,11 @@ "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.09, "output": 0.47 }, - "limit": { "context": 131000, "output": 131000 } + "limit": { "context": 131072, "output": 131072 } }, "meta-llama-3_3-70b-instruct": { "id": "meta-llama-3_3-70b-instruct", "name": "Meta-Llama-3_3-70B-Instruct", - "family": "llama-3", "attachment": false, "reasoning": false, "tool_call": true, @@ -24558,12 +29326,11 @@ "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.74, "output": 0.74 }, - "limit": { "context": 131000, "output": 131000 } + "limit": { "context": 131072, "output": 131072 } }, "qwen3-32b": { "id": "qwen3-32b", "name": "Qwen3-32B", - "family": "qwen3", "attachment": false, "reasoning": true, "tool_call": true, @@ -24574,7 +29341,7 @@ "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.09, "output": 0.25 }, - "limit": { "context": 32000, "output": 32000 } + "limit": { "context": 32768, "output": 32768 } } } }, @@ -24640,26 +29407,10 @@ "name": "iFlow", "doc": "https://platform.iflow.cn/en/docs", "models": { - "qwen3-coder": { - "id": "qwen3-coder", - "name": "Qwen3-Coder-480B-A35B", - "family": "qwen3-coder", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-01", - "last_updated": "2025-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 64000 } - }, "deepseek-v3": { "id": "deepseek-v3", "name": "DeepSeek-V3", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -24675,7 +29426,7 @@ "kimi-k2": { "id": "kimi-k2", "name": "Kimi-K2", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -24691,7 +29442,7 @@ "deepseek-r1": { "id": "deepseek-r1", "name": "DeepSeek-R1", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -24704,41 +29455,10 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 128000, "output": 32000 } }, - "deepseek-v3.1": { - "id": "deepseek-v3.1", - "name": "DeepSeek-V3.1-Terminus", - "family": "deepseek-v3", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 64000 } - }, - "minimax-m2": { - "id": "minimax-m2", - "name": "MiniMax-M2", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131100 } - }, "qwen3-235b": { "id": "qwen3-235b", "name": "Qwen3-235B-A22B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -24751,26 +29471,10 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 128000, "output": 32000 } }, - "deepseek-v3.2-chat": { - "id": "deepseek-v3.2-chat", - "name": "DeepSeek-V3.2", - "family": "deepseek-v3", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 64000 } - }, "kimi-k2-0905": { "id": "kimi-k2-0905", "name": "Kimi-K2-0905", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -24783,26 +29487,10 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 256000, "output": 64000 } }, - "kimi-k2-thinking": { - "id": "kimi-k2-thinking", - "name": "Kimi-K2-Thinking", - "family": "kimi-k2", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 64000 } - }, "qwen3-235b-a22b-thinking-2507": { "id": "qwen3-235b-a22b-thinking-2507", "name": "Qwen3-235B-A22B-Thinking", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -24818,7 +29506,7 @@ "qwen3-vl-plus": { "id": "qwen3-vl-plus", "name": "Qwen3-VL-Plus", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -24834,7 +29522,7 @@ "glm-4.6": { "id": "glm-4.6", "name": "GLM-4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -24847,26 +29535,10 @@ "cost": { "input": 0, "output": 0 }, "limit": { "context": 200000, "output": 128000 } }, - "tstars2.0": { - "id": "tstars2.0", - "name": "TStars-2.0", - "family": "tstars2.0", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-01", - "release_date": "2024-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 64000 } - }, "qwen3-235b-a22b-instruct": { "id": "qwen3-235b-a22b-instruct", "name": "Qwen3-235B-A22B-Instruct", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -24882,7 +29554,7 @@ "qwen3-max": { "id": "qwen3-max", "name": "Qwen3-Max", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -24898,7 +29570,7 @@ "deepseek-v3.2": { "id": "deepseek-v3.2", "name": "DeepSeek-V3.2-Exp", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -24914,7 +29586,7 @@ "qwen3-max-preview": { "id": "qwen3-max-preview", "name": "Qwen3-Max-Preview", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -24930,7 +29602,7 @@ "qwen3-coder-plus": { "id": "qwen3-coder-plus", "name": "Qwen3-Coder-Plus", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -24946,7 +29618,7 @@ "qwen3-32b": { "id": "qwen3-32b", "name": "Qwen3-32B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -24972,7 +29644,7 @@ "hf:Qwen/Qwen3-235B-A22B-Instruct-2507": { "id": "hf:Qwen/Qwen3-235B-A22B-Instruct-2507", "name": "Qwen 3 235B Instruct", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -24988,7 +29660,7 @@ "hf:Qwen/Qwen2.5-Coder-32B-Instruct": { "id": "hf:Qwen/Qwen2.5-Coder-32B-Instruct", "name": "Qwen2.5-Coder-32B-Instruct", - "family": "qwen2.5-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -25004,7 +29676,7 @@ "hf:Qwen/Qwen3-Coder-480B-A35B-Instruct": { "id": "hf:Qwen/Qwen3-Coder-480B-A35B-Instruct", "name": "Qwen 3 Coder 480B", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -25020,7 +29692,7 @@ "hf:Qwen/Qwen3-235B-A22B-Thinking-2507": { "id": "hf:Qwen/Qwen3-235B-A22B-Thinking-2507", "name": "Qwen3 235B A22B Thinking 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -25067,7 +29739,7 @@ "hf:meta-llama/Llama-3.1-70B-Instruct": { "id": "hf:meta-llama/Llama-3.1-70B-Instruct", "name": "Llama-3.1-70B-Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -25083,7 +29755,7 @@ "hf:meta-llama/Llama-3.1-8B-Instruct": { "id": "hf:meta-llama/Llama-3.1-8B-Instruct", "name": "Llama-3.1-8B-Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -25099,7 +29771,7 @@ "hf:meta-llama/Llama-3.3-70B-Instruct": { "id": "hf:meta-llama/Llama-3.3-70B-Instruct", "name": "Llama-3.3-70B-Instruct", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -25115,7 +29787,7 @@ "hf:meta-llama/Llama-4-Scout-17B-16E-Instruct": { "id": "hf:meta-llama/Llama-4-Scout-17B-16E-Instruct", "name": "Llama-4-Scout-17B-16E-Instruct", - "family": "llama-4-scout", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -25131,7 +29803,7 @@ "hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": { "id": "hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", "name": "Llama-4-Maverick-17B-128E-Instruct-FP8", - "family": "llama-4-maverick", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -25147,7 +29819,7 @@ "hf:meta-llama/Llama-3.1-405B-Instruct": { "id": "hf:meta-llama/Llama-3.1-405B-Instruct", "name": "Llama-3.1-405B-Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, @@ -25160,10 +29832,27 @@ "cost": { "input": 3, "output": 3 }, "limit": { "context": 128000, "output": 32768 } }, + "hf:moonshotai/Kimi-K2.5": { + "id": "hf:moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.55, "output": 2.19 }, + "limit": { "context": 262144, "output": 65536 } + }, "hf:moonshotai/Kimi-K2-Instruct-0905": { "id": "hf:moonshotai/Kimi-K2-Instruct-0905", "name": "Kimi K2 0905", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -25179,7 +29868,7 @@ "hf:moonshotai/Kimi-K2-Thinking": { "id": "hf:moonshotai/Kimi-K2-Thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -25195,7 +29884,7 @@ "hf:zai-org/GLM-4.5": { "id": "hf:zai-org/GLM-4.5", "name": "GLM 4.5", - "family": "glm-4.5", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -25211,7 +29900,7 @@ "hf:zai-org/GLM-4.7": { "id": "hf:zai-org/GLM-4.7", "name": "GLM 4.7", - "family": "glm-4.7", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -25228,7 +29917,7 @@ "hf:zai-org/GLM-4.6": { "id": "hf:zai-org/GLM-4.6", "name": "GLM 4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -25244,7 +29933,7 @@ "hf:deepseek-ai/DeepSeek-R1": { "id": "hf:deepseek-ai/DeepSeek-R1", "name": "DeepSeek R1", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -25260,7 +29949,7 @@ "hf:deepseek-ai/DeepSeek-R1-0528": { "id": "hf:deepseek-ai/DeepSeek-R1-0528", "name": "DeepSeek R1 (0528)", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -25275,7 +29964,7 @@ "hf:deepseek-ai/DeepSeek-V3.1-Terminus": { "id": "hf:deepseek-ai/DeepSeek-V3.1-Terminus", "name": "DeepSeek V3.1 Terminus", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -25290,7 +29979,7 @@ "hf:deepseek-ai/DeepSeek-V3.2": { "id": "hf:deepseek-ai/DeepSeek-V3.2", "name": "DeepSeek V3.2", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -25306,7 +29995,7 @@ "hf:deepseek-ai/DeepSeek-V3": { "id": "hf:deepseek-ai/DeepSeek-V3", "name": "DeepSeek V3", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -25322,7 +30011,7 @@ "hf:deepseek-ai/DeepSeek-V3.1": { "id": "hf:deepseek-ai/DeepSeek-V3.1", "name": "DeepSeek V3.1", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -25337,7 +30026,7 @@ "hf:deepseek-ai/DeepSeek-V3-0324": { "id": "hf:deepseek-ai/DeepSeek-V3-0324", "name": "DeepSeek V3 (0324)", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -25376,7 +30065,7 @@ "moonshotai/Kimi-K2-Instruct": { "id": "moonshotai/Kimi-K2-Instruct", "name": "Kimi K2", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -25392,7 +30081,7 @@ "moonshotai/Kimi-K2-Thinking": { "id": "moonshotai/Kimi-K2-Thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -25423,6 +30112,22 @@ "cost": { "input": 0.254, "output": 1.02 }, "limit": { "context": 262144, "output": 32768 } }, + "MiniMaxAI/MiniMax-M2.1": { + "id": "MiniMaxAI/MiniMax-M2.1", + "name": "MiniMax M2.1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.28, "output": 1.2 }, + "limit": { "context": 196608, "output": 196608 } + }, "openai/gpt-oss-20b": { "id": "openai/gpt-oss-20b", "name": "GPT OSS 20B", @@ -25456,7 +30161,7 @@ "Qwen/Qwen3-Coder-480B-A35B-Instruct": { "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -25472,7 +30177,7 @@ "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo": { "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo", "name": "Qwen3 Coder 480B A35B Instruct Turbo", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -25488,7 +30193,7 @@ "zai-org/GLM-4.5": { "id": "zai-org/GLM-4.5", "name": "GLM-4.5", - "family": "glm-4.5", + "family": "glm", "attachment": false, "reasoning": false, "tool_call": true, @@ -25505,7 +30210,7 @@ "zai-org/GLM-4.7": { "id": "zai-org/GLM-4.7", "name": "GLM-4.7", - "family": "glm-4.7", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -25529,26 +30234,10 @@ "name": "Zhipu AI", "doc": "https://docs.z.ai/guides/overview/pricing", "models": { - "glm-4.6v-flash": { - "id": "glm-4.6v-flash", - "name": "GLM-4.6V-Flash", - "family": "glm-4.6v", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, "glm-4.6v": { "id": "glm-4.6v", "name": "GLM-4.6V", - "family": "glm-4.6v", + "family": "glm", "attachment": true, "reasoning": true, "tool_call": true, @@ -25564,7 +30253,7 @@ "glm-4.6": { "id": "glm-4.6", "name": "GLM-4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -25580,7 +30269,7 @@ "glm-4.5v": { "id": "glm-4.5v", "name": "GLM-4.5V", - "family": "glm-4.5v", + "family": "glm", "attachment": true, "reasoning": true, "tool_call": true, @@ -25596,7 +30285,7 @@ "glm-4.5-air": { "id": "glm-4.5-air", "name": "GLM-4.5-Air", - "family": "glm-4.5-air", + "family": "glm-air", "attachment": false, "reasoning": true, "tool_call": true, @@ -25609,10 +30298,26 @@ "cost": { "input": 0.2, "output": 1.1, "cache_read": 0.03, "cache_write": 0 }, "limit": { "context": 131072, "output": 98304 } }, + "glm-4.7-flash": { + "id": "glm-4.7-flash", + "name": "GLM-4.7-Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, + "limit": { "context": 200000, "output": 131072 } + }, "glm-4.5": { "id": "glm-4.5", "name": "GLM-4.5", - "family": "glm-4.5", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -25628,7 +30333,7 @@ "glm-4.5-flash": { "id": "glm-4.5-flash", "name": "GLM-4.5-Flash", - "family": "glm-4.5-flash", + "family": "glm-flash", "attachment": false, "reasoning": true, "tool_call": true, @@ -25644,7 +30349,7 @@ "glm-4.7": { "id": "glm-4.7", "name": "GLM-4.7", - "family": "glm-4.7", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -25686,7 +30391,7 @@ "Qwen/Qwen3-235B-A22B-Instruct-2507": { "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -25701,7 +30406,7 @@ "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": { "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8", "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -25716,7 +30421,7 @@ "Qwen/Qwen3-235B-A22B-Thinking-2507": { "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", "name": "Qwen3 235B A22B Thinking 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -25731,7 +30436,7 @@ "zai-org/GLM-4.5-FP8": { "id": "zai-org/GLM-4.5-FP8", "name": "GLM 4.5 FP8", - "family": "glm-4.5", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -25746,7 +30451,7 @@ "zai-org/GLM-4.5-Air": { "id": "zai-org/GLM-4.5-Air", "name": "GLM 4.5 Air", - "family": "glm-4.5-air", + "family": "glm-air", "attachment": false, "reasoning": false, "tool_call": true, @@ -25761,7 +30466,7 @@ "deepseek-ai/DeepSeek-R1-0528": { "id": "deepseek-ai/DeepSeek-R1-0528", "name": "DeepSeek R1 0528", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -25776,7 +30481,7 @@ "deepseek-ai/DeepSeek-V3.1": { "id": "deepseek-ai/DeepSeek-V3.1", "name": "DeepSeek V3.1", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -25791,7 +30496,7 @@ "deepseek-ai/DeepSeek-V3-0324": { "id": "deepseek-ai/DeepSeek-V3-0324", "name": "DeepSeek V3 0324", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -25816,7 +30521,7 @@ "moonshotai/kimi-k2-thinking": { "id": "moonshotai/kimi-k2-thinking", "name": "Kimi K2 Thinking", - "family": "kimi", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -26180,7 +30885,7 @@ "glm-4.7": { "id": "glm-4.7", "name": "GLM-4.7", - "family": "glm-4.7", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -26197,7 +30902,7 @@ "glm-4.5-flash": { "id": "glm-4.5-flash", "name": "GLM-4.5-Flash", - "family": "glm-4.5-flash", + "family": "glm-flash", "attachment": false, "reasoning": true, "tool_call": true, @@ -26213,7 +30918,7 @@ "glm-4.5": { "id": "glm-4.5", "name": "GLM-4.5", - "family": "glm-4.5", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -26226,10 +30931,26 @@ "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11, "cache_write": 0 }, "limit": { "context": 131072, "output": 98304 } }, + "glm-4.7-flash": { + "id": "glm-4.7-flash", + "name": "GLM-4.7-Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, + "limit": { "context": 200000, "output": 131072 } + }, "glm-4.5-air": { "id": "glm-4.5-air", "name": "GLM-4.5-Air", - "family": "glm-4.5-air", + "family": "glm-air", "attachment": false, "reasoning": true, "tool_call": true, @@ -26245,7 +30966,7 @@ "glm-4.5v": { "id": "glm-4.5v", "name": "GLM-4.5V", - "family": "glm-4.5v", + "family": "glm", "attachment": true, "reasoning": true, "tool_call": true, @@ -26261,7 +30982,7 @@ "glm-4.6": { "id": "glm-4.6", "name": "GLM-4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -26277,7 +30998,7 @@ "glm-4.6v": { "id": "glm-4.6v", "name": "GLM-4.6V", - "family": "glm-4.6v", + "family": "glm", "attachment": true, "reasoning": true, "tool_call": true, @@ -26319,7 +31040,7 @@ "google/gemma-3": { "id": "google/gemma-3", "name": "Google Gemma 3", - "family": "gemma-3", + "family": "gemma", "attachment": true, "reasoning": false, "tool_call": true, @@ -26335,7 +31056,7 @@ "osmosis/osmosis-structure-0.6b": { "id": "osmosis/osmosis-structure-0.6b", "name": "Osmosis Structure 0.6B", - "family": "osmosis-structure-0.6b", + "family": "osmosis", "attachment": false, "reasoning": false, "tool_call": true, @@ -26351,7 +31072,7 @@ "qwen/qwen3-embedding-4b": { "id": "qwen/qwen3-embedding-4b", "name": "Qwen 3 Embedding 4B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, @@ -26383,7 +31104,7 @@ "meta/llama-3.2-11b-vision-instruct": { "id": "meta/llama-3.2-11b-vision-instruct", "name": "Llama 3.2 11B Vision Instruct", - "family": "llama-3.2", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -26399,7 +31120,7 @@ "meta/llama-3.1-8b-instruct": { "id": "meta/llama-3.1-8b-instruct", "name": "Llama 3.1 8B Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -26415,7 +31136,7 @@ "meta/llama-3.2-3b-instruct": { "id": "meta/llama-3.2-3b-instruct", "name": "Llama 3.2 3B Instruct", - "family": "llama-3.2", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -26431,7 +31152,7 @@ "meta/llama-3.2-1b-instruct": { "id": "meta/llama-3.2-1b-instruct", "name": "Llama 3.2 1B Instruct", - "family": "llama-3.2", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -26457,7 +31178,7 @@ "xai/grok-4": { "id": "xai/grok-4", "name": "Grok 4", - "family": "grok-4", + "family": "grok", "attachment": true, "reasoning": true, "tool_call": true, @@ -26473,7 +31194,7 @@ "xai/grok-4-fast": { "id": "xai/grok-4-fast", "name": "Grok 4 Fast", - "family": "grok-4", + "family": "grok", "attachment": true, "reasoning": true, "tool_call": true, @@ -26552,7 +31273,7 @@ "openai/gpt-4.1-mini": { "id": "openai/gpt-4.1-mini", "name": "GPT-4.1 Mini", - "family": "gpt-4.1-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -26568,7 +31289,7 @@ "openai/gpt-5-nano": { "id": "openai/gpt-5-nano", "name": "GPT-5 Nano", - "family": "gpt-5-nano", + "family": "gpt-nano", "attachment": true, "reasoning": true, "tool_call": true, @@ -26584,7 +31305,7 @@ "openai/gpt-4.1": { "id": "openai/gpt-4.1", "name": "GPT-4.1", - "family": "gpt-4.1", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -26600,7 +31321,7 @@ "openai/o4-mini": { "id": "openai/o4-mini", "name": "o4 Mini", - "family": "o4-mini", + "family": "o-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -26616,7 +31337,7 @@ "openai/gpt-5-mini": { "id": "openai/gpt-5-mini", "name": "GPT-5 Mini", - "family": "gpt-5-mini", + "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -26632,7 +31353,7 @@ "openai/gpt-4o-mini": { "id": "openai/gpt-4o-mini", "name": "GPT-4o Mini", - "family": "gpt-4o-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -26648,7 +31369,7 @@ "openai/gpt-5": { "id": "openai/gpt-5", "name": "GPT-5", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -26786,7 +31507,7 @@ "morph-v3-large": { "id": "morph-v3-large", "name": "Morph v3 Large", - "family": "morph-v3-large", + "family": "morph", "attachment": false, "reasoning": false, "tool_call": false, @@ -26816,7 +31537,7 @@ "morph-v3-fast": { "id": "morph-v3-fast", "name": "Morph v3 Fast", - "family": "morph-v3-fast", + "family": "morph", "attachment": false, "reasoning": false, "tool_call": false, @@ -26856,7 +31577,7 @@ "qwen/qwen3-30b-a3b-2507": { "id": "qwen/qwen3-30b-a3b-2507", "name": "Qwen3 30B A3B 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -26872,7 +31593,7 @@ "qwen/qwen3-coder-30b": { "id": "qwen/qwen3-coder-30b", "name": "Qwen3 Coder 30B", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -26895,37 +31616,36 @@ "name": "Friendli", "doc": "https://friendli.ai/docs/guides/serverless_endpoints/introduction", "models": { - "meta-llama-3.3-70b-instruct": { - "id": "meta-llama-3.3-70b-instruct", - "name": "Llama 3.3 70B Instruct", - "family": "llama-3.3", + "MiniMaxAI/MiniMax-M2.1": { + "id": "MiniMaxAI/MiniMax-M2.1", + "name": "MiniMax M2.1", "attachment": false, - "reasoning": false, + "reasoning": true, "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2024-08-01", - "last_updated": "2025-12-23", + "release_date": "2026-01-13", + "last_updated": "2026-01-29", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.6, "output": 0.6 }, - "limit": { "context": 131072, "output": 131072 } + "cost": { "input": 0.3, "output": 1.2 }, + "limit": { "context": 196608, "output": 196608 } }, - "meta-llama-3.1-8b-instruct": { - "id": "meta-llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "family": "llama-3.1", + "LGAI-EXAONE/K-EXAONE-236B-A23B": { + "id": "LGAI-EXAONE/K-EXAONE-236B-A23B", + "name": "K EXAONE 236B A23B", + "family": "exaone", "attachment": false, - "reasoning": false, + "reasoning": true, "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2024-08-01", - "last_updated": "2025-12-23", + "release_date": "2025-12-31", + "last_updated": "2026-01-08", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 131072, "output": 8000 } + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 262144, "output": 262144 } }, "LGAI-EXAONE/EXAONE-4.0.1-32B": { "id": "LGAI-EXAONE/EXAONE-4.0.1-32B", @@ -26943,136 +31663,94 @@ "cost": { "input": 0.6, "output": 1 }, "limit": { "context": 131072, "output": 131072 } }, - "meta-llama/Llama-4-Maverick-17B-128E-Instruct": { - "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct", - "name": "Llama 4 Maverick 17B 128E Instruct", - "family": "llama-4", + "meta-llama/Llama-3.1-8B-Instruct": { + "id": "meta-llama/Llama-3.1-8B-Instruct", + "name": "Llama 3.1 8B Instruct", + "family": "llama", "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-06-16", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 131072, "output": 8000 } - }, - "meta-llama/Llama-4-Scout-17B-16E-Instruct": { - "id": "meta-llama/Llama-4-Scout-17B-16E-Instruct", - "name": "Llama 4 Scout 17B 16E Instruct", - "family": "llama-4", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-06-16", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 131072, "output": 8000 } - }, - "Qwen/Qwen3-30B-A3B": { - "id": "Qwen/Qwen3-30B-A3B", - "name": "Qwen3 30B A3B", - "family": "qwen3", - "attachment": false, - "reasoning": true, + "reasoning": false, "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2025-06-16", + "release_date": "2024-08-01", "last_updated": "2025-12-23", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, + "cost": { "input": 0.1, "output": 0.1 }, "limit": { "context": 131072, "output": 8000 } }, + "meta-llama/Llama-3.3-70B-Instruct": { + "id": "meta-llama/Llama-3.3-70B-Instruct", + "name": "Llama 3.3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-08-01", + "last_updated": "2025-12-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 0.6 }, + "limit": { "context": 131072, "output": 131072 } + }, "Qwen/Qwen3-235B-A22B-Instruct-2507": { "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, "structured_output": true, "temperature": true, "release_date": "2025-07-29", - "last_updated": "2025-12-23", + "last_updated": "2026-01-29", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 131072, "output": 131072 } + "limit": { "context": 262144, "output": 262144 } }, - "Qwen/Qwen3-32B": { - "id": "Qwen/Qwen3-32B", - "name": "Qwen3 32B", - "family": "qwen3", + "zai-org/GLM-4.7": { + "id": "zai-org/GLM-4.7", + "name": "GLM 4.7", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2025-06-16", - "last_updated": "2025-12-23", + "release_date": "2025-12-22", + "last_updated": "2026-01-29", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "limit": { "context": 131072, "output": 8000 } - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", - "family": "qwen3", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-29", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 131072, "output": 131072 } - }, - "zai-org/GLM-4.6": { - "id": "zai-org/GLM-4.6", - "name": "GLM 4.6", - "family": "glm-4", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-31", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 131072, "output": 131072 } - }, - "deepseek-ai/DeepSeek-R1-0528": { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek R1 0528", - "family": "deepseek-r1", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-11", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 163840, "output": 163840 } + "limit": { "context": 202752, "output": 202752 } } } }, "sap-ai-core": { "id": "sap-ai-core", "env": ["AICORE_SERVICE_KEY"], - "npm": "@mymediset/sap-ai-provider", + "npm": "@jerome-benoit/sap-ai-provider-v2", "name": "SAP AI Core", "doc": "https://help.sap.com/docs/sap-ai-core", "models": { + "anthropic--claude-4.5-opus": { + "id": "anthropic--claude-4.5-opus", + "name": "anthropic--claude-4.5-opus", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04-30", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, + "limit": { "context": 200000, "output": 64000 } + }, "anthropic--claude-3.5-sonnet": { "id": "anthropic--claude-3.5-sonnet", "name": "anthropic--claude-3.5-sonnet", @@ -27135,7 +31813,7 @@ "last_updated": "2025-06-05", "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075, "input_audio": 1 }, + "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.03, "input_audio": 1 }, "limit": { "context": 1048576, "output": 65536 } }, "anthropic--claude-3-haiku": { @@ -27167,13 +31845,13 @@ "last_updated": "2024-03-04", "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 0.3 }, + "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, "limit": { "context": 200000, "output": 4096 } }, "gpt-5-nano": { "id": "gpt-5-nano", "name": "gpt-5-nano", - "family": "gpt-5-nano", + "family": "gpt-nano", "attachment": true, "reasoning": true, "tool_call": true, @@ -27206,7 +31884,7 @@ "gpt-5-mini": { "id": "gpt-5-mini", "name": "gpt-5-mini", - "family": "gpt-5-mini", + "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -27217,7 +31895,7 @@ "last_updated": "2025-08-07", "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, + "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, "limit": { "context": 400000, "output": 128000 } }, "anthropic--claude-4.5-sonnet": { @@ -27250,7 +31928,7 @@ "last_updated": "2025-06-05", "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, + "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, "limit": { "context": 1048576, "output": 65536 } }, "anthropic--claude-3-opus": { @@ -27288,7 +31966,7 @@ "gpt-5": { "id": "gpt-5", "name": "gpt-5", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -27652,14 +32330,15 @@ "aihubmix": { "id": "aihubmix", "env": ["AIHUBMIX_API_KEY"], - "npm": "@aihubmix/ai-sdk-provider", + "npm": "@ai-sdk/openai-compatible", + "api": "https://aihubmix.com/v1", "name": "AIHubMix", "doc": "https://docs.aihubmix.com", "models": { "gpt-4.1-nano": { "id": "gpt-4.1-nano", "name": "GPT-4.1 nano", - "family": "gpt-4.1-nano", + "family": "gpt-nano", "attachment": true, "reasoning": false, "tool_call": true, @@ -27675,7 +32354,7 @@ "glm-4.7": { "id": "glm-4.7", "name": "GLM-4.7", - "family": "glm-4.7", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -27692,7 +32371,7 @@ "qwen3-235b-a22b-instruct-2507": { "id": "qwen3-235b-a22b-instruct-2507", "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -27721,10 +32400,43 @@ "cost": { "input": 16.5, "output": 82.5, "cache_read": 1.5, "cache_write": 18.75 }, "limit": { "context": 200000, "output": 32000 } }, + "coding-glm-4.7": { + "id": "coding-glm-4.7", + "name": "Coding-GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_details" }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.27, "output": 1.1, "cache_read": 0.548 }, + "limit": { "context": 204800, "output": 131072 } + }, + "coding-minimax-m2.1-free": { + "id": "coding-minimax-m2.1-free", + "name": "Coding MiniMax M2.1 Free", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_details" }, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 204800, "output": 131072 } + }, "gpt-5.1-codex": { "id": "gpt-5.1-codex", "name": "GPT-5.1 Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -27803,7 +32515,7 @@ "gpt-4.1-mini": { "id": "gpt-4.1-mini", "name": "GPT-4.1 mini", - "family": "gpt-4.1-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -27816,6 +32528,23 @@ "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, "limit": { "context": 1047576, "output": 32768 } }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, + "limit": { "context": 262144, "output": 262144 } + }, "claude-sonnet-4-5": { "id": "claude-sonnet-4-5", "name": "Claude Sonnet 4.5", @@ -27832,9 +32561,25 @@ "cost": { "input": 3.3, "output": 16.5, "cache_read": 0.3, "cache_write": 3.75 }, "limit": { "context": 200000, "output": 64000 } }, + "deepseek-v3.2-fast": { + "id": "deepseek-v3.2-fast", + "name": "DeepSeek-V3.2-Fast", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": false, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 1.1, "output": 3.29 }, + "limit": { "context": 128000, "output": 128000 } + }, "coding-glm-4.7-free": { "id": "coding-glm-4.7-free", - "name": "Coding GLM-4.7 Free", + "name": "Coding GLM 4.7 Free", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -27851,7 +32596,7 @@ "gpt-5.1-codex-mini": { "id": "gpt-5.1-codex-mini", "name": "GPT-5.1 Codex Mini", - "family": "gpt-5-codex-mini", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -27867,7 +32612,7 @@ "qwen3-235b-a22b-thinking-2507": { "id": "qwen3-235b-a22b-thinking-2507", "name": "Qwen3 235B A22B Thinking 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -27883,7 +32628,7 @@ "gpt-5.1": { "id": "gpt-5.1", "name": "GPT-5.1", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -27899,7 +32644,7 @@ "gpt-5-nano": { "id": "gpt-5-nano", "name": "GPT-5-Nano", - "family": "gpt-5-nano", + "family": "gpt-nano", "attachment": true, "reasoning": false, "tool_call": true, @@ -27915,7 +32660,7 @@ "gpt-5-codex": { "id": "gpt-5-codex", "name": "GPT-5-Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": false, "reasoning": true, "tool_call": true, @@ -27931,7 +32676,7 @@ "gpt-4o": { "id": "gpt-4o", "name": "GPT-4o", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -27947,7 +32692,7 @@ "gpt-4.1": { "id": "gpt-4.1", "name": "GPT-4.1", - "family": "gpt-4.1", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -27963,7 +32708,7 @@ "o4-mini": { "id": "o4-mini", "name": "o4-mini", - "family": "o4-mini", + "family": "o-mini", "attachment": false, "reasoning": true, "tool_call": false, @@ -27979,7 +32724,7 @@ "gpt-5-mini": { "id": "gpt-5-mini", "name": "GPT-5-Mini", - "family": "gpt-5-mini", + "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -28008,22 +32753,6 @@ "cost": { "input": 1.25, "output": 5, "cache_read": 0.31 }, "limit": { "context": 2000000, "output": 65000 } }, - "gpt-4o-2024-11-20": { - "id": "gpt-4o-2024-11-20", - "name": "GPT-4o (2024-11-20)", - "family": "gpt-4o", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-11-20", - "last_updated": "2024-11-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, "gpt-5.1-codex-max": { "id": "gpt-5.1-codex-max", "name": "GPT-5.1-Codex-Max", @@ -28040,26 +32769,26 @@ "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, "limit": { "context": 400000, "output": 128000 } }, - "minimax-m2.1-free": { - "id": "minimax-m2.1-free", - "name": "MiniMax M2.1 Free", - "family": "minimax", + "qwen3-max-2026-01-23": { + "id": "qwen3-max-2026-01-23", + "name": "Qwen3 Max", + "family": "qwen", "attachment": false, - "reasoning": true, + "reasoning": false, "tool_call": true, - "interleaved": { "field": "reasoning_details" }, "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 204800, "output": 131072 } + "open_weights": false, + "cost": { "input": 0.34, "output": 1.37 }, + "limit": { "context": 262144, "output": 65536 } }, "qwen3-coder-480b-a35b-instruct": { "id": "qwen3-coder-480b-a35b-instruct", "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -28074,7 +32803,7 @@ "deepseek-v3.2-think": { "id": "deepseek-v3.2-think", "name": "DeepSeek-V3.2-Think", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -28090,7 +32819,7 @@ "gpt-5": { "id": "gpt-5", "name": "GPT-5", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -28122,7 +32851,7 @@ "deepseek-v3.2": { "id": "deepseek-v3.2", "name": "DeepSeek-V3.2", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -28138,7 +32867,7 @@ "Kimi-K2-0905": { "id": "Kimi-K2-0905", "name": "Kimi K2 0905", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -28154,7 +32883,7 @@ "gpt-5-pro": { "id": "gpt-5-pro", "name": "GPT-5-Pro", - "family": "gpt-5-pro", + "family": "gpt-pro", "attachment": true, "reasoning": true, "tool_call": true, @@ -28170,7 +32899,7 @@ "gpt-5.2": { "id": "gpt-5.2", "name": "GPT-5.2", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -28182,6 +32911,164 @@ "open_weights": false, "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, "limit": { "context": 400000, "output": 128000 } + }, + "glm-4.6v": { + "id": "glm-4.6v", + "name": "GLM-4.6V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.14, "output": 0.41 }, + "limit": { "context": 128000, "output": 32768 } + } + } + }, + "gitlab": { + "id": "gitlab", + "env": ["GITLAB_TOKEN"], + "npm": "@gitlab/gitlab-ai-provider", + "name": "GitLab Duo", + "doc": "https://docs.gitlab.com/user/duo_agent_platform/", + "models": { + "duo-chat-gpt-5-1": { + "id": "duo-chat-gpt-5-1", + "name": "Agentic Chat (GPT-5.1)", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2026-01-22", + "last_updated": "2026-01-22", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 } + }, + "duo-chat-opus-4-5": { + "id": "duo-chat-opus-4-5", + "name": "Agentic Chat (Claude Opus 4.5)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2026-01-08", + "last_updated": "2026-01-08", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, + "limit": { "context": 200000, "output": 64000 } + }, + "duo-chat-sonnet-4-5": { + "id": "duo-chat-sonnet-4-5", + "name": "Agentic Chat (Claude Sonnet 4.5)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2026-01-08", + "last_updated": "2026-01-08", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, + "limit": { "context": 200000, "output": 64000 } + }, + "duo-chat-gpt-5-mini": { + "id": "duo-chat-gpt-5-mini", + "name": "Agentic Chat (GPT-5 Mini)", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2026-01-22", + "last_updated": "2026-01-22", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 } + }, + "duo-chat-gpt-5-2": { + "id": "duo-chat-gpt-5-2", + "name": "Agentic Chat (GPT-5.2)", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-23", + "last_updated": "2026-01-23", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 } + }, + "duo-chat-gpt-5-2-codex": { + "id": "duo-chat-gpt-5-2-codex", + "name": "Agentic Chat (GPT-5.2 Codex)", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-22", + "last_updated": "2026-01-22", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 } + }, + "duo-chat-gpt-5-codex": { + "id": "duo-chat-gpt-5-codex", + "name": "Agentic Chat (GPT-5 Codex)", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2026-01-22", + "last_updated": "2026-01-22", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 400000, "input": 272000, "output": 128000 } + }, + "duo-chat-haiku-4-5": { + "id": "duo-chat-haiku-4-5", + "name": "Agentic Chat (Claude Haiku 4.5)", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2026-01-08", + "last_updated": "2026-01-08", + "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, + "limit": { "context": 200000, "output": 64000 } } } }, @@ -28196,7 +33083,7 @@ "accounts/fireworks/models/deepseek-r1-0528": { "id": "accounts/fireworks/models/deepseek-r1-0528", "name": "Deepseek R1 05/28", - "family": "deepseek-r1", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -28212,7 +33099,7 @@ "accounts/fireworks/models/deepseek-v3p1": { "id": "accounts/fireworks/models/deepseek-v3p1", "name": "DeepSeek V3.1", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -28228,7 +33115,7 @@ "accounts/fireworks/models/deepseek-v3p2": { "id": "accounts/fireworks/models/deepseek-v3p2", "name": "DeepSeek V3.2", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -28278,7 +33165,7 @@ "accounts/fireworks/models/glm-4p7": { "id": "accounts/fireworks/models/glm-4p7", "name": "GLM 4.7", - "family": "glm-4", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -28295,7 +33182,7 @@ "accounts/fireworks/models/deepseek-v3-0324": { "id": "accounts/fireworks/models/deepseek-v3-0324", "name": "Deepseek V3 03-24", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -28311,7 +33198,7 @@ "accounts/fireworks/models/glm-4p6": { "id": "accounts/fireworks/models/glm-4p6", "name": "GLM 4.6", - "family": "glm-4", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -28328,7 +33215,7 @@ "accounts/fireworks/models/kimi-k2-thinking": { "id": "accounts/fireworks/models/kimi-k2-thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -28338,13 +33225,13 @@ "last_updated": "2025-11-06", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.6, "output": 2.5 }, + "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.3 }, "limit": { "context": 256000, "output": 256000 } }, "accounts/fireworks/models/kimi-k2-instruct": { "id": "accounts/fireworks/models/kimi-k2-instruct", "name": "Kimi K2 Instruct", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -28357,10 +33244,27 @@ "cost": { "input": 1, "output": 3 }, "limit": { "context": 128000, "output": 16384 } }, + "accounts/fireworks/models/kimi-k2p5": { + "id": "accounts/fireworks/models/kimi-k2p5", + "name": "Kimi K2.5", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { "field": "reasoning_content" }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, + "limit": { "context": 256000, "output": 256000 } + }, "accounts/fireworks/models/qwen3-235b-a22b": { "id": "accounts/fireworks/models/qwen3-235b-a22b", "name": "Qwen3 235B-A22B", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -28406,7 +33310,7 @@ "accounts/fireworks/models/glm-4p5-air": { "id": "accounts/fireworks/models/glm-4p5-air", "name": "GLM 4.5 Air", - "family": "glm-4-air", + "family": "glm-air", "attachment": false, "reasoning": true, "tool_call": true, @@ -28422,7 +33326,7 @@ "accounts/fireworks/models/qwen3-coder-480b-a35b-instruct": { "id": "accounts/fireworks/models/qwen3-coder-480b-a35b-instruct", "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -28437,7 +33341,7 @@ "accounts/fireworks/models/glm-4p5": { "id": "accounts/fireworks/models/glm-4p5", "name": "GLM 4.5", - "family": "glm-4", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -28464,7 +33368,7 @@ "moonshotai/Kimi-K2-Instruct-0905": { "id": "moonshotai/Kimi-K2-Instruct-0905", "name": "Kimi K2 Instruct", - "family": "kimi-k2", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, @@ -28480,7 +33384,7 @@ "moonshotai/Kimi-K2-Thinking": { "id": "moonshotai/Kimi-K2-Thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -28528,7 +33432,7 @@ "mistralai/Devstral-Small-2505": { "id": "mistralai/Devstral-Small-2505", "name": "Devstral Small 2505", - "family": "devstral-small", + "family": "devstral", "attachment": false, "reasoning": false, "tool_call": true, @@ -28592,7 +33496,7 @@ "meta-llama/Llama-3.3-70B-Instruct": { "id": "meta-llama/Llama-3.3-70B-Instruct", "name": "Llama 3.3 70B Instruct", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -28608,7 +33512,7 @@ "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": { "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", "name": "Llama 4 Maverick 17B 128E Instruct", - "family": "llama-4-maverick", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -28624,7 +33528,7 @@ "meta-llama/Llama-3.2-90B-Vision-Instruct": { "id": "meta-llama/Llama-3.2-90B-Vision-Instruct", "name": "Llama 3.2 90B Vision Instruct", - "family": "llama-3.2", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -28640,7 +33544,7 @@ "Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar": { "id": "Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar", "name": "Qwen 3 Coder 480B", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -28656,7 +33560,7 @@ "Qwen/Qwen2.5-VL-32B-Instruct": { "id": "Qwen/Qwen2.5-VL-32B-Instruct", "name": "Qwen 2.5 VL 32B Instruct", - "family": "qwen2.5-vl", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -28672,7 +33576,7 @@ "Qwen/Qwen3-235B-A22B-Thinking-2507": { "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", "name": "Qwen 3 235B Thinking", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -28688,7 +33592,7 @@ "Qwen/Qwen3-Next-80B-A3B-Instruct": { "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", "name": "Qwen 3 Next 80B Instruct", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -28704,7 +33608,7 @@ "zai-org/GLM-4.6": { "id": "zai-org/GLM-4.6", "name": "GLM 4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": false, "tool_call": true, @@ -28720,7 +33624,7 @@ "deepseek-ai/DeepSeek-R1-0528": { "id": "deepseek-ai/DeepSeek-R1-0528", "name": "DeepSeek R1", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -28746,7 +33650,7 @@ "ZhipuAI/GLM-4.5": { "id": "ZhipuAI/GLM-4.5", "name": "GLM-4.5", - "family": "glm-4.5", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -28762,7 +33666,7 @@ "ZhipuAI/GLM-4.6": { "id": "ZhipuAI/GLM-4.6", "name": "GLM-4.6", - "family": "glm-4.6", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, @@ -28778,7 +33682,7 @@ "Qwen/Qwen3-30B-A3B-Thinking-2507": { "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", "name": "Qwen3 30B A3B Thinking 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -28794,7 +33698,7 @@ "Qwen/Qwen3-235B-A22B-Instruct-2507": { "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -28810,7 +33714,7 @@ "Qwen/Qwen3-Coder-30B-A3B-Instruct": { "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", "name": "Qwen3 Coder 30B A3B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -28826,7 +33730,7 @@ "Qwen/Qwen3-30B-A3B-Instruct-2507": { "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", "name": "Qwen3 30B A3B Instruct 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -28842,7 +33746,7 @@ "Qwen/Qwen3-235B-A22B-Thinking-2507": { "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", "name": "Qwen3-235B-A22B-Thinking-2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -28867,7 +33771,7 @@ "gpt-3.5-turbo-1106": { "id": "gpt-3.5-turbo-1106", "name": "GPT-3.5 Turbo 1106", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": false, @@ -28931,7 +33835,7 @@ "gpt-5-pro": { "id": "gpt-5-pro", "name": "GPT-5 Pro", - "family": "gpt-5-pro", + "family": "gpt-pro", "attachment": true, "reasoning": true, "tool_call": true, @@ -28948,7 +33852,7 @@ "deepseek-v3.2": { "id": "deepseek-v3.2", "name": "DeepSeek-V3.2", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -28958,13 +33862,13 @@ "last_updated": "2025-12-01", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.28, "output": 0.42, "cache_read": 0.028 }, + "cost": { "input": 0.58, "output": 1.68 }, "limit": { "context": 128000, "output": 128000 } }, "mai-ds-r1": { "id": "mai-ds-r1", "name": "MAI-DS-R1", - "family": "mai-ds-r1", + "family": "mai", "attachment": false, "reasoning": true, "tool_call": false, @@ -28980,7 +33884,7 @@ "gpt-5": { "id": "gpt-5", "name": "GPT-5", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -28996,7 +33900,7 @@ "gpt-4o-mini": { "id": "gpt-4o-mini", "name": "GPT-4o mini", - "family": "gpt-4o-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -29012,7 +33916,7 @@ "phi-4-reasoning-plus": { "id": "phi-4-reasoning-plus", "name": "Phi-4-reasoning-plus", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": false, @@ -29028,7 +33932,7 @@ "gpt-4-turbo-vision": { "id": "gpt-4-turbo-vision", "name": "GPT-4 Turbo Vision", - "family": "gpt-4-turbo", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -29044,7 +33948,7 @@ "phi-4-reasoning": { "id": "phi-4-reasoning", "name": "Phi-4-reasoning", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": false, @@ -29060,7 +33964,7 @@ "phi-3-medium-4k-instruct": { "id": "phi-3-medium-4k-instruct", "name": "Phi-3-medium-instruct (4k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -29076,7 +33980,7 @@ "codex-mini": { "id": "codex-mini", "name": "Codex Mini", - "family": "codex", + "family": "gpt-codex-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -29092,7 +33996,7 @@ "o3": { "id": "o3", "name": "o3", - "family": "o3", + "family": "o", "attachment": true, "reasoning": true, "tool_call": true, @@ -29124,7 +34028,7 @@ "gpt-3.5-turbo-instruct": { "id": "gpt-3.5-turbo-instruct", "name": "GPT-3.5 Turbo Instruct", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": false, @@ -29140,7 +34044,7 @@ "meta-llama-3.1-8b-instruct": { "id": "meta-llama-3.1-8b-instruct", "name": "Meta-Llama-3.1-8B-Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -29156,7 +34060,7 @@ "text-embedding-ada-002": { "id": "text-embedding-ada-002", "name": "text-embedding-ada-002", - "family": "text-embedding-ada", + "family": "text-embedding", "attachment": false, "reasoning": false, "tool_call": false, @@ -29185,7 +34089,7 @@ "llama-4-scout-17b-16e-instruct": { "id": "llama-4-scout-17b-16e-instruct", "name": "Llama 4 Scout 17B 16E Instruct", - "family": "llama-4-scout", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -29201,7 +34105,7 @@ "o1-mini": { "id": "o1-mini", "name": "o1-mini", - "family": "o1-mini", + "family": "o-mini", "attachment": false, "reasoning": true, "tool_call": true, @@ -29217,7 +34121,7 @@ "gpt-5-mini": { "id": "gpt-5-mini", "name": "GPT-5 Mini", - "family": "gpt-5-mini", + "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -29233,7 +34137,7 @@ "phi-3.5-moe-instruct": { "id": "phi-3.5-moe-instruct", "name": "Phi-3.5-MoE-instruct", - "family": "phi-3.5", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -29249,7 +34153,7 @@ "gpt-5.1-chat": { "id": "gpt-5.1-chat", "name": "GPT-5.1 Chat", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -29265,7 +34169,7 @@ "grok-3-mini": { "id": "grok-3-mini", "name": "Grok 3 Mini", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, @@ -29281,7 +34185,7 @@ "o1": { "id": "o1", "name": "o1", - "family": "o1", + "family": "o", "attachment": false, "reasoning": true, "tool_call": true, @@ -29297,7 +34201,7 @@ "meta-llama-3-8b-instruct": { "id": "meta-llama-3-8b-instruct", "name": "Meta-Llama-3-8B-Instruct", - "family": "llama-3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -29313,7 +34217,7 @@ "phi-4-multimodal": { "id": "phi-4-multimodal", "name": "Phi-4-multimodal", - "family": "phi-4", + "family": "phi", "attachment": true, "reasoning": false, "tool_call": false, @@ -29329,7 +34233,7 @@ "o4-mini": { "id": "o4-mini", "name": "o4-mini", - "family": "o4-mini", + "family": "o-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -29345,7 +34249,7 @@ "gpt-4.1": { "id": "gpt-4.1", "name": "GPT-4.1", - "family": "gpt-4.1", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -29361,7 +34265,7 @@ "ministral-3b": { "id": "ministral-3b", "name": "Ministral 3B", - "family": "ministral-3b", + "family": "ministral", "attachment": false, "reasoning": false, "tool_call": true, @@ -29377,7 +34281,7 @@ "gpt-3.5-turbo-0301": { "id": "gpt-3.5-turbo-0301", "name": "GPT-3.5 Turbo 0301", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": false, @@ -29393,7 +34297,7 @@ "gpt-4o": { "id": "gpt-4o", "name": "GPT-4o", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -29409,7 +34313,7 @@ "phi-3-mini-128k-instruct": { "id": "phi-3-mini-128k-instruct", "name": "Phi-3-mini-instruct (128k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -29425,7 +34329,7 @@ "llama-3.2-90b-vision-instruct": { "id": "llama-3.2-90b-vision-instruct", "name": "Llama-3.2-90B-Vision-Instruct", - "family": "llama-3.2", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -29441,7 +34345,7 @@ "gpt-5-codex": { "id": "gpt-5-codex", "name": "GPT-5-Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": false, "reasoning": true, "tool_call": true, @@ -29457,7 +34361,7 @@ "gpt-5-nano": { "id": "gpt-5-nano", "name": "GPT-5 Nano", - "family": "gpt-5-nano", + "family": "gpt-nano", "attachment": true, "reasoning": true, "tool_call": true, @@ -29473,7 +34377,7 @@ "gpt-5.1": { "id": "gpt-5.1", "name": "GPT-5.1", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -29489,7 +34393,7 @@ "o3-mini": { "id": "o3-mini", "name": "o3-mini", - "family": "o3-mini", + "family": "o-mini", "attachment": false, "reasoning": true, "tool_call": true, @@ -29519,7 +34423,7 @@ "kimi-k2-thinking": { "id": "kimi-k2-thinking", "name": "Kimi K2 Thinking", - "family": "kimi-k2", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -29536,7 +34440,7 @@ "gpt-5.1-codex-mini": { "id": "gpt-5.1-codex-mini", "name": "GPT-5.1 Codex Mini", - "family": "gpt-5-codex-mini", + "family": "gpt-codex", "attachment": false, "reasoning": true, "tool_call": true, @@ -29552,7 +34456,7 @@ "llama-3.3-70b-instruct": { "id": "llama-3.3-70b-instruct", "name": "Llama-3.3-70B-Instruct", - "family": "llama-3.3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -29568,7 +34472,7 @@ "o1-preview": { "id": "o1-preview", "name": "o1-preview", - "family": "o1-preview", + "family": "o", "attachment": false, "reasoning": true, "tool_call": true, @@ -29584,7 +34488,7 @@ "phi-3.5-mini-instruct": { "id": "phi-3.5-mini-instruct", "name": "Phi-3.5-mini-instruct", - "family": "phi-3.5", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -29600,7 +34504,7 @@ "gpt-3.5-turbo-0613": { "id": "gpt-3.5-turbo-0613", "name": "GPT-3.5 Turbo 0613", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": false, @@ -29616,7 +34520,7 @@ "gpt-4-turbo": { "id": "gpt-4-turbo", "name": "GPT-4 Turbo", - "family": "gpt-4-turbo", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -29632,7 +34536,7 @@ "meta-llama-3.1-70b-instruct": { "id": "meta-llama-3.1-70b-instruct", "name": "Meta-Llama-3.1-70B-Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -29648,7 +34552,7 @@ "phi-3-small-8k-instruct": { "id": "phi-3-small-8k-instruct", "name": "Phi-3-small-instruct (8k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -29664,7 +34568,7 @@ "deepseek-v3-0324": { "id": "deepseek-v3-0324", "name": "DeepSeek-V3-0324", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, @@ -29680,7 +34584,7 @@ "meta-llama-3-70b-instruct": { "id": "meta-llama-3-70b-instruct", "name": "Meta-Llama-3-70B-Instruct", - "family": "llama-3", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, @@ -29696,7 +34600,7 @@ "text-embedding-3-large": { "id": "text-embedding-3-large", "name": "text-embedding-3-large", - "family": "text-embedding-3-large", + "family": "text-embedding", "attachment": false, "reasoning": false, "tool_call": false, @@ -29710,7 +34614,7 @@ "grok-3": { "id": "grok-3", "name": "Grok 3", - "family": "grok-3", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, @@ -29726,7 +34630,7 @@ "gpt-3.5-turbo-0125": { "id": "gpt-3.5-turbo-0125", "name": "GPT-3.5 Turbo 0125", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": false, @@ -29760,7 +34664,7 @@ "phi-4-mini-reasoning": { "id": "phi-4-mini-reasoning", "name": "Phi-4-mini-reasoning", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": true, "tool_call": true, @@ -29776,7 +34680,7 @@ "phi-4": { "id": "phi-4", "name": "Phi-4", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -29792,7 +34696,7 @@ "deepseek-v3.1": { "id": "deepseek-v3.1", "name": "DeepSeek-V3.1", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -29808,7 +34712,7 @@ "gpt-5-chat": { "id": "gpt-5-chat", "name": "GPT-5 Chat", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": false, @@ -29824,7 +34728,7 @@ "gpt-4.1-mini": { "id": "gpt-4.1-mini", "name": "GPT-4.1 mini", - "family": "gpt-4.1-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -29840,7 +34744,7 @@ "llama-4-maverick-17b-128e-instruct-fp8": { "id": "llama-4-maverick-17b-128e-instruct-fp8", "name": "Llama 4 Maverick 17B 128E Instruct FP8", - "family": "llama-4-maverick", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -29856,7 +34760,7 @@ "cohere-command-r-plus-08-2024": { "id": "cohere-command-r-plus-08-2024", "name": "Command R+", - "family": "command-r-plus", + "family": "command-r", "attachment": false, "reasoning": true, "tool_call": true, @@ -29888,7 +34792,7 @@ "phi-3-small-128k-instruct": { "id": "phi-3-small-128k-instruct", "name": "Phi-3-small-instruct (128k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -29914,7 +34818,7 @@ "last_updated": "2025-08-01", "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 1.5, "cache_write": 18.75 }, + "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, "limit": { "context": 200000, "output": 64000 }, "provider": { "npm": "@ai-sdk/anthropic" } }, @@ -29937,7 +34841,7 @@ "deepseek-v3.2-speciale": { "id": "deepseek-v3.2-speciale", "name": "DeepSeek-V3.2-Speciale", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": false, @@ -29947,7 +34851,7 @@ "last_updated": "2025-12-01", "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.28, "output": 0.42 }, + "cost": { "input": 0.58, "output": 1.68 }, "limit": { "context": 128000, "output": 128000 } }, "claude-haiku-4-5": { @@ -29971,7 +34875,7 @@ "phi-3-mini-4k-instruct": { "id": "phi-3-mini-4k-instruct", "name": "Phi-3-mini-instruct (4k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -29987,7 +34891,7 @@ "gpt-5.1-codex": { "id": "gpt-5.1-codex", "name": "GPT-5.1 Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": false, "reasoning": true, "tool_call": true, @@ -30019,7 +34923,7 @@ "deepseek-r1": { "id": "deepseek-r1", "name": "DeepSeek-R1", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": false, @@ -30035,7 +34939,7 @@ "meta-llama-3.1-405b-instruct": { "id": "meta-llama-3.1-405b-instruct", "name": "Meta-Llama-3.1-405B-Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -30048,10 +34952,26 @@ "cost": { "input": 5.33, "output": 16 }, "limit": { "context": 128000, "output": 32768 } }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "open_weights": false, + "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, + "limit": { "context": 400000, "output": 128000 } + }, "gpt-4-32k": { "id": "gpt-4-32k", "name": "GPT-4 32K", - "family": "gpt-4", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": true, @@ -30067,7 +34987,7 @@ "phi-4-mini": { "id": "phi-4-mini", "name": "Phi-4-mini", - "family": "phi-4", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": true, @@ -30145,7 +35065,7 @@ "llama-3.2-11b-vision-instruct": { "id": "llama-3.2-11b-vision-instruct", "name": "Llama-3.2-11B-Vision-Instruct", - "family": "llama-3.2", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -30161,7 +35081,7 @@ "gpt-5.2-chat": { "id": "gpt-5.2-chat", "name": "GPT-5.2 Chat", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -30196,7 +35116,7 @@ "gpt-4": { "id": "gpt-4", "name": "GPT-4", - "family": "gpt-4", + "family": "gpt", "attachment": false, "reasoning": false, "tool_call": true, @@ -30212,7 +35132,7 @@ "phi-3-medium-128k-instruct": { "id": "phi-3-medium-128k-instruct", "name": "Phi-3-medium-instruct (128k)", - "family": "phi-3", + "family": "phi", "attachment": false, "reasoning": false, "tool_call": false, @@ -30244,7 +35164,7 @@ "deepseek-r1-0528": { "id": "deepseek-r1-0528", "name": "DeepSeek-R1-0528", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -30276,7 +35196,7 @@ "text-embedding-3-small": { "id": "text-embedding-3-small", "name": "text-embedding-3-small", - "family": "text-embedding-3-small", + "family": "text-embedding", "attachment": false, "reasoning": false, "tool_call": false, @@ -30290,7 +35210,7 @@ "gpt-4.1-nano": { "id": "gpt-4.1-nano", "name": "GPT-4.1 nano", - "family": "gpt-4.1-nano", + "family": "gpt-nano", "attachment": true, "reasoning": false, "tool_call": true, @@ -30316,7 +35236,7 @@ "llama-3.3-8b-instruct": { "id": "llama-3.3-8b-instruct", "name": "Llama-3.3-8B-Instruct", - "family": "llama-3.3", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -30332,7 +35252,7 @@ "llama-4-maverick-17b-128e-instruct-fp8": { "id": "llama-4-maverick-17b-128e-instruct-fp8", "name": "Llama-4-Maverick-17B-128E-Instruct-FP8", - "family": "llama-4-maverick", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -30348,7 +35268,7 @@ "llama-3.3-70b-instruct": { "id": "llama-3.3-70b-instruct", "name": "Llama-3.3-70B-Instruct", - "family": "llama-3.3", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -30364,7 +35284,7 @@ "llama-4-scout-17b-16e-instruct-fp8": { "id": "llama-4-scout-17b-16e-instruct-fp8", "name": "Llama-4-Scout-17B-16E-Instruct-FP8", - "family": "llama-4-scout", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -30380,7 +35300,7 @@ "groq-llama-4-maverick-17b-128e-instruct": { "id": "groq-llama-4-maverick-17b-128e-instruct", "name": "Groq-Llama-4-Maverick-17B-128E-Instruct", - "family": "llama-4-maverick", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -30396,7 +35316,7 @@ "cerebras-llama-4-scout-17b-16e-instruct": { "id": "cerebras-llama-4-scout-17b-16e-instruct", "name": "Cerebras-Llama-4-Scout-17B-16E-Instruct", - "family": "llama-4-scout", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -30412,7 +35332,7 @@ "cerebras-llama-4-maverick-17b-128e-instruct": { "id": "cerebras-llama-4-maverick-17b-128e-instruct", "name": "Cerebras-Llama-4-Maverick-17B-128E-Instruct", - "family": "llama-4-maverick", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -30438,7 +35358,7 @@ "qwen3-235b-a22b-instruct-2507": { "id": "qwen3-235b-a22b-instruct-2507", "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen3", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -30450,6 +35370,21 @@ "cost": { "input": 0.75, "output": 2.25 }, "limit": { "context": 260000, "output": 8192 } }, + "devstral-2-123b-instruct-2512": { + "id": "devstral-2-123b-instruct-2512", + "name": "Devstral 2 123B Instruct (2512)", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-01-07", + "last_updated": "2026-01-07", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0.4, "output": 2 }, + "limit": { "context": 256000, "output": 8192 } + }, "pixtral-12b-2409": { "id": "pixtral-12b-2409", "name": "Pixtral 12B 2409", @@ -30468,7 +35403,7 @@ "llama-3.1-8b-instruct": { "id": "llama-3.1-8b-instruct", "name": "Llama 3.1 8B Instruct", - "family": "llama-3.1", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, @@ -30514,7 +35449,7 @@ "qwen3-coder-30b-a3b-instruct": { "id": "qwen3-coder-30b-a3b-instruct", "name": "Qwen3-Coder 30B-A3B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -30530,7 +35465,7 @@ "llama-3.3-70b-instruct": { "id": "llama-3.3-70b-instruct", "name": "Llama-3.3-70B-Instruct", - "family": "llama-3.3", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, @@ -30546,7 +35481,7 @@ "whisper-large-v3": { "id": "whisper-large-v3", "name": "Whisper Large v3", - "family": "whisper-large", + "family": "whisper", "attachment": false, "reasoning": false, "tool_call": false, @@ -30562,7 +35497,7 @@ "deepseek-r1-distill-llama-70b": { "id": "deepseek-r1-distill-llama-70b", "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-r1-distill-llama", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -30578,7 +35513,7 @@ "voxtral-small-24b-2507": { "id": "voxtral-small-24b-2507", "name": "Voxtral Small 24B 2507", - "family": "voxtral-small", + "family": "voxtral", "attachment": true, "reasoning": false, "tool_call": true, @@ -30608,7 +35543,7 @@ "bge-multilingual-gemma2": { "id": "bge-multilingual-gemma2", "name": "BGE Multilingual Gemma2", - "family": "gemma-2", + "family": "gemma", "attachment": false, "reasoning": false, "tool_call": false, @@ -30623,7 +35558,7 @@ "gemma-3-27b-it": { "id": "gemma-3-27b-it", "name": "Gemma-3-27B-IT", - "family": "gemma-3", + "family": "gemma", "attachment": true, "reasoning": true, "tool_call": true, @@ -30648,7 +35583,7 @@ "cohere.command-r-plus-v1:0": { "id": "cohere.command-r-plus-v1:0", "name": "Command R+", - "family": "command-r-plus", + "family": "command-r", "attachment": false, "reasoning": false, "tool_call": true, @@ -30712,7 +35647,7 @@ "qwen.qwen3-coder-30b-a3b-v1:0": { "id": "qwen.qwen3-coder-30b-a3b-v1:0", "name": "Qwen3 Coder 30B A3B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -30728,7 +35663,7 @@ "google.gemma-3-4b-it": { "id": "google.gemma-3-4b-it", "name": "Gemma 3 4B IT", - "family": "gemma-3", + "family": "gemma", "attachment": false, "reasoning": false, "tool_call": true, @@ -30775,7 +35710,7 @@ "qwen.qwen3-next-80b-a3b": { "id": "qwen.qwen3-next-80b-a3b", "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -30823,7 +35758,7 @@ "qwen.qwen3-vl-235b-a22b": { "id": "qwen.qwen3-vl-235b-a22b", "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", - "family": "qwen3-vl", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, @@ -30871,7 +35806,7 @@ "deepseek.v3-v1:0": { "id": "deepseek.v3-v1:0", "name": "DeepSeek-V3.1", - "family": "deepseek-v3", + "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, @@ -30897,7 +35832,7 @@ "last_updated": "2025-08-01", "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 1.5, "cache_write": 18.75 }, + "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, "limit": { "context": 200000, "output": 64000 } }, "cohere.command-light-text-v14": { @@ -30934,7 +35869,7 @@ "google.gemma-3-27b-it": { "id": "google.gemma-3-27b-it", "name": "Google Gemma 3 27B Instruct", - "family": "gemma-3", + "family": "gemma", "attachment": true, "reasoning": false, "tool_call": true, @@ -30965,7 +35900,7 @@ "google.gemma-3-12b-it": { "id": "google.gemma-3-12b-it", "name": "Google Gemma 3 12B", - "family": "gemma-3", + "family": "gemma", "attachment": false, "reasoning": false, "tool_call": false, @@ -30981,7 +35916,7 @@ "ai21.jamba-1-5-large-v1:0": { "id": "ai21.jamba-1-5-large-v1:0", "name": "Jamba 1.5 Large", - "family": "jamba-1.5-large", + "family": "jamba", "attachment": false, "reasoning": false, "tool_call": true, @@ -31061,7 +35996,7 @@ "openai.gpt-oss-120b-1:0": { "id": "openai.gpt-oss-120b-1:0", "name": "gpt-oss-120b", - "family": "openai.gpt-oss", + "family": "gpt-oss", "attachment": false, "reasoning": false, "tool_call": true, @@ -31076,7 +36011,7 @@ "qwen.qwen3-32b-v1:0": { "id": "qwen.qwen3-32b-v1:0", "name": "Qwen3 32B (dense)", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, @@ -31203,7 +36138,7 @@ "deepseek.r1-v1:0": { "id": "deepseek.r1-v1:0", "name": "DeepSeek-R1", - "family": "deepseek-r1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, @@ -31307,7 +36242,7 @@ "last_updated": "2025-08-01", "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 1.5, "cache_write": 18.75 }, + "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, "limit": { "context": 200000, "output": 64000 } }, "amazon.nova-2-lite-v1:0": { @@ -31328,7 +36263,7 @@ "qwen.qwen3-coder-480b-a35b-v1:0": { "id": "qwen.qwen3-coder-480b-a35b-v1:0", "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen3-coder", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -31360,7 +36295,7 @@ "openai.gpt-oss-safeguard-20b": { "id": "openai.gpt-oss-safeguard-20b", "name": "GPT OSS Safeguard 20B", - "family": "openai.gpt-oss-safeguard", + "family": "gpt-oss", "attachment": false, "reasoning": false, "tool_call": true, @@ -31375,7 +36310,7 @@ "openai.gpt-oss-20b-1:0": { "id": "openai.gpt-oss-20b-1:0", "name": "gpt-oss-20b", - "family": "openai.gpt-oss", + "family": "gpt-oss", "attachment": false, "reasoning": false, "tool_call": true, @@ -31438,7 +36373,7 @@ "mistral.mistral-7b-instruct-v0:2": { "id": "mistral.mistral-7b-instruct-v0:2", "name": "Mistral-7B-Instruct-v0.3", - "family": "mistral-7b", + "family": "mistral", "attachment": false, "reasoning": false, "tool_call": true, @@ -31454,7 +36389,7 @@ "mistral.mixtral-8x7b-instruct-v0:1": { "id": "mistral.mixtral-8x7b-instruct-v0:1", "name": "Mixtral-8x7B-Instruct-v0.1", - "family": "mixtral-8x7b", + "family": "mixtral", "attachment": false, "reasoning": false, "tool_call": false, @@ -31502,7 +36437,7 @@ "ai21.jamba-1-5-mini-v1:0": { "id": "ai21.jamba-1-5-mini-v1:0", "name": "Jamba 1.5 Mini", - "family": "jamba-1.5-mini", + "family": "jamba", "attachment": false, "reasoning": false, "tool_call": true, @@ -31534,7 +36469,7 @@ "amazon.titan-text-express-v1:0:8k": { "id": "amazon.titan-text-express-v1:0:8k", "name": "Titan Text G1 - Express", - "family": "titan-text-express", + "family": "titan", "attachment": false, "reasoning": false, "tool_call": true, @@ -31580,7 +36515,7 @@ "amazon.titan-text-express-v1": { "id": "amazon.titan-text-express-v1", "name": "Titan Text G1 - Express", - "family": "titan-text-express", + "family": "titan", "attachment": false, "reasoning": false, "tool_call": true, @@ -31626,7 +36561,7 @@ "openai.gpt-oss-safeguard-120b": { "id": "openai.gpt-oss-safeguard-120b", "name": "GPT OSS Safeguard 120B", - "family": "openai.gpt-oss-safeguard", + "family": "gpt-oss", "attachment": false, "reasoning": false, "tool_call": true, @@ -31641,7 +36576,7 @@ "qwen.qwen3-235b-a22b-2507-v1:0": { "id": "qwen.qwen3-235b-a22b-2507-v1:0", "name": "Qwen3 235B A22B 2507", - "family": "qwen3", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, @@ -31714,7 +36649,7 @@ "xai/grok-4-fast-non-reasoning": { "id": "xai/grok-4-fast-non-reasoning", "name": "Grok-4-Fast-Non-Reasoning", - "family": "grok-4", + "family": "grok", "attachment": true, "reasoning": false, "tool_call": true, @@ -31729,7 +36664,7 @@ "xai/grok-4-fast-reasoning": { "id": "xai/grok-4-fast-reasoning", "name": "Grok 4 Fast Reasoning", - "family": "grok-4", + "family": "grok", "attachment": true, "reasoning": true, "tool_call": true, @@ -31744,7 +36679,7 @@ "xai/grok-4.1-fast-reasoning": { "id": "xai/grok-4.1-fast-reasoning", "name": "Grok-4.1-Fast-Reasoning", - "family": "grok-4", + "family": "grok", "attachment": true, "reasoning": true, "tool_call": true, @@ -31758,7 +36693,7 @@ "xai/grok-4": { "id": "xai/grok-4", "name": "Grok 4", - "family": "grok-4", + "family": "grok", "attachment": true, "reasoning": true, "tool_call": true, @@ -31788,7 +36723,7 @@ "xai/grok-4.1-fast-non-reasoning": { "id": "xai/grok-4.1-fast-non-reasoning", "name": "Grok-4.1-Fast-Non-Reasoning", - "family": "grok-4", + "family": "grok", "attachment": true, "reasoning": false, "tool_call": true, @@ -31802,7 +36737,7 @@ "xai/grok-3": { "id": "xai/grok-3", "name": "Grok 3", - "family": "grok-3", + "family": "grok", "attachment": true, "reasoning": false, "tool_call": true, @@ -31817,7 +36752,7 @@ "xai/grok-3-mini": { "id": "xai/grok-3-mini", "name": "Grok 3 Mini", - "family": "grok-3", + "family": "grok", "attachment": true, "reasoning": true, "tool_call": true, @@ -31902,7 +36837,7 @@ "runwayml/runway-gen-4-turbo": { "id": "runwayml/runway-gen-4-turbo", "name": "Runway-Gen-4-Turbo", - "family": "runway-gen-4-turbo", + "family": "runway", "attachment": true, "reasoning": false, "tool_call": true, @@ -31943,7 +36878,7 @@ "elevenlabs/elevenlabs-music": { "id": "elevenlabs/elevenlabs-music", "name": "ElevenLabs-Music", - "family": "elevenlabs-music", + "family": "elevenlabs", "attachment": true, "reasoning": false, "tool_call": true, @@ -31957,7 +36892,7 @@ "elevenlabs/elevenlabs-v2.5-turbo": { "id": "elevenlabs/elevenlabs-v2.5-turbo", "name": "ElevenLabs-v2.5-Turbo", - "family": "elevenlabs-v2.5-turbo", + "family": "elevenlabs", "attachment": true, "reasoning": false, "tool_call": true, @@ -32028,7 +36963,7 @@ "google/imagen-4-ultra": { "id": "google/imagen-4-ultra", "name": "Imagen-4-Ultra", - "family": "imagen-4-ultra", + "family": "imagen", "attachment": true, "reasoning": false, "tool_call": true, @@ -32101,7 +37036,7 @@ "google/imagen-3-fast": { "id": "google/imagen-3-fast", "name": "Imagen-3-Fast", - "family": "imagen-3-fast", + "family": "imagen", "attachment": true, "reasoning": false, "tool_call": true, @@ -32173,7 +37108,7 @@ "google/veo-3-fast": { "id": "google/veo-3-fast", "name": "Veo-3-Fast", - "family": "veo-3-fast", + "family": "veo", "attachment": true, "reasoning": false, "tool_call": true, @@ -32187,7 +37122,7 @@ "google/imagen-4-fast": { "id": "google/imagen-4-fast", "name": "Imagen-4-Fast", - "family": "imagen-4-fast", + "family": "imagen", "attachment": true, "reasoning": false, "tool_call": true, @@ -32229,7 +37164,7 @@ "google/nano-banana-pro": { "id": "google/nano-banana-pro", "name": "Nano-Banana-Pro", - "family": "nano-banana-pro", + "family": "nano-banana", "attachment": true, "reasoning": false, "tool_call": true, @@ -32259,7 +37194,7 @@ "google/veo-3.1-fast": { "id": "google/veo-3.1-fast", "name": "Veo-3.1-Fast", - "family": "veo-3.1-fast", + "family": "veo", "attachment": true, "reasoning": false, "tool_call": true, @@ -32273,7 +37208,7 @@ "openai/gpt-4.1-nano": { "id": "openai/gpt-4.1-nano", "name": "GPT-4.1-nano", - "family": "gpt-4.1-nano", + "family": "gpt-nano", "attachment": true, "reasoning": false, "tool_call": true, @@ -32316,7 +37251,7 @@ "openai/o1-pro": { "id": "openai/o1-pro", "name": "o1-pro", - "family": "o1-pro", + "family": "o-pro", "attachment": true, "reasoning": true, "tool_call": true, @@ -32331,7 +37266,7 @@ "openai/gpt-5.1-codex": { "id": "openai/gpt-5.1-codex", "name": "GPT-5.1-Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -32346,7 +37281,7 @@ "openai/gpt-3.5-turbo-raw": { "id": "openai/gpt-3.5-turbo-raw", "name": "GPT-3.5-Turbo-Raw", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -32361,7 +37296,7 @@ "openai/gpt-4-classic": { "id": "openai/gpt-4-classic", "name": "GPT-4-Classic", - "family": "gpt-4", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -32376,7 +37311,7 @@ "openai/gpt-4.1-mini": { "id": "openai/gpt-4.1-mini", "name": "GPT-4.1-mini", - "family": "gpt-4.1-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -32391,7 +37326,7 @@ "openai/gpt-5-chat": { "id": "openai/gpt-5-chat", "name": "GPT-5-Chat", - "family": "gpt-5-chat", + "family": "gpt-codex", "attachment": true, "reasoning": false, "tool_call": true, @@ -32406,7 +37341,7 @@ "openai/o3-deep-research": { "id": "openai/o3-deep-research", "name": "o3-deep-research", - "family": "o3", + "family": "o", "attachment": true, "reasoning": true, "tool_call": true, @@ -32421,7 +37356,7 @@ "openai/gpt-4o-search": { "id": "openai/gpt-4o-search", "name": "GPT-4o-Search", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -32449,7 +37384,7 @@ "openai/gpt-image-1-mini": { "id": "openai/gpt-image-1-mini", "name": "GPT-Image-1-Mini", - "family": "gpt-image", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -32463,7 +37398,7 @@ "openai/gpt-3.5-turbo": { "id": "openai/gpt-3.5-turbo", "name": "GPT-3.5-Turbo", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -32492,7 +37427,7 @@ "openai/o3-mini-high": { "id": "openai/o3-mini-high", "name": "o3-mini-high", - "family": "o3-mini", + "family": "o-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -32507,7 +37442,7 @@ "openai/chatgpt-4o-latest": { "id": "openai/chatgpt-4o-latest", "name": "ChatGPT-4o-Latest", - "family": "chatgpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -32522,7 +37457,7 @@ "openai/gpt-4-turbo": { "id": "openai/gpt-4-turbo", "name": "GPT-4-Turbo", - "family": "gpt-4-turbo", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -32537,7 +37472,7 @@ "openai/gpt-5.1-codex-mini": { "id": "openai/gpt-5.1-codex-mini", "name": "GPT-5.1-Codex-Mini", - "family": "gpt-5-codex-mini", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -32552,7 +37487,7 @@ "openai/gpt-5.1-instant": { "id": "openai/gpt-5.1-instant", "name": "GPT-5.1-Instant", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -32567,7 +37502,7 @@ "openai/o3-mini": { "id": "openai/o3-mini", "name": "o3-mini", - "family": "o3-mini", + "family": "o-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -32582,7 +37517,7 @@ "openai/gpt-5.1": { "id": "openai/gpt-5.1", "name": "GPT-5.1", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -32597,7 +37532,7 @@ "openai/gpt-5-nano": { "id": "openai/gpt-5-nano", "name": "GPT-5-nano", - "family": "gpt-5-nano", + "family": "gpt-nano", "attachment": true, "reasoning": true, "tool_call": true, @@ -32612,7 +37547,7 @@ "openai/gpt-5-codex": { "id": "openai/gpt-5-codex", "name": "GPT-5-Codex", - "family": "gpt-5-codex", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, @@ -32627,7 +37562,7 @@ "openai/gpt-4o": { "id": "openai/gpt-4o", "name": "GPT-4o", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -32641,7 +37576,7 @@ "openai/gpt-4.1": { "id": "openai/gpt-4.1", "name": "GPT-4.1", - "family": "gpt-4.1", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -32656,7 +37591,7 @@ "openai/o4-mini": { "id": "openai/o4-mini", "name": "o4-mini", - "family": "o4-mini", + "family": "o-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -32671,7 +37606,7 @@ "openai/o1": { "id": "openai/o1", "name": "o1", - "family": "o1", + "family": "o", "attachment": true, "reasoning": true, "tool_call": true, @@ -32686,7 +37621,7 @@ "openai/gpt-5-mini": { "id": "openai/gpt-5-mini", "name": "GPT-5-mini", - "family": "gpt-5-mini", + "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -32701,7 +37636,7 @@ "openai/gpt-4o-aug": { "id": "openai/gpt-4o-aug", "name": "GPT-4o-Aug", - "family": "gpt-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -32716,7 +37651,7 @@ "openai/o3-pro": { "id": "openai/o3-pro", "name": "o3-pro", - "family": "o3-pro", + "family": "o-pro", "attachment": true, "reasoning": true, "tool_call": true, @@ -32731,7 +37666,7 @@ "openai/gpt-image-1": { "id": "openai/gpt-image-1", "name": "GPT-Image-1", - "family": "gpt-image", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -32759,7 +37694,7 @@ "openai/gpt-3.5-turbo-instruct": { "id": "openai/gpt-3.5-turbo-instruct", "name": "GPT-3.5-Turbo-Instruct", - "family": "gpt-3.5-turbo", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -32774,7 +37709,7 @@ "openai/o3": { "id": "openai/o3", "name": "o3", - "family": "o3", + "family": "o", "attachment": true, "reasoning": true, "tool_call": true, @@ -32789,7 +37724,7 @@ "openai/o4-mini-deep-research": { "id": "openai/o4-mini-deep-research", "name": "o4-mini-deep-research", - "family": "o4-mini", + "family": "o-mini", "attachment": true, "reasoning": true, "tool_call": true, @@ -32804,7 +37739,7 @@ "openai/gpt-4-classic-0314": { "id": "openai/gpt-4-classic-0314", "name": "GPT-4-Classic-0314", - "family": "gpt-4", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, @@ -32819,7 +37754,7 @@ "openai/gpt-4o-mini": { "id": "openai/gpt-4o-mini", "name": "GPT-4o-mini", - "family": "gpt-4o-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -32834,7 +37769,7 @@ "openai/gpt-5": { "id": "openai/gpt-5", "name": "GPT-5", - "family": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, @@ -32849,7 +37784,7 @@ "openai/dall-e-3": { "id": "openai/dall-e-3", "name": "DALL-E-3", - "family": "dall-e-3", + "family": "dall-e", "attachment": true, "reasoning": false, "tool_call": true, @@ -32863,7 +37798,7 @@ "openai/sora-2-pro": { "id": "openai/sora-2-pro", "name": "Sora-2-Pro", - "family": "sora-2-pro", + "family": "sora", "attachment": true, "reasoning": false, "tool_call": true, @@ -32877,7 +37812,7 @@ "openai/gpt-5-pro": { "id": "openai/gpt-5-pro", "name": "GPT-5-Pro", - "family": "gpt-5-pro", + "family": "gpt-pro", "attachment": true, "reasoning": true, "tool_call": true, @@ -32906,7 +37841,7 @@ "openai/gpt-4o-mini-search": { "id": "openai/gpt-4o-mini-search", "name": "GPT-4o-mini-Search", - "family": "gpt-4o-mini", + "family": "gpt-mini", "attachment": true, "reasoning": false, "tool_call": true, @@ -32921,7 +37856,7 @@ "stabilityai/stablediffusionxl": { "id": "stabilityai/stablediffusionxl", "name": "StableDiffusionXL", - "family": "stablediffusionxl", + "family": "stable-diffusion", "attachment": true, "reasoning": false, "tool_call": true, @@ -32949,7 +37884,7 @@ "lumalabs/ray2": { "id": "lumalabs/ray2", "name": "Ray2", - "family": "ray2", + "family": "ray", "attachment": true, "reasoning": false, "tool_call": true, @@ -33289,7 +38224,7 @@ "novita/kimi-k2-thinking": { "id": "novita/kimi-k2-thinking", "name": "kimi-k2-thinking", - "family": "kimi-k2", + "family": "kimi", "attachment": true, "reasoning": true, "tool_call": true, @@ -33316,7 +38251,7 @@ "novita/glm-4.6": { "id": "novita/glm-4.6", "name": "GLM-4.6", - "family": "glm-4.6", + "family": "glm", "attachment": true, "reasoning": false, "tool_call": true, @@ -33381,6 +38316,46 @@ } } }, + "minimax-cn-coding-plan": { + "id": "minimax-cn-coding-plan", + "env": ["MINIMAX_API_KEY"], + "npm": "@ai-sdk/anthropic", + "api": "https://api.minimaxi.com/anthropic/v1", + "name": "MiniMax Coding Plan (minimaxi.com)", + "doc": "https://platform.minimaxi.com/docs/coding-plan/intro", + "models": { + "MiniMax-M2": { + "id": "MiniMax-M2", + "name": "MiniMax-M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 196608, "output": 128000 } + }, + "MiniMax-M2.1": { + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { "input": ["text"], "output": ["text"] }, + "open_weights": true, + "cost": { "input": 0, "output": 0 }, + "limit": { "context": 204800, "output": 131072 } + } + } + }, "cerebras": { "id": "cerebras", "env": ["CEREBRAS_API_KEY"], @@ -33418,21 +38393,6 @@ "cost": { "input": 0.6, "output": 1.2 }, "limit": { "context": 131000, "output": 32000 } }, - "zai-glm-4.6": { - "id": "zai-glm-4.6", - "name": "Z.AI GLM-4.6", - "family": "glm-4.6", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-11-05", - "last_updated": "2025-11-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 40960 } - }, "gpt-oss-120b": { "id": "gpt-oss-120b", "name": "GPT OSS 120B", diff --git a/packages/opencode/test/tool/read.test.ts b/packages/opencode/test/tool/read.test.ts index afa14bc6cb..187d9a9fc8 100644 --- a/packages/opencode/test/tool/read.test.ts +++ b/packages/opencode/test/tool/read.test.ts @@ -173,7 +173,9 @@ describe("tool.read truncation", () => { test("truncates large file by bytes and sets truncated metadata", async () => { await using tmp = await tmpdir({ init: async (dir) => { - const content = await Bun.file(path.join(FIXTURES_DIR, "models-api.json")).text() + const base = await Bun.file(path.join(FIXTURES_DIR, "models-api.json")).text() + const target = 60 * 1024 + const content = base.length >= target ? base : base.repeat(Math.ceil(target / base.length)) await Bun.write(path.join(dir, "large.json"), content) }, }) diff --git a/packages/sdk/js/openapi.json b/packages/sdk/js/openapi.json new file mode 100644 index 0000000000..0af6a9cebf --- /dev/null +++ b/packages/sdk/js/openapi.json @@ -0,0 +1,11911 @@ +{ + "openapi": "3.1.1", + "info": { + "title": "opencode", + "description": "opencode api", + "version": "1.0.0" + }, + "paths": { + "/global/health": { + "get": { + "operationId": "global.health", + "summary": "Get health", + "description": "Get health information about the OpenCode server.", + "responses": { + "200": { + "description": "Health information", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "healthy": { + "type": "boolean", + "const": true + }, + "version": { + "type": "string" + } + }, + "required": [ + "healthy", + "version" + ] + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.global.health({\n ...\n})" + } + ] + } + }, + "/global/event": { + "get": { + "operationId": "global.event", + "summary": "Get global events", + "description": "Subscribe to global events from the OpenCode system using server-sent events.", + "responses": { + "200": { + "description": "Event stream", + "content": { + "text/event-stream": { + "schema": { + "$ref": "#/components/schemas/GlobalEvent" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.global.event({\n ...\n})" + } + ] + } + }, + "/global/config": { + "get": { + "operationId": "global.config.get", + "summary": "Get global configuration", + "description": "Retrieve the current global OpenCode configuration settings and preferences.", + "responses": { + "200": { + "description": "Get global config info", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Config" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.global.config.get({\n ...\n})" + } + ] + }, + "patch": { + "operationId": "global.config.update", + "summary": "Update global configuration", + "description": "Update global OpenCode configuration settings and preferences.", + "responses": { + "200": { + "description": "Successfully updated global config", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Config" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Config" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.global.config.update({\n ...\n})" + } + ] + } + }, + "/global/dispose": { + "post": { + "operationId": "global.dispose", + "summary": "Dispose instance", + "description": "Clean up and dispose all OpenCode instances, releasing all resources.", + "responses": { + "200": { + "description": "Global disposed", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.global.dispose({\n ...\n})" + } + ] + } + }, + "/auth/{providerID}": { + "put": { + "operationId": "auth.set", + "summary": "Set auth credentials", + "description": "Set authentication credentials", + "responses": { + "200": { + "description": "Successfully set authentication credentials", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "parameters": [ + { + "in": "path", + "name": "providerID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Auth" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.auth.set({\n ...\n})" + } + ] + }, + "delete": { + "operationId": "auth.remove", + "summary": "Remove auth credentials", + "description": "Remove authentication credentials", + "responses": { + "200": { + "description": "Successfully removed authentication credentials", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "parameters": [ + { + "in": "path", + "name": "providerID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.auth.remove({\n ...\n})" + } + ] + } + }, + "/project": { + "get": { + "operationId": "project.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List all projects", + "description": "Get a list of projects that have been opened with OpenCode.", + "responses": { + "200": { + "description": "List of projects", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Project" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.project.list({\n ...\n})" + } + ] + } + }, + "/project/current": { + "get": { + "operationId": "project.current", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get current project", + "description": "Retrieve the currently active project that OpenCode is working with.", + "responses": { + "200": { + "description": "Current project information", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Project" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.project.current({\n ...\n})" + } + ] + } + }, + "/project/{projectID}": { + "patch": { + "operationId": "project.update", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "projectID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Update project", + "description": "Update project properties such as name, icon, and commands.", + "responses": { + "200": { + "description": "Updated project information", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Project" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "icon": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "override": { + "type": "string" + }, + "color": { + "type": "string" + } + } + }, + "commands": { + "type": "object", + "properties": { + "start": { + "description": "Startup script to run when creating a new workspace (worktree)", + "type": "string" + } + } + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.project.update({\n ...\n})" + } + ] + } + }, + "/pty": { + "get": { + "operationId": "pty.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List PTY sessions", + "description": "Get a list of all active pseudo-terminal (PTY) sessions managed by OpenCode.", + "responses": { + "200": { + "description": "List of sessions", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Pty" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.list({\n ...\n})" + } + ] + }, + "post": { + "operationId": "pty.create", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Create PTY session", + "description": "Create a new pseudo-terminal (PTY) session for running shell commands and processes.", + "responses": { + "200": { + "description": "Created session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pty" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "command": { + "type": "string" + }, + "args": { + "type": "array", + "items": { + "type": "string" + } + }, + "cwd": { + "type": "string" + }, + "title": { + "type": "string" + }, + "env": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.create({\n ...\n})" + } + ] + } + }, + "/pty/{ptyID}": { + "get": { + "operationId": "pty.get", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "ptyID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Get PTY session", + "description": "Retrieve detailed information about a specific pseudo-terminal (PTY) session.", + "responses": { + "200": { + "description": "Session info", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pty" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.get({\n ...\n})" + } + ] + }, + "put": { + "operationId": "pty.update", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "ptyID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Update PTY session", + "description": "Update properties of an existing pseudo-terminal (PTY) session.", + "responses": { + "200": { + "description": "Updated session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pty" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "size": { + "type": "object", + "properties": { + "rows": { + "type": "number" + }, + "cols": { + "type": "number" + } + }, + "required": [ + "rows", + "cols" + ] + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.update({\n ...\n})" + } + ] + }, + "delete": { + "operationId": "pty.remove", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "ptyID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Remove PTY session", + "description": "Remove and terminate a specific pseudo-terminal (PTY) session.", + "responses": { + "200": { + "description": "Session removed", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.remove({\n ...\n})" + } + ] + } + }, + "/pty/{ptyID}/connect": { + "get": { + "operationId": "pty.connect", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "ptyID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Connect to PTY session", + "description": "Establish a WebSocket connection to interact with a pseudo-terminal (PTY) session in real-time.", + "responses": { + "200": { + "description": "Connected session", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.connect({\n ...\n})" + } + ] + } + }, + "/config": { + "get": { + "operationId": "config.get", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get configuration", + "description": "Retrieve the current OpenCode configuration settings and preferences.", + "responses": { + "200": { + "description": "Get config info", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Config" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.config.get({\n ...\n})" + } + ] + }, + "patch": { + "operationId": "config.update", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Update configuration", + "description": "Update OpenCode configuration settings and preferences.", + "responses": { + "200": { + "description": "Successfully updated config", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Config" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Config" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.config.update({\n ...\n})" + } + ] + } + }, + "/config/providers": { + "get": { + "operationId": "config.providers", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List config providers", + "description": "Get a list of all configured AI providers and their default models.", + "responses": { + "200": { + "description": "List of providers", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "providers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Provider" + } + }, + "default": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "providers", + "default" + ] + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.config.providers({\n ...\n})" + } + ] + } + }, + "/experimental/tool/ids": { + "get": { + "operationId": "tool.ids", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List tool IDs", + "description": "Get a list of all available tool IDs, including both built-in tools and dynamically registered tools.", + "responses": { + "200": { + "description": "Tool IDs", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ToolIDs" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tool.ids({\n ...\n})" + } + ] + } + }, + "/experimental/tool": { + "get": { + "operationId": "tool.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "provider", + "schema": { + "type": "string" + }, + "required": true + }, + { + "in": "query", + "name": "model", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "List tools", + "description": "Get a list of available tools with their JSON schema parameters for a specific provider and model combination.", + "responses": { + "200": { + "description": "Tools", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ToolList" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tool.list({\n ...\n})" + } + ] + } + }, + "/experimental/worktree": { + "post": { + "operationId": "worktree.create", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Create worktree", + "description": "Create a new git worktree for the current project and run any configured startup scripts.", + "responses": { + "200": { + "description": "Worktree created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Worktree" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorktreeCreateInput" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.worktree.create({\n ...\n})" + } + ] + }, + "get": { + "operationId": "worktree.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List worktrees", + "description": "List all sandbox worktrees for the current project.", + "responses": { + "200": { + "description": "List of worktree directories", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.worktree.list({\n ...\n})" + } + ] + }, + "delete": { + "operationId": "worktree.remove", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Remove worktree", + "description": "Remove a git worktree and delete its branch.", + "responses": { + "200": { + "description": "Worktree removed", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorktreeRemoveInput" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.worktree.remove({\n ...\n})" + } + ] + } + }, + "/experimental/worktree/reset": { + "post": { + "operationId": "worktree.reset", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Reset worktree", + "description": "Reset a worktree branch to the primary default branch.", + "responses": { + "200": { + "description": "Worktree reset", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorktreeResetInput" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.worktree.reset({\n ...\n})" + } + ] + } + }, + "/experimental/resource": { + "get": { + "operationId": "experimental.resource.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get MCP resources", + "description": "Get all available MCP resources from connected servers. Optionally filter by name.", + "responses": { + "200": { + "description": "MCP resources", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "$ref": "#/components/schemas/McpResource" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.resource.list({\n ...\n})" + } + ] + } + }, + "/session": { + "get": { + "operationId": "session.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + }, + "description": "Filter sessions by project directory" + }, + { + "in": "query", + "name": "roots", + "schema": { + "type": "boolean" + }, + "description": "Only return root sessions (no parentID)" + }, + { + "in": "query", + "name": "start", + "schema": { + "type": "number" + }, + "description": "Filter sessions updated on or after this timestamp (milliseconds since epoch)" + }, + { + "in": "query", + "name": "search", + "schema": { + "type": "string" + }, + "description": "Filter sessions by title (case-insensitive)" + }, + { + "in": "query", + "name": "limit", + "schema": { + "type": "number" + }, + "description": "Maximum number of sessions to return" + } + ], + "summary": "List sessions", + "description": "Get a list of all OpenCode sessions, sorted by most recently updated.", + "responses": { + "200": { + "description": "List of sessions", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Session" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.list({\n ...\n})" + } + ] + }, + "post": { + "operationId": "session.create", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Create session", + "description": "Create a new OpenCode session for interacting with AI assistants and managing conversations.", + "responses": { + "200": { + "description": "Successfully created session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "parentID": { + "type": "string", + "pattern": "^ses.*" + }, + "title": { + "type": "string" + }, + "permission": { + "$ref": "#/components/schemas/PermissionRuleset" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.create({\n ...\n})" + } + ] + } + }, + "/session/status": { + "get": { + "operationId": "session.status", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get session status", + "description": "Retrieve the current status of all sessions, including active, idle, and completed states.", + "responses": { + "200": { + "description": "Get session status", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "$ref": "#/components/schemas/SessionStatus" + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.status({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}": { + "get": { + "operationId": "session.get", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string", + "pattern": "^ses.*" + }, + "required": true + } + ], + "summary": "Get session", + "description": "Retrieve detailed information about a specific OpenCode session.", + "tags": [ + "Session" + ], + "responses": { + "200": { + "description": "Get session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.get({\n ...\n})" + } + ] + }, + "delete": { + "operationId": "session.delete", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string", + "pattern": "^ses.*" + }, + "required": true + } + ], + "summary": "Delete session", + "description": "Delete a session and permanently remove all associated data, including messages and history.", + "responses": { + "200": { + "description": "Successfully deleted session", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.delete({\n ...\n})" + } + ] + }, + "patch": { + "operationId": "session.update", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Update session", + "description": "Update properties of an existing session, such as title or other metadata.", + "responses": { + "200": { + "description": "Successfully updated session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "time": { + "type": "object", + "properties": { + "archived": { + "type": "number" + } + } + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.update({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/children": { + "get": { + "operationId": "session.children", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string", + "pattern": "^ses.*" + }, + "required": true + } + ], + "summary": "Get session children", + "tags": [ + "Session" + ], + "description": "Retrieve all child sessions that were forked from the specified parent session.", + "responses": { + "200": { + "description": "List of children", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Session" + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.children({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/todo": { + "get": { + "operationId": "session.todo", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Get session todos", + "description": "Retrieve the todo list associated with a specific session, showing tasks and action items.", + "responses": { + "200": { + "description": "Todo list", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Todo" + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.todo({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/init": { + "post": { + "operationId": "session.init", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Initialize session", + "description": "Analyze the current application and create an AGENTS.md file with project-specific agent configurations.", + "responses": { + "200": { + "description": "200", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "modelID": { + "type": "string" + }, + "providerID": { + "type": "string" + }, + "messageID": { + "type": "string", + "pattern": "^msg.*" + } + }, + "required": [ + "modelID", + "providerID", + "messageID" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.init({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/fork": { + "post": { + "operationId": "session.fork", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string", + "pattern": "^ses.*" + }, + "required": true + } + ], + "summary": "Fork session", + "description": "Create a new session by forking an existing session at a specific message point.", + "responses": { + "200": { + "description": "200", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "messageID": { + "type": "string", + "pattern": "^msg.*" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.fork({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/abort": { + "post": { + "operationId": "session.abort", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Abort session", + "description": "Abort an active session and stop any ongoing AI processing or command execution.", + "responses": { + "200": { + "description": "Aborted session", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.abort({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/share": { + "post": { + "operationId": "session.share", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Share session", + "description": "Create a shareable link for a session, allowing others to view the conversation.", + "responses": { + "200": { + "description": "Successfully shared session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.share({\n ...\n})" + } + ] + }, + "delete": { + "operationId": "session.unshare", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string", + "pattern": "^ses.*" + }, + "required": true + } + ], + "summary": "Unshare session", + "description": "Remove the shareable link for a session, making it private again.", + "responses": { + "200": { + "description": "Successfully unshared session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.unshare({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/diff": { + "get": { + "operationId": "session.diff", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string", + "pattern": "^ses.*" + }, + "required": true + }, + { + "in": "query", + "name": "messageID", + "schema": { + "type": "string", + "pattern": "^msg.*" + } + } + ], + "summary": "Get message diff", + "description": "Get the file changes (diff) that resulted from a specific user message in the session.", + "responses": { + "200": { + "description": "Successfully retrieved diff", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileDiff" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.diff({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/summarize": { + "post": { + "operationId": "session.summarize", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Summarize session", + "description": "Generate a concise summary of the session using AI compaction to preserve key information.", + "responses": { + "200": { + "description": "Summarized session", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "modelID": { + "type": "string" + }, + "auto": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "providerID", + "modelID" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.summarize({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/message": { + "get": { + "operationId": "session.messages", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + }, + { + "in": "query", + "name": "limit", + "schema": { + "type": "number" + } + } + ], + "summary": "Get session messages", + "description": "Retrieve all messages in a session, including user prompts and AI responses.", + "responses": { + "200": { + "description": "List of messages", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Message" + }, + "parts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Part" + } + } + }, + "required": [ + "info", + "parts" + ] + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.messages({\n ...\n})" + } + ] + }, + "post": { + "operationId": "session.prompt", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Send message", + "description": "Create and send a new message to a session, streaming the AI response.", + "responses": { + "200": { + "description": "Created message", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/AssistantMessage" + }, + "parts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Part" + } + } + }, + "required": [ + "info", + "parts" + ] + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "messageID": { + "type": "string", + "pattern": "^msg.*" + }, + "model": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "modelID": { + "type": "string" + } + }, + "required": [ + "providerID", + "modelID" + ] + }, + "agent": { + "type": "string" + }, + "noReply": { + "type": "boolean" + }, + "tools": { + "description": "@deprecated tools and permissions have been merged, you can set permissions on the session itself now", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "boolean" + } + }, + "system": { + "type": "string" + }, + "variant": { + "type": "string" + }, + "parts": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/TextPartInput" + }, + { + "$ref": "#/components/schemas/FilePartInput" + }, + { + "$ref": "#/components/schemas/AgentPartInput" + }, + { + "$ref": "#/components/schemas/SubtaskPartInput" + } + ] + } + } + }, + "required": [ + "parts" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.prompt({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/message/{messageID}": { + "get": { + "operationId": "session.message", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + }, + { + "in": "path", + "name": "messageID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Message ID" + } + ], + "summary": "Get message", + "description": "Retrieve a specific message from a session by its message ID.", + "responses": { + "200": { + "description": "Message", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Message" + }, + "parts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Part" + } + } + }, + "required": [ + "info", + "parts" + ] + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.message({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/message/{messageID}/part/{partID}": { + "delete": { + "operationId": "part.delete", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + }, + { + "in": "path", + "name": "messageID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Message ID" + }, + { + "in": "path", + "name": "partID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Part ID" + } + ], + "description": "Delete a part from a message", + "responses": { + "200": { + "description": "Successfully deleted part", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.part.delete({\n ...\n})" + } + ] + }, + "patch": { + "operationId": "part.update", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + }, + { + "in": "path", + "name": "messageID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Message ID" + }, + { + "in": "path", + "name": "partID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Part ID" + } + ], + "description": "Update a part in a message", + "responses": { + "200": { + "description": "Successfully updated part", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Part" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Part" + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.part.update({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/prompt_async": { + "post": { + "operationId": "session.prompt_async", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Send async message", + "description": "Create and send a new message to a session asynchronously, starting the session if needed and returning immediately.", + "responses": { + "204": { + "description": "Prompt accepted" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "messageID": { + "type": "string", + "pattern": "^msg.*" + }, + "model": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "modelID": { + "type": "string" + } + }, + "required": [ + "providerID", + "modelID" + ] + }, + "agent": { + "type": "string" + }, + "noReply": { + "type": "boolean" + }, + "tools": { + "description": "@deprecated tools and permissions have been merged, you can set permissions on the session itself now", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "boolean" + } + }, + "system": { + "type": "string" + }, + "variant": { + "type": "string" + }, + "parts": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/TextPartInput" + }, + { + "$ref": "#/components/schemas/FilePartInput" + }, + { + "$ref": "#/components/schemas/AgentPartInput" + }, + { + "$ref": "#/components/schemas/SubtaskPartInput" + } + ] + } + } + }, + "required": [ + "parts" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.prompt_async({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/command": { + "post": { + "operationId": "session.command", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Send command", + "description": "Send a new command to a session for execution by the AI assistant.", + "responses": { + "200": { + "description": "Created message", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/AssistantMessage" + }, + "parts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Part" + } + } + }, + "required": [ + "info", + "parts" + ] + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "messageID": { + "type": "string", + "pattern": "^msg.*" + }, + "agent": { + "type": "string" + }, + "model": { + "type": "string" + }, + "arguments": { + "type": "string" + }, + "command": { + "type": "string" + }, + "variant": { + "type": "string" + }, + "parts": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "const": "file" + }, + "mime": { + "type": "string" + }, + "filename": { + "type": "string" + }, + "url": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/FilePartSource" + } + }, + "required": [ + "type", + "mime", + "url" + ] + } + ] + } + } + }, + "required": [ + "arguments", + "command" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.command({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/shell": { + "post": { + "operationId": "session.shell", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Run shell command", + "description": "Execute a shell command within the session context and return the AI's response.", + "responses": { + "200": { + "description": "Created message", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AssistantMessage" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "agent": { + "type": "string" + }, + "model": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "modelID": { + "type": "string" + } + }, + "required": [ + "providerID", + "modelID" + ] + }, + "command": { + "type": "string" + } + }, + "required": [ + "agent", + "command" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.shell({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/revert": { + "post": { + "operationId": "session.revert", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Revert message", + "description": "Revert a specific message in a session, undoing its effects and restoring the previous state.", + "responses": { + "200": { + "description": "Updated session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "messageID": { + "type": "string", + "pattern": "^msg.*" + }, + "partID": { + "type": "string", + "pattern": "^prt.*" + } + }, + "required": [ + "messageID" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.revert({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/unrevert": { + "post": { + "operationId": "session.unrevert", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Restore reverted messages", + "description": "Restore all previously reverted messages in a session.", + "responses": { + "200": { + "description": "Updated session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.unrevert({\n ...\n})" + } + ] + } + }, + "/session/{sessionID}/permissions/{permissionID}": { + "post": { + "operationId": "permission.respond", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true + }, + { + "in": "path", + "name": "permissionID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Respond to permission", + "deprecated": true, + "description": "Approve or deny a permission request from the AI assistant.", + "responses": { + "200": { + "description": "Permission processed successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "response": { + "type": "string", + "enum": [ + "once", + "always", + "reject" + ] + } + }, + "required": [ + "response" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.permission.respond({\n ...\n})" + } + ] + } + }, + "/permission/{requestID}/reply": { + "post": { + "operationId": "permission.reply", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "requestID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Respond to permission request", + "description": "Approve or deny a permission request from the AI assistant.", + "responses": { + "200": { + "description": "Permission processed successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "reply": { + "type": "string", + "enum": [ + "once", + "always", + "reject" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "reply" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.permission.reply({\n ...\n})" + } + ] + } + }, + "/permission": { + "get": { + "operationId": "permission.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List pending permissions", + "description": "Get all pending permission requests across all sessions.", + "responses": { + "200": { + "description": "List of pending permissions", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PermissionRequest" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.permission.list({\n ...\n})" + } + ] + } + }, + "/question": { + "get": { + "operationId": "question.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List pending questions", + "description": "Get all pending question requests across all sessions.", + "responses": { + "200": { + "description": "List of pending questions", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuestionRequest" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.question.list({\n ...\n})" + } + ] + } + }, + "/question/{requestID}/reply": { + "post": { + "operationId": "question.reply", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "requestID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Reply to question request", + "description": "Provide answers to a question request from the AI assistant.", + "responses": { + "200": { + "description": "Question answered successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "answers": { + "description": "User answers in order of questions (each answer is an array of selected labels)", + "type": "array", + "items": { + "$ref": "#/components/schemas/QuestionAnswer" + } + } + }, + "required": [ + "answers" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.question.reply({\n ...\n})" + } + ] + } + }, + "/question/{requestID}/reject": { + "post": { + "operationId": "question.reject", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "requestID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Reject question request", + "description": "Reject a question request from the AI assistant.", + "responses": { + "200": { + "description": "Question rejected successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.question.reject({\n ...\n})" + } + ] + } + }, + "/provider": { + "get": { + "operationId": "provider.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List providers", + "description": "Get a list of all available AI providers, including both available and connected ones.", + "responses": { + "200": { + "description": "List of providers", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "all": { + "type": "array", + "items": { + "type": "object", + "properties": { + "api": { + "type": "string" + }, + "name": { + "type": "string" + }, + "env": { + "type": "array", + "items": { + "type": "string" + } + }, + "id": { + "type": "string" + }, + "npm": { + "type": "string" + }, + "models": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "family": { + "type": "string" + }, + "release_date": { + "type": "string" + }, + "attachment": { + "type": "boolean" + }, + "reasoning": { + "type": "boolean" + }, + "temperature": { + "type": "boolean" + }, + "tool_call": { + "type": "boolean" + }, + "interleaved": { + "anyOf": [ + { + "type": "boolean", + "const": true + }, + { + "type": "object", + "properties": { + "field": { + "type": "string", + "enum": [ + "reasoning_content", + "reasoning_details" + ] + } + }, + "required": [ + "field" + ], + "additionalProperties": false + } + ] + }, + "cost": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "cache_read": { + "type": "number" + }, + "cache_write": { + "type": "number" + }, + "context_over_200k": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "cache_read": { + "type": "number" + }, + "cache_write": { + "type": "number" + } + }, + "required": [ + "input", + "output" + ] + } + }, + "required": [ + "input", + "output" + ] + }, + "limit": { + "type": "object", + "properties": { + "context": { + "type": "number" + }, + "input": { + "type": "number" + }, + "output": { + "type": "number" + } + }, + "required": [ + "context", + "output" + ] + }, + "modalities": { + "type": "object", + "properties": { + "input": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "text", + "audio", + "image", + "video", + "pdf" + ] + } + }, + "output": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "text", + "audio", + "image", + "video", + "pdf" + ] + } + } + }, + "required": [ + "input", + "output" + ] + }, + "experimental": { + "type": "boolean" + }, + "status": { + "type": "string", + "enum": [ + "alpha", + "beta", + "deprecated" + ] + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "headers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "provider": { + "type": "object", + "properties": { + "npm": { + "type": "string" + } + }, + "required": [ + "npm" + ] + }, + "variants": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + } + }, + "required": [ + "id", + "name", + "release_date", + "attachment", + "reasoning", + "temperature", + "tool_call", + "limit", + "options" + ] + } + } + }, + "required": [ + "name", + "env", + "id", + "models" + ] + } + }, + "default": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "connected": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "all", + "default", + "connected" + ] + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.provider.list({\n ...\n})" + } + ] + } + }, + "/provider/auth": { + "get": { + "operationId": "provider.auth", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get provider auth methods", + "description": "Retrieve available authentication methods for all AI providers.", + "responses": { + "200": { + "description": "Provider auth methods", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProviderAuthMethod" + } + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.provider.auth({\n ...\n})" + } + ] + } + }, + "/provider/{providerID}/oauth/authorize": { + "post": { + "operationId": "provider.oauth.authorize", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "providerID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Provider ID" + } + ], + "summary": "OAuth authorize", + "description": "Initiate OAuth authorization for a specific AI provider to get an authorization URL.", + "responses": { + "200": { + "description": "Authorization URL and method", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProviderAuthAuthorization" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "method": { + "description": "Auth method index", + "type": "number" + } + }, + "required": [ + "method" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.provider.oauth.authorize({\n ...\n})" + } + ] + } + }, + "/provider/{providerID}/oauth/callback": { + "post": { + "operationId": "provider.oauth.callback", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "providerID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Provider ID" + } + ], + "summary": "OAuth callback", + "description": "Handle the OAuth callback from a provider after user authorization.", + "responses": { + "200": { + "description": "OAuth callback processed successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "method": { + "description": "Auth method index", + "type": "number" + }, + "code": { + "description": "OAuth authorization code", + "type": "string" + } + }, + "required": [ + "method" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.provider.oauth.callback({\n ...\n})" + } + ] + } + }, + "/find": { + "get": { + "operationId": "find.text", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "pattern", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Find text", + "description": "Search for text patterns across files in the project using ripgrep.", + "responses": { + "200": { + "description": "Matches", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "path": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + }, + "required": [ + "text" + ] + }, + "lines": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + }, + "required": [ + "text" + ] + }, + "line_number": { + "type": "number" + }, + "absolute_offset": { + "type": "number" + }, + "submatches": { + "type": "array", + "items": { + "type": "object", + "properties": { + "match": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + }, + "required": [ + "text" + ] + }, + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "match", + "start", + "end" + ] + } + } + }, + "required": [ + "path", + "lines", + "line_number", + "absolute_offset", + "submatches" + ] + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.find.text({\n ...\n})" + } + ] + } + }, + "/find/file": { + "get": { + "operationId": "find.files", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "query", + "schema": { + "type": "string" + }, + "required": true + }, + { + "in": "query", + "name": "dirs", + "schema": { + "type": "string", + "enum": [ + "true", + "false" + ] + } + }, + { + "in": "query", + "name": "type", + "schema": { + "type": "string", + "enum": [ + "file", + "directory" + ] + } + }, + { + "in": "query", + "name": "limit", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 200 + } + } + ], + "summary": "Find files", + "description": "Search for files or directories by name or pattern in the project directory.", + "responses": { + "200": { + "description": "File paths", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.find.files({\n ...\n})" + } + ] + } + }, + "/find/symbol": { + "get": { + "operationId": "find.symbols", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "query", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Find symbols", + "description": "Search for workspace symbols like functions, classes, and variables using LSP.", + "responses": { + "200": { + "description": "Symbols", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Symbol" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.find.symbols({\n ...\n})" + } + ] + } + }, + "/file": { + "get": { + "operationId": "file.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "List files", + "description": "List files and directories in a specified path.", + "responses": { + "200": { + "description": "Files and directories", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileNode" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.file.list({\n ...\n})" + } + ] + } + }, + "/file/content": { + "get": { + "operationId": "file.read", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Read file", + "description": "Read the content of a specified file.", + "responses": { + "200": { + "description": "File content", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FileContent" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.file.read({\n ...\n})" + } + ] + } + }, + "/file/status": { + "get": { + "operationId": "file.status", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get file status", + "description": "Get the git status of all files in the project.", + "responses": { + "200": { + "description": "File status", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/File" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.file.status({\n ...\n})" + } + ] + } + }, + "/mcp": { + "get": { + "operationId": "mcp.status", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get MCP status", + "description": "Get the status of all Model Context Protocol (MCP) servers.", + "responses": { + "200": { + "description": "MCP server status", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "$ref": "#/components/schemas/MCPStatus" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.status({\n ...\n})" + } + ] + }, + "post": { + "operationId": "mcp.add", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Add MCP server", + "description": "Dynamically add a new Model Context Protocol (MCP) server to the system.", + "responses": { + "200": { + "description": "MCP server added successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "$ref": "#/components/schemas/MCPStatus" + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "config": { + "anyOf": [ + { + "$ref": "#/components/schemas/McpLocalConfig" + }, + { + "$ref": "#/components/schemas/McpRemoteConfig" + } + ] + } + }, + "required": [ + "name", + "config" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.add({\n ...\n})" + } + ] + } + }, + "/mcp/{name}/auth": { + "post": { + "operationId": "mcp.auth.start", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "schema": { + "type": "string" + }, + "in": "path", + "name": "name", + "required": true + } + ], + "summary": "Start MCP OAuth", + "description": "Start OAuth authentication flow for a Model Context Protocol (MCP) server.", + "responses": { + "200": { + "description": "OAuth flow started", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "authorizationUrl": { + "description": "URL to open in browser for authorization", + "type": "string" + } + }, + "required": [ + "authorizationUrl" + ] + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.auth.start({\n ...\n})" + } + ] + }, + "delete": { + "operationId": "mcp.auth.remove", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "schema": { + "type": "string" + }, + "in": "path", + "name": "name", + "required": true + } + ], + "summary": "Remove MCP OAuth", + "description": "Remove OAuth credentials for an MCP server", + "responses": { + "200": { + "description": "OAuth credentials removed", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "const": true + } + }, + "required": [ + "success" + ] + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.auth.remove({\n ...\n})" + } + ] + } + }, + "/mcp/{name}/auth/callback": { + "post": { + "operationId": "mcp.auth.callback", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "schema": { + "type": "string" + }, + "in": "path", + "name": "name", + "required": true + } + ], + "summary": "Complete MCP OAuth", + "description": "Complete OAuth authentication for a Model Context Protocol (MCP) server using the authorization code.", + "responses": { + "200": { + "description": "OAuth authentication completed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPStatus" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "description": "Authorization code from OAuth callback", + "type": "string" + } + }, + "required": [ + "code" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.auth.callback({\n ...\n})" + } + ] + } + }, + "/mcp/{name}/auth/authenticate": { + "post": { + "operationId": "mcp.auth.authenticate", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "schema": { + "type": "string" + }, + "in": "path", + "name": "name", + "required": true + } + ], + "summary": "Authenticate MCP OAuth", + "description": "Start OAuth flow and wait for callback (opens browser)", + "responses": { + "200": { + "description": "OAuth authentication completed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPStatus" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.auth.authenticate({\n ...\n})" + } + ] + } + }, + "/mcp/{name}/connect": { + "post": { + "operationId": "mcp.connect", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "name", + "schema": { + "type": "string" + }, + "required": true + } + ], + "description": "Connect an MCP server", + "responses": { + "200": { + "description": "MCP server connected successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.connect({\n ...\n})" + } + ] + } + }, + "/mcp/{name}/disconnect": { + "post": { + "operationId": "mcp.disconnect", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "name", + "schema": { + "type": "string" + }, + "required": true + } + ], + "description": "Disconnect an MCP server", + "responses": { + "200": { + "description": "MCP server disconnected successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.disconnect({\n ...\n})" + } + ] + } + }, + "/tui/append-prompt": { + "post": { + "operationId": "tui.appendPrompt", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Append TUI prompt", + "description": "Append prompt to the TUI", + "responses": { + "200": { + "description": "Prompt processed successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + }, + "required": [ + "text" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.appendPrompt({\n ...\n})" + } + ] + } + }, + "/tui/open-help": { + "post": { + "operationId": "tui.openHelp", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Open help dialog", + "description": "Open the help dialog in the TUI to display user assistance information.", + "responses": { + "200": { + "description": "Help dialog opened successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.openHelp({\n ...\n})" + } + ] + } + }, + "/tui/open-sessions": { + "post": { + "operationId": "tui.openSessions", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Open sessions dialog", + "description": "Open the session dialog", + "responses": { + "200": { + "description": "Session dialog opened successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.openSessions({\n ...\n})" + } + ] + } + }, + "/tui/open-themes": { + "post": { + "operationId": "tui.openThemes", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Open themes dialog", + "description": "Open the theme dialog", + "responses": { + "200": { + "description": "Theme dialog opened successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.openThemes({\n ...\n})" + } + ] + } + }, + "/tui/open-models": { + "post": { + "operationId": "tui.openModels", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Open models dialog", + "description": "Open the model dialog", + "responses": { + "200": { + "description": "Model dialog opened successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.openModels({\n ...\n})" + } + ] + } + }, + "/tui/submit-prompt": { + "post": { + "operationId": "tui.submitPrompt", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Submit TUI prompt", + "description": "Submit the prompt", + "responses": { + "200": { + "description": "Prompt submitted successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.submitPrompt({\n ...\n})" + } + ] + } + }, + "/tui/clear-prompt": { + "post": { + "operationId": "tui.clearPrompt", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Clear TUI prompt", + "description": "Clear the prompt", + "responses": { + "200": { + "description": "Prompt cleared successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.clearPrompt({\n ...\n})" + } + ] + } + }, + "/tui/execute-command": { + "post": { + "operationId": "tui.executeCommand", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Execute TUI command", + "description": "Execute a TUI command (e.g. agent_cycle)", + "responses": { + "200": { + "description": "Command executed successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "command": { + "type": "string" + } + }, + "required": [ + "command" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.executeCommand({\n ...\n})" + } + ] + } + }, + "/tui/show-toast": { + "post": { + "operationId": "tui.showToast", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Show TUI toast", + "description": "Show a toast notification in the TUI", + "responses": { + "200": { + "description": "Toast notification shown successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "message": { + "type": "string" + }, + "variant": { + "type": "string", + "enum": [ + "info", + "success", + "warning", + "error" + ] + }, + "duration": { + "description": "Duration in milliseconds", + "default": 5000, + "type": "number" + } + }, + "required": [ + "message", + "variant" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.showToast({\n ...\n})" + } + ] + } + }, + "/tui/publish": { + "post": { + "operationId": "tui.publish", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Publish TUI event", + "description": "Publish a TUI event", + "responses": { + "200": { + "description": "Event published successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/Event.tui.prompt.append" + }, + { + "$ref": "#/components/schemas/Event.tui.command.execute" + }, + { + "$ref": "#/components/schemas/Event.tui.toast.show" + }, + { + "$ref": "#/components/schemas/Event.tui.session.select" + } + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.publish({\n ...\n})" + } + ] + } + }, + "/tui/select-session": { + "post": { + "operationId": "tui.selectSession", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Select session", + "description": "Navigate the TUI to display the specified session.", + "responses": { + "200": { + "description": "Session selected successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "sessionID": { + "description": "Session ID to navigate to", + "type": "string", + "pattern": "^ses" + } + }, + "required": [ + "sessionID" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.selectSession({\n ...\n})" + } + ] + } + }, + "/tui/control/next": { + "get": { + "operationId": "tui.control.next", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get next TUI request", + "description": "Retrieve the next TUI (Terminal User Interface) request from the queue for processing.", + "responses": { + "200": { + "description": "Next TUI request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "body": {} + }, + "required": [ + "path", + "body" + ] + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.control.next({\n ...\n})" + } + ] + } + }, + "/tui/control/response": { + "post": { + "operationId": "tui.control.response", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Submit TUI response", + "description": "Submit a response to the TUI request queue to complete a pending request.", + "responses": { + "200": { + "description": "Response submitted successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": {} + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.control.response({\n ...\n})" + } + ] + } + }, + "/instance/dispose": { + "post": { + "operationId": "instance.dispose", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Dispose instance", + "description": "Clean up and dispose the current OpenCode instance, releasing all resources.", + "responses": { + "200": { + "description": "Instance disposed", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.instance.dispose({\n ...\n})" + } + ] + } + }, + "/path": { + "get": { + "operationId": "path.get", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get paths", + "description": "Retrieve the current working directory and related path information for the OpenCode instance.", + "responses": { + "200": { + "description": "Path", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Path" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.path.get({\n ...\n})" + } + ] + } + }, + "/vcs": { + "get": { + "operationId": "vcs.get", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get VCS info", + "description": "Retrieve version control system (VCS) information for the current project, such as git branch.", + "responses": { + "200": { + "description": "VCS info", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VcsInfo" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.vcs.get({\n ...\n})" + } + ] + } + }, + "/command": { + "get": { + "operationId": "command.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List commands", + "description": "Get a list of all available commands in the OpenCode system.", + "responses": { + "200": { + "description": "List of commands", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Command" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.command.list({\n ...\n})" + } + ] + } + }, + "/log": { + "post": { + "operationId": "app.log", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Write log", + "description": "Write a log entry to the server logs with specified level and metadata.", + "responses": { + "200": { + "description": "Log entry written successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "service": { + "description": "Service name for the log entry", + "type": "string" + }, + "level": { + "description": "Log level", + "type": "string", + "enum": [ + "debug", + "info", + "error", + "warn" + ] + }, + "message": { + "description": "Log message", + "type": "string" + }, + "extra": { + "description": "Additional metadata for the log entry", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": [ + "service", + "level", + "message" + ] + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.app.log({\n ...\n})" + } + ] + } + }, + "/agent": { + "get": { + "operationId": "app.agents", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List agents", + "description": "Get a list of all available AI agents in the OpenCode system.", + "responses": { + "200": { + "description": "List of agents", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Agent" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.app.agents({\n ...\n})" + } + ] + } + }, + "/skill": { + "get": { + "operationId": "app.skills", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List skills", + "description": "Get a list of all available skills in the OpenCode system.", + "responses": { + "200": { + "description": "List of skills", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "location": { + "type": "string" + }, + "content": { + "type": "string" + } + }, + "required": [ + "name", + "description", + "location", + "content" + ] + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.app.skills({\n ...\n})" + } + ] + } + }, + "/lsp": { + "get": { + "operationId": "lsp.status", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get LSP status", + "description": "Get LSP server status", + "responses": { + "200": { + "description": "LSP server status", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LSPStatus" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.lsp.status({\n ...\n})" + } + ] + } + }, + "/formatter": { + "get": { + "operationId": "formatter.status", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get formatter status", + "description": "Get formatter status", + "responses": { + "200": { + "description": "Formatter status", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FormatterStatus" + } + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.formatter.status({\n ...\n})" + } + ] + } + }, + "/event": { + "get": { + "operationId": "event.subscribe", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Subscribe to events", + "description": "Get events", + "responses": { + "200": { + "description": "Event stream", + "content": { + "text/event-stream": { + "schema": { + "$ref": "#/components/schemas/Event" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.event.subscribe({\n ...\n})" + } + ] + } + } + }, + "components": { + "schemas": { + "Event.installation.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "installation.updated" + }, + "properties": { + "type": "object", + "properties": { + "version": { + "type": "string" + } + }, + "required": [ + "version" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.installation.update-available": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "installation.update-available" + }, + "properties": { + "type": "object", + "properties": { + "version": { + "type": "string" + } + }, + "required": [ + "version" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Project": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "worktree": { + "type": "string" + }, + "vcs": { + "type": "string", + "const": "git" + }, + "name": { + "type": "string" + }, + "icon": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "override": { + "type": "string" + }, + "color": { + "type": "string" + } + } + }, + "commands": { + "type": "object", + "properties": { + "start": { + "description": "Startup script to run when creating a new workspace (worktree)", + "type": "string" + } + } + }, + "time": { + "type": "object", + "properties": { + "created": { + "type": "number" + }, + "updated": { + "type": "number" + }, + "initialized": { + "type": "number" + } + }, + "required": [ + "created", + "updated" + ] + }, + "sandboxes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "id", + "worktree", + "time", + "sandboxes" + ] + }, + "Event.project.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "project.updated" + }, + "properties": { + "$ref": "#/components/schemas/Project" + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.server.instance.disposed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "server.instance.disposed" + }, + "properties": { + "type": "object", + "properties": { + "directory": { + "type": "string" + } + }, + "required": [ + "directory" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.server.connected": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "server.connected" + }, + "properties": { + "type": "object", + "properties": {} + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.global.disposed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "global.disposed" + }, + "properties": { + "type": "object", + "properties": {} + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.lsp.client.diagnostics": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "lsp.client.diagnostics" + }, + "properties": { + "type": "object", + "properties": { + "serverID": { + "type": "string" + }, + "path": { + "type": "string" + } + }, + "required": [ + "serverID", + "path" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.lsp.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "lsp.updated" + }, + "properties": { + "type": "object", + "properties": {} + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.file.edited": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "file.edited" + }, + "properties": { + "type": "object", + "properties": { + "file": { + "type": "string" + } + }, + "required": [ + "file" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "FileDiff": { + "type": "object", + "properties": { + "file": { + "type": "string" + }, + "before": { + "type": "string" + }, + "after": { + "type": "string" + }, + "additions": { + "type": "number" + }, + "deletions": { + "type": "number" + } + }, + "required": [ + "file", + "before", + "after", + "additions", + "deletions" + ] + }, + "UserMessage": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "role": { + "type": "string", + "const": "user" + }, + "time": { + "type": "object", + "properties": { + "created": { + "type": "number" + } + }, + "required": [ + "created" + ] + }, + "summary": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "diffs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileDiff" + } + } + }, + "required": [ + "diffs" + ] + }, + "agent": { + "type": "string" + }, + "model": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "modelID": { + "type": "string" + } + }, + "required": [ + "providerID", + "modelID" + ] + }, + "system": { + "type": "string" + }, + "tools": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "boolean" + } + }, + "variant": { + "type": "string" + } + }, + "required": [ + "id", + "sessionID", + "role", + "time", + "agent", + "model" + ] + }, + "ProviderAuthError": { + "type": "object", + "properties": { + "name": { + "type": "string", + "const": "ProviderAuthError" + }, + "data": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "providerID", + "message" + ] + } + }, + "required": [ + "name", + "data" + ] + }, + "UnknownError": { + "type": "object", + "properties": { + "name": { + "type": "string", + "const": "UnknownError" + }, + "data": { + "type": "object", + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ] + } + }, + "required": [ + "name", + "data" + ] + }, + "MessageOutputLengthError": { + "type": "object", + "properties": { + "name": { + "type": "string", + "const": "MessageOutputLengthError" + }, + "data": { + "type": "object", + "properties": {} + } + }, + "required": [ + "name", + "data" + ] + }, + "MessageAbortedError": { + "type": "object", + "properties": { + "name": { + "type": "string", + "const": "MessageAbortedError" + }, + "data": { + "type": "object", + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ] + } + }, + "required": [ + "name", + "data" + ] + }, + "APIError": { + "type": "object", + "properties": { + "name": { + "type": "string", + "const": "APIError" + }, + "data": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "statusCode": { + "type": "number" + }, + "isRetryable": { + "type": "boolean" + }, + "responseHeaders": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "responseBody": { + "type": "string" + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "message", + "isRetryable" + ] + } + }, + "required": [ + "name", + "data" + ] + }, + "AssistantMessage": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "role": { + "type": "string", + "const": "assistant" + }, + "time": { + "type": "object", + "properties": { + "created": { + "type": "number" + }, + "completed": { + "type": "number" + } + }, + "required": [ + "created" + ] + }, + "error": { + "anyOf": [ + { + "$ref": "#/components/schemas/ProviderAuthError" + }, + { + "$ref": "#/components/schemas/UnknownError" + }, + { + "$ref": "#/components/schemas/MessageOutputLengthError" + }, + { + "$ref": "#/components/schemas/MessageAbortedError" + }, + { + "$ref": "#/components/schemas/APIError" + } + ] + }, + "parentID": { + "type": "string" + }, + "modelID": { + "type": "string" + }, + "providerID": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "agent": { + "type": "string" + }, + "path": { + "type": "object", + "properties": { + "cwd": { + "type": "string" + }, + "root": { + "type": "string" + } + }, + "required": [ + "cwd", + "root" + ] + }, + "summary": { + "type": "boolean" + }, + "cost": { + "type": "number" + }, + "tokens": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "reasoning": { + "type": "number" + }, + "cache": { + "type": "object", + "properties": { + "read": { + "type": "number" + }, + "write": { + "type": "number" + } + }, + "required": [ + "read", + "write" + ] + } + }, + "required": [ + "input", + "output", + "reasoning", + "cache" + ] + }, + "finish": { + "type": "string" + } + }, + "required": [ + "id", + "sessionID", + "role", + "time", + "parentID", + "modelID", + "providerID", + "mode", + "agent", + "path", + "cost", + "tokens" + ] + }, + "Message": { + "anyOf": [ + { + "$ref": "#/components/schemas/UserMessage" + }, + { + "$ref": "#/components/schemas/AssistantMessage" + } + ] + }, + "Event.message.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "message.updated" + }, + "properties": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Message" + } + }, + "required": [ + "info" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.message.removed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "message.removed" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + } + }, + "required": [ + "sessionID", + "messageID" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "TextPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "text" + }, + "text": { + "type": "string" + }, + "synthetic": { + "type": "boolean" + }, + "ignored": { + "type": "boolean" + }, + "time": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start" + ] + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": [ + "id", + "sessionID", + "messageID", + "type", + "text" + ] + }, + "SubtaskPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "subtask" + }, + "prompt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "agent": { + "type": "string" + }, + "model": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "modelID": { + "type": "string" + } + }, + "required": [ + "providerID", + "modelID" + ] + }, + "command": { + "type": "string" + } + }, + "required": [ + "id", + "sessionID", + "messageID", + "type", + "prompt", + "description", + "agent" + ] + }, + "ReasoningPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "reasoning" + }, + "text": { + "type": "string" + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "time": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start" + ] + } + }, + "required": [ + "id", + "sessionID", + "messageID", + "type", + "text", + "time" + ] + }, + "FilePartSourceText": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "start": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "end": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + } + }, + "required": [ + "value", + "start", + "end" + ] + }, + "FileSource": { + "type": "object", + "properties": { + "text": { + "$ref": "#/components/schemas/FilePartSourceText" + }, + "type": { + "type": "string", + "const": "file" + }, + "path": { + "type": "string" + } + }, + "required": [ + "text", + "type", + "path" + ] + }, + "Range": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { + "line": { + "type": "number" + }, + "character": { + "type": "number" + } + }, + "required": [ + "line", + "character" + ] + }, + "end": { + "type": "object", + "properties": { + "line": { + "type": "number" + }, + "character": { + "type": "number" + } + }, + "required": [ + "line", + "character" + ] + } + }, + "required": [ + "start", + "end" + ] + }, + "SymbolSource": { + "type": "object", + "properties": { + "text": { + "$ref": "#/components/schemas/FilePartSourceText" + }, + "type": { + "type": "string", + "const": "symbol" + }, + "path": { + "type": "string" + }, + "range": { + "$ref": "#/components/schemas/Range" + }, + "name": { + "type": "string" + }, + "kind": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + } + }, + "required": [ + "text", + "type", + "path", + "range", + "name", + "kind" + ] + }, + "ResourceSource": { + "type": "object", + "properties": { + "text": { + "$ref": "#/components/schemas/FilePartSourceText" + }, + "type": { + "type": "string", + "const": "resource" + }, + "clientName": { + "type": "string" + }, + "uri": { + "type": "string" + } + }, + "required": [ + "text", + "type", + "clientName", + "uri" + ] + }, + "FilePartSource": { + "anyOf": [ + { + "$ref": "#/components/schemas/FileSource" + }, + { + "$ref": "#/components/schemas/SymbolSource" + }, + { + "$ref": "#/components/schemas/ResourceSource" + } + ] + }, + "FilePart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "file" + }, + "mime": { + "type": "string" + }, + "filename": { + "type": "string" + }, + "url": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/FilePartSource" + } + }, + "required": [ + "id", + "sessionID", + "messageID", + "type", + "mime", + "url" + ] + }, + "ToolStatePending": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "pending" + }, + "input": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "raw": { + "type": "string" + } + }, + "required": [ + "status", + "input", + "raw" + ] + }, + "ToolStateRunning": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "running" + }, + "input": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "title": { + "type": "string" + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "time": { + "type": "object", + "properties": { + "start": { + "type": "number" + } + }, + "required": [ + "start" + ] + } + }, + "required": [ + "status", + "input", + "time" + ] + }, + "ToolStateCompleted": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "completed" + }, + "input": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "output": { + "type": "string" + }, + "title": { + "type": "string" + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "time": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + }, + "compacted": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilePart" + } + } + }, + "required": [ + "status", + "input", + "output", + "title", + "metadata", + "time" + ] + }, + "ToolStateError": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "error" + }, + "input": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "error": { + "type": "string" + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "time": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ] + } + }, + "required": [ + "status", + "input", + "error", + "time" + ] + }, + "ToolState": { + "anyOf": [ + { + "$ref": "#/components/schemas/ToolStatePending" + }, + { + "$ref": "#/components/schemas/ToolStateRunning" + }, + { + "$ref": "#/components/schemas/ToolStateCompleted" + }, + { + "$ref": "#/components/schemas/ToolStateError" + } + ] + }, + "ToolPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "tool" + }, + "callID": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "state": { + "$ref": "#/components/schemas/ToolState" + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": [ + "id", + "sessionID", + "messageID", + "type", + "callID", + "tool", + "state" + ] + }, + "StepStartPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "step-start" + }, + "snapshot": { + "type": "string" + } + }, + "required": [ + "id", + "sessionID", + "messageID", + "type" + ] + }, + "StepFinishPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "step-finish" + }, + "reason": { + "type": "string" + }, + "snapshot": { + "type": "string" + }, + "cost": { + "type": "number" + }, + "tokens": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "reasoning": { + "type": "number" + }, + "cache": { + "type": "object", + "properties": { + "read": { + "type": "number" + }, + "write": { + "type": "number" + } + }, + "required": [ + "read", + "write" + ] + } + }, + "required": [ + "input", + "output", + "reasoning", + "cache" + ] + } + }, + "required": [ + "id", + "sessionID", + "messageID", + "type", + "reason", + "cost", + "tokens" + ] + }, + "SnapshotPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "snapshot" + }, + "snapshot": { + "type": "string" + } + }, + "required": [ + "id", + "sessionID", + "messageID", + "type", + "snapshot" + ] + }, + "PatchPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "patch" + }, + "hash": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "id", + "sessionID", + "messageID", + "type", + "hash", + "files" + ] + }, + "AgentPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "agent" + }, + "name": { + "type": "string" + }, + "source": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "start": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "end": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + } + }, + "required": [ + "value", + "start", + "end" + ] + } + }, + "required": [ + "id", + "sessionID", + "messageID", + "type", + "name" + ] + }, + "RetryPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "retry" + }, + "attempt": { + "type": "number" + }, + "error": { + "$ref": "#/components/schemas/APIError" + }, + "time": { + "type": "object", + "properties": { + "created": { + "type": "number" + } + }, + "required": [ + "created" + ] + } + }, + "required": [ + "id", + "sessionID", + "messageID", + "type", + "attempt", + "error", + "time" + ] + }, + "CompactionPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "compaction" + }, + "auto": { + "type": "boolean" + } + }, + "required": [ + "id", + "sessionID", + "messageID", + "type", + "auto" + ] + }, + "Part": { + "anyOf": [ + { + "$ref": "#/components/schemas/TextPart" + }, + { + "$ref": "#/components/schemas/SubtaskPart" + }, + { + "$ref": "#/components/schemas/ReasoningPart" + }, + { + "$ref": "#/components/schemas/FilePart" + }, + { + "$ref": "#/components/schemas/ToolPart" + }, + { + "$ref": "#/components/schemas/StepStartPart" + }, + { + "$ref": "#/components/schemas/StepFinishPart" + }, + { + "$ref": "#/components/schemas/SnapshotPart" + }, + { + "$ref": "#/components/schemas/PatchPart" + }, + { + "$ref": "#/components/schemas/AgentPart" + }, + { + "$ref": "#/components/schemas/RetryPart" + }, + { + "$ref": "#/components/schemas/CompactionPart" + } + ] + }, + "Event.message.part.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "message.part.updated" + }, + "properties": { + "type": "object", + "properties": { + "part": { + "$ref": "#/components/schemas/Part" + }, + "delta": { + "type": "string" + } + }, + "required": [ + "part" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.message.part.removed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "message.part.removed" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "partID": { + "type": "string" + } + }, + "required": [ + "sessionID", + "messageID", + "partID" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "PermissionRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^per.*" + }, + "sessionID": { + "type": "string", + "pattern": "^ses.*" + }, + "permission": { + "type": "string" + }, + "patterns": { + "type": "array", + "items": { + "type": "string" + } + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "always": { + "type": "array", + "items": { + "type": "string" + } + }, + "tool": { + "type": "object", + "properties": { + "messageID": { + "type": "string" + }, + "callID": { + "type": "string" + } + }, + "required": [ + "messageID", + "callID" + ] + } + }, + "required": [ + "id", + "sessionID", + "permission", + "patterns", + "metadata", + "always" + ] + }, + "Event.permission.asked": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "permission.asked" + }, + "properties": { + "$ref": "#/components/schemas/PermissionRequest" + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.permission.replied": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "permission.replied" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "requestID": { + "type": "string" + }, + "reply": { + "type": "string", + "enum": [ + "once", + "always", + "reject" + ] + } + }, + "required": [ + "sessionID", + "requestID", + "reply" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "SessionStatus": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "idle" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "retry" + }, + "attempt": { + "type": "number" + }, + "message": { + "type": "string" + }, + "next": { + "type": "number" + } + }, + "required": [ + "type", + "attempt", + "message", + "next" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "busy" + } + }, + "required": [ + "type" + ] + } + ] + }, + "Event.session.status": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.status" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/SessionStatus" + } + }, + "required": [ + "sessionID", + "status" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.session.idle": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.idle" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + } + }, + "required": [ + "sessionID" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "QuestionOption": { + "type": "object", + "properties": { + "label": { + "description": "Display text (1-5 words, concise)", + "type": "string" + }, + "description": { + "description": "Explanation of choice", + "type": "string" + } + }, + "required": [ + "label", + "description" + ] + }, + "QuestionInfo": { + "type": "object", + "properties": { + "question": { + "description": "Complete question", + "type": "string" + }, + "header": { + "description": "Very short label (max 30 chars)", + "type": "string" + }, + "options": { + "description": "Available choices", + "type": "array", + "items": { + "$ref": "#/components/schemas/QuestionOption" + } + }, + "multiple": { + "description": "Allow selecting multiple choices", + "type": "boolean" + }, + "custom": { + "description": "Allow typing a custom answer (default: true)", + "type": "boolean" + } + }, + "required": [ + "question", + "header", + "options" + ] + }, + "QuestionRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^que.*" + }, + "sessionID": { + "type": "string", + "pattern": "^ses.*" + }, + "questions": { + "description": "Questions to ask", + "type": "array", + "items": { + "$ref": "#/components/schemas/QuestionInfo" + } + }, + "tool": { + "type": "object", + "properties": { + "messageID": { + "type": "string" + }, + "callID": { + "type": "string" + } + }, + "required": [ + "messageID", + "callID" + ] + } + }, + "required": [ + "id", + "sessionID", + "questions" + ] + }, + "Event.question.asked": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "question.asked" + }, + "properties": { + "$ref": "#/components/schemas/QuestionRequest" + } + }, + "required": [ + "type", + "properties" + ] + }, + "QuestionAnswer": { + "type": "array", + "items": { + "type": "string" + } + }, + "Event.question.replied": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "question.replied" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "requestID": { + "type": "string" + }, + "answers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuestionAnswer" + } + } + }, + "required": [ + "sessionID", + "requestID", + "answers" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.question.rejected": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "question.rejected" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "requestID": { + "type": "string" + } + }, + "required": [ + "sessionID", + "requestID" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.session.compacted": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.compacted" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + } + }, + "required": [ + "sessionID" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.file.watcher.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "file.watcher.updated" + }, + "properties": { + "type": "object", + "properties": { + "file": { + "type": "string" + }, + "event": { + "anyOf": [ + { + "type": "string", + "const": "add" + }, + { + "type": "string", + "const": "change" + }, + { + "type": "string", + "const": "unlink" + } + ] + } + }, + "required": [ + "file", + "event" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Todo": { + "type": "object", + "properties": { + "content": { + "description": "Brief description of the task", + "type": "string" + }, + "status": { + "description": "Current status of the task: pending, in_progress, completed, cancelled", + "type": "string" + }, + "priority": { + "description": "Priority level of the task: high, medium, low", + "type": "string" + }, + "id": { + "description": "Unique identifier for the todo item", + "type": "string" + } + }, + "required": [ + "content", + "status", + "priority", + "id" + ] + }, + "Event.todo.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "todo.updated" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "todos": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Todo" + } + } + }, + "required": [ + "sessionID", + "todos" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.tui.prompt.append": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "tui.prompt.append" + }, + "properties": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + }, + "required": [ + "text" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.tui.command.execute": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "tui.command.execute" + }, + "properties": { + "type": "object", + "properties": { + "command": { + "anyOf": [ + { + "type": "string", + "enum": [ + "session.list", + "session.new", + "session.share", + "session.interrupt", + "session.compact", + "session.page.up", + "session.page.down", + "session.line.up", + "session.line.down", + "session.half.page.up", + "session.half.page.down", + "session.first", + "session.last", + "prompt.clear", + "prompt.submit", + "agent.cycle" + ] + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "command" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.tui.toast.show": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "tui.toast.show" + }, + "properties": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "message": { + "type": "string" + }, + "variant": { + "type": "string", + "enum": [ + "info", + "success", + "warning", + "error" + ] + }, + "duration": { + "description": "Duration in milliseconds", + "default": 5000, + "type": "number" + } + }, + "required": [ + "message", + "variant" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.tui.session.select": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "tui.session.select" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "description": "Session ID to navigate to", + "type": "string", + "pattern": "^ses" + } + }, + "required": [ + "sessionID" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.mcp.tools.changed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "mcp.tools.changed" + }, + "properties": { + "type": "object", + "properties": { + "server": { + "type": "string" + } + }, + "required": [ + "server" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.mcp.browser.open.failed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "mcp.browser.open.failed" + }, + "properties": { + "type": "object", + "properties": { + "mcpName": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "mcpName", + "url" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.command.executed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "command.executed" + }, + "properties": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "sessionID": { + "type": "string", + "pattern": "^ses.*" + }, + "arguments": { + "type": "string" + }, + "messageID": { + "type": "string", + "pattern": "^msg.*" + } + }, + "required": [ + "name", + "sessionID", + "arguments", + "messageID" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "PermissionAction": { + "type": "string", + "enum": [ + "allow", + "deny", + "ask" + ] + }, + "PermissionRule": { + "type": "object", + "properties": { + "permission": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "action": { + "$ref": "#/components/schemas/PermissionAction" + } + }, + "required": [ + "permission", + "pattern", + "action" + ] + }, + "PermissionRuleset": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PermissionRule" + } + }, + "Session": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^ses.*" + }, + "slug": { + "type": "string" + }, + "projectID": { + "type": "string" + }, + "directory": { + "type": "string" + }, + "parentID": { + "type": "string", + "pattern": "^ses.*" + }, + "summary": { + "type": "object", + "properties": { + "additions": { + "type": "number" + }, + "deletions": { + "type": "number" + }, + "files": { + "type": "number" + }, + "diffs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileDiff" + } + } + }, + "required": [ + "additions", + "deletions", + "files" + ] + }, + "share": { + "type": "object", + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ] + }, + "title": { + "type": "string" + }, + "version": { + "type": "string" + }, + "time": { + "type": "object", + "properties": { + "created": { + "type": "number" + }, + "updated": { + "type": "number" + }, + "compacting": { + "type": "number" + }, + "archived": { + "type": "number" + } + }, + "required": [ + "created", + "updated" + ] + }, + "permission": { + "$ref": "#/components/schemas/PermissionRuleset" + }, + "revert": { + "type": "object", + "properties": { + "messageID": { + "type": "string" + }, + "partID": { + "type": "string" + }, + "snapshot": { + "type": "string" + }, + "diff": { + "type": "string" + } + }, + "required": [ + "messageID" + ] + } + }, + "required": [ + "id", + "slug", + "projectID", + "directory", + "title", + "version", + "time" + ] + }, + "Event.session.created": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.created" + }, + "properties": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Session" + } + }, + "required": [ + "info" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.session.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.updated" + }, + "properties": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Session" + } + }, + "required": [ + "info" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.session.deleted": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.deleted" + }, + "properties": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Session" + } + }, + "required": [ + "info" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.session.diff": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.diff" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "diff": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileDiff" + } + } + }, + "required": [ + "sessionID", + "diff" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.session.error": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.error" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "error": { + "anyOf": [ + { + "$ref": "#/components/schemas/ProviderAuthError" + }, + { + "$ref": "#/components/schemas/UnknownError" + }, + { + "$ref": "#/components/schemas/MessageOutputLengthError" + }, + { + "$ref": "#/components/schemas/MessageAbortedError" + }, + { + "$ref": "#/components/schemas/APIError" + } + ] + } + } + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.vcs.branch.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "vcs.branch.updated" + }, + "properties": { + "type": "object", + "properties": { + "branch": { + "type": "string" + } + } + } + }, + "required": [ + "type", + "properties" + ] + }, + "Pty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^pty.*" + }, + "title": { + "type": "string" + }, + "command": { + "type": "string" + }, + "args": { + "type": "array", + "items": { + "type": "string" + } + }, + "cwd": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "running", + "exited" + ] + }, + "pid": { + "type": "number" + } + }, + "required": [ + "id", + "title", + "command", + "args", + "cwd", + "status", + "pid" + ] + }, + "Event.pty.created": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "pty.created" + }, + "properties": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Pty" + } + }, + "required": [ + "info" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.pty.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "pty.updated" + }, + "properties": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Pty" + } + }, + "required": [ + "info" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.pty.exited": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "pty.exited" + }, + "properties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^pty.*" + }, + "exitCode": { + "type": "number" + } + }, + "required": [ + "id", + "exitCode" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.pty.deleted": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "pty.deleted" + }, + "properties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^pty.*" + } + }, + "required": [ + "id" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.worktree.ready": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "worktree.ready" + }, + "properties": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "branch": { + "type": "string" + } + }, + "required": [ + "name", + "branch" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event.worktree.failed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "worktree.failed" + }, + "properties": { + "type": "object", + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ] + } + }, + "required": [ + "type", + "properties" + ] + }, + "Event": { + "anyOf": [ + { + "$ref": "#/components/schemas/Event.installation.updated" + }, + { + "$ref": "#/components/schemas/Event.installation.update-available" + }, + { + "$ref": "#/components/schemas/Event.project.updated" + }, + { + "$ref": "#/components/schemas/Event.server.instance.disposed" + }, + { + "$ref": "#/components/schemas/Event.server.connected" + }, + { + "$ref": "#/components/schemas/Event.global.disposed" + }, + { + "$ref": "#/components/schemas/Event.lsp.client.diagnostics" + }, + { + "$ref": "#/components/schemas/Event.lsp.updated" + }, + { + "$ref": "#/components/schemas/Event.file.edited" + }, + { + "$ref": "#/components/schemas/Event.message.updated" + }, + { + "$ref": "#/components/schemas/Event.message.removed" + }, + { + "$ref": "#/components/schemas/Event.message.part.updated" + }, + { + "$ref": "#/components/schemas/Event.message.part.removed" + }, + { + "$ref": "#/components/schemas/Event.permission.asked" + }, + { + "$ref": "#/components/schemas/Event.permission.replied" + }, + { + "$ref": "#/components/schemas/Event.session.status" + }, + { + "$ref": "#/components/schemas/Event.session.idle" + }, + { + "$ref": "#/components/schemas/Event.question.asked" + }, + { + "$ref": "#/components/schemas/Event.question.replied" + }, + { + "$ref": "#/components/schemas/Event.question.rejected" + }, + { + "$ref": "#/components/schemas/Event.session.compacted" + }, + { + "$ref": "#/components/schemas/Event.file.watcher.updated" + }, + { + "$ref": "#/components/schemas/Event.todo.updated" + }, + { + "$ref": "#/components/schemas/Event.tui.prompt.append" + }, + { + "$ref": "#/components/schemas/Event.tui.command.execute" + }, + { + "$ref": "#/components/schemas/Event.tui.toast.show" + }, + { + "$ref": "#/components/schemas/Event.tui.session.select" + }, + { + "$ref": "#/components/schemas/Event.mcp.tools.changed" + }, + { + "$ref": "#/components/schemas/Event.mcp.browser.open.failed" + }, + { + "$ref": "#/components/schemas/Event.command.executed" + }, + { + "$ref": "#/components/schemas/Event.session.created" + }, + { + "$ref": "#/components/schemas/Event.session.updated" + }, + { + "$ref": "#/components/schemas/Event.session.deleted" + }, + { + "$ref": "#/components/schemas/Event.session.diff" + }, + { + "$ref": "#/components/schemas/Event.session.error" + }, + { + "$ref": "#/components/schemas/Event.vcs.branch.updated" + }, + { + "$ref": "#/components/schemas/Event.pty.created" + }, + { + "$ref": "#/components/schemas/Event.pty.updated" + }, + { + "$ref": "#/components/schemas/Event.pty.exited" + }, + { + "$ref": "#/components/schemas/Event.pty.deleted" + }, + { + "$ref": "#/components/schemas/Event.worktree.ready" + }, + { + "$ref": "#/components/schemas/Event.worktree.failed" + } + ] + }, + "GlobalEvent": { + "type": "object", + "properties": { + "directory": { + "type": "string" + }, + "payload": { + "$ref": "#/components/schemas/Event" + } + }, + "required": [ + "directory", + "payload" + ] + }, + "KeybindsConfig": { + "description": "Custom keybind configurations", + "type": "object", + "properties": { + "leader": { + "description": "Leader key for keybind combinations", + "default": "ctrl+x", + "type": "string" + }, + "app_exit": { + "description": "Exit the application", + "default": "ctrl+c,ctrl+d,q", + "type": "string" + }, + "editor_open": { + "description": "Open external editor", + "default": "e", + "type": "string" + }, + "theme_list": { + "description": "List available themes", + "default": "t", + "type": "string" + }, + "sidebar_toggle": { + "description": "Toggle sidebar", + "default": "b", + "type": "string" + }, + "scrollbar_toggle": { + "description": "Toggle session scrollbar", + "default": "none", + "type": "string" + }, + "username_toggle": { + "description": "Toggle username visibility", + "default": "none", + "type": "string" + }, + "status_view": { + "description": "View status", + "default": "s", + "type": "string" + }, + "session_export": { + "description": "Export session to editor", + "default": "x", + "type": "string" + }, + "session_new": { + "description": "Create a new session", + "default": "n", + "type": "string" + }, + "session_list": { + "description": "List all sessions", + "default": "l", + "type": "string" + }, + "session_timeline": { + "description": "Show session timeline", + "default": "g", + "type": "string" + }, + "session_fork": { + "description": "Fork session from message", + "default": "none", + "type": "string" + }, + "session_rename": { + "description": "Rename session", + "default": "ctrl+r", + "type": "string" + }, + "session_delete": { + "description": "Delete session", + "default": "ctrl+d", + "type": "string" + }, + "stash_delete": { + "description": "Delete stash entry", + "default": "ctrl+d", + "type": "string" + }, + "model_provider_list": { + "description": "Open provider list from model dialog", + "default": "ctrl+a", + "type": "string" + }, + "model_favorite_toggle": { + "description": "Toggle model favorite status", + "default": "ctrl+f", + "type": "string" + }, + "session_share": { + "description": "Share current session", + "default": "none", + "type": "string" + }, + "session_unshare": { + "description": "Unshare current session", + "default": "none", + "type": "string" + }, + "session_interrupt": { + "description": "Interrupt current session", + "default": "escape", + "type": "string" + }, + "session_compact": { + "description": "Compact the session", + "default": "c", + "type": "string" + }, + "messages_page_up": { + "description": "Scroll messages up by one page", + "default": "pageup,ctrl+alt+b", + "type": "string" + }, + "messages_page_down": { + "description": "Scroll messages down by one page", + "default": "pagedown,ctrl+alt+f", + "type": "string" + }, + "messages_line_up": { + "description": "Scroll messages up by one line", + "default": "ctrl+alt+y", + "type": "string" + }, + "messages_line_down": { + "description": "Scroll messages down by one line", + "default": "ctrl+alt+e", + "type": "string" + }, + "messages_half_page_up": { + "description": "Scroll messages up by half page", + "default": "ctrl+alt+u", + "type": "string" + }, + "messages_half_page_down": { + "description": "Scroll messages down by half page", + "default": "ctrl+alt+d", + "type": "string" + }, + "messages_first": { + "description": "Navigate to first message", + "default": "ctrl+g,home", + "type": "string" + }, + "messages_last": { + "description": "Navigate to last message", + "default": "ctrl+alt+g,end", + "type": "string" + }, + "messages_next": { + "description": "Navigate to next message", + "default": "none", + "type": "string" + }, + "messages_previous": { + "description": "Navigate to previous message", + "default": "none", + "type": "string" + }, + "messages_last_user": { + "description": "Navigate to last user message", + "default": "none", + "type": "string" + }, + "messages_copy": { + "description": "Copy message", + "default": "y", + "type": "string" + }, + "messages_undo": { + "description": "Undo message", + "default": "u", + "type": "string" + }, + "messages_redo": { + "description": "Redo message", + "default": "r", + "type": "string" + }, + "messages_toggle_conceal": { + "description": "Toggle code block concealment in messages", + "default": "h", + "type": "string" + }, + "tool_details": { + "description": "Toggle tool details visibility", + "default": "none", + "type": "string" + }, + "model_list": { + "description": "List available models", + "default": "m", + "type": "string" + }, + "model_cycle_recent": { + "description": "Next recently used model", + "default": "f2", + "type": "string" + }, + "model_cycle_recent_reverse": { + "description": "Previous recently used model", + "default": "shift+f2", + "type": "string" + }, + "model_cycle_favorite": { + "description": "Next favorite model", + "default": "none", + "type": "string" + }, + "model_cycle_favorite_reverse": { + "description": "Previous favorite model", + "default": "none", + "type": "string" + }, + "command_list": { + "description": "List available commands", + "default": "ctrl+p", + "type": "string" + }, + "agent_list": { + "description": "List agents", + "default": "a", + "type": "string" + }, + "agent_cycle": { + "description": "Next agent", + "default": "tab", + "type": "string" + }, + "agent_cycle_reverse": { + "description": "Previous agent", + "default": "shift+tab", + "type": "string" + }, + "variant_cycle": { + "description": "Cycle model variants", + "default": "ctrl+t", + "type": "string" + }, + "input_clear": { + "description": "Clear input field", + "default": "ctrl+c", + "type": "string" + }, + "input_paste": { + "description": "Paste from clipboard", + "default": "ctrl+v", + "type": "string" + }, + "input_submit": { + "description": "Submit input", + "default": "return", + "type": "string" + }, + "input_newline": { + "description": "Insert newline in input", + "default": "shift+return,ctrl+return,alt+return,ctrl+j", + "type": "string" + }, + "input_move_left": { + "description": "Move cursor left in input", + "default": "left,ctrl+b", + "type": "string" + }, + "input_move_right": { + "description": "Move cursor right in input", + "default": "right,ctrl+f", + "type": "string" + }, + "input_move_up": { + "description": "Move cursor up in input", + "default": "up", + "type": "string" + }, + "input_move_down": { + "description": "Move cursor down in input", + "default": "down", + "type": "string" + }, + "input_select_left": { + "description": "Select left in input", + "default": "shift+left", + "type": "string" + }, + "input_select_right": { + "description": "Select right in input", + "default": "shift+right", + "type": "string" + }, + "input_select_up": { + "description": "Select up in input", + "default": "shift+up", + "type": "string" + }, + "input_select_down": { + "description": "Select down in input", + "default": "shift+down", + "type": "string" + }, + "input_line_home": { + "description": "Move to start of line in input", + "default": "ctrl+a", + "type": "string" + }, + "input_line_end": { + "description": "Move to end of line in input", + "default": "ctrl+e", + "type": "string" + }, + "input_select_line_home": { + "description": "Select to start of line in input", + "default": "ctrl+shift+a", + "type": "string" + }, + "input_select_line_end": { + "description": "Select to end of line in input", + "default": "ctrl+shift+e", + "type": "string" + }, + "input_visual_line_home": { + "description": "Move to start of visual line in input", + "default": "alt+a", + "type": "string" + }, + "input_visual_line_end": { + "description": "Move to end of visual line in input", + "default": "alt+e", + "type": "string" + }, + "input_select_visual_line_home": { + "description": "Select to start of visual line in input", + "default": "alt+shift+a", + "type": "string" + }, + "input_select_visual_line_end": { + "description": "Select to end of visual line in input", + "default": "alt+shift+e", + "type": "string" + }, + "input_buffer_home": { + "description": "Move to start of buffer in input", + "default": "home", + "type": "string" + }, + "input_buffer_end": { + "description": "Move to end of buffer in input", + "default": "end", + "type": "string" + }, + "input_select_buffer_home": { + "description": "Select to start of buffer in input", + "default": "shift+home", + "type": "string" + }, + "input_select_buffer_end": { + "description": "Select to end of buffer in input", + "default": "shift+end", + "type": "string" + }, + "input_delete_line": { + "description": "Delete line in input", + "default": "ctrl+shift+d", + "type": "string" + }, + "input_delete_to_line_end": { + "description": "Delete to end of line in input", + "default": "ctrl+k", + "type": "string" + }, + "input_delete_to_line_start": { + "description": "Delete to start of line in input", + "default": "ctrl+u", + "type": "string" + }, + "input_backspace": { + "description": "Backspace in input", + "default": "backspace,shift+backspace", + "type": "string" + }, + "input_delete": { + "description": "Delete character in input", + "default": "ctrl+d,delete,shift+delete", + "type": "string" + }, + "input_undo": { + "description": "Undo in input", + "default": "ctrl+-,super+z", + "type": "string" + }, + "input_redo": { + "description": "Redo in input", + "default": "ctrl+.,super+shift+z", + "type": "string" + }, + "input_word_forward": { + "description": "Move word forward in input", + "default": "alt+f,alt+right,ctrl+right", + "type": "string" + }, + "input_word_backward": { + "description": "Move word backward in input", + "default": "alt+b,alt+left,ctrl+left", + "type": "string" + }, + "input_select_word_forward": { + "description": "Select word forward in input", + "default": "alt+shift+f,alt+shift+right", + "type": "string" + }, + "input_select_word_backward": { + "description": "Select word backward in input", + "default": "alt+shift+b,alt+shift+left", + "type": "string" + }, + "input_delete_word_forward": { + "description": "Delete word forward in input", + "default": "alt+d,alt+delete,ctrl+delete", + "type": "string" + }, + "input_delete_word_backward": { + "description": "Delete word backward in input", + "default": "ctrl+w,ctrl+backspace,alt+backspace", + "type": "string" + }, + "history_previous": { + "description": "Previous history item", + "default": "up", + "type": "string" + }, + "history_next": { + "description": "Next history item", + "default": "down", + "type": "string" + }, + "session_child_cycle": { + "description": "Next child session", + "default": "right", + "type": "string" + }, + "session_child_cycle_reverse": { + "description": "Previous child session", + "default": "left", + "type": "string" + }, + "session_parent": { + "description": "Go to parent session", + "default": "up", + "type": "string" + }, + "terminal_suspend": { + "description": "Suspend terminal", + "default": "ctrl+z", + "type": "string" + }, + "terminal_title_toggle": { + "description": "Toggle terminal title", + "default": "none", + "type": "string" + }, + "tips_toggle": { + "description": "Toggle tips on home screen", + "default": "h", + "type": "string" + } + }, + "additionalProperties": false + }, + "LogLevel": { + "description": "Log level", + "type": "string", + "enum": [ + "DEBUG", + "INFO", + "WARN", + "ERROR" + ] + }, + "ServerConfig": { + "description": "Server configuration for opencode serve and web commands", + "type": "object", + "properties": { + "port": { + "description": "Port to listen on", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "hostname": { + "description": "Hostname to listen on", + "type": "string" + }, + "mdns": { + "description": "Enable mDNS service discovery", + "type": "boolean" + }, + "cors": { + "description": "Additional domains to allow for CORS", + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "PermissionActionConfig": { + "type": "string", + "enum": [ + "ask", + "allow", + "deny" + ] + }, + "PermissionObjectConfig": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "$ref": "#/components/schemas/PermissionActionConfig" + } + }, + "PermissionRuleConfig": { + "anyOf": [ + { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + { + "$ref": "#/components/schemas/PermissionObjectConfig" + } + ] + }, + "PermissionConfig": { + "anyOf": [ + { + "type": "object", + "properties": { + "__originalKeys": { + "type": "array", + "items": { + "type": "string" + } + }, + "read": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "edit": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "glob": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "grep": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "list": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "bash": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "task": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "external_directory": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "todowrite": { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + "todoread": { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + "question": { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + "webfetch": { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + "websearch": { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + "codesearch": { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + "lsp": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "doom_loop": { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + "skill": { + "$ref": "#/components/schemas/PermissionRuleConfig" + } + }, + "additionalProperties": { + "$ref": "#/components/schemas/PermissionRuleConfig" + } + }, + { + "$ref": "#/components/schemas/PermissionActionConfig" + } + ] + }, + "AgentConfig": { + "type": "object", + "properties": { + "model": { + "type": "string" + }, + "temperature": { + "type": "number" + }, + "top_p": { + "type": "number" + }, + "prompt": { + "type": "string" + }, + "tools": { + "description": "@deprecated Use 'permission' field instead", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "boolean" + } + }, + "disable": { + "type": "boolean" + }, + "description": { + "description": "Description of when to use the agent", + "type": "string" + }, + "mode": { + "type": "string", + "enum": [ + "subagent", + "primary", + "all" + ] + }, + "hidden": { + "description": "Hide this subagent from the @ autocomplete menu (default: false, only applies to mode: subagent)", + "type": "boolean" + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "color": { + "description": "Hex color code for the agent (e.g., #FF5733)", + "type": "string", + "pattern": "^#[0-9a-fA-F]{6}$" + }, + "steps": { + "description": "Maximum number of agentic iterations before forcing text-only response", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "maxSteps": { + "description": "@deprecated Use 'steps' field instead.", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "permission": { + "$ref": "#/components/schemas/PermissionConfig" + } + }, + "additionalProperties": {} + }, + "ProviderConfig": { + "type": "object", + "properties": { + "api": { + "type": "string" + }, + "name": { + "type": "string" + }, + "env": { + "type": "array", + "items": { + "type": "string" + } + }, + "id": { + "type": "string" + }, + "npm": { + "type": "string" + }, + "models": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "family": { + "type": "string" + }, + "release_date": { + "type": "string" + }, + "attachment": { + "type": "boolean" + }, + "reasoning": { + "type": "boolean" + }, + "temperature": { + "type": "boolean" + }, + "tool_call": { + "type": "boolean" + }, + "interleaved": { + "anyOf": [ + { + "type": "boolean", + "const": true + }, + { + "type": "object", + "properties": { + "field": { + "type": "string", + "enum": [ + "reasoning_content", + "reasoning_details" + ] + } + }, + "required": [ + "field" + ], + "additionalProperties": false + } + ] + }, + "cost": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "cache_read": { + "type": "number" + }, + "cache_write": { + "type": "number" + }, + "context_over_200k": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "cache_read": { + "type": "number" + }, + "cache_write": { + "type": "number" + } + }, + "required": [ + "input", + "output" + ] + } + }, + "required": [ + "input", + "output" + ] + }, + "limit": { + "type": "object", + "properties": { + "context": { + "type": "number" + }, + "input": { + "type": "number" + }, + "output": { + "type": "number" + } + }, + "required": [ + "context", + "output" + ] + }, + "modalities": { + "type": "object", + "properties": { + "input": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "text", + "audio", + "image", + "video", + "pdf" + ] + } + }, + "output": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "text", + "audio", + "image", + "video", + "pdf" + ] + } + } + }, + "required": [ + "input", + "output" + ] + }, + "experimental": { + "type": "boolean" + }, + "status": { + "type": "string", + "enum": [ + "alpha", + "beta", + "deprecated" + ] + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "headers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "provider": { + "type": "object", + "properties": { + "npm": { + "type": "string" + } + }, + "required": [ + "npm" + ] + }, + "variants": { + "description": "Variant-specific configuration", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "disabled": { + "description": "Disable this variant for the model", + "type": "boolean" + } + }, + "additionalProperties": {} + } + } + } + } + }, + "whitelist": { + "type": "array", + "items": { + "type": "string" + } + }, + "blacklist": { + "type": "array", + "items": { + "type": "string" + } + }, + "options": { + "type": "object", + "properties": { + "apiKey": { + "type": "string" + }, + "baseURL": { + "type": "string" + }, + "enterpriseUrl": { + "description": "GitHub Enterprise URL for copilot authentication", + "type": "string" + }, + "setCacheKey": { + "description": "Enable promptCacheKey for this provider (default false)", + "type": "boolean" + }, + "timeout": { + "description": "Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout.", + "anyOf": [ + { + "description": "Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout.", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + { + "description": "Disable timeout for this provider entirely.", + "type": "boolean", + "const": false + } + ] + } + }, + "additionalProperties": {} + } + }, + "additionalProperties": false + }, + "McpLocalConfig": { + "type": "object", + "properties": { + "type": { + "description": "Type of MCP server connection", + "type": "string", + "const": "local" + }, + "command": { + "description": "Command and arguments to run the MCP server", + "type": "array", + "items": { + "type": "string" + } + }, + "environment": { + "description": "Environment variables to set when running the MCP server", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "enabled": { + "description": "Enable or disable the MCP server on startup", + "type": "boolean" + }, + "timeout": { + "description": "Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified.", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "type", + "command" + ], + "additionalProperties": false + }, + "McpOAuthConfig": { + "type": "object", + "properties": { + "clientId": { + "description": "OAuth client ID. If not provided, dynamic client registration (RFC 7591) will be attempted.", + "type": "string" + }, + "clientSecret": { + "description": "OAuth client secret (if required by the authorization server)", + "type": "string" + }, + "scope": { + "description": "OAuth scopes to request during authorization", + "type": "string" + } + }, + "additionalProperties": false + }, + "McpRemoteConfig": { + "type": "object", + "properties": { + "type": { + "description": "Type of MCP server connection", + "type": "string", + "const": "remote" + }, + "url": { + "description": "URL of the remote MCP server", + "type": "string" + }, + "enabled": { + "description": "Enable or disable the MCP server on startup", + "type": "boolean" + }, + "headers": { + "description": "Headers to send with the request", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "oauth": { + "description": "OAuth authentication configuration for the MCP server. Set to false to disable OAuth auto-detection.", + "anyOf": [ + { + "$ref": "#/components/schemas/McpOAuthConfig" + }, + { + "type": "boolean", + "const": false + } + ] + }, + "timeout": { + "description": "Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified.", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "type", + "url" + ], + "additionalProperties": false + }, + "LayoutConfig": { + "description": "@deprecated Always uses stretch layout.", + "type": "string", + "enum": [ + "auto", + "stretch" + ] + }, + "Config": { + "type": "object", + "properties": { + "$schema": { + "description": "JSON schema reference for configuration validation", + "type": "string" + }, + "theme": { + "description": "Theme name to use for the interface", + "type": "string" + }, + "keybinds": { + "$ref": "#/components/schemas/KeybindsConfig" + }, + "logLevel": { + "$ref": "#/components/schemas/LogLevel" + }, + "tui": { + "description": "TUI specific settings", + "type": "object", + "properties": { + "scroll_speed": { + "description": "TUI scroll speed", + "type": "number", + "minimum": 0.001 + }, + "scroll_acceleration": { + "description": "Scroll acceleration settings", + "type": "object", + "properties": { + "enabled": { + "description": "Enable scroll acceleration", + "type": "boolean" + } + }, + "required": [ + "enabled" + ] + }, + "diff_style": { + "description": "Control diff rendering style: 'auto' adapts to terminal width, 'stacked' always shows single column", + "type": "string", + "enum": [ + "auto", + "stacked" + ] + } + } + }, + "server": { + "$ref": "#/components/schemas/ServerConfig" + }, + "command": { + "description": "Command configuration, see https://opencode.ai/docs/commands", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "template": { + "type": "string" + }, + "description": { + "type": "string" + }, + "agent": { + "type": "string" + }, + "model": { + "type": "string" + }, + "subtask": { + "type": "boolean" + } + }, + "required": [ + "template" + ] + } + }, + "skills": { + "description": "Additional skill folder paths", + "type": "object", + "properties": { + "paths": { + "description": "Additional paths to skill folders", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "watcher": { + "type": "object", + "properties": { + "ignore": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "plugin": { + "type": "array", + "items": { + "type": "string" + } + }, + "snapshot": { + "type": "boolean" + }, + "share": { + "description": "Control sharing behavior:'manual' allows manual sharing via commands, 'auto' enables automatic sharing, 'disabled' disables all sharing", + "type": "string", + "enum": [ + "manual", + "auto", + "disabled" + ] + }, + "autoshare": { + "description": "@deprecated Use 'share' field instead. Share newly created sessions automatically", + "type": "boolean" + }, + "autoupdate": { + "description": "Automatically update to the latest version. Set to true to auto-update, false to disable, or 'notify' to show update notifications", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "const": "notify" + } + ] + }, + "disabled_providers": { + "description": "Disable providers that are loaded automatically", + "type": "array", + "items": { + "type": "string" + } + }, + "enabled_providers": { + "description": "When set, ONLY these providers will be enabled. All other providers will be ignored", + "type": "array", + "items": { + "type": "string" + } + }, + "model": { + "description": "Model to use in the format of provider/model, eg anthropic/claude-2", + "type": "string" + }, + "small_model": { + "description": "Small model to use for tasks like title generation in the format of provider/model", + "type": "string" + }, + "default_agent": { + "description": "Default agent to use when none is specified. Must be a primary agent. Falls back to 'build' if not set or if the specified agent is invalid.", + "type": "string" + }, + "username": { + "description": "Custom username to display in conversations instead of system username", + "type": "string" + }, + "mode": { + "description": "@deprecated Use `agent` field instead.", + "type": "object", + "properties": { + "build": { + "$ref": "#/components/schemas/AgentConfig" + }, + "plan": { + "$ref": "#/components/schemas/AgentConfig" + } + }, + "additionalProperties": { + "$ref": "#/components/schemas/AgentConfig" + } + }, + "agent": { + "description": "Agent configuration, see https://opencode.ai/docs/agents", + "type": "object", + "properties": { + "plan": { + "$ref": "#/components/schemas/AgentConfig" + }, + "build": { + "$ref": "#/components/schemas/AgentConfig" + }, + "general": { + "$ref": "#/components/schemas/AgentConfig" + }, + "explore": { + "$ref": "#/components/schemas/AgentConfig" + }, + "title": { + "$ref": "#/components/schemas/AgentConfig" + }, + "summary": { + "$ref": "#/components/schemas/AgentConfig" + }, + "compaction": { + "$ref": "#/components/schemas/AgentConfig" + } + }, + "additionalProperties": { + "$ref": "#/components/schemas/AgentConfig" + } + }, + "provider": { + "description": "Custom provider configurations and model overrides", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "$ref": "#/components/schemas/ProviderConfig" + } + }, + "mcp": { + "description": "MCP (Model Context Protocol) server configurations", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "anyOf": [ + { + "$ref": "#/components/schemas/McpLocalConfig" + }, + { + "$ref": "#/components/schemas/McpRemoteConfig" + } + ] + }, + { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "required": [ + "enabled" + ], + "additionalProperties": false + } + ] + } + }, + "formatter": { + "anyOf": [ + { + "type": "boolean", + "const": false + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "disabled": { + "type": "boolean" + }, + "command": { + "type": "array", + "items": { + "type": "string" + } + }, + "environment": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "extensions": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + ] + }, + "lsp": { + "anyOf": [ + { + "type": "boolean", + "const": false + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "object", + "properties": { + "disabled": { + "type": "boolean", + "const": true + } + }, + "required": [ + "disabled" + ] + }, + { + "type": "object", + "properties": { + "command": { + "type": "array", + "items": { + "type": "string" + } + }, + "extensions": { + "type": "array", + "items": { + "type": "string" + } + }, + "disabled": { + "type": "boolean" + }, + "env": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "initialization": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": [ + "command" + ] + } + ] + } + } + ] + }, + "instructions": { + "description": "Additional instruction files or patterns to include", + "type": "array", + "items": { + "type": "string" + } + }, + "layout": { + "$ref": "#/components/schemas/LayoutConfig" + }, + "permission": { + "$ref": "#/components/schemas/PermissionConfig" + }, + "tools": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "boolean" + } + }, + "enterprise": { + "type": "object", + "properties": { + "url": { + "description": "Enterprise URL", + "type": "string" + } + } + }, + "compaction": { + "type": "object", + "properties": { + "auto": { + "description": "Enable automatic compaction when context is full (default: true)", + "type": "boolean" + }, + "prune": { + "description": "Enable pruning of old tool outputs (default: true)", + "type": "boolean" + } + } + }, + "experimental": { + "type": "object", + "properties": { + "disable_paste_summary": { + "type": "boolean" + }, + "batch_tool": { + "description": "Enable the batch tool", + "type": "boolean" + }, + "openTelemetry": { + "description": "Enable OpenTelemetry spans for AI SDK calls (using the 'experimental_telemetry' flag)", + "type": "boolean" + }, + "primary_tools": { + "description": "Tools that should only be available to primary agents.", + "type": "array", + "items": { + "type": "string" + } + }, + "continue_loop_on_deny": { + "description": "Continue the agent loop when a tool call is denied", + "type": "boolean" + }, + "mcp_timeout": { + "description": "Timeout in milliseconds for model context protocol (MCP) requests", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + } + } + }, + "additionalProperties": false + }, + "BadRequestError": { + "type": "object", + "properties": { + "data": {}, + "errors": { + "type": "array", + "items": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "success": { + "type": "boolean", + "const": false + } + }, + "required": [ + "data", + "errors", + "success" + ] + }, + "OAuth": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "oauth" + }, + "refresh": { + "type": "string" + }, + "access": { + "type": "string" + }, + "expires": { + "type": "number" + }, + "accountId": { + "type": "string" + }, + "enterpriseUrl": { + "type": "string" + } + }, + "required": [ + "type", + "refresh", + "access", + "expires" + ] + }, + "ApiAuth": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "api" + }, + "key": { + "type": "string" + } + }, + "required": [ + "type", + "key" + ] + }, + "WellKnownAuth": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "wellknown" + }, + "key": { + "type": "string" + }, + "token": { + "type": "string" + } + }, + "required": [ + "type", + "key", + "token" + ] + }, + "Auth": { + "anyOf": [ + { + "$ref": "#/components/schemas/OAuth" + }, + { + "$ref": "#/components/schemas/ApiAuth" + }, + { + "$ref": "#/components/schemas/WellKnownAuth" + } + ] + }, + "NotFoundError": { + "type": "object", + "properties": { + "name": { + "type": "string", + "const": "NotFoundError" + }, + "data": { + "type": "object", + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ] + } + }, + "required": [ + "name", + "data" + ] + }, + "Model": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "providerID": { + "type": "string" + }, + "api": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "npm": { + "type": "string" + } + }, + "required": [ + "id", + "url", + "npm" + ] + }, + "name": { + "type": "string" + }, + "family": { + "type": "string" + }, + "capabilities": { + "type": "object", + "properties": { + "temperature": { + "type": "boolean" + }, + "reasoning": { + "type": "boolean" + }, + "attachment": { + "type": "boolean" + }, + "toolcall": { + "type": "boolean" + }, + "input": { + "type": "object", + "properties": { + "text": { + "type": "boolean" + }, + "audio": { + "type": "boolean" + }, + "image": { + "type": "boolean" + }, + "video": { + "type": "boolean" + }, + "pdf": { + "type": "boolean" + } + }, + "required": [ + "text", + "audio", + "image", + "video", + "pdf" + ] + }, + "output": { + "type": "object", + "properties": { + "text": { + "type": "boolean" + }, + "audio": { + "type": "boolean" + }, + "image": { + "type": "boolean" + }, + "video": { + "type": "boolean" + }, + "pdf": { + "type": "boolean" + } + }, + "required": [ + "text", + "audio", + "image", + "video", + "pdf" + ] + }, + "interleaved": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "field": { + "type": "string", + "enum": [ + "reasoning_content", + "reasoning_details" + ] + } + }, + "required": [ + "field" + ] + } + ] + } + }, + "required": [ + "temperature", + "reasoning", + "attachment", + "toolcall", + "input", + "output", + "interleaved" + ] + }, + "cost": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "cache": { + "type": "object", + "properties": { + "read": { + "type": "number" + }, + "write": { + "type": "number" + } + }, + "required": [ + "read", + "write" + ] + }, + "experimentalOver200K": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "cache": { + "type": "object", + "properties": { + "read": { + "type": "number" + }, + "write": { + "type": "number" + } + }, + "required": [ + "read", + "write" + ] + } + }, + "required": [ + "input", + "output", + "cache" + ] + } + }, + "required": [ + "input", + "output", + "cache" + ] + }, + "limit": { + "type": "object", + "properties": { + "context": { + "type": "number" + }, + "input": { + "type": "number" + }, + "output": { + "type": "number" + } + }, + "required": [ + "context", + "output" + ] + }, + "status": { + "type": "string", + "enum": [ + "alpha", + "beta", + "deprecated", + "active" + ] + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "headers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "release_date": { + "type": "string" + }, + "variants": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + } + }, + "required": [ + "id", + "providerID", + "api", + "name", + "capabilities", + "cost", + "limit", + "status", + "options", + "headers", + "release_date" + ] + }, + "Provider": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "source": { + "type": "string", + "enum": [ + "env", + "config", + "custom", + "api" + ] + }, + "env": { + "type": "array", + "items": { + "type": "string" + } + }, + "key": { + "type": "string" + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "models": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "$ref": "#/components/schemas/Model" + } + } + }, + "required": [ + "id", + "name", + "source", + "env", + "options", + "models" + ] + }, + "ToolIDs": { + "type": "array", + "items": { + "type": "string" + } + }, + "ToolListItem": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "description": { + "type": "string" + }, + "parameters": {} + }, + "required": [ + "id", + "description", + "parameters" + ] + }, + "ToolList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ToolListItem" + } + }, + "Worktree": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "branch": { + "type": "string" + }, + "directory": { + "type": "string" + } + }, + "required": [ + "name", + "branch", + "directory" + ] + }, + "WorktreeCreateInput": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "startCommand": { + "description": "Additional startup script to run after the project's start command", + "type": "string" + } + } + }, + "WorktreeRemoveInput": { + "type": "object", + "properties": { + "directory": { + "type": "string" + } + }, + "required": [ + "directory" + ] + }, + "WorktreeResetInput": { + "type": "object", + "properties": { + "directory": { + "type": "string" + } + }, + "required": [ + "directory" + ] + }, + "McpResource": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mimeType": { + "type": "string" + }, + "client": { + "type": "string" + } + }, + "required": [ + "name", + "uri", + "client" + ] + }, + "TextPartInput": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "const": "text" + }, + "text": { + "type": "string" + }, + "synthetic": { + "type": "boolean" + }, + "ignored": { + "type": "boolean" + }, + "time": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": [ + "start" + ] + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": [ + "type", + "text" + ] + }, + "FilePartInput": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "const": "file" + }, + "mime": { + "type": "string" + }, + "filename": { + "type": "string" + }, + "url": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/FilePartSource" + } + }, + "required": [ + "type", + "mime", + "url" + ] + }, + "AgentPartInput": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "const": "agent" + }, + "name": { + "type": "string" + }, + "source": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "start": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "end": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + } + }, + "required": [ + "value", + "start", + "end" + ] + } + }, + "required": [ + "type", + "name" + ] + }, + "SubtaskPartInput": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "const": "subtask" + }, + "prompt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "agent": { + "type": "string" + }, + "model": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "modelID": { + "type": "string" + } + }, + "required": [ + "providerID", + "modelID" + ] + }, + "command": { + "type": "string" + } + }, + "required": [ + "type", + "prompt", + "description", + "agent" + ] + }, + "ProviderAuthMethod": { + "type": "object", + "properties": { + "type": { + "anyOf": [ + { + "type": "string", + "const": "oauth" + }, + { + "type": "string", + "const": "api" + } + ] + }, + "label": { + "type": "string" + } + }, + "required": [ + "type", + "label" + ] + }, + "ProviderAuthAuthorization": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "method": { + "anyOf": [ + { + "type": "string", + "const": "auto" + }, + { + "type": "string", + "const": "code" + } + ] + }, + "instructions": { + "type": "string" + } + }, + "required": [ + "url", + "method", + "instructions" + ] + }, + "Symbol": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "kind": { + "type": "number" + }, + "location": { + "type": "object", + "properties": { + "uri": { + "type": "string" + }, + "range": { + "$ref": "#/components/schemas/Range" + } + }, + "required": [ + "uri", + "range" + ] + } + }, + "required": [ + "name", + "kind", + "location" + ] + }, + "FileNode": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "absolute": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "file", + "directory" + ] + }, + "ignored": { + "type": "boolean" + } + }, + "required": [ + "name", + "path", + "absolute", + "type", + "ignored" + ] + }, + "FileContent": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "text" + }, + "content": { + "type": "string" + }, + "diff": { + "type": "string" + }, + "patch": { + "type": "object", + "properties": { + "oldFileName": { + "type": "string" + }, + "newFileName": { + "type": "string" + }, + "oldHeader": { + "type": "string" + }, + "newHeader": { + "type": "string" + }, + "hunks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oldStart": { + "type": "number" + }, + "oldLines": { + "type": "number" + }, + "newStart": { + "type": "number" + }, + "newLines": { + "type": "number" + }, + "lines": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "oldStart", + "oldLines", + "newStart", + "newLines", + "lines" + ] + } + }, + "index": { + "type": "string" + } + }, + "required": [ + "oldFileName", + "newFileName", + "hunks" + ] + }, + "encoding": { + "type": "string", + "const": "base64" + }, + "mimeType": { + "type": "string" + } + }, + "required": [ + "type", + "content" + ] + }, + "File": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "added": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "removed": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "status": { + "type": "string", + "enum": [ + "added", + "deleted", + "modified" + ] + } + }, + "required": [ + "path", + "added", + "removed", + "status" + ] + }, + "MCPStatusConnected": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "connected" + } + }, + "required": [ + "status" + ] + }, + "MCPStatusDisabled": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "disabled" + } + }, + "required": [ + "status" + ] + }, + "MCPStatusFailed": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "failed" + }, + "error": { + "type": "string" + } + }, + "required": [ + "status", + "error" + ] + }, + "MCPStatusNeedsAuth": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "needs_auth" + } + }, + "required": [ + "status" + ] + }, + "MCPStatusNeedsClientRegistration": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "needs_client_registration" + }, + "error": { + "type": "string" + } + }, + "required": [ + "status", + "error" + ] + }, + "MCPStatus": { + "anyOf": [ + { + "$ref": "#/components/schemas/MCPStatusConnected" + }, + { + "$ref": "#/components/schemas/MCPStatusDisabled" + }, + { + "$ref": "#/components/schemas/MCPStatusFailed" + }, + { + "$ref": "#/components/schemas/MCPStatusNeedsAuth" + }, + { + "$ref": "#/components/schemas/MCPStatusNeedsClientRegistration" + } + ] + }, + "Path": { + "type": "object", + "properties": { + "home": { + "type": "string" + }, + "state": { + "type": "string" + }, + "config": { + "type": "string" + }, + "worktree": { + "type": "string" + }, + "directory": { + "type": "string" + } + }, + "required": [ + "home", + "state", + "config", + "worktree", + "directory" + ] + }, + "VcsInfo": { + "type": "object", + "properties": { + "branch": { + "type": "string" + } + }, + "required": [ + "branch" + ] + }, + "Command": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "agent": { + "type": "string" + }, + "model": { + "type": "string" + }, + "source": { + "type": "string", + "enum": [ + "command", + "mcp", + "skill" + ] + }, + "template": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string" + } + ] + }, + "subtask": { + "type": "boolean" + }, + "hints": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "name", + "template", + "hints" + ] + }, + "Agent": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mode": { + "type": "string", + "enum": [ + "subagent", + "primary", + "all" + ] + }, + "native": { + "type": "boolean" + }, + "hidden": { + "type": "boolean" + }, + "topP": { + "type": "number" + }, + "temperature": { + "type": "number" + }, + "color": { + "type": "string" + }, + "permission": { + "$ref": "#/components/schemas/PermissionRuleset" + }, + "model": { + "type": "object", + "properties": { + "modelID": { + "type": "string" + }, + "providerID": { + "type": "string" + } + }, + "required": [ + "modelID", + "providerID" + ] + }, + "prompt": { + "type": "string" + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "steps": { + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "name", + "mode", + "permission", + "options" + ] + }, + "LSPStatus": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "root": { + "type": "string" + }, + "status": { + "anyOf": [ + { + "type": "string", + "const": "connected" + }, + { + "type": "string", + "const": "error" + } + ] + } + }, + "required": [ + "id", + "name", + "root", + "status" + ] + }, + "FormatterStatus": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extensions": { + "type": "array", + "items": { + "type": "string" + } + }, + "enabled": { + "type": "boolean" + } + }, + "required": [ + "name", + "extensions", + "enabled" + ] + } + } + } +} \ No newline at end of file