roll 01 · scene 01 · take 01

shot

a timeline editor for films made of code. every frame is a function of time, every scene is a file, and every change previews instantly. retime it, voice it, score it, ship it.

it even writes an AGENTS.md for your robots.

> Install Shot for me: clone https://github.com/connorguy/shot to ~/shot and follow its SETUP.md.

paste into claude code or codex. it installs shot and opens the studio. or by hand →

  • scenes are code, not clips
  • retime, reorder, split and hold without re-rendering
  • gemini voiceover paced to the cut
  • lyria music timed to your sections
  • frame-perfect mp4 export
shotdigital slate
scenehello
take01
speed1×
timecode00:00:00:00

that's not a video. it's a shot film running live in your browser. drag the film strip, or clap for another take.

reel 1 of 6

retimeevery cut, any speed

drag an edge and the scene slows down. drag it back and it speeds up. split at beats, freeze a frame, crossfade, reorder. nothing gets re-rendered, because nothing was ever rendered.

  • retime and trim tools
  • split at beats
  • holds and crossfades
  • snaps to voiceover
reel 2 of 6

voiceoverlines that land on the frame

write a line, pick a voice, press generate. gemini 3.8 tts (or elevenlabs v3) reads it, paced toward the length of the clip on your timeline, and a pitch-safe stretch lands it on the frame. keep every take. swap whenever.

  • gemini or elevenlabs
  • target lengths
  • takes you can swap
  • free draft voice
reel 3 of 6

musica score that knows your sections

lyria writes a track timed to your sections, so it builds where the film builds. it ducks under the voice all by itself. or drop in your own and pretend you did it.

  • lyria 3.5
  • section-timed prompts
  • automatic ducking
  • bring your own files
reel 4 of 6

agentsyour robots already read the manual

every project ships with an AGENTS.md. point any coding agent at the folder and it knows the scene contract, the timeline and the tools. press P on anything in the studio to copy a short prompt with the exact file and timing.

  • AGENTS.md in every project
  • prompt from any frame
  • a cli for everything
  • studio reloads live
reel 5 of 6

templateskeep the look, lose the audio

like a look? save it. templates keep the scenes, the styles and the cut, and never the audio. start the next film from the last good one.

  • save from any project
  • cover from the playhead
  • no audio, ever
  • starter included
reel 6 of 6

exportframes in, mp4 out

headless chrome draws every frame, ffmpeg does the rest, and the mix you heard is the mix you get. a 37-second film takes about 15 seconds in draft. the kettle takes longer.

  • h.264 + aac
  • 1080p or 540p draft
  • parallel frame render
  • cli: npm run render
the studio
The Shot studio: scene bin on the left, the film preview in the middle with transport controls and a timecode display, the inspector on the right showing a voiceover line's target length, and the timeline below with picture, voiceover, music and SFX tracks.
actual screenshot. not a render. well, technically everything is a render.scenes · timeline · inspector · takes
how it works

four scenes. one film.

scene 1brief

write it down

goal, audience, beats, draft voiceover. a brief template is waiting in every project.

scene 2design

design in claude

the film-design skill has claude build one scene per file, pure functions of time, and hand back a zip.

scene 3tinker

tinker in shot

file → new project → pick the design. retime, reorder, voice it, score it. or let an agent do it from the cli.

scene 4ship

ship it

export an mp4, or bundle the film into one html file that plays anywhere, like the one at the top of this page.

technical specifications

specs

everything you'd find on the back of the film can, if there were a film can.

inputhtml, css, javascript. one file per scene. or clone a video you already have
outputmp4, h.264 + aac, 1920 × 1080 @ 30 fps
previewlive, frame-accurate, identical to export
voicegemini 3.8 flash / flash-lite tts, 30 voices, voice design, elevenlabs v3 (optional), free macOS draft voice
musiclyria 3.5, lyria 3 clip, or your own files
authapi key or application default credentials
agentsAGENTS.md + cli: new, inspect, frame, vo, music, render, bundle, template
requiresnode 22.18+, google chrome, ffmpeg
film stocknot required
weight≈ 0 g
get it

one line.

paste it into claude code or codex. your agent installs shot, sets up voice if you want it, adds the film-design skill and opens the studio. then file → new project. that's the whole manual. (there is also a real manual.)

read the manual →
> Install Shot for me: clone https://github.com/connorguy/shot to ~/shot and follow its SETUP.md.

or by hand, in three:

$ git clone https://github.com/connorguy/shot.git
$ cd shot && npm install
$ npm run dev # → http://localhost:5178

needs node 22.18+, google chrome and ffmpeg (brew install ffmpeg). gemini voice and music need an api key or gcloud adc.