Skip to content

UAT UT7: vision VLM 404 — stale OpenRouter model ID (google/gemini-2.0-flash-001) #167

Description

@BrettKinny

Symptom. take_photo captures fine (3040 bytes) but the VLM explain call to
OpenRouter 404s, so Dotty can't describe what they see.

Expected. VLM returns a scene description.

Actual / log excerpt (dotty-behaviour).

20:01:31 [dispatch.vlm] ERROR VLM call failed (url=https://openrouter.ai/api/v1/chat/completions)
requests.exceptions.HTTPError: 404 Client Error: Not Found
20:01:31 vision result desc=ERROR: the vision service didn't respond...

Root cause (CONFIRMED 2026-07-11). The container has no VISION_MODEL/VLM_MODEL env
override, so the code default applies — dotty-behaviour/config.py:171:
VISION_MODEL = os.environ.get("VISION_MODEL", "google/gemini-2.0-flash-001").
google/gemini-2.0-flash-001 is no longer in OpenRouter's /api/v1/models list
(checked 2026-07-11) → 404. Current vision-capable Gemini IDs on OpenRouter include
google/gemini-3.5-flash and google/gemini-3.1-flash-lite.

Fix. Set VLM_MODEL/VISION_MODEL env (or bump the code default) to a live vision
model and redeploy dotty-behaviour. Low-effort config fix — and consider updating the
default in config.py so a fresh deploy doesn't regress.


From the filmed UAT session 2026-07-11 (uat-sessions/2026-07-11/: results.csv, container logs, two video recordings). Investigated and drafted with AI assistance (Claude Fable 5 via Claude Code); human-reviewed before filing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:behaviourdotty-behaviour container (perception + greeter + vision routes)bugSomething isn't workingready-for-humanRequires human implementation or live-device verificationstatus:activeReady to start, not blocked

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions