diff --git a/open-sse/config/providerRegistry.ts b/open-sse/config/providerRegistry.ts index 768bbb2a82..b912614d5f 100644 --- a/open-sse/config/providerRegistry.ts +++ b/open-sse/config/providerRegistry.ts @@ -146,7 +146,7 @@ const KIMI_CODING_SHARED = { "Anthropic-Version": ANTHROPIC_VERSION_HEADER, }, models: [ - { id: "kimi-k2.6", name: "Kimi K2.6", contextLength: 262144, maxOutputTokens: 262144 }, + { id: "kimi-k2.6", name: "Kimi K2.6", contextLength: 262144, maxOutputTokens: 262144, supportsVision: true }, { id: "kimi-k2.6-thinking", name: "Kimi K2.6 Thinking", diff --git a/src/app/(dashboard)/dashboard/playground/page.tsx b/src/app/(dashboard)/dashboard/playground/page.tsx index 08e9b87c80..7ead418ed7 100644 --- a/src/app/(dashboard)/dashboard/playground/page.tsx +++ b/src/app/(dashboard)/dashboard/playground/page.tsx @@ -128,6 +128,7 @@ const VISION_MODELS = [ "qwen-vl", "qvq", "mistral-pixtral", + "kimi", ]; function isVisionModel(modelId: string): boolean { diff --git a/src/app/api/v1/models/catalog.ts b/src/app/api/v1/models/catalog.ts index 268d4f5243..1081074e4d 100644 --- a/src/app/api/v1/models/catalog.ts +++ b/src/app/api/v1/models/catalog.ts @@ -126,8 +126,8 @@ const VISION_MODEL_KEYWORDS = [ "glm-4.5v", "vision", "multimodal", + "kimi", ]; - function isVisionModelId(modelId: string): boolean { const normalized = String(modelId || "").toLowerCase(); if (!normalized) return false; diff --git a/src/shared/constants/modelSpecs.ts b/src/shared/constants/modelSpecs.ts index b36b80668e..aaa24daaa8 100644 --- a/src/shared/constants/modelSpecs.ts +++ b/src/shared/constants/modelSpecs.ts @@ -179,6 +179,7 @@ export const MODEL_SPECS: Record = { contextWindow: 262144, supportsThinking: true, supportsTools: true, + supportsVision: true, aliases: ["kimi-k2.6-thinking", "kimi-for-coding"], }, diff --git a/tests/unit/model-capabilities-registry.test.ts b/tests/unit/model-capabilities-registry.test.ts index e44f28e226..13d063abab 100644 --- a/tests/unit/model-capabilities-registry.test.ts +++ b/tests/unit/model-capabilities-registry.test.ts @@ -132,3 +132,16 @@ test("GPT OSS and DeepSeek Reasoner models support tool calling", () => { const deepseek = modelCapabilities.getResolvedModelCapabilities("deepseek/deepseek-reasoner"); assert.equal(deepseek.toolCalling, true); }); + +test("Kimi K2.6 supports vision capability", () => { + const kimi = modelCapabilities.getResolvedModelCapabilities("kimi-k2.6"); + assert.equal(kimi.supportsVision, true); + assert.equal(kimi.supportsThinking, true); + assert.equal(kimi.supportsTools, true); + assert.equal(kimi.contextWindow, 262144); + assert.equal(kimi.maxOutputTokens, 262144); + + // Also test via alias + const kimiThinking = modelCapabilities.getResolvedModelCapabilities("kimi-k2.6-thinking"); + assert.equal(kimiThinking.supportsVision, true); +});