Skip to content
DAvibe-codedmotion

The motion hype is old tech with a new director

The feed is full of 'After Effects is dead' clips. We gave Opus 5.5 and GPT-6-Astra the same brief to find out what's actually new. Spoiler: not the tech.

Sunday evening, on the couch, I shared five links from X to my agent inbox. All five were about the same thing: motion. Animated explainers, 3D loops, music videos — each one captioned made by Claude Opus 5.5.

The top one had 644,000 views and read:

You no longer need After Effects if you use Claude Opus 5.5 correctly. It's f*cking unreal… Send PDF below to Opus 5.5, and thank me later.

My note to myself said "Make something impressive for agentics.dk". On Monday we picked it up.

What's actually going on

Before building anything, I asked Claude to work out why motion is suddenly everywhere. Is it a new model that can do something new? Or a framework?

Short answer: it's not a video model. It's code.

  • Opus 5.5 shipped on September 22, and the wave of "made with Opus 5.5" clips started right after. Anthropic didn't pitch it as a motion tool — the reputation was built by people posting demos.
  • Claude Motion launched on October 8 in beta for Team and Enterprise. You type /motion, Claude writes code that animates text, charts and shapes, and you download an MP4. Anthropic says it plainly: there's no video generation model, "so there's no generated footage and no AI-generated people".
  • The frameworks grew agent skills. Remotion (React → MP4), HeyGen's HyperFrames (HTML + GSAP) and three.js for 3D all ship recipes a coding agent can follow.

And this is where I stopped: Remotion has been around since 2021. We've used it on this very blog, and we've experimented with Lottie. Animation as code, rendered frame by frame to an MP4, is not new.

So what's everyone so excited about?

"One prompt" is a myth — almost

Behind the link was an article: Opus 5.5 Motion Lab. It was more honest than the post. Every animation came with its prompt and every follow-up. One clip took 10 follow-ups. The most-viewed music video in the feed was "five minutes of talking and a 12-hour run".

The interesting part wasn't the clip. It was the method: no fixes by gut feeling. Everything was measured — single-frame stills, timing tables, the decoded audio. The model can't hear, so the sound was timed from frame numbers and corrected by measuring.

I wanted to test that.

The experiment: same brief, two models

Here's what I typed to Claude (in Danish, typos and all):

human prompt
3 lines2026-10-12 19:03
samlebånd kune være et fint, og lad os bare lave det som en html side her til mig først før vi bekymre os om at få det ind på agentics.dk. Jeg er nysgerrig på at forstå hvad vi kan (det er meget hyped lige nu med motion) - så jeg er mest intereseret i at se hvad vi kan. Du kan overveje at give opgaven til både opus 5.5 og codex med en astra model.

Claude wrote a brief and launched two agents in separate tmux sessions — Claude Opus 5.5 in Claude Code and GPT-6-Astra in Codex, with exactly the same text. The subject was an assembly line: work enters, passes through stations, waits at a human approval gate and comes out finished. The requirements: one HTML page, an 8–12 second loop, sound synthesized in code, and the animation had to be seekable to an exact moment so the agent could take its own stills and fix things from them.

tmux-orchestratormotion-opus + motion-astra
91 lines

Motion Lab: "The Assembly Line" — a code-only motion piece for Agentics

You are a motion designer who works only in code. Build ONE short, looping, studio-quality animation as a self-contained HTML page. This is an experiment to see how far a coding agent can push motion design right now — aim for something that would make a designer stop scrolling, not a tech demo.

Background (why this exists)

A viral post claims Claude Opus 5.5 replaces After Effects. The credible version of that claim ("Opus 5.5 Motion Lab", @flxrnc) is: everything is code (three.js / shaders / canvas), rendered deterministically frame-by-frame, sound synthesized with the Web Audio API and timed from frame numbers — and every correction comes from measuring (frame stills, timing tables, decoded audio), never from guessing. We want to see what you can do with the same discipline.

The subject

Agentics (agentics.dk) runs assembly lines for AI coding agents: work enters a line, passes through a sequence of stations (each station is an agent doing one job — e.g. brief → design → build → review → ship), gates can hold work for human approval, and a finished artifact comes out the end.

Animate that idea. Suggested story (you may improve it, but keep it readable in one viewing): a raw piece of work enters, travels station to station, each station visibly transforms it (it gets more structured / refined / assembled), a gate pauses it for a beat and opens, and a finished, polished artifact emerges — then the loop closes seamlessly back to the start. Apply the classic principles: anticipation, squash & stretch, overlapping action, follow-through, arcs, easing. Make the motion feel good.

Brand

  • Read agentics-design-system/ (README.md, tokens/, logo/, characters/) for colors, typography and the logo. Brand orange is #f87f2e — never generic Tailwind orange.
  • The Agentics mark is >|. Using it (e.g. as the agent/station glyph or the end card) is welcome.
  • Calm, premium, light or dark is your call — but intentional.

Deliverable

Write everything inside your lane directory (given below):

  1. index.html — the piece. Opens directly in a browser. Requirements:
    • Loops seamlessly, 8–12 seconds.
    • Plays on load (silent). A small, tasteful "sound on" control enables audio — browsers block autoplaying sound.
    • Deterministic time control: the animation must be a pure function of time t. Expose window.seek(t) (seconds, pauses playback and renders exactly that moment) and support ?t=3.25 in the URL. This is what makes frame-accurate verification possible.
    • Sound synthesized in code with the Web Audio API (no sample files), each hit tied to the frame of the visual event it belongs to.
    • Responsive: looks right in a square and a 16:9 viewport.
    • External libraries ONLY from pinned exact-version URLs on https://cdnjs.cloudflare.com or https://cdn.jsdelivr.net/npm/ (e.g. three.js) — everything else inline. No other network requests, no local asset files other than what is inlined.
  2. NOTES.md — your lab notebook, in English, with "receipts":
    • The concept and choreography (a beat sheet with timestamps).
    • Every iteration: what you measured, what was wrong, what you changed. Be honest — include the failures.
    • Final timings, what you're proud of, what you'd do with more time.

Method — verify by measuring

  • Use Playwright (Node playwright is available via npx; Chromium browsers are installed in ~/.cache/ms-playwright) to load the page with ?t=… / seek() and capture stills at key beats and around every transition and the loop seam (last frame vs first frame must match). Look at the stills yourself and critique them like a director.
  • Check the loop seam and the sync between sound events and visual events numerically.
  • Do at least 4 rounds of capture → critique → fix. Stop when it is genuinely good, or after ~10 rounds.
  • Put ALL captured stills, contact sheets, and any rendered video in your capture directory (given below) — NOT in the lane directory and NOT in /tmp (/tmp is RAM here).
  • Optional but welcome: render a ~10 s mp4 preview into the capture directory with ffmpeg from captured frames (keep it modest: ≤ 1080p, 30–60 fps).

Hard rules

  • Only write inside your lane directory and your capture directory. Read anything you like.
  • Do not start, stop or touch Aspire, Docker, or any running services.
  • If you hit the same wall 3 times, stop and write down what you tried in NOTES.md.
  • Do NOT run git add or git commit. The parent reviews and owns git operations.

Stopping condition

When done: print DONE, list the files you wrote, and give a 5-line summary of the result and how many iterations it took. Then stop.

Your directories

  • Lane directory: /workspaces/agentic-live-www/sandbox/motion-lab/opus/
  • Capture directory: /workspaces/bulkdata/motion-lab/opus/
  • Repository root (read-only for you except the above): /workspaces/agentic-live-www
index.html + NOTES.md, DONE

Note: from my side, this really was one prompt. I didn't send either of them another message until they were done.

The result

Same brief, two models
Claude Opus 5.5Claude Code

Particles that become text, a wireframe, a card and a polished product. The approval is a blinking cursor that turns into >|.

Time
~37 min
Rounds
7
Sound
42 events
GPT-6-AstraCodex

Isometric machine blocks. Seven orange pieces become a sheet, a layout and an app window. The approval is an orange sliding door.

Time
~16 min
Rounds
6
Sound
7 events

Both are pure code (Canvas 2D + Web Audio), rendered frame by frame. The Opus clip shows two loops. Astra rendered its preview at 1280×720.

Two very different takes on the same brief.

Astra made a calm, almost sculptural piece: isometric machine blocks, seven orange pieces that become a sheet, a layout, an app window, and an orange sliding door at the approval gate. Neat, tight, correct. More illustration than film.

Opus went cinematic: light cones from every station, film grain, motion blur, a camera punch when the work gets stamped. And one idea I didn't see coming. The approval gate is a giant blinking cursor — a prompt waiting for input. When the human approves, the > slides in and completes >|. Our logo suddenly becomes the point.

Opus wrote in its own notebook: "I didn't invent a metaphor; the logo already was one."

The receipts are the interesting part

Both agents kept a notebook for every round. That's where you see what has actually moved. A sample of bugs they found entirely on their own:

  • Astra measured that the stamp motion peaked 48 ms before its frame. That a colour change snapped on a boolean threshold instead of blending. That the audio could replay stale hits after muting. And that its own test was failing falsely, because it measured before the window had finished resizing.
  • Opus measured that the background light "teleported" at the loop seam — 36.3 dB against a normal 41.9 dB between two frames. That a waiting tone landed on a frame where the gate was dark. And that the loose particle cloud visually reached the first station 23 frames before the sound of it landing. The tables couldn't catch that one, because sound and picture came from the same numbers — so Opus wrote a tool that read pixels to get an independent measurement.
Opus 5.5GPT-6-Astra
Unattended time~37 min~16 min
Fix rounds76
Sound events42, max 11 ms off picture7, under 0.05 ms off picture
Code~1,100 readable lines~120 very dense lines
Captures along the way935 MB212 MB

Neither nailed the animation principles on the first try. Both got there by measuring their own work.

So what's new?

Not the tech. Canvas, Web Audio, Playwright and ffmpeg have been around for ages, and Remotion does the same job more elegantly.

What's new is that the model has become its own director. It takes stills, looks at them like a director would, finds the flaw, fixes it and measures again — six or seven times, without stalling and without me having to say "frame 84 peaks late". I used to be that loop. Now I write the brief and pick between two takes.

And then there's taste. Turning the approval gate into a waiting cursor isn't technique. It's an idea.

"After Effects is dead" is marketing on known tech. "Remotion with a better director" doesn't sell as well — but it's what actually happened.

The next experiment is obvious: the same brief through Remotion, to see whether the framework or the director matters more.