> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeroruntime.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Vision

> Give your agent eyes: send camera or screen frames to the model so it can describe, inspect, or reason about what it sees.

Vision lets your agent **see**. With vision enabled, it can pull frames from the participant's
video and send them to the model alongside a prompt, to describe a scene, read a document on
camera, or inspect a product. It works in both [Cascade and Realtime](/build/configure-a-pipeline/modes)
modes.

<Note>
  Turn on the video subscription per session with the vision option on `serve()` (applies to
  every caller) or on the room you invoke.
</Note>

<CodeGroup>
  ```python title="main.py" Python theme={null}
  zrt.serve(VisionAgent, vision=True)
  # or, per room:
  zrt.invoke(AGENT_ID, room=zrt.Room(playground=True, vision=True))
  ```
</CodeGroup>

<CardGroup cols={2}>
  <Card title="Image Input" icon="image" href="/build/modalities/vision/image-input">
    Capture frames on demand and send them to the LLM.
  </Card>

  <Card title="Video Input" icon="video" href="/build/modalities/vision/video-input">
    Continuous vision with a realtime model, from camera or screen share.
  </Card>
</CardGroup>

## How it works

Frames are captured as `av.VideoFrame` objects and encoded to JPEG (resized and compressed)
before they reach the model. Whether you snapshot a frame on demand or stream video to a
realtime model, the agent reasons over the image together with the conversation.

## What's Next

<CardGroup cols={2}>
  <Card title="Pipeline Modes" icon="sliders" href="/build/configure-a-pipeline/modes">
    Compare Cascade and Realtime pipeline modes.
  </Card>

  <Card title="Modalities Overview" icon="shapes" href="/build/modalities/overview">
    Browse speech, text, and avatar modalities.
  </Card>
</CardGroup>

## References

<Tabs>
  <Tab title="Python">
    #### Examples

    <CardGroup cols={2}>
      <Card title="Vision" icon="github" href="https://github.com/ZeroRuntimeAI/zrt-python-sdk-examples/blob/main/features/vision.py">
        Capture camera frames and describe them with a vision-capable LLM.
      </Card>
    </CardGroup>
  </Tab>
</Tabs>
