Skip to content

Turn your agent into a video editor

Your agent writes code. Now it makes videos.

Reelkit is a CLI and a skill for coding agents. An editor-grade video in minutes, with no editing skills and no assets to prepare.

Read the install guideCopy instructions for your agentCopy agent instructions

Works with

  • Claude Code
  • Codex
  • Cursor
  • Gemini CLI
  • any other agent

Install with one command

Needs Node 22 or newer and ffmpeg.

# the whole installnpm install -g reelkit-cli
# then start a project. This also puts the skill into your agentsreelkit init my-video

How a video gets made

Reelkit is a CLI and a skill for coding agents like Claude Code and Codex. Your agent plans the video and builds it in Remotion; Reelkit handles the rest: library assets, voiceover, images, short video clips and background removal.

Eight steps, in this order. The agent does the work and stops twice for your yes.

  1. Inputs

    The agent finds out what the video is about and collects what you have. It looks at each file you give it and registers it with a description of what it shows. Your files stay on your machine, unless you share one with --share or send a video for background removal with --cutout.

  2. Look

    You and the agent agree on one visual style for the whole video: one of ten ready looks, or your own.

  3. Plan

    The agent writes plan.json: three to eight scenes, each with narration, on-screen text and a treatment. reelkit plan check lists what to fix. Then the agent shows you the title, the length and every scene, and waits for a clear yes.

    You approve the plan

  4. Voice

    The agent picks a narration voice that fits the idea and the language. reelkit assets voiceover --all records every scene and reports the real length of the video.

  5. Images and clips

    For each illustration scene the agent searches the shared library first and pulls an image that fits. Only when nothing fits does it generate one. No two scenes share an image. A scene that needs footage gets a short video clip the same way. The agent can also remove the background from a clip or from your own footage, so the subject sits over something else.

  6. Composition

    The agent writes the Remotion composition in src/Video.tsx and reuses library components and sounds where they fit. reelkit check must pass before anything is rendered.

  7. Preview

    reelkit preview renders two test frames per scene. The agent looks at each frame for cut-off text, low contrast and empty frames, and fixes what it finds. Then it shows you the frames and waits for a clear yes.

    You approve the frames

  8. Render

    reelkit render renders out/video.mp4 on your machine and prints the path.

Every command

Every command and every flag, grouped by what it is for.

Account

3 commands
CommandWhat it does
reelkit auth login

Log in to Reelkit. Run it yourself and your browser opens on the approval page; the command waits while you approve. An agent cannot wait, so it runs reelkit auth login --start, shows you the one link it returns (the code is in it), and then runs reelkit auth login --finish.

--start
Begin a login and return at once with one link that has the code in it. For an agent.
--finish
Finish a login begun with --start. It waits up to a minute and can be run again.
--no-browser
Do not open the browser; print the link and code only.
reelkit auth logout

Log out and remove the stored token.

reelkit whoami

Show your account, your quota and your contributions to the library.

Project

2 commands
CommandWhat it does
reelkit init [name]

Set up a video project in a new folder named after it, or in the current folder when you give no name.

--aspect <aspect>
The shape of the video: 9:16, 16:9 or 1:1.
reelkit install

Install or reinstall the Reelkit skill in your coding agents, and a /reelkit-video command where the agent supports one. Optional: reelkit init and reelkit auth login do it on their own.

--agent <id>
Install for one agent: claude, codex, cursor, gemini or agents, or all. The default is every agent found on your machine.
--force
Reinstall even when the installed copy is up to date.

Assets

7 commands
CommandWhat it does
reelkit assets upload <file>

Add one of your own files to this project. It stays on your machine and private unless you pass --share; with --cutout the video is uploaded to the Reelkit server to be processed.

--describe <text>
What the file shows.
--footage
Use this video as the footage to lay the motion design over.
--green
For a video of a subject on a green background: keeps the original and writes a copy with the green made transparent. Free, and it runs on your machine: nothing is uploaded.
--cutout
Removes any background. This uploads the video to the Reelkit server, which removes the background and returns a transparent .webm that is saved beside the original. The upload is deleted when the job ends; the transparent result is kept in your private files on the server and shows on your account page. Up to 20 seconds a video, counted in whole seconds against a monthly quota, only when it succeeds.
--resume <id>
With --cutout: keep waiting for a cutout that was already started. It does not upload the video or count against your quota again.
--share
Also send the file to the shared library.
--kind <kind>
The library kind, when sharing.
--tags <tags>
Comma-separated tags, when sharing.
reelkit assets search <query>

Search the shared library by meaning. Each result shows how well it fits.

--kind <kind>
Limit the search to image, overlay, sfx, music, component or clip.
--limit <n>
How many results to return.
reelkit assets pull <id>

Download a library item into this project. A component lands in src/ and the command prints how to import it.

--scene <sceneId>
Use the item as this scene's image or clip.
--force
Replace a component file that already exists.
reelkit assets voices

List the narration voices.

reelkit assets voiceover

Record the narration from plan.json.

--scene <sceneId>
Record one scene.
--all
Record every scene.
--redo
Record again even if a recording exists.
reelkit assets gen image [prompt] --scene <sceneId>

Generate one scene's illustration. It needs --scene. The prompt is optional and defaults to the one in the plan.

--scene <sceneId>
Required. The scene the image is for.
--redo
Generate a new image even if the scene has one.
reelkit assets gen clip [prompt] --scene <sceneId>

Generate a short video clip for one scene: B-roll, or with --green a subject on green that is keyed out into a transparent clip, or with --cutout a normal clip whose background is then removed on the server. It needs --scene and takes minutes. Search the library first with --kind clip.

--scene <sceneId>
Required. The scene the clip is for.
--green
Film the subject on green and key the green out into a transparent .webm. The keying is free and runs on your machine.
--cutout
Generate the clip as usual, then remove its background: the clip is uploaded to the Reelkit server and a transparent .webm comes back. The upload is deleted when the job ends; the result is kept in your private files. It also counts against the monthly background-removal quota.
--seconds <n>
The length of the clip: 5 or 10 seconds. The default is 5.
--share
Also send the clip to the shared library, for review. Only for a generic clip.
--redo
Generate a new clip even if the scene has one.
--resume <id>
Keep waiting for a clip that was already started. It does not count against your quota again.

Build

4 commands
CommandWhat it does
reelkit plan check

Validate plan.json and list what to fix or improve.

reelkit check

Check the composition in src/ without rendering it.

reelkit preview

Render two test frames per scene into out/preview/.

reelkit render

Render the video to out/video.mp4.

On every command

--json
Print the result as JSON. Every command accepts it, and a failure exits non-zero with a one-line reason.

Recipes

Command sequences for common jobs. A line that starts with # is something the agent does itself.


A first video from an idea

15 lines

The sequence an agent runs: log in, set up a project, plan, record, compose, check and render. If you log in by hand, run reelkit auth login instead of the first three lines.

reelkit auth login --start
# show the person the link, and wait for them to approvereelkit auth login --finish
reelkit init my-video --aspect 9:16
cd my-video
# write plan.jsonreelkit plan check
reelkit assets voices
reelkit assets voiceover --all
reelkit assets search "city skyline at night" --kind image
reelkit assets pull <id> --scene intro
# write src/Video.tsxreelkit check
reelkit preview
reelkit render

An app demo from screenshots

11 lines

Register your real screenshots, list them in the plan and build the demo around them. Never generate app UI.

reelkit init app-demo --aspect 9:16
cd app-demo
reelkit assets upload ./home.png --describe "Home screen with the weekly summary"
reelkit assets upload ./checkout.png --describe "Checkout screen after choosing a plan"
# write plan.json and list the uploaded ids in each scene's userAssetIdsreelkit plan check
reelkit assets voiceover --all
# write src/Video.tsxreelkit check
reelkit preview
reelkit render

Reuse a library sound and component

5 lines

Search the shared library before writing anything new, then pull what fits into the project.

reelkit assets search "whoosh" --kind sfx
reelkit assets pull <id>
reelkit assets search "animated counter" --kind component
reelkit assets pull <id>
reelkit check

Change the script and re-record

6 lines

Edit the narration in plan.json, validate it and record the changed scene again.

# edit the scene's narration in plan.jsonreelkit plan check
reelkit assets voiceover --scene intro --redo
reelkit check
reelkit preview
reelkit render

One library, shared by everyone

Assets that anyone can search and pull into a project. Browsing is open. Pulling needs the CLI and an account.

  • --kind image

    Images

    Illustrations and pictures that fill a scene.

  • --kind overlay

    Overlays

    Ready-made clips such as film marks and HUD frames, laid over the video.

  • --kind sfx

    Sound effects

    Short sounds such as whooshes and transitions.

  • --kind music

    Music

    Background tracks.

  • --kind component

    Components

    React code for a piece of motion design. It runs on your machine when you preview or render.

  • --kind clip

    Clips

    Short video clips.

  • component

    StrikeReplace

    A sentence with one word crossed out by a marker stroke and a hand-written correction dropped in above it: editing is hard becomes editing is easy. The myth-versus-truth and before-versus-after line.

  • component

    SpotlightText

    A short list of lines where only one is lit at a time: the rest stay dim while a bar of colour and the light travel down the list. For reading a script along, three reasons, or lyrics. Use litAt to time each line to the narration.

  • overlay

    X (film badge)

    A 5 second white-on-black film badge overlay reading "X", made to be laid over footage with the screen blend so only the white marks show.

  • A smartphone lying on a table with soft orange heat waves rising from it, flat vector illustration, dark moody background, warm orange and red tones, empty space at the top and bottom.

    image

    A smartphone lying on a table with soft orange heat waves rising from it, flat…

  • component

    CircleText

    A round badge of text that keeps turning around a glyph or an emoji, like a stamp or a sticker seal: new collection, scroll down, limited edition. Place it in a corner or over a product. Filled disc or text only.

  • component

    PunchWords

    One word at a time, huge, each punching in on its beat and replacing the last, some in the hero colour. The hook style of fast short videos. Use hitAt to time every word to the narration or the music.

  • sfx

    Mouse Click

    YouTube Picks / Interface

  • music

    Minimal Tech Pulse

    A sleek, minimal electronic bed with a soft pulsing synth, clicks and a deep sub. Stays out of the way of a voiceover. For AI, software, finance and data explainers.

Browse the library

The deal

Reelkit is free to use. Browsing the library is open to everyone; pulling needs the CLI and a free account, which you get by running reelkit auth login.

  • Some steps have quotas. reelkit whoami shows what you have left.
  • Illustrations that your plan marks as generic, and anything you add with --share, go to the shared library for review. Other people can then reuse them.
  • Your own files, your plan and your video stay on your machine, unless you share a file with --share or send a video for background removal with --cutout. A video sent with --cutout is deleted from the server when the job ends; the transparent result is kept in your private files.

Install Reelkit