Pagbabago ng hugis sa pamamagitan ng mga estado ng UI
Prompt
Humingi sa akin ng: 8 hanggang 12 UI states na gusto kong maging hugis (hal. button, loader, player, slider, toggle, tabs, chart, command palette, toast), purong itim at puti o isang kulay ng accent, at isang royalty-free na kanta na humigit-kumulang 120 BPM (hal. Mixkit, libre para sa komersyal na paggamit). Galaw ng UI sa antas ng dribbble. Isang hugis, hindi kailanman pinuputol: ang bawat estado ay ang parehong elemento na nagbabago ng laki, radius at kulay nito habang ang nilalaman nito ay nagpapalit ng maikling blur. Isang cursor ang nagtutulak sa bawat pagbabago gamit ang mga totoong pag-click at pag-drag. Maliwanag na warm-grey na canvas, itim at puting mga bahagi, isang malinis na UI font (Geist). Sumisigla kahit saan, isang maliit na overshoot lamang. Nag-zoom ang camera kaya napupuno ng bawat estado ang frame. Ang huling frame ang unang frame, kaya ito ay nag-loop. Ipinagbabawal: pagluwag ng mga tuldok-tuldok, pagsabog ng mga particle, mga glow, mga gradient sa UI chrome, hindi magkatugmang mga stroke ng icon, dead time, anumang bagay na mukhang template. 120 BPM, 7 bars, may nangyayari sa bawat kumpas. Button → loader → check → dynamic island → music player na may play/pause morph → i-scrub ang progress bar → ito ay nagiging volume slider na umaabot kapag na-drag lampas sa max → ang toggle ay lumiliko sa beat → ang knob ay nagiging liquid tab indicator → ang mga tab ay bumubukas sa isang chart na kusang gumuguhit, na may tooltip kapag nag-hover → ito ay nagko-collapse sa ⌘K → type to filter → enter → toast → pabalik sa button. 1. Isang HTML file, parisukat na 1440x1440. Ang bawat istilo ay kinukuwenta mula sa oras sa loob ng seek(t): walang mga transition CSS, walang mga timer, walang estadong dala sa pagitan ng mga frame. 2. Ang mga spring ay mga closed-form na step response. Ang isang value na nagbabago ng target nang maraming beses ay ang kabuuan ng isang spring bawat pagbabago, kaya nananatili itong purong function ng oras. 3. Ang dalawang gilid ng tab indicator ay sumasakay sa magkaibang spring, kaya ang nangungunang gilid ay umaabot sa unahan ng nasa likuran. Parehong trick para sa toggle knob. 4. Ang mga pag-drag ay direktang manipulasyon: habang nakahawak sa cursor, ang halaga ay kinukuwenta mula sa posisyon nito. Sa paglabas nito, ito ay bumabalik sa dating anyo nito. 5. Suriin ang kanta gamit ang numpy para sa beat grid at magsimula sa downbeat. Ilagay ang bawat tunog ng UI ayon sa nasukat na peak nito. 6. I-render gamit ang Playwright: 4 na subframe bawat frame, hinaluan ng ffmpeg tmix para sa motion blur sa 60fps. 7. Mag-render ng isang frame kada beat bago ang buong render. Ayusin ang anumang wala sa grid, masikip o mahirap basahin. Huwag kailanman maglagay ng "will-change" sa anumang bagay na i-scale ng kamera o ire-render na malabo ng teksto. Ang tekstong nagpapalit sa loob ng isang morphing container ay nangangailangan ng sarili nitong enter at exit timing o kung hindi ay mag-o-overlap ito. Gawing magkapareho ang huling frame sa una, kasama ang posisyon at bilis ng cursor, kung hindi ay mauutal ang loop. Hingin mo sa akin ang mga input, tapos ipakita mo sa akin ang listahan ng estado sa beat grid bago ka magsulat ng anumang code.
Ask me for: 8 to 12 UI states I want the shape to become (e.g. button, loader, player, slider, toggle, tabs, chart, command palette, toast), pure black and white or one accent color, and a royalty-free song around 120 BPM (e.g. Mixkit, free for commercial use).
Dribbble-level UI motion. One shape, never cut: every state is the same element morphing its size, radius and color while its content swaps with a short blur. A cursor drives every change with real clicks and drags. Light warm-gray canvas, black and white components, one clean UI font (Geist). Springs everywhere, a tiny overshoot at most. The camera zooms so each state fills the frame. The last frame is the first frame, so it loops.
Banned: bouncy easing, particle bursts, glows, gradients on UI chrome, mismatched icon strokes, dead time, anything that looks like a template.
120 BPM, 7 bars, something happens on every beat.
Button → loader → check → dynamic island → music player with a play/pause morph → scrub the progress bar → it becomes a volume slider that stretches when dragged past max → a toggle flips on the beat → the knob becomes a liquid tab indicator → the tabs open into a chart that draws itself, with a tooltip on hover → it collapses into ⌘K → type to filter → enter → toast → back to the button.
1. One HTML file, square 1440x1440. Every style is computed from time inside seek(t): no CSS transitions, no timers, no state carried between frames.
2. Springs are closed-form step responses. A value that changes target many times is the sum of one spring per change, so it stays a pure function of time.
3. The tab indicator's two edges ride different springs, so the leading edge stretches ahead of the trailing one. Same trick for the toggle knob.
4. Drags are direct manipulation: while the cursor is held, the value is computed from its position. On release it springs back from wherever it was.
5. Analyze the song with numpy for the beat grid and start on a downbeat. Place every UI sound by its measured peak.
6. Render with Playwright: 4 subframes per frame, blended with ffmpeg tmix for motion blur at 60fps.
7. Render one frame per beat before the full render. Fix anything off the grid, cramped or hard to read.
Never put will-change on anything the camera scales or the text renders blurry. Text that swaps inside a morphing container needs its own enter and exit timing or it overlaps. Make the last frame identical to the first, cursor position and speed included, or the loop stutters.
Ask me for the inputs, then show me the state list on the beat grid before you write any code.
Kinuha ang prompt mula sa poste @twoclipping.
- Modelo
- Opus 5.5
- Patong-patong
- HTML + Playwright
- Na-publish
Gumawa ng video na ganito
Gumawa ka mismo ng mga video na tulad nito—7 beses na mas mura kaysa sa API—gamit ang aming Google Chrome extension.. Gumagana kasama si Claude sa pamamagitan ng MCP: inilalarawan mo ang gawain, at ang extension ang humahawak sa proseso ng pagbuo mula sa prompt hanggang sa natapos na file. Ito ang bumubuo ng mga video, binubuo ang mga ito, binibigyang-boses ang mga ito, at isinasalin ang mga ito.
Automation — MCP для Google Flow, Google Vids и Claude
TikTok Symphony Creative Studio MCP Claude Code
SeedFlow — Seedance 2.5 в Dreamina, Qwen-Audio-3.1-TTS и Claude MCP