Skip to content

v1.7.0 — Vision/Multimodal Routing

Latest

Choose a tag to compare

@Devansh-365 Devansh-365 released this 16 May 23:20
· 11 commits to main since this release

Vision/multimodal routing for image inputs

FreeLLM can now route requests containing image content to the correct vision-capable model automatically.

What changed

Meta-model requests (free, free-smart, free-fast) — the router detects image content, filters to vision-capable providers, and picks the best vision model automatically. No config change needed.

Direct model requests — non-vision models with image content get a clear 400 error upfront instead of a cryptic upstream failure:

Model "groq/llama-3.3-70b-versatile" does not support vision/image inputs.
Use a vision-capable model or a meta-model (free, free-smart, free-fast).

Vision requests bypass the cache — image payloads are large with near-zero repeat rate. Both get() and set() skip caching for vision requests.

Vision-capable models (7 confirmed)

Model Provider
groq/meta-llama/llama-4-scout-17b-16e-instruct Groq
gemini/gemini-2.5-flash Gemini
gemini/gemini-2.5-pro Gemini
github/meta/Llama-3.2-11B-Vision-Instruct GitHub Models
github/openai/gpt-4o-mini GitHub Models
github/openai/gpt-4.1-mini GitHub Models
cloudflare/@cf/mistral/mistral-small-3.1-24b-instruct Cloudflare

Ollama — auto-detected from model name: llava, vision, bakllava, moondream, cogvlm, minicpm-v.

Tests

313 passing across 27 files (up from 295). New tests/vision.test.ts with 18 tests covering detection, cache bypass, fail-fast, meta-model routing, and Ollama heuristics.

No breaking changes

Existing text-only requests are completely unaffected. The supportsVision flag is optional on ModelObject — absent means text-only.