Edit video by telling your agent what you want.
MovieStar is a video editor built for AI agents. Describe the edits you want to make inside Claude Code or Codex and MovieStar gives them the tools to make edits, burn in captions, and render a finished video.
Watch it work
From raw recordings to a finished video in one conversation
A video about how MovieStar works — edited by MovieStar.
How it works
You direct. MovieStar shows its work.
Every command hands the agent structured data it can read, verify, and act on. Here’s one real edit — finding a line by what was said, cutting it, checking the frame, then rendering — and exactly what MovieStar gives the agent at each step.
You ask
“Find the part where they get to the pain point and cut it into a clean vertical clip.”
Find the moment by what was said
MovieStar searches the transcript and hands back exact timecodes — not a guess the agent has to eyeball.
$ moviestar find "this is where you get to the pain"
{
"command": "find",
"query": "this is where you get to the pain",
"matches": [
{
"text": "this is where you get to that pain",
"score": 0.91,
"source_range": {
"from": {
"text": "0:00:38.700",
"seconds": 38.7
},
"to": {
"text": "0:00:41.200",
"seconds": 41.2
}
}
}
],
"hint": "Pipe a match into trim with --snap-to-words for clean boundaries."
}Make the cut as a reversible operation
Every edit is a declarative op appended to a spec — reversible with undo, reproducible on render. Nothing touches the source file.
$ moviestar trim --from 0:00:38.700 --to 0:00:41.200 --snap-to-words
{
"operation": {
"type": "trim",
"from": {
"text": "0:00:38.700",
"seconds": 38.7
},
"to": {
"text": "0:00:41.200",
"seconds": 41.2
}
},
"snapped_to_words": true,
"result_duration": {
"text": "0:00:02.500",
"seconds": 2.5
},
"operations_applied": 1,
"hint": "Run 'moviestar undo' to revert, or 'moviestar export' to render."
}Check the frame before rendering
Fast feedback at every fidelity: validate the spec, render one frame in seconds, or dry-run the whole command — before committing to a full render.
$ moviestar screenshot --at 0:00:00.000
{
"out": "moviestar/frames/verify_0.000s.jpg",
"source_timecode": {
"text": "0:00:38.700",
"seconds": 38.7,
"frame": 1161
},
"operations_applied": 1,
"width": 1080,
"height": 1920,
"file_size_bytes": 142336
}Render the finished video
One deterministic render from the spec. Same input, same result — every time.
$ moviestar export short.mp4{
"status": "exported",
"out": "short.mp4",
"result_duration": {
"text": "0:00:02.500",
"seconds": 2.5
},
"operations_applied": 1,
"mode": "precise",
"file_size_bytes": 423112
}The agent reads the timecodes, the durations, the hint on what to do next — and drives the whole loop itself. You just see the finished clip.
What it does
Everything an editor expects — reachable in plain language
Sees and hears your footage
Transcripts, scene changes, loud and silent moments, frames on demand. Your agent perceives the video before it touches it.
Cuts by words or by time
“Trim from 4:23 to 4:28” or “cut the sentence where she restarts.” Address any edit by timecode or by what was said.
Burns in captions
Word-by-word highlighted captions, TikTok and Reels style, on-brand. Great for shorts that need to land without sound.
Renders deterministically
Same input, same result — every time. No hidden model calls, no randomness. Preview a single frame in seconds before a full render.
Stay in the loop
Get release updates
MovieStar ships fast. Drop your email for new features, demos, and release notes. No spam — just what changed.
Start editing
Install it, then point your agent at a video and describe the edit.
$ pip install moviestar