Wink Pings

One Prompt? The Eight-Layer Truth Behind Opus 5.5’s Viral Animation

Opus 5.5 has no video generator; every “one-prompt” video is actually code-rendered. A long post breaks down the full workflow: environment, prompt, references, springs, critique loop—not one can be missing.

seeco used a video generated by Opus 5.5 to blow up on Twitter. A cartoon figure stands on the Z key of a black keyboard, with big bright eyes and a smile, while its arms and legs are simple line drawings. The poster added only one sentence: One prompt in Opus 5.5, zero After Effects. It really doesn’t look real.

But don’t believe it too quickly. Opus 5.5 is the new model Anthropic released on September 22, and it has no ability to directly generate an MP4. Every “one-prompt” video you see is actually a piece of code written by the model, rendered frame by frame in a browser, then composited with ffmpeg. And a user named seeco breaks the whole thing into eight parts in this article.

1. Frame function: why Opus writes a program instead of writing a video

The core is a function: seek(t), which answers one question: what should be on screen at second t? A headless browser calls it 900 times, captures every frame of a 15-second video, and ffmpeg stitches them together. There are no timers, so frame 240 can be rendered independently without replaying the previous 239 frames. If a title appears too early, change one number and rerender.

Without extra constraints, Opus will choose the zero-dependency route: one index.html, Playwright frame-by-frame capture, ffmpeg encoding. Scenarios suited to this method are product ads, UI motion, data stories, typography, and launch-event openings. Photorealistic footage, complex characters, and organic motion still have to be handed over to video assets or video models.

2. Environment: why a chat interface alone gets you mediocre results

A chat app can write animation. But only an agent with shell permissions (such as Claude Code) can render, play back, and view the frames it just generated. This back-and-forth feedback is exactly the gap between a viral hit and “kind of average.”

Setting up an environment takes only about ten minutes:

brew install node ffmpeg python
pip install numpy librosa soundfile
mkdir motion-studio && cd motion-studio && npm init -y
npm i -D playwright && npx playwright install chromium
npx skills add remotion-dev/skills
npx skills add heygen-com/hyperframes
claude --model claude-opus-5-5

Then put a CLAUDE.md in the project root and write the rendering rules into it. For example, “window.seek(t) is only responsible for drawing frame t; nothing else may drive the picture,” “in render mode, CSS transitions, setTimeout, and requestAnimationFrame are forbidden,” and “use only seeded noise, never Math.random.” Also set visual bans: no centered gradient titles, no everything fading in, no corner labels, no glows on UI. Something new must appear on screen every 2 to 4 seconds.

Once written into CLAUDE.md, every run of Claude Code reads it automatically, so you don’t have to repeat it.

3. Prompt: why a “vibe prompt” leaves every decision unresolved

If you throw in only one line—“make a crazy product video”—the model will fill every blank with the safest defaults. That’s why you see so many centered gradient titles. But a well-crafted prompt is still useful; seeco recommends this one:

“Make a 15-second motion graphics video that shows what an incredible motion designer you are, like your personal reel. Go all out.”

The word “showreel” gives Opus a mature genre rulebook. By making the model itself the subject, there’s no product to get wrong. Fifteen seconds is exactly enough for 6 to 8 shots. Adding “go all out” at the end adds another layer above the xhigh effort level. But after you’ve used this to get the workflow running, you should move on, because hundreds or thousands of people have posted the same sentence and gotten reels that rhyme with one another. seeco calls this “prompt contagion.”

Once you’re selling a real product, the prompt has to become a production document. Thariq from the Claude Code team puts it bluntly: the post says one prompt, but what actually runs is 10k characters with skills, examples, and keys.

A positive example is Tony Dinh’s TypingMind promo. He added three more lines to the prompt: the product URL, must use real screenshots, must include music. Opus visited the site itself, gathered assets, and finished in under 30 minutes. A similar-level video a year ago cost him $1,200.

4. References: why every “single-prompt” video looks the same

If you don’t provide a visual grammar, Opus will use its own, and unrelated reels start to look like siblings. Rexan Wong went through dozens of viral videos and concluded: naming a style is more effective than describing one, and a single reference frame or short clip can convey rhythm, typography, and transitions all at once.

There are three ways to reference: one frame from a video you like; a short clip cut with ffmpeg; or a folder of your own past work. When using references, take only the visual grammar, not the subject, logo, or copy. The specific method is to have Opus extract frames every half second, then write a style_guide.md and shotlist.md.

One more warning: for product promos, Opus should grab real interface screenshots from the real website. If assets are missing, the agent should stop and ask, not draw a convincing fake image.

5. State list: why one shape that never cuts beats ten effects

“Scale, morph, add particles” is a list of actions, while a storyboard tells what the audience learns each second. That’s why the most-saved prompts come from an XML spec. @twoclipping used it to make a UI morph with 907K views and 19K saves; @verbove used the same structure to make MakerMap for a real product.

The idea is simple: one container continuously morphs in size, corner radius, and color; the cursor drives each change through real clicks; the final frame matches the first so the short can loop.

seeco also mentions NFT_Chen’s approach: first use Opus to write a fake video editor with a timeline, waveform, and export button, then choreograph the entire film inside that fake UI. The fake UI is like a film set, with the state of every element crystal clear.

6. Springs and sound: why cheap motion feels cheap

A fixed easing curve only slides from A to B. Motion with mass accelerates, slightly overshoots, then settles. A closed-form spring formula achieves that feel while keeping seek(t) deterministic. When a value continuously changes target—such as the cursor or container width—you should stack a spring on each change instead of restarting the whole animation.

Each type of object needs its own motion rules: small UI snaps quickly, panels settle calmly, the camera glides almost invisibly, titles drop heavily and hold long enough, the mascot bounces deliberately. If everything overshoots, nothing feels precise.

Sound and picture must be on the same clock. Rob Hallam initially thought the sound in the reel was added in post, but it was generated purely by code. @oozn’s Steve Jobs biopic used Node to synthesize the soundtrack, with 23 transitions locked to 120 BPM. If you use your own track, first extract the BPM and beats with librosa, land state changes on beats, put major moments on downbeats, and place clicks and whooshes on hits.

Blind-test method: close your eyes and listen to the audio. If it has no shape without the picture, the sound design isn’t done.

7. Critique: why Opus must look at its own frames

Opus 5.5 can read images, so it must inspect what it just rendered. This is the common thread across all viral videos.

@mablesjoseph’s watercolor short called the model 163 times over nearly 7 hours. Drew’s launch-day piece got 1.7 million views and you can still see cleanup traces. Don’t watch the full export ten times in a row with your eyes; use ffmpeg to generate evidence: a contact sheet (2 frames per second, 6 columns), strips of consecutive frames around fast motion, a 360px-wide phone test, a loop check, and a determinism check (render frame 300 twice; the hashes must match).

Then give Opus a task with teeth: look only at the rendered frames, not at what you intended to make. Score hook, mobile readability, motion, variety, audio sync, and brand accuracy. List the worst 3 defects with timestamps, evidence, and local fixes. After fixing, rerender those seconds and repeat until every item is 8 or above.

Common problems: overlapping text, elements that should ease are sliding, corner labels, blurry scaled text, a beat where nothing happens, and a hitch at the loop point.

8. Skills: why the next video should be one sentence

If the record of the film exists only in the chat history, it’s just a lottery win. Put decisions into files so the next run can read them. The motion-studio directory should contain brief.md, style_guide.md, shotlist.md, assets/, src/, reviews/, out/.

Overnight long runs need gates. seeco lists 6: references and assets approval; style guide and storyboard approval; stills for all shots plus critique; animatic with placeholder audio; full render; format and checks. The agent can work for hours between gates. A missing screenshot is a blocker; if the reference is unclear, ask—don’t render 900 frames that look good but are wrong.

Donald’s approach is called “generate then trace”: first have Seedance 2.5 render base shots (character and physics), then have Opus redraw the entire film in JavaScript on top, so the audience only sees the layer drawn by code. His 142-second music video had a prompt of about 9,500 characters; he slept for 5 hours and woke up to a finished video that ended up with 2.1 million views. John Heibel’s PDoom repo (1.1K stars) shows a subagent version: Opus writes an ANIMATION_GUIDE.md and hands it to a nine-chapter parallel workflow.

On format: every aspect ratio should be exported from the same timeline, not cropped from the middle of 16:9. Vertical uses larger type and fewer elements, square uses tighter holds, and widescreen uses more spatial context.

Package all of this into a skill, and the next video really does become one sentence:

/motion-reel [URL], 20s, vertical, reference ./refs/frame.png

Summary

seeco ends with a table summarizing the key points of the eight parts. The prompt accounts for only about one tenth of the result; everything else is the “harness” around it. The one iron law that cannot be bent: any frame must render independently, and be the same every time. Real product assets must be real. The critique loop is the one you’re tempted to skip, because the first render feels like progress—and every viral hit did this step.

The full PDF workflow is available here.

So, at which step would your workflow fail the contact sheet test?

发布时间: 2026-10-26 11:18