How to animate with Claude: 32 tested videos, real costs and what works
We gave Claude Opus 5.5 and Claude Sonnet 5.5 eight animation jobs, from a title card to a waving mascot, with a one-line prompt and a detailed one. Claude built every video in Claude Code with HyperFrames, and we rendered each at 4K. Here is every result, what it cost and which prompts worked.
Short answer
- Claude can animate. Run it in Claude Code with the free HyperFrames renderer: it writes the animation as code, and HyperFrames renders it to MP4. All 32 of our videos rendered at 4K, and 30 passed every core check.
- Use Sonnet, not Opus, for this kind of work. Quality was the same (3.50 against 3.53 out of 5), at about half the cost: $0.32 against $0.68 for a typical video.
- Expect polished, not studio-made. No video scored 5/5; the best scored 4: ready to post for a small business.
- Prompt for what must be right. Detailed prompts hit the spec almost every time; one-line prompts looked better because Claude designs more. Combine the two: exact text, numbers and timing, plus a clear description of the look.
- Claude Motion, Anthropic's built-in animation beta, is Team and Enterprise only. We didn't test it.
Results at a glance
| Brief | Sonnet · one line | Opus · one line | Sonnet · detailed | Opus · detailed | Average |
|---|---|---|---|---|---|
| Title card | 4 · $0.21 | 4 · $0.78 | 4 · $0.23 | 4 · $0.35 | 4 |
| Logo reveal | 4 · $0.33 | 4 · $0.71 | 3 · $0.33 | 3 · $0.37 | 3.5 |
| Bar chart | 4 · $0.28 | 4 · $0.63 | 3.5 · $0.24 | 3.5 · $0.65 | 3.8 |
| App demo | 3 · $1.30 | 4 · $3.56 | 3 ⚠ · $0.83 | 3 ⚠ · $0.92 | 3.2 |
| 3-step diagram | 4 · $0.53 | 4 · $1.86 | 3 · $0.32 | 3.5 · $0.94 | 3.6 |
| Seamless loop | 3.5 · $0.16 | 3 · $0.55 | 3 · $0.15 | 3.5 · $0.43 | 3.2 |
| Lower third | 3 · $0.32 | 3 · $0.55 | 4 · $0.25 | 3 · $0.57 | 3.2 |
| Mascot wave | 4 · $0.39 | 4 · $1.03 | 3 · $0.52 | 3 · $0.85 | 3.5 |
Quality out of 5 from two blind reviewers ("Would a small business post this as is?" 1 = broken, 3 = usable but generic, 5 = looks studio-made), then the cost of that video including fix rounds. ⚠ = still fails a core check. Click a brief to watch all four versions.
3.50 vs 3.53
Average quality, Sonnet 5.5 vs Opus 5.5 (16 videos each)
$0.32 vs $0.68
Typical cost per finished video, Sonnet vs Opus
3.72 vs 3.31
Average quality, one-line vs detailed prompts
68 of 68
Spec checks the detailed prompts passed (where reviewers could judge)
Three ways to animate with Claude
| Route | What you need | What you get | Tested here? |
|---|---|---|---|
| Claude Code + HyperFrames | Claude Code with a Claude plan or API key, Node.js, the free HyperFrames CLI | An editable HTML project and an MP4 (or transparent MOV) at up to 4K | Yes: all 32 videos |
| Claude Motion (beta) | A Claude Team or Enterprise plan | Short animations you edit in chat and export as MP4 | No. See our Claude Motion guide |
| Claude Code + Remotion | A React project with Remotion | React-based video compositions | No |
Setup: Claude Code + HyperFrames
- Install Claude Code from Anthropic and sign in, and make sure Node.js is installed.
- Start a project. In a terminal, run
npx hyperframes init my-video. It creates a blank 1920×1080 project and installs the HyperFrames skills that teach Claude how the renderer works. We used version 0.9.6. - Open Claude Code in that folder (
cd my-video, thenclaude) and paste your brief. Ask it to stop oncenpx hyperframes checkpasses and it has looked at snapshots. - Preview with
npx hyperframes preview, then ask for changes in plain words with timestamps (see fixing a render). - Render at 4K with
npx hyperframes render --resolution 4k. The layout stays the same; it is drawn at twice the pixel density.
One tip from our runs: Claude Code reads instruction files (CLAUDE.md) from every parent folder of your project. If you keep personal rules in your home folder, they will shape the animation too.
What we learned: 7 tips
- Pick Sonnet. It matched Opus on quality across all 8 briefs at roughly half the cost and in less time (median 91.0 s of agent time against 154.0 s).
- Spell out what must be exact: wording, numbers, brand colours and timing. Every chart got its data right, and detailed prompts passed 68 of 68 judgeable spec checks.
- Then describe the look, or leave it open. Our detailed specs were plain, and so were the results (average 3.31). Given one line, Claude added glows, motifs and camera moves (average 3.72).
- Size things relative to the frame. The most common reviewer note on detailed versions was "small in frame". Say "the title fills about 60% of the width" instead of giving pixel sizes for a tiny lockup.
- Give app demos big text and room. App demos were the weakest brief: tiny UI text, and captions colliding with the window. Ask for UI text that is readable on a phone and "caption below the window, never overlapping it".
- Fix with timestamps, in plain words. One short message fixed every problem the fix rounds targeted (see below). But fixes repair mistakes; they didn't raise the quality scores.
- Batch your fixes. Each fix re-reads the whole session, so a fix on a big project can cost as much as the first attempt ($1.28 for one Opus fix). List every problem in one message.
All 32 videos
Each brief ran four ways: Sonnet 5.5 and Opus 5.5, with a one-line prompt and a detailed prompt. Videos load when you press play; each is a 3840×2160 copy for the web (about 12 Mbps).
Title card (8 s)
The easiest brief: every version scored 4. With the detailed prompt, Sonnet and Opus made almost the same video. With one line, both invented an orbit motif with rings and dots.
One-line prompt
Make an 8-second animated title card that says ORBIT NOTES with the tagline "Write once. Find anything."
Detailed prompt
Make an 8-second animated title card, 1920x1080 at 30 fps. - Background: flat #0E1116 the whole time. - 0.0-1.2 s: the letters of ORBIT NOTES (Inter, weight 800, 180 px, colour #F5F3EE, letter-spacing 0.04em) rise 60 px into place one at a time, 40 ms apart, ease power3.out. - 1.2-1.6 s: a 6 px #FF6B3D underline draws left to right under the title, full title width. - 1.8-2.6 s: the tagline "Write once. Find anything." (Inter 500, 54 px, #9AA4B2) fades in while rising 20 px. - 2.6-6.8 s: hold; the whole lockup scales slowly from 1.00 to 1.03 (sine.inOut). - 6.8-7.6 s: everything exits upward 40 px while fading out, letters in reverse order. - 7.6-8.0 s: empty background. The lockup is centred in the frame.
Core checks every version had to pass
- Title reads exactly ORBIT NOTES and the tagline reads exactly "Write once. Find anything." (no typos, no missing words)
- At the hold, all text is fully on screen, legible, and nothing overlaps or is cut off
- Text visibly animates in at the start and out (or resolves cleanly) at the end; it is not a static slide
- No glitches: no flashes, jumps, stray elements, or blank frames other than intended empty background
- Video is 8 s long (plus or minus 0.2 s)
Logo reveal (6 s)
One-line versions scored higher (4 against 3). Left free, Claude designed a richer mark; the detailed versions matched our spec exactly, but our spec was a small lockup on a flat background, so they looked bare.
One-line prompt
Make a 6-second logo reveal for Orbit Notes.
Detailed prompt
Make a 6-second logo reveal for Orbit Notes, 1920x1080 at 30 fps. - Background: flat #0E1116. - The logo: a 140 px circle outline (8 px stroke, #F5F3EE) with a 28 px filled #FF6B3D dot on the circle, and the wordmark "Orbit Notes" (Inter 700, 96 px, #F5F3EE) to the right of the circle with a 40 px gap. The whole lockup is centred. - 0.0-0.8 s: the circle stroke draws on clockwise from the top (power2.inOut). - 0.8-1.6 s: the orange dot appears at the top of the circle and travels one full orbit, ending at the top (power1.inOut). - 1.4-2.2 s: the wordmark slides in 30 px from the left while fading in, as if coming out from behind the circle. - 2.2-5.2 s: hold; the dot pulses (scale 1 to 1.15 and back) once at 3.0 s. - 5.2-6.0 s: the whole lockup fades out to the empty background.
Core checks every version had to pass
- The name reads exactly "Orbit Notes" (any capitalisation), no typos
- There is a logo mark or symbol, not only text
- The logo visibly animates in; it is not a static slide
- At the hold, the lockup is fully on screen, legible, nothing overlapping or cut off
- No glitches: no flashes, jumps, stray elements or unintended blank frames
- Video is 6 s long (plus or minus 0.2 s)
Bar chart (10 s)
Every version drew the data correctly: right order, right heights, right labels. The one-line versions chose a dark theme and looked more polished; the detailed versions followed our white-background spec but sat small on the left.
One-line prompt
Make a 10-second animated bar chart of monthly active users: Jan 12k, Feb 15k, Mar 21k, Apr 19k, May 27k, Jun 34k.
Detailed prompt
Make a 10-second animated bar chart, 1920x1080 at 30 fps. - Background: white #FFFFFF. Title at the top-left, 120 px from the left and top edges: "Monthly active users, 2026" (Inter 700, 56 px, #0E1116). - Six vertical bars: Jan 12k, Feb 15k, Mar 21k, Apr 19k, May 27k, Jun 34k. Bars 140 px wide, 60 px apart, colour #4C6FFF, except Jun in #FF6B3D. Month labels under each bar. - Y axis from 0 to 40k, gridlines at 10k, 20k, 30k and 40k (2 px, #E3E6EC) with labels. - 0.0-0.8 s: title fades in. - 0.8-1.4 s: axis and gridlines draw on. - 1.4-4.4 s: bars grow from zero to their values one after another, starting 0.3 s apart, each taking 0.9 s (power2.out). Each bar's value label (for example "21k") counts up above it. - 4.8-5.6 s: an arrow and the note "+183% since Jan" appear next to the Jun bar. - 5.6-10.0 s: hold.
Core checks every version had to pass
- Six bars for Jan, Feb, Mar, Apr, May, Jun, in that order
- Bar heights match the data: Jan shortest, Jun tallest, Apr shorter than Mar, May between Apr and Jun
- Any value labels shown are correct (12k, 15k, 21k, 19k, 27k, 34k); no wrong numbers anywhere
- Bars visibly animate (grow or build); not a static chart
- All text legible; nothing overlapping or cut off
- No glitches: no flashes, jumps or stray elements
- Video is 10 s long (plus or minus 0.2 s)
App demo (12 s)
The weakest brief. Both detailed versions still fail a core check (a caption colliding with the window; a stray list item), and the app text came out tiny. The one-line Opus version invented extra features and scored 4, but cost $3.56 after two fix rounds.
One-line prompt
Make a 12-second product demo animation for a notes app called Orbit Notes that shows how its search works.
Detailed prompt
Make a 12-second product demo for a notes app called Orbit Notes, 1920x1080 at 30 fps. Draw the app UI yourself (no screenshots). - Background #E9ECF2. App window 1440x860 centred, white, 20 px corner radius, soft shadow. Left sidebar 360 px wide with a search box at the top and these 5 note titles: "Team standup", "March invoice - Acme Studio", "Trip packing list", "Invoice template", "Book ideas". Right pane shows an empty-state line "Select a note". - 0.0-1.0 s: window fades in while scaling from 0.94 to 1. - 1.0-2.0 s: a black arrow cursor moves from the bottom-right of the frame to the search box (power2.inOut); at 2.0 s a click ripple. - 2.0-3.6 s: "invoice" is typed into the search box one letter at a time with a caret. - 3.6-4.4 s: the 3 non-matching notes collapse out; "March invoice - Acme Studio" and "Invoice template" stay, with the matched word highlighted #FFE08A. - 4.6-5.6 s: cursor moves to "March invoice - Acme Studio"; click at 5.6 s. - 5.6-6.6 s: the note opens in the right pane (slides in 40 px and fades): title "March invoice - Acme Studio", then three lines: "Design sprint, 3 days", "Amount due: $2,400", "Due March 31". - 6.8-9.5 s: the camera pushes in from 1.0 to 1.25, centred on "Amount due: $2,400". - 9.5-12.0 s: camera pulls back to 1.0 and a caption "Find anything in seconds." (Inter 600, 64 px, #0E1116) fades up below the window; hold to the end.
Core checks every version had to pass
- It clearly shows a notes app UI named Orbit Notes (name visible somewhere)
- A search is visibly performed: text is entered into a search field
- The note list visibly changes in response to the search
- A note is opened and its content is shown
- All UI text is legible; no overlapping, clipped or overflowing UI elements
- No glitches: no flashes, jumps, stray elements or broken layout
- Video is 12 s long (plus or minus 0.2 s)
3-step diagram (12 s)
One-line versions scored 4; detailed versions were accurate but small in a mostly empty frame. A note card covering text was the main thing fix rounds had to clear.
One-line prompt
Make a 12-second explainer animation showing how Orbit Notes syncs: you write on your phone, it saves to the cloud, it appears on your laptop.
Detailed prompt
Make a 12-second explainer animation, 1920x1080 at 30 fps. - Background #F7F8FA. Three simple line icons in a row, centred vertically, 480 px apart: a phone (left), a cloud (centre), a laptop (right). Each 200 px tall, 6 px stroke, #0E1116. Labels under each (Inter 600, 36 px): "Write on your phone", "Saved to the cloud", "Open on your laptop". - 0.0-1.5 s: the phone draws on and its label fades in. - 1.5-3.0 s: three short lines type in on the phone screen, like a note. - 3.0-4.5 s: a dashed #4C6FFF arrow draws from the phone to where the cloud will be, with a small note card travelling along it. - 4.5-5.5 s: the cloud draws on with its label and pulses once when the card arrives. - 5.5-7.0 s: a dashed arrow draws from the cloud to the laptop, with the card travelling along it. - 7.0-8.5 s: the laptop draws on with its label, and the same three lines appear on its screen. - 8.5-9.5 s: a green #2BB673 check mark pops in on the laptop. - 9.5-12.0 s: hold; the caption "Your notes, everywhere." (Inter 700, 64 px) fades in at the top.
Core checks every version had to pass
- Three stages are shown and recognisable: phone, cloud, laptop
- The story goes phone, then cloud, then laptop
- Something visibly travels from the phone to the cloud to the laptop
- All text legible; nothing overlapping or cut off
- No glitches: no flashes, jumps, broken drawings or stray elements
- Video is 12 s long (plus or minus 0.2 s)
Seamless loop (6 s)
All four loops measured seamless: the jump from the last frame back to the first was no bigger than a normal frame step. Reviewers found them pleasant but generic; the faint ring we asked for barely shows.
One-line prompt
Make a 6-second seamless looping abstract background in deep blue and orange.
Detailed prompt
Make a 6-second seamless looping background, 1920x1080 at 30 fps. No text. - Background: vertical gradient from #0B1530 (top) to #12224A (bottom). - Five soft blurred circles (radius 180-320 px): three deep blue #2A4BD7 and two orange #FF6B3D, each at 60% opacity. Each drifts along its own closed elliptical path and completes exactly one full cycle in 6 s, so the frame at 6.0 s is identical to the frame at 0.0 s. - In the centre, a thin 2 px ring (white at 15% opacity), 700 px wide, rotates exactly 360 degrees over the 6 s.
Core checks every version had to pass
- Deep blue and orange are both clearly present
- Something moves the whole time; no frozen stretch
- The last frame matches the first, so it loops without a visible jump (use the measured seam number)
- No text, logos or watermarks
- No glitches, hard edges cutting off shapes, or flashes
- Video is 6 s long (plus or minus 0.2 s)
Lower third (6 s)
Every version has a truly transparent background (fully clear corners in the 4K alpha master). The one-line Sonnet version clipped the “y” in Maya on entry until one fix round. All four read small and plain.
One-line prompt
Make a 6-second lower-third name caption for "Maya Chen, Product Lead" on a transparent background.
Detailed prompt
Make a 6-second lower third on a fully transparent background, 1920x1080 at 30 fps. - Bottom-left, 120 px from the left edge and 150 px from the bottom: a #0E1116 bar at 92% opacity with 12 px rounded corners, sized to the text with 32 px padding, and an 8 px #FF6B3D accent strip on its left edge. - Text: "Maya Chen" (Inter 700, 56 px, #FFFFFF) and below it "Product Lead" (Inter 500, 34 px, #C9CED8). - 0.0-0.5 s: the accent strip grows upward from nothing to full height. - 0.4-0.9 s: the bar wipes open from the strip, left to right. - 0.7-1.2 s: the name slides in 20 px from the left while fading in; 0.9-1.4 s the title does the same. - 1.4-4.8 s: hold. - 4.8-5.4 s: everything wipes out to the left, in reverse order. - 5.4-6.0 s: empty and fully transparent.
Core checks every version had to pass
- Text reads exactly "Maya Chen" and "Product Lead"
- The background is transparent (checkerboard shows through); no full-frame solid background
- The graphic sits in the lower part of the frame and leaves the centre clear
- It animates in and animates out
- Text legible against its own backing; nothing cut off
- Video is 6 s long (plus or minus 0.2 s)
Mascot wave (6 s)
The character brief we expected to fail held up: all four mascots stayed intact, with no detached limbs. The one-line versions (both chose a yellow mascot) scored 4; the detailed blue versions scored 3.
One-line prompt
Make a 6-second animation of a cute round mascot that waves hello.
Detailed prompt
Make a 6-second character animation, 1920x1080 at 30 fps. - Background #FFF4E0. The mascot, Orbi: a round body 360 px wide in #4C6FFF, two white oval eyes with black pupils, a small smile, two short stubby arms and two small feet. It stands centred on a soft shadow ellipse. - 0.0-1.0 s: Orbi drops in from above, squashes on landing (scaleY 0.8, scaleX 1.15) and springs back. - 1.0-1.6 s: it settles with a small bounce. - 1.6-4.0 s: Orbi raises its right arm and waves three times (the arm rotates around the shoulder by about 25 degrees each way), leaning its body slightly with each wave. It blinks once at 2.5 s. - 4.0-4.6 s: the arm lowers. - 4.6-6.0 s: a small happy hop, landing back on the shadow, which shrinks while Orbi is in the air.
Core checks every version had to pass
- One round mascot with a face (eyes and mouth)
- It waves: an arm is visibly raised and in different positions across the stills
- Body parts stay attached and on-model: no detached, floating or broken limbs or faces
- The character moves as a character (bounce, lean or hop), not just sliding
- No glitches, flashes or stray elements
- Video is 6 s long (plus or minus 0.2 s)
Fixing a render
An independent reviewer looked at each first render and, where a core check clearly failed, sent Claude one plain message like a client would. 6 of 32 videos needed it. Real examples:
- “The app name Orbit Notes doesn't appear anywhere in the video. Show it in the app window so viewers know which app this is. Keep everything else the same.” Sonnet, app demo: fixed in 43 s for $0.32
- “Around 0.75 seconds, as the name box appears, the bottom of the ‘y’ in “Maya” is cut off… Please fix the entrance so the full name shows with nothing clipped.” Sonnet, lower third: fixed for $0.09
- “At about 3.25 s [the note card] appears on top of the phone's note and covers the words…” Opus, diagram: fixed for $0.83
Export settings that keep 4K quality
HyperFrames' MP4 encoder can produce a low bitrate on mostly still graphics: one of our first 4K renders came out at 5.6 Mbps. For a high-quality master, render lossless frames and encode them yourself:
npx hyperframes render . --resolution 4k --format png-sequence --fps 30 -o frames
ffmpeg -framerate 30 -i frames/frame_%06d.png -c:v libx264 -preset slow -pix_fmt yuv420p \
-b:v 50M -minrate 50M -maxrate 50M -bufsize 100M -x264-params nal-hrd=cbr -movflags +faststart master.mp4
That gave us 48–53 Mbps 4K masters. For a transparent overlay such as a lower third, encode the same frames to ProRes 4444 (-c:v prores_ks -profile:v 4444 -pix_fmt yuva444p10le master.mov) to keep the alpha channel.
How we tested
- Briefs: 8 jobs for a made-up notes app, “Orbit Notes”. Each job had one-line and detailed prompts, plus pass/fail checks written before any run.
- Runs: one run per brief, model and prompt style, in Claude Code (headless) through OpenRouter, each in a fresh HyperFrames 0.9.6 project with no personal instructions. Claude Opus 5.5 lists at $4 per million input tokens and $20 per million output; Sonnet 5.5 at $2 and $10 (OpenRouter, read November 8, 2026).
- Fix rounds: an independent Claude Sonnet reviewer looked at 4K stills after each round and sent a plain-words fix message for clear failures, up to 3 rounds.
- Scoring: two blind reviewers scored contact sheets (a still every 0.5 s) with model and prompt style hidden. They agreed on 417 of 426 checks; where they disagreed, the check counts as unclear.
- Limits: the reviewers are AI models (Claude) judging still frames, so smoothness and easing aren't scored. Each cell is a single run, so small gaps between single videos are noise; the averages over 16 videos matter more. Total cost: $23.07, including one discarded run and the reviews.
Questions
Can Claude make animations?
Yes. Claude can't output video directly, but in Claude Code it writes HTML animation code that a renderer such as HyperFrames turns into an MP4. In our test, 32 of 32 videos rendered at 4K, and 30 of 32 passed every core check after fix rounds.
Is Claude Opus better than Sonnet for animation?
Not in our test. Average quality was 3.53/5 for Opus 5.5 and 3.50/5 for Sonnet 5.5 over 16 videos each, while a typical Opus video cost $0.68 against $0.32 for Sonnet. Opus made bolder choices from one-line prompts, but reviewers didn't rate it higher on average.
How much does it cost to animate with Claude?
In our test, a typical finished video (6 to 12 seconds) cost $0.32 with Sonnet 5.5 and $0.68 with Opus 5.5 at OpenRouter API prices, including fix rounds. The cheapest was $0.15 and the most expensive $3.56. All 32 videos plus the reviews cost $23.07.
Should I write a detailed prompt or a short one?
Both have a place. Detailed prompts passed 68 of 68 spec checks we could judge, so they give you control, and they cost less (median $0.40 against $0.55). But one-line prompts looked better on average (3.72 against 3.31), because Claude adds its own design. Pin down what must be right, then describe the look just as precisely, or leave it open.
Can Claude animate characters?
Simple ones, yes. All four mascot videos stayed on-model with no detached limbs, and the one-line versions scored 4/5. That was a round cartoon character waving for 6 seconds, not character animation in general.
Does Claude make studio-quality animation?
Not in our test. No video scored 5/5 (“looks studio-made”); the best scored 4, meaning polished and postable as is. Think of it as a capable in-house designer for title cards, charts, explainers and loops.
What is Claude Motion?
Claude Motion is Anthropic's beta for turning text, charts and images into short editable animations inside Claude. Our Claude Motion page says it is on Team and Enterprise plans only. We haven't tested it; this guide tests Claude Code with HyperFrames, which anyone with API access can use.
Sources and further reading
- HyperFrames CLI 0.9.6 and its documentation at hyperframes.heygen.com (used November 8, 2026).
- OpenRouter model list and prices for Claude Opus 5.5 and Sonnet 5.5, read November 8, 2026.
- Kingy AI, Claude Dashboards & Motion: Access, Pricing & Setup, for Claude Motion plans and sources.
- For a showcase of what Opus can do with careful prompting, see Florence's Opus 5.5 Motion Lab (September 30, 2026).
Every video on this page is code-rendered animation made by Claude for this test, not filmed footage. Orbit Notes is fictional.