How to Make a Video With Claude Opus 5.5 (It Writes the Code, You Supply the Rest)
Claude Opus 5.5 writes the code that draws every frame. You supply the renderer, assets, voice, and settings, then follow nine steps from an empty folder to an MP4.
According to OpenReplay, a 15-second video at 30 frames per second is 450 frames, each one a still picture. Claude Opus 5.5 writes the program that describes all 450, and a browser turns that program into an MP4.
Anthropic's models overview says current Claude models take text and image input and give text output.
Opus 5.5 cannot hand you a video file.
So you ask it for code, and you give that code a place to run. Say you have shipped an app and want a launch clip. This route gives you an exact, editable video without a timeline editor. It will not give you footage of a person walking through a forest.
By the end you will have a roughly 15-second MP4 with scenes, a voiceover, and music. It takes nine steps from an empty folder.
Claude writes a program that draws each frame
Take Remotion, a framework with an official guide for Claude Code. Remotion's fundamentals page says it gives your code a frame number and a blank canvas. The code answers one question for each frame: what does frame 212 look like?
A video has four properties: width, height, frames per second (fps), and total frames. The same page calls the registered video a composition. It is a React component (a reusable piece of web-page code) plus those four numbers. Each composition has an id, such as MyComposition, which you set in src/Root.tsx. Claude writes all of it.
Remotion's render documentation shows it drawing each frame in headless Chrome, a Chrome browser that runs without a window. It also ships its own ffmpeg. That free tool joins pictures and audio into a video file.
While you work, Remotion Studio shows a live preview in your browser. OpenReplay describes playing the video there and dragging a marker along the timeline to any frame, which is called scrubbing. The steps below start it, following Remotion's Claude Code guide.
Remotion publishes agent skills so that Claude learns its conventions first. Build to Launch explains that a skill is a markdown file that tells Claude how to handle a specific task.
Checking the result is the other half of the job, and Opus 5.5 can look at pictures. The vision documentation lists JPEG, PNG, GIF, and WebP, but for an animated file "only the first frame is used."
The model sees a render only as single frames.
Five pieces make the video, and each has a different owner
- The code and the script. Opus 5.5 writes both. In one case study, which used the earlier Sonnet 4.6, Claude wrote six scene scripts in the same session that designed the project.
- A renderer. Remotion's Claude Code guide lists Node.js and a coding agent as prerequisites. Its license page makes it free for individuals and companies of up to three people.
- Your brief and your assets. Give Claude real screenshots, your logo, and your colors. YouTuber Lukas Margerie made videos with Opus 5.5 in the days after its release. In his walkthrough, the prompts that named a real brand and real screenshots produced clips of the actual interface.
- A voice. Narration comes from a speech service. The ElevenLabs free plan includes 10,000 characters a month, about 10 minutes of audio, and API access. Commercial use rights come with its paid plans.
- Music and sound effects. Claude can write these as code. In Margerie's video, a demo prompt asked it to synthesize an original track at 120 beats per minute and write a JSON file listing when each beat lands, so the animation could follow the beats. A service works too: ElevenLabs publishes a sound-effects skill.
Effort, video size, and render flags shape the result
Start Opus 5.5 at medium effort
Pick Opus 5.5 with /model. Effort has five levels: low, medium, high, xhigh, and max. Anthropic's effort documentation calls it the main control for how much Opus 5.5 thinks and what a request costs. The default is medium.
Claude Code's model configuration page says you can change it with /effort, the --effort flag, or the CLAUDE_CODE_EFFORT_LEVEL variable. Anthropic advises testing levels on your own work. Margerie's video used high effort.
Set the length on the composition
You set width, height, and fps on the composition, and you set the length in frames. In the example on Remotion's fundamentals page, a composition of 150 frames at 30 fps lasts five seconds, because 150 divided by 30 is 5. OpenReplay warns about a mismatch. If the composition says 300 frames and the animation runs to frame 450, the render stops at frame 300.
Add flags to the render command
The render documentation lists the options you add to npx remotion render. --codec picks the video format, and the default is H.264, the common MP4 format. --crf sets how much quality the encoder (the tool that compresses frames into the file) keeps. Its minimum is 0, and Remotion says to use it when you want the best quality and care less about file size. Leave it at the default until a render looks soft.
The same page documents three more flags. --scale multiplies the frame size, so 1.5 turns 1280x720 into 1920x1080. --muted leaves the audio out.
--frames renders only a range such as --frames=0-90, which makes a cheap test.
Code-made video edits by sentence and renders the same way each time
Edits work in plain language. In a Substack walkthrough, the user types "make the text bigger" or "slow down the animation," Claude edits the code, and the preview updates.
Rendering is repeatable when every frame depends only on the frame number. A Hugging Face post by Eric Kang says such deterministic scenes are easier to re-render and compare. The same post promotes an API reseller.
One reported film cost $0.66 in model tokens
A video also costs model tokens. Anthropic's announcement prices Opus 5.5 at $4 and $20 per million input and output tokens. Kang's post relays a report of about 90,000 input and 15,000 output tokens for one film, from a service called LaunchVideo. At those prices that film costs $0.66. The estimate leaves out voice, retries, and assets.
A plain prompt gives a generic video, and timing and clock code break the render
The first render usually looks flat. Margerie's video says a one-line prompt gives "a generic AI video with centered text and a gradient." A Substack guide says the first output usually needs two or three iterations. The fix was a longer brief: real brand assets, a reference video turned into a style guide, and a critique loop.
Timing breaks next. Remotion wraps each scene in a sequence, a block that starts at a chosen frame. A sequence starts at frame 0 unless you give it a from value. OpenReplay says missing from values are almost always the cause when every animation fires at once. It adds that the fps must match the frame math. To debug, open Remotion Studio, scrub to the frame that looks wrong, and read the code for that range.
Clock code breaks the render too. Kang's post says to avoid Date.now(), timers, and CSS transitions in a frame-by-frame renderer. They follow real time. Its example renderer captures frames at its own pace, so frame 400 may be captured seconds after frame 399. Remotion's fundamentals page hands your code the frame number instead. Tell Claude to drive every animation from that number.
Render a still or a short range, extract frames, and have Claude read them. One open-source Remotion skill turns this into a rule: "Render → inspect frames → fix → re-render." Its author describes Claude extracting frames with ffmpeg and checking them before delivering.
Veo makes footage, and Claude plus Remotion makes motion graphics
A video generator draws the pixels itself. Google's Veo 3.1 documentation describes 8-second videos with generated audio. Its sample prompt asks for a realistic Hawaiian waterfall, footage that a program of text and shapes would struggle to produce.
Google bills Veo by the second. Its pricing page lists $0.40 per second for Standard with audio and $0.10 per second for Fast at 720p. There is no free tier. A 16-second film from two 8-second clips costs $6.40 at Standard or $1.60 at Fast, before any retries.
Code draws what code can describe: text, shapes, charts, and the images you hand it. Code suits a product walkthrough, where the interface must be right. A generator suits people and places.
You can use both. Margerie's video lists four routes for Opus 5.5. One is a mixed pipeline, where generated clips sit under overlays that Claude composites in code.
Two other routes: no framework, or HyperFrames
You can skip Remotion. Citing another builder's post, Margerie's video says Claude Code with no framework installed writes plain code. That code draws each frame in a browser driven by Playwright, a tool that controls a browser from code. Then ffmpeg encodes the result.
HyperFrames is a framework from HeyGen, built for coding agents. It renders HTML and CSS to MP4 through headless Chrome and FFmpeg. It needs Node.js 22 or later. It runs under Apache 2.0 with "no per-render fees or commercial-use thresholds," and it installs as a Claude Code plugin. Remotion's free license stops at three people, and HyperFrames states no such limit.
From an empty folder to an MP4 in nine steps
Steps 2 to 5 use the commands in Remotion's Claude Code guide.
- Install Node.js and Claude Code. The guide warns that most coding agents need a paid subscription, so assume you need a paid Claude plan.
- Run
npx create-video --yes --blank my-video. - Run
cd my-video, thennpm install, thennpx remotion skills add. Remotion's skills page showsnpx skills add remotion-dev/skillsas another way in. - Run
npm run devto open Remotion Studio. - Open a second terminal in the same folder and start
claude. Choose Opus 5.5 with/model. Start at medium effort and raise it for complex scenes. - Copy your screenshots and logo into the project folder and give Claude their file names. Write the brief with one screen and one idea per scene. Write the first and last narration lines before the middle. A brief might read: "Make a 15-second 1920x1080 launch video at 30 fps for my app. Scene 1, seconds 0 to 3: the logo and one line of text. Scene 2, seconds 3 to 12: the dashboard screenshot with three callouts. Scene 3, seconds 12 to 15: the web address."
- Watch the preview and describe each fix in words. When something looks wrong, scrub to that frame and give Claude the frame number.
- Add the voice and the music. ElevenLabs' skills announcement lists a skill that walks you through setting up its API key. Then tell Claude to generate each line, place the audio file inside its scene, and play it in Studio. Regenerate any line that sounds wrong. For music, tell Claude to write a short track as code, or add a track you have the rights to use. Keep it low enough to sit under the voice. The case study used a volume of 0.12.
- Render a test with
npx remotion render MyComposition out/test.mp4 --frames=0-90, whereMyCompositionis the composition id in yoursrc/Root.tsx. Have Claude extract frames and describe them. Fix what it finds, then render the full file withnpx remotion render MyComposition out/video.mp4. With no output path, the render command writes to theoutfolder.
Start with five seconds and one scene. Read its frames before you write the next scene.
Sources
- Anthropic, Introducing Claude Opus 5.5
- Claude Platform docs, Models overview
- Claude Platform docs, Vision
- Claude Platform docs, Effort
- Claude Code docs, Model configuration
- Remotion docs, The fundamentals
- Remotion docs, Prompting videos with coding agents
- Remotion docs, Agent Skills
- Remotion docs, npx remotion render
- Remotion, License & Pricing
- HyperFrames, GitHub repository
- Google, Generate videos with Veo 3.1 in the Gemini API
- Google, Gemini Developer API pricing
- ElevenLabs, Text to Speech
- ElevenLabs, Agent Skills
- Build to Launch, MCP, Plugins, and Skills
- OpenReplay, Making Videos with Claude Code and Remotion
- Adeel Imran, How I built a production landing page video in 3 hours using Claude, Remotion, and ElevenLabs
- Ikjot Juneja, Claude + Remotion Unlocks UNLIMITED Cheap Video Generation
- Lukas Margerie, Claude Opus 5.5 Just Replaced My Motion Designer (YouTube)
- Eric Kang, How to Make Videos with Claude Opus 5.5: A Deterministic Render Pipeline (Hugging Face)
- haidrrrry, claude-remotion-skill (GitHub)