fix: enable image support for Kimi K2.5 model (#670)

* fix: enable image support for Kimi K2.5 model

Kimi K2.5 supports image input but was incorrectly blocked by the
supportsImageInput check that excluded all Kimi models without
"vision" in the name. Updated the condition to only exclude the
older K2 model while allowing K2.5.

* fix: improve Kimi K2.5 image support logic and add tests

- Only block kimi-k2 specifically, not all Kimi models
- Add unit test for kimi-k2.5 image support
This commit is contained in:
Dayuan Jiang
2026-02-02 00:14:27 +09:00
committed by GitHub
parent fa1548d3eb
commit 4624ad40a1
2 changed files with 14 additions and 2 deletions
+9 -2
View File
@@ -1161,8 +1161,15 @@ export function supportsImageInput(modelId: string): boolean {
lowerModelId.includes("vision") || lowerModelId.includes("vl") lowerModelId.includes("vision") || lowerModelId.includes("vl")
// Models that DON'T support image/vision input (unless vision variant) // Models that DON'T support image/vision input (unless vision variant)
// Kimi K2 models don't support images // Kimi K2 doesn't support images, but K2.5 does
if (lowerModelId.includes("kimi") && !hasVisionIndicator) { // Only block kimi-k2 specifically, not other Kimi models
if (
(lowerModelId.includes("kimi-k2") ||
lowerModelId.includes("kimi_k2")) &&
!hasVisionIndicator &&
!lowerModelId.includes("2.5") &&
!lowerModelId.includes("k2.5")
) {
return false return false
} }
+5
View File
@@ -168,6 +168,11 @@ describe("supportsImageInput", () => {
expect(supportsImageInput("moonshot/kimi-k2")).toBe(false) expect(supportsImageInput("moonshot/kimi-k2")).toBe(false)
}) })
it("returns true for Kimi K2.5 models (supports vision)", () => {
expect(supportsImageInput("kimi-k2.5")).toBe(true)
expect(supportsImageInput("moonshotai/kimi-k2.5")).toBe(true)
})
it("returns false for DeepSeek text models", () => { it("returns false for DeepSeek text models", () => {
expect(supportsImageInput("deepseek-chat")).toBe(false) expect(supportsImageInput("deepseek-chat")).toBe(false)
expect(supportsImageInput("deepseek-coder")).toBe(false) expect(supportsImageInput("deepseek-coder")).toBe(false)