← All videos

1280×720 · 16:9 landscape HTML Single-file HTML + GSAP (seek-driven)

Run log

ModelClaude (agent build)
Renderer / stackSingle-file HTML + GSAP (seek-driven)
Iterations to final1
Render time21s (final render)
Format1280×720 · 16:9 landscape
Published2026-10-25

What broke (and the fix)

  • Nothing broke — check passed first try and the first render shipped.
Original prompt Tested

Waitlist video — HTML/GSAP prompt (milestone counter + email capture)

by MotionPrompts (own run)
Launch video

Prompt

Banned list —Beat grid —Build method —Self-review —
<direction> An 8-second pre-launch waitlist film as a single self-contained HTML page driven by GSAP (1280x720, 30fps, seek-driven timeline). House style: near-black #0a0a0a background, panels #141414, borders #2a2a2a, text #ffffff/#c9c9c9, ONE accent #ff5c1a, Arial/Helvetica bold, no webfonts. This run's accent: #ff5c1a. The film sells restraint: a milestone counter, one email field, and a no-spam pledge. Fictional product; the count is labelled a sample in the film. No gradients, no stock photos, no real brand logos, no lorem ipsum, no purple/blue tech gradient. </direction> <structure> 0.0-2.0s — Kicker "WAITLIST FILM — Orbit Post". "SOMETHING'S COMING" in small caps, then the wordmark slams in, tagline under it. 2.0-4.4s — A waitlist card: the counter animates 9,412 → 10,000 under the label "ON THE WAITLIST — SAMPLE COUNT", a progress bar fills to the end, and the line "Spot #10,000 could be yours" sets the hook. 4.4-6.4s — An email field types "you@studio.com" character by character next to the "JOIN THE WAITLIST" pill; the pill presses (scale dip) as the last character lands. Caption: "ONE EMAIL AT LAUNCH — THAT'S THE WHOLE DEAL". 6.4-8.0s — The pledge card: "NO DATE PROMISED. NO SPAM. ONE EMAIL." + the fictional-product fine print. </structure> <build> One paused GSAP timeline registered on window.__timelines["main"]; the host captures by seeking, so no wall-clock logic. Typing = a tween on an object whose onUpdate slices the string. Counter = object tween with toLocaleString formatting in onUpdate. </build> <gotchas> - Write the product name in caps directly in the copy (Orbit Post is a reminder, not a transform) — no CSS text-transform tricks that desync from the seek capture. - The sample-count label is part of the film, not the page: a repost of the raw video must still be honest. - Keep the caret visible after typing finishes; a blinking caret needs a stepped tween, not a CSS animation. </gotchas> Before you finish: step through the timeline at five points and fix anything that overlaps, clips the frame, or drifts off the beat grid.

Use this prompt

Tested verbatim. The restraint IS the pitch here — the pledge card ('no date promised') converts better than fake urgency for most real waitlists.

Related videos

Remotion pricing promo prompt — plan cards
Remotion pricing promo prompt — plan cards
Remotion·Landscape Tested
AI showreel prompt for a business — Opus 5.5 style, tested
AI showreel prompt for a business — Opus 5.5 style, tested
HyperFrames·Landscape Tested
AI showreel prompt for a product — square cut
AI showreel prompt for a product — square cut
HyperFrames·Square Tested
Claude motion graphics prompt — business promo video
Claude motion graphics prompt — business promo video
HyperFrames·Landscape Tested

Submit a video

Know a motion video made with an AI coding model? Send the post. Rules: