Make a promo video with Claude Code and Remotion
Make a 20-second promo video for your app with Claude Code and Remotion: describe the scenes, preview in Studio and render an MP4 in under 30 minutes.

What you need
Remotion is free for individuals and for teams of up to 3 people. Larger companies need a Company License.
Step 1: Install Claude Code
3 minClaude Code writes and edits the video's code for you, right in your project folder.
- Open a terminal. On a Mac or Linux, run the command below.
- On Windows, run
irm https://claude.ai/install.ps1 | iexin PowerShell instead. - Open a new terminal window and run
claude --version.
Mac or Linux: run thiscurl -fsSL https://claude.ai/install.sh | bash
You should see a version number, and no error.
The terminal says it can't find claude?
Close the terminal and open a new window, so it picks up the new install. Then run
claude --versionagain.Step 2: Create a blank Remotion project
4 minA blank project gives Claude a clean start, so every scene comes from your brief.
- In the terminal, go to the folder where you keep projects.
- Run the commands below to create the project and move into it.
Run thisnpx create-video@latest --yes --blank my-video cd my-video
You should see a new
my-videofolder with apackage.jsonfile and asrcfolder inside.The terminal says npx isn't found?
Node.js is missing. Install the LTS version from nodejs.org, open a new terminal and run the commands again.
Step 3: Add the skills and open Studio
3 minRemotion's agent skills teach Claude how to write good Remotion code, and Studio shows each change live.
- Inside
my-video, run the commands below. - Leave this terminal running, and open the Studio address it prints in your browser.
Run thisnpx remotion skills add npm run dev
You should see Remotion Studio open in your browser, with an empty project.
Studio isn't on localhost:3000?
Port 3000 was busy, so Remotion picked a higher free port. Use the address the terminal prints.
- Inside
Step 4: Add your brand files
3 minClaude can only use the logo and screenshots it can find in your project.
- Inside
my-video, next topackage.json, create a folder namedpublicif there isn't one. - Copy your logo and screenshots into
public. - Give them short names with no spaces, such as
logo.pngandscreen-1.png.
You should see your logo and screenshots inside
my-video/public.A picture doesn't show up in the video later?
Check that it sits in
publicnext topackage.json. Then ask Claude to load it withstaticFile(), Remotion's way of reading that folder.- Inside
Step 5: Describe your video to Claude
8 minA clear brief with scenes, timing and brand details gets you a usable first cut.
- Open a second terminal window, go into
my-videoand runclaude. - Paste the prompt below, with your details in the brackets.
- Approve the file changes Claude asks about, and watch Studio update as it works.
Your prompt/remotion-create Make a 20-second promo video for [YOUR PRODUCT], 1920x1080 at 30 fps. Brand: logo at public/logo.png, main color [#HEX], font Inter. Scenes: 1. Logo reveal, 2 seconds. 2. The problem in 1 line: [PROBLEM]. 3. 3 features, 1 per scene, each with a screenshot from public/: [FEATURE 1], [FEATURE 2], [FEATURE 3]. 4. Call to action: [CTA] and [YOUR URL]. Keep every line of text on screen for at least 2 seconds. Use simple transitions between scenes.
You should see a new video in Studio's sidebar that plays your scenes in order.
Claude doesn't seem to use the Remotion skills?
Quit Claude Code and run
npx remotion skills addinsidemy-videoagain. Then startclaudethere, since skills load when a session starts.- Open a second terminal window, go into
Step 6: Polish and render the MP4
6 minSmall, specific requests fix timing and text faster than starting over.
- Play the video in Studio and note what to change.
- Ask Claude for 1 change at a time, such as "Hold scene 3 for 1 more second."
- When it looks right, click the Render button in Studio and confirm with Render video. Or run the command below in a free terminal.
Or run thisnpx remotion render
You should see an MP4 of your promo in the
outfolder insidemy-video.Without a video name, the render command asks you which one to render.
You get
A 20-second promo video for your app, built from your own brand files and rendered as an MP4
Try next
Did this guide work for you?
Thanks. It helps us fix the steps.


