Iterate on videos with your agent, frame by frame.

telestrator turns your feedback on a video into notes your AI agent can act on. Pause on any frame, pin or draw what's wrong, and write a line. Claude Code, Codex, Cursor or any agent gets the exact frame and fixes it.

Paste it into your agent. It sets everything up.

Pause, point, write. Your agent picks it up, fixes it, and resolves it.

Start with one command

$ npx telestrator path/to/video.mp4

A project folder works too: it opens the newest render. The review opens in your browser, and notes stay on your machine.

$ npx telestrator init

Once, to connect your agent: Claude Code, Codex, Cursor, VS Code, Gemini CLI, Windsurf and more. Then ask it to “check the video feedback”.

What your agent gets

## 1. 12.13s (frame 364) · The product
- Feedback: tagline too small on mobile
- Narration there: “Async updates your team actually reads.”
- Pointing at: #s4 > p.tagline
- Source: scenes/product.html:42
- Styles now: font-size 43px; color #5f5a52
- Element box: 98,645 490×116 (in 1920×1080)

Plus the frame itself, with your pin or drawing on it, as an image.

How it works

  1. Pause on the frame. Step frame by frame with the arrow keys.
  2. Point at something (P), draw on it (D), or drag the filmstrip for a range.
  3. Write one line. The note lands at the playhead.
  4. Your agent fixes the source, re-renders, checks the frame, and resolves the note. If it's unsure, it asks you under the note.

For agents

An MCP server your agent talks to. It reads and writes the same notes you see, so replies show up in your review as they happen.

get_feedbackOpen notes, with each note's frame as an image
watch_feedbackWaits for your notes while you review: hands-free
get_frameAny frame, to check a fix after a re-render
acknowledge“Seen it, working on it”
replyAsks you a question under the note
resolve · dismissCloses the note, saying what changed or why not
add_noteThe agent critiques the render and leaves its own notes

Works with what you render

HyperFramesPointing names the exact element on that frame, with its source line and styles
RemotionPoints at the spot in the frame; scenes and captions from a sidecar file
Any MP4, MOV, WebMThe spot, the time, the frame, and captions from a .srt or .vtt

Questions

Is it free?
Yes. It's MIT licensed.
Does my video leave my machine?
No. It runs locally, and notes are JSON files next to your video in .telestrator/. Commit them if you want the feedback in git.
Which agents work?
Any agent that supports MCP. init sets up the ones you have. Without MCP, use “Copy for agent” and paste.
Do I need HyperFrames?
No. Any video works. With a HyperFrames composition, pointing also knows which element you mean and where it's written.
Something isn't working?
Run npx telestrator doctor. It checks Node, ffmpeg, your agents, and what your video resolves to.
Where's the code?
On GitHub. Issues and pull requests are welcome.
see telestrator on github ↗
made by @itsloukman ↗