Open sourceRuns locallyClaude Code & Codex

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.”

01

Find the moment by what was said

MovieStar searches the transcript and hands back exact timecodes — not a guess the agent has to eyeball.

what the agent ran
$ moviestar find "this is where you get to the pain"
what it got back
{
  "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."
}
02

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.

what the agent ran
$ moviestar trim --from 0:00:38.700 --to 0:00:41.200 --snap-to-words
what it got back
{
  "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."
}
03

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.

what the agent ran
$ moviestar screenshot --at 0:00:00.000
what it got back
{
  "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
}
04

Render the finished video

One deterministic render from the spec. Same input, same result — every time.

what the agent ran
$ moviestar export short.mp4
what it got back
{
  "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