> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://docs.nvidia.com/dynamo/llms.txt. For full content including API reference and SDK examples, see https://docs.nvidia.com/dynamo/llms-full.txt. # Image Understanding ## Docs - [Image Understanding](https://docs.nvidia.com/dynamo/dev/image-understanding/overview.md): Serve vision language models that answer questions about images - [VLM Performance Optimization](https://docs.nvidia.com/dynamo/dev/image-understanding/vlm-performance-optimization.md): Speed up image and video requests with routing, decoding, caching, and encoder disaggregation - [Multimodal KV Routing](https://docs.nvidia.com/dynamo/dev/image-understanding/vlm-performance-optimization/multimodal-kv-routing.md): Route repeated images and videos to the worker that already holds their KV cache - [Frontend Media Decoding](https://docs.nvidia.com/dynamo/dev/image-understanding/vlm-performance-optimization/frontend-media-decoding.md): Decode images and video in the Rust frontend instead of the backend worker - [Shared Image Cache](https://docs.nvidia.com/dynamo/dev/image-understanding/vlm-performance-optimization/shared-image-cache.md): Reuse downloaded image bytes across workers - [Embedding Cache](https://docs.nvidia.com/dynamo/dev/image-understanding/vlm-performance-optimization/embedding-cache.md): Skip the vision encoder for images and clips it has already encoded - [Encoder Disaggregation](https://docs.nvidia.com/dynamo/dev/image-understanding/vlm-performance-optimization/encoder-disaggregation.md): Scale vision encoders separately from LLM workers - [Custom Vision Encoders](https://docs.nvidia.com/dynamo/dev/image-understanding/custom-vision-encoders.md): Run a bespoke vision tower in an aggregated Dynamo vLLM worker - [Additional Media Decoders](https://docs.nvidia.com/dynamo/dev/image-understanding/additional-media-decoders.md): Explicitly install software decoders for input formats the image cannot decode