- config: add AI_LLM_VISION_BASE_URL + AI_LLM_VISION_API_KEY (separate from text router) - llmClient: llmVision() now calls dedicated vision endpoint when configured (axios POST to integrate.api.nvidia.com, model nvidia/nemotron-3-nano-omni-30b-a3b-reasoning, reasoning_budget 16384, non-stream), falls back to router combo otherwise - keeps text/moderation on omniroute, vision on NVIDIA direct