ai21.net
语言

<inputs>

演示视频

<inputs> — 1

提示词

<inputs>
Ask me for: my featured Pokémon or starter trio, 8–12 Pokémon-themed UI states, and a royalty-free song around 120 BPM with a playful adventure or electronic feel. Confirm that the song’s license permits the intended use.Default palette: warm off-white, black, and Poké Ball red. Pokémon artwork keeps its original colors.
</inputs>

<direction>
A Pokémon-inspired UI motion film with Dribbble-level polish. Imagine a beautifully designed modern Pokédex: playful, precise, and instantly http://recognizable.One shape, never cut: a Poké Ball continuously morphs into every interface component by changing its size, radius, and color. Its central button, dividing line, and outer shell become the controls and structure of each new state. Content swaps with a short blur and carefully separated enter/exit timing.

A visible cursor drives every interaction with clicks, drags, and hover gestures. Use a light warm-gray canvas, clean Geist typography, consistent icon strokes, and crisp Pokémon artwork.

Use tightly damped springs with only a tiny overshoot. The camera smoothly reframes each state so the interface stays large and readable. The ending returns exactly to the opening Poké Ball for a seamless loop.

Banned: excessive bouncing, particle bursts, glows, gradients on UI chrome, mismatched icon strokes, dead time, generic dashboard layouts, abrupt scene changes, and unrelated floating elements.
</direction>

<structure>
120 BPM, 4/4 time, 7 bars: 28 beats, approximately 14 seconds. Something intentional happens on every http://beat.Bar 1 — Poké Ball activation

1. A closed Poké Ball sits centered; the cursor approaches.
2. The cursor clicks its central button.
3. The button becomes a circular scanning loader.
4. The scan resolves into a check, and the shell stretches into a compact Pokédex.

Bar 2 — Pokémon discovery
5. The Pokédex expands to reveal the featured Pokémon.
6. Its name, number, and type appear in a quick stagger.
7. The cursor clicks the cry/play control.
8. The control morphs into pause while a compact waveform animates.

Bar 3 — Trainer controls
9. The waveform flattens into a volume slider.
10. The cursor drags its Poké Ball-shaped knob to maximum.
11. Dragging beyond maximum elastically stretches the slider.
12. On release, it settles and compresses into a shiny-mode toggle.

Bar 4 — Pokémon details
13. The cursor flips shiny mode; the artwork changes to the correct shiny variant.
14. The toggle knob stretches into a liquid tab indicator.
15. The cursor selects “Stats.”
16. The card opens into a clean Pokémon stat chart.

Bar 5 — Stats to search
17. Stat bars draw themselves in sync with the beat.
18. The cursor hovers over a bar; a readable tooltip appears.
19. The chart retracts into the same container.
20. The container compresses into a Pokédex search field.

Bar 6 — Find and select
21. The search field expands into a command palette.
22. A short Pokémon name is typed; matching results filter.
23. The cursor selects a result, revealing its miniature artwork and type.
24. Enter confirms; the palette folds into an “Added to team” toast.

Bar 7 — Return to the Poké Ball
25. The toast’s confirmation mark becomes the Poké Ball’s central button.
26. The toast contracts; its edges become the circular shell.
27. The red upper half, white lower half, and black dividing line settle into place.
28. The cursor returns along a smooth path, matching the opening position and velocity as the loop wraps.

Use the chosen Pokémon consistently throughout. Keep visible text brief enough to read at this pace.
</structure>

<build>
1. Build one self-contained HTML file with a square 1440×1440 composition. Compute every animated style from time inside seek(t): no CSS transitions, timers, or state carried between frames.
2. Keep one persistent outer element throughout the sequence. Its internal artwork, labels, and controls may change, but the main silhouette must visibly connect every state.
3. Use closed-form spring step responses. For repeated target changes, sum one spring response per change so animation remains a pure function of time.
4. Give the tab indicator’s two edges different springs so the leading edge stretches ahead of the trailing edge. Apply the same technique to the toggle knob.
5. Make drags direct manipulation: while held, values follow cursor position. On release, use a closed-form spring matching the release position and velocity.
6. Analyze the supplied song with numpy to estimate the beat grid, verify the downbeat, and align the sequence. If the tempo differs from 120 BPM, adapt the timing to the actual music.
7. Use licensed UI sounds and align their measured transient peaks with clicks, confirmations, and morph accents.
8. Render with Playwright at four subframes per output frame. Blend each group of four with ffmpeg into a 60fps video for motion blur.
9. Render one preview frame per beat before the full video. Fix anything cramped, unreadable, visually disconnected, or off the beat grid.
10. Package artwork and fonts inside the HTML so rendering does not depend on network requests.
</build><gotchas>
Never put will-change on anything the camera scales; text can become blurry.Give outgoing and incoming content separate timing so labels never overlap during a morph.

Use accurate Pokémon artwork, names, types, shiny colors, and stats. Do not invent variants or stretch character artwork when the container changes shape.

Keep the main container recognizable through every transition. Pokémon artwork is content inside the morphing interface, not a replacement for the persistent shape.

Match the loop boundary exactly: geometry, content, camera, cursor position, and cursor velocity. Export the interval [0, duration) without duplicating the endpoint frame. Make the audio loop cleanly too.
</gotchas>

<start>
Ask me for the inputs, then show me the proposed Pokémon state list on the 28-beat grid before writing any code.
</start>

中文译文

<inputs>
向我索取:我主打的宝可梦或御三家组合、8–12 个宝可梦主题的 UI 状态,以及一首约 120 BPM、带俏皮冒险感或电子感的免版税歌曲。确认这首歌的许可证允许预期用途。默认配色:暖调米白、黑色和精灵球红。宝可梦美术作品保留其原始颜色。
</inputs>

<direction>
一部受宝可梦启发的 UI 动态影片,具有 Dribbble 级别的精致度。想象一个设计精美的现代宝可梦图鉴:俏皮、精准,而且一眼就能 http://辨认。一个形状,从不切断:一颗精灵球通过改变自身的尺寸、圆角和颜色,持续变形为每一个界面组件。它的中央按钮、分隔线和外壳成为每个新状态的控件与结构。内容以短暂的模糊和精心分离的进入/退出时序进行切换。

一个可见的光标通过点击、拖拽和悬停手势驱动每一次交互。使用浅暖灰色的画布、干净的 Geist 字体、一致的图标描边,以及清晰的宝可梦美术。

使用阻尼很紧的弹簧,只允许极小的过冲。镜头平滑地为每个状态重新取景,使界面保持大而可读。结尾精确地回到开场的精灵球,形成无缝循环。

禁用:过度的弹跳、粒子爆发、辉光、UI 外框上的渐变、不一致的图标描边、空档时间、通用的仪表盘式布局、突兀的场景切换,以及无关的漂浮元素。
</direction>

<structure>
120 BPM,4/4 拍,7 小节:28 拍,约 14 秒。每一个 http://拍都有刻意的设计。第 1 小节 — 精灵球激活

1. 一颗闭合的精灵球居中放置;光标靠近。
2. 光标点击它的中央按钮。
3. 该按钮变成一个圆形的扫描加载指示器。
4. 扫描结果定格为一个对勾,外壳拉伸成一个紧凑的宝可梦图鉴。

第 2 小节 — 宝可梦发现
5. 图鉴展开,露出主打的宝可梦。
6. 它的名称、编号和属性以快速的错落节奏出现。
7. 光标点击叫声/播放控件。
8. 该控件变形为暂停,同时一段紧凑的波形在动。

第 3 小节 — 训练家控制
9. 波形压平成一个音量滑块。
10. 光标将其精灵球形状的旋钮拖到最大。
11. 拖过最大值时,滑块会弹性拉伸。
12. 松手后,它回稳并压缩成一个异色模式开关。

第 4 小节 — 宝可梦详情
13. 光标切换异色模式;美术图变为正确的异色变体。
14. 开关旋钮拉伸成一个液态标签指示器。
15. 光标选择“Stats”。
16. 卡片展开成一个干净的宝可梦能力值图表。

第 5 小节 — 从能力值到搜索
17. 能力值条形图与节拍同步地自行绘制。
18. 光标悬停在某个条上;出现一个清晰易读的提示框。
19. 图表收缩回同一个容器。
20. 容器压缩成一个图鉴搜索框。

第 6 小节 — 查找并选择
21. 搜索框展开成一个命令面板。
22. 输入一个简短的宝可梦名称;匹配的结果被筛选出来。
23. 光标选择一个结果,露出它的小型美术图和属性。
24. 回车确认;面板折叠成一个“Added to team”提示条。

第 7 小节 — 回到精灵球
25. 提示条的确认标记变成精灵球的中央按钮。
26. 提示条收缩;它的边缘变成圆形的外壳。
27. 红色上半部分、白色下半部分和黑色分隔线各就各位。
28. 光标沿一条平滑路径返回,在循环衔接时匹配开场的位置和速度。

全程一致地使用所选的那只宝可梦。让可见文字保持足够简短,以便在这个节奏下能读清。
</structure>

<build>
1. 构建一个自包含的 HTML 文件,采用 1440×1440 的正方形构图。在 seek(t) 内部根据时间计算每一个动画样式:不使用 CSS 过渡、定时器,也不在帧之间携带状态。
2. 在整个序列中保留一个持续存在的外层元素。它内部的美术图、标签和控件可以变化,但主体轮廓必须在视觉上连接每一个状态。
3. 使用闭式弹簧阶跃响应。对于反复变化的目标,为每次变化累加一个弹簧响应,使动画始终是时间的纯函数。
4. 给标签指示器的两条边缘设置不同的弹簧,使前缘领先于后缘拉伸。对开关旋钮应用同样的技巧。
5. 让拖拽成为直接操作:按住时,数值跟随光标位置。松手时,使用与释放位置和速度相匹配的闭式弹簧。
6. 用 numpy 分析所提供的歌曲以估算节拍网格、确认强拍,并对齐序列。如果速度不同于 120 BPM,就让时序适应实际音乐。
7. 使用已获许可的 UI 音效,并将其测得的瞬态峰值与点击、确认和变形重音对齐。
8. 使用 Playwright 按每个输出帧四个子帧进行渲染。用 ffmpeg 将每四个一组混合成 60fps 的视频,以实现运动模糊。
9. 在渲染完整视频之前,每一拍先渲染一帧预览。修复任何拥挤、不可读、视觉上脱节或偏离节拍网格的问题。
10. 将美术图和字体打包进 HTML 内部,使渲染不依赖网络请求。
</build><gotchas>
永远不要给镜头会缩放的元素加 will-change;文字可能变模糊。给退出的内容和进入的内容分别设置时序,使标签在变形过程中永不重叠。

使用准确的宝可梦美术图、名称、属性、异色配色和能力值。不要臆造变体,也不要在容器改变形状时拉伸角色美术。

让主容器在每一次过渡中都保持可辨认。宝可梦美术图是变形界面内部的内容,而不是对持续存在形状的替代。

精确匹配循环边界:几何、内容、镜头、光标位置和光标速度。导出区间 [0, duration),不重复端点帧。让音频也干净地循环。
</gotchas>

<start>
先向我索取输入信息,然后在写任何代码之前,把提议的宝可梦状态列表按 28 拍网格展示给我。
</start>

溯源

原作者
TheGrootDev
发布日期
2026-09-25(由推文 ID 反解)
原始出处
查看原帖 ↗
收录来源
yihui-dev/awesome-opus5-5-videos · thegrootdev-966114 · MIT