ai21.net
語言

<inputs>

示範影片

<inputs> — 1

提示詞

<inputs>
Ask me for: a one-word product name for the wordmark, one accent color, and a royalty-free track around 120 BPM (e.g. Mixkit, free for commercial use).
</inputs>

<direction>
Product-launch UI motion in one continuous take. One shape tells the whole story: a prompt bar becomes a button, the button becomes a progress ring, the ring becomes a preview window, the window fills the screen, then shrinks into a toast and back into the prompt bar. No cuts, no fades between scenes: objects transform. A cursor triggers every change with real clicks. Warm off-white canvas, black UI, one accent color, Inter for UI and the wordmark. Springs everywhere with only a slight overshoot. Zoom the camera so each moment fills the square.
Banned: crossfades, gradients on UI, particles, glows, bouncy easing, dead beats, anything that feels like a template.
</direction>

<structure>
120 BPM, 24 beats, something happens on every beat.
Type the request into the prompt bar → click send → the bar collapses into a black circle → a progress ring fills in four steps while four chips spring out (concept, storyboard, motion, sound) → the chips fly into a timeline and the circle becomes a preview window → a playhead sweeps the clips → inside the preview an orbit draws itself, a planet starts moving and the wordmark rises letter by letter from a mask line → the preview fills the screen → the letters drop away, the planet flies into a toast and becomes its checkmark → "Rendered in code · 60 fps" → the toast turns back into an empty prompt bar. Last frame = first frame.
</structure>

<build>
1. One HTML file with a 1440x1440 canvas. Draw everything inside seek(t): no CSS transitions, timers or state carried between frames.
2. Use closed-form spring step responses. When a value changes target several times, add one spring per change so it stays a pure function of time.
3. The main shape is one rounded rect whose width, height, radius, position and color are each a chain of springs.
4. Typing is derived from time: characters shown = floor(progress × length), with a caret that blinks only when idle.
5. Find the beat grid of the track, start on a downbeat and place every click, pop and chime on its measured peak.
6. Render with Playwright at 60 fps, then encode H.264 CRF 16 and loudnorm to -14 LUFS.
7. Render one still per beat first. Fix anything cramped, off-grid or hard to read before the full render.
</build>

<gotchas>
Text inside a morphing shape needs its own clip and separate enter/exit timing. Text swaps need their own fade so they never overlap. The cursor must end at the exact position it started, or the loop will stutter.
</gotchas>

中文翻譯

<inputs>
請向我詢問:用於字標的一個單詞產品名、一種強調色,以及一首約 120 BPM 的免版稅曲目(例如 Mixkit,可免費商用)。
</inputs>

<direction>
一鏡到底的產品發佈 UI 動效。一個形狀講述整個故事:一個提示詞欄變成一個按鈕,按鈕變成一個進度環,進度環變成一個預覽窗口,窗口充滿屏幕,然後收縮成一個 toast,再變回提示詞欄。沒有剪輯,場景之間沒有淡入淡出:物體通過變形轉換。一個光標通過真實的點擊觸發每一次變化。溫暖的米白色畫布、黑色 UI、一種強調色,UI 和字標使用 Inter。到處都用彈簧,只有輕微的過沖。縮放攝像機,使每一刻都充滿正方形畫面。
禁止:交叉淡化、UI 上的漸變、粒子、輝光、彈性緩動、空拍,以及任何感覺像模板的東西。
</direction>

<structure>
120 BPM,24 拍,每一拍都有事情發生。
把請求輸入提示詞欄 → 點擊發送 → 提示詞欄收攏成一個黑色圓形 → 一個進度環分四步填充,同時四個標籤塊彈出(概念、分鏡、動效、聲音)→ 這些標籤塊飛入時間線,圓形變成一個預覽窗口 → 播放頭掃過這些片段 → 在預覽畫面中,一條軌道自行繪製出來,一顆行星開始移動,字標從一條遮罩線後逐字母升起 → 預覽充滿屏幕 → 字母落下消失,行星飛入一個 toast 並變成它的對勾 → "Rendered in code · 60 fps" → toast 變回一個空的提示詞欄。最後一幀 = 第一幀。
</structure>

<build>
1. 一個 HTML 文件,帶有 1440x1440 的畫布。在 seek(t) 內繪製一切:不使用 CSS 過渡、定時器,也不在幀之間攜帶狀態。
2. 使用閉式彈簧階躍響應。當一個值多次改變目標時,每次變化疊加一個彈簧,使其始終是時間的純函數。
3. 主體形狀是一個圓角矩形,其寬度、高度、圓角半徑、位置和顏色各自是一串彈簧。
4. 打字效果由時間推導:顯示的字符數 = floor(progress × length),插入符僅在空閒時閃爍。
5. 找出曲目的節拍網格,從強拍開始,將每一次點擊、彈出和提示音放在其實測峯值上。
6. 用 Playwright 以 60 fps 渲染,然後編碼爲 H.264 CRF 16,並用 loudnorm 歸一化到 -14 LUFS。
7. 先按每一拍渲染一張靜幀。在完整渲染前,修正任何擁擠、偏離網格或難以閱讀的地方。
</build>

<gotchas>
變形形狀內部的文字需要自己的裁剪區域和獨立的進入/退出時間。文字切換需要各自的淡入淡出,以免重疊。光標必須結束在它開始時的精確位置,否則循環會卡頓。
</gotchas>

溯源

原作者
0xnicc0
發佈日期
2026-10-05(由推文 ID 反解)
原始出處
查看原帖 ↗
收錄來源
yihui-dev/awesome-opus5-5-videos · 0xnicc0-516612 · MIT