Lenses
Lenses are focused analysis and creation programs in the Lens Laboratory — the prototypes for the specialized Virtuosos of the orchestra. Point one at your media and the result comes back as a structured, time-coded Insight.
Lenses are defined in src/lib/modes.ts and executed through the pluggable handler registry in
src/lib/lens-handlers/ (chat, course, media, PDF, search, and video-analysis handlers).
Video analysis
| Lens | Description |
|---|---|
| Create Course | Generates a mini-course from the video: summary, key moments, and a quiz |
| A/V Captions | Scene-by-scene transcript capturing spoken dialogue and visual descriptions |
| Paragraph | A 3–5 sentence summary, each sentence linked to its timecode |
| Key Moments | The most important highlights as a clickable, time-coded list |
| In-strukt | A detailed step-by-step walkthrough — perfect for tutorials and guides |
| Table | 5 key shots with short descriptions and the objects visible in each |
| Chart | A metric charted over time — sub-modes: Excitement, Importance, Number of people |
| Mermaid | A Mermaid.js diagram of the video’s structure, flow, or key concepts |
| Haiku | The essence of the video in 5-7-5 |
| Custom | Bring your own prompt; get a time-coded list of results |
| Deep Analysis | Thinking Mode for complex, in-depth analysis driven by your prompt |
Knowledge & documents
| Lens | Description |
|---|---|
| Web Search | Grounded answers about current events and topics, with sources |
| PDF Analysis | Upload a PDF; ask questions or get a summary |
Audio & live
| Lens | Description |
|---|---|
| Transcribe Audio | Records from your microphone and transcribes to text |
| Live Conversation | Real-time voice conversation with the orchestra |
Generative media
| Lens | Description |
|---|---|
| Generate Image | A new image from a text prompt, via Imagen |
| Edit Image | Edits an uploaded image based on text instructions |
| Generate Video | A new video from a text prompt and optional starting image, via Veo |
Time-coded lenses work through function calls — set_timecodes,
set_timecodes_with_objects, set_timecodes_with_numeric_values — so every insight row is
clickable and seeks the player to the exact moment.
The Critic gate
Lens output doesn’t reach you unchecked: the Critic evaluates every result for relevance, factual consistency, and quality, triggering retries with feedback when a result falls short.