Transformation de forme à travers les états de l'interface utilisateur
Rapide
Veuillez me préciser : 8 à 12 états d’interface utilisateur que je souhaite pour la forme (par exemple bouton, chargeur, lecteur, curseur, bascule, onglets, graphique, palette de commandes, notification), une interface en noir et blanc pur ou avec une seule couleur d’accentuation, et une musique libre de droits d’environ 120 BPM (par exemple Mixkit, gratuite pour un usage commercial). Animations d'interface utilisateur dignes de Dribbble. Une seule forme, jamais découpée : chaque état correspond au même élément dont la taille, le rayon et la couleur se modifient tandis que son contenu change avec un léger flou. Un curseur permet de contrôler chaque modification par de véritables clics et glissements. Toile gris chaud clair, composants noirs et blancs, une police d'interface épurée (Geist). Des ressorts omniprésents, avec un léger dépassement au maximum. La caméra effectue un zoom pour que chaque état remplisse le cadre. La dernière image est la première, créant ainsi une boucle. Interdits : effets de rebond, explosions de particules, lueurs, dégradés sur l’interface utilisateur, traits d’icônes incohérents, temps morts, tout ce qui ressemble à un modèle. 120 BPM, 7 mesures, il se passe quelque chose à chaque temps. Bouton → chargeur → cocher → île dynamique → lecteur de musique avec une fonction lecture/pause → parcourir la barre de progression → elle devient un curseur de volume qui s'étire lorsqu'on le fait glisser au-delà du maximum → un interrupteur bascule au rythme → le bouton devient un indicateur d'onglet liquide → les onglets s'ouvrent en un graphique qui se dessine automatiquement, avec une infobulle au survol → il se réduit à ⌘K → saisir du texte pour filtrer → entrer → notification → retour au bouton. 1. Un fichier HTML, carré 1440x1440. Chaque style est calculé à partir du temps à l'intérieur de seek(t): pas de transitions CSS, pas de minuteurs, pas d'état conservé entre les images. 2. Les réponses indicielles de type ressort sont exprimées de manière analytique. Une valeur qui change de cible à plusieurs reprises correspond à la somme des réponses de chaque ressort, et reste donc une fonction pure du temps. 3. Les deux bords de l'indicateur à languette reposent sur des ressorts différents, de sorte que le bord avant s'étend devant le bord arrière. Même principe pour le bouton à bascule. 4. Le glisser-déposer est une manipulation directe : tant que le curseur est maintenu enfoncé, la valeur est calculée à partir de sa position. Lorsqu’on le relâche, il reprend sa position initiale. 5. Analysez le morceau avec numpy pour la grille rythmique et commencez sur un temps fort. Placez chaque son d'interface utilisateur à son pic mesuré. 6. Rendu avec Playwright: 4 sous-images par image, mélangées avec ffmpeg tmix pour le flou de mouvement à 60 images par seconde. 7. Générez un rendu image par image avant le rendu complet. Corrigez les éléments hors grille, trop serrés ou difficiles à lire. N'appliquez jamais l'option « changer » à un élément dont la mise à l'échelle est modifiée par la caméra ou dont le texte devient flou. Le texte qui change d'image à l'intérieur d'un conteneur à morphing nécessite ses propres temps d'entrée et de sortie, sinon il se chevauche. Assurez-vous que la dernière image soit identique à la première, position et vitesse du curseur comprises, sinon la boucle saccade. Demandez-moi les données d'entrée, puis montrez-moi la liste des états sur la grille rythmique avant d'écrire le moindre 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.
Extrait de poste @twoclipping.
- Modèle
- Opus 5.5
- Empiler
- HTML + Playwright
- Publié
Faites une vidéo comme celle-ci
Créez vous-même des vidéos comme celles-ci — 7 fois moins cher que l'API — grâce à notre extension Google Chrome.. Fonctionne avec Claude via MCP : vous décrivez la tâche, et l’extension gère le processus de génération, de l’invite de commande au fichier final. Elle génère des vidéos, les assemble, les double et les traduit.
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