ai21.net
语言

<inputs>

演示视频

<inputs> — 1

提示词

<inputs> 
Ask me for: 
• my product + URL 
• 8–12 UI states that tell its story 
• the real data shown in each state 
• brand colors + fonts + accent color 
• required formats (1:1, 16:9, 9:16) 
</inputs>

<rules> 
One HTML file. One canvas
One draw(t) function

No CSS transitions
No timers
No state carried between frames

One shape, never cut

Every state is the same element changing size, radius and color while the content swaps

A cursor drives the sequence with real clicks, typing and one drag

Real UI. Real data. No placeholders.

</rules>
<structure> 
120 BPM grid

Something happens on every bea

logo → button → handle field → “is this you?” → loader → pin → globe filling with users → matches → tabs → RSVP → search → logo

</structure>

<motion> 
Closed-form springs everywhere with only a tiny overshoot.

If a value changes target multiple times, sum one spring per change

Content enters after its container starts morphing and leaves before the next morph so text never overlaps

Use a short blur on transitions

Never fade black directly into the accent color. Move an accent element between states instead

Make tab indicators stretch by putting each edge on a different spring

Zoom the camera so every state fills the frame

Make the last frame equal the first so the whole thing loops
</motion>

<export> 
First render one frame per beat as a contact sheet

Fix anything cramped or broken

Then render every frame in headless Chrome at 60fps, averaging 6 subframes for motion blur

Pipe into ffmpeg:
H.264 + yuv420p

Export all aspect ratios in parallel
</export>

motion design is becoming a prompt

中文译文

<inputs> 
向我索取:
• 我的产品 + URL
• 8–12 个能讲出它故事的 UI 状态
• 每个状态中展示的真实数据
• 品牌色 + 字体 + 强调色
• 需要的画幅(1:1、16:9、9:16)
</inputs>

<rules> 
一个 HTML 文件。一块 canvas
一个 draw(t) 函数

不用 CSS 过渡
不用定时器
帧与帧之间不携带状态

一个形状,永不切镜

每个状态都是同一个元素在改变尺寸、圆角和颜色,同时内容在切换

一个光标用真实的点击、打字和一次拖拽来驱动整个序列

真实 UI。真实数据。没有占位符。

</rules>
<structure> 
120 BPM 网格

每一拍都发生点什么

logo → 按钮 → handle 输入框 → “is this you?” → 加载 → 定位针 → 逐渐被用户填满的地球 → 匹配 → 标签页 → RSVP → 搜索 → logo

</structure>

<motion> 
处处使用闭式解弹簧,只有极小的过冲。

如果一个值多次改变目标,就为每次改变各叠加一个弹簧

内容在其容器开始变形之后进入,并在下一次变形之前离开,这样文字永远不会重叠

转场时使用短暂的模糊

绝不让黑色直接淡入强调色。改为在状态之间移动一个强调色元素

把标签页指示器的每条边放在不同的弹簧上,让它拉伸

缩放相机,让每个状态都填满画面

让最后一帧等于第一帧,这样整段就能循环
</motion>

<export> 
先按每一拍渲染一帧,拼成一张总览图

修掉任何拥挤或断裂的地方

然后用无头 Chrome 以 60fps 渲染每一帧,每帧平均 6 个子帧来生成运动模糊

通过管道送入 ffmpeg:
H.264 + yuv420p

并行导出所有画幅比例
</export>

动态设计正在变成一段提示词

溯源

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