Skip to main content
a vision agent is a voice agent that can see. while you talk, it watches your camera and answers with what it sees and hears, in its voice, exactly like any agent. everything else — prompt, greeting, language, turn-taking, tools, variables, versions — works exactly as it does for a voice agent.
the quickest way to try one is the dashboard: vision in the sidebar → new vision agent → test live. it asks for your camera and microphone, and you talk to it while it watches.

create one

create the agent with "kind": "vision", then deploy it — like any agent, it answers api calls only once a version is live.
string
default:"voice"
vision for an agent that sees the caller’s camera. set it when you create the agent; it cannot be changed afterwards (a PATCH that sends it is refused).
object
a vision agent speaks with silk mulberry 1.5 or muga: model is mulberry (with the same named voice and style description a mulberry voice agent takes) or muga (see voices). leave model out and you get mulberry; any other voice is refused.
the agent already knows it is on a video call — you don’t need to tell it that in your prompt. write the prompt about the job: what it should look for, what to do with it.

call it (web call)

the browser joins the call with a livekit client and turns on its camera next to its microphone. nothing else changes from a web call.
1

start the call on your server

POST /v1/webcall with the vision agent’s id, exactly as for a voice agent.
2

join and turn on the mic and the camera

connect with the returned host and token, then enable the microphone and the camera.
3

talk

the agent watches your camera while you talk. turn the camera off and it knows it can’t see you; turn it back on and it sees again.
browser (livekit-client)

what the agent sees

  • what your camera shows while you talk, and it uses that in its replies.
  • camera off — the agent knows it can’t see you, so it says so rather than guessing.
  • nothing it sees is stored, and call recordings stay audio-only.

errors