AI PROMPT · 115
发布预告片视频生成提示词
<inputs> 请向我询问以下内容:我的产品名称(一个全小写单词)、4 个词的标语、该产品功能的 3 步故事、发布日期和域名、一首带有明显高潮部分的免版税歌曲、4 段竖屏对镜头说话的视频片段以及 12 张肖像照片。如果我跳过任何一项,请使用默认值:"castr"、"ugc ads, cast by ai",流程为:撰写简报 → 扫描 1,000 位创作者 → 选定 4 位创作者,Mixkit "Cat Walk"(129.6 BPM,高潮在 29.7s),来自 Pexels 的免费视频片段和肖像,以及来自 Pixabay 的透明贴纸(精华液、麦克风、扩音器、复古相机、聚光灯、嘴唇)。 </inputs> <direction> 25 秒正方形发布预告片,分辨率 1440x1440,帧率 60fps,风格响亮且具有海报感。配色方案:钴蓝 #2B3BFF、墨黑 #0E0F1F、奶油色 #F6E4C6、粉色 #FF7DC7、橘红 #FF5A1F。名称使用 Archivo 900 extra-condensed 字体,标题使用 expanded 变体,标签使用 Geist 和 Geist Mono 字体。视觉元素包括欧普艺术风格的放射状图案、滚动波浪和胶片颗粒感。仅使用真实媒体素材:视频片段嵌入设计中播放,贴纸带有白色模切边框和柔和阴影。 运动规则:摄像机永不停止(每个场景都有缓慢的 1.03-1.07 倍推进效果),没有突然弹出(字母逐个通过遮罩线升起),没有严格卡点旋转(图案持续旋转),切换采用约 0.55s 的轮播滑动效果,颜色变化在约 0.35s 内淡入淡出,贴纸缓入后保持缓慢摇摆。标志或标题后不使用句号。 禁止事项:卡点旋转、突然弹出的冲击效果、白色闪光、场景间的交叉淡化、硬切、模板化设计。 </direction> <structure> 共 54 拍。歌曲在高潮前 8 拍开始。 第 0-8 拍:钴蓝色放射状图案围绕呼吸感的奶油色圆盘旋转。标志伴随滑动的插入符逐字打出,标语胶囊上升。圆盘充满画面并进入高潮部分。 第 8 拍,高潮:奶油色变为 3D 盒子的正面,"ONE BRIEF" 逐字升起。摄像机拉远至盒子漂浮在波浪上。第 12 拍转为 "1,000 CREATORS"(堆叠排列,带轮廓回声),第 14 拍转为 "ZERO DMs"。 第 16-22 拍:快速切换到深色桌面。橘红色的 "BRIEF #042" 票根逐行打出内容(产品、氛围、选角、截止日期),贴纸飘入,一张包含真实视频片段的宝丽来照片落在角落,第 20 拍按下 "NOW CASTING" 印章。 第 22-34 拍:选角阶段。黑白肖像呈弧形排列,3D 舞台块,创作者如轮播般滑过。每位创作者在大圆盘中以黑白形式实时播放,舞台上显示其粉色名字、粉丝数以及递增的 MATCH %。一拍之后,"CAST ✓" 印章落下,视频片段过渡为彩色。计数器从 1/4 滚动到 4/4。 第 34-39 拍:粉色从最后一个圆盘涌出。圆盘变形为手机屏幕(视频继续播放),展开为 4 部手机同时播放全部 4 位创作者,观看次数递增。"4 ADS" 和 "BY FRIDAY" 升起。 第 39-44 拍,音乐间歇:粉色地板消失,奶油色的 "JOIN THE WAITLIST" 票根滑落到放射状图案上。在恢复段落中,票根副券撕下。 第 44-54 拍:票根主体变形为海报拱门。标志升起,接着是标语,然后信息栏分 3 块滑入(日期、数字、域名),跑马灯沿画面边缘运行。最后所有元素折叠回开头的圆盘,使最后一帧与第一帧相同。 </structure> <build> 1. 单个 HTML 画布。每一帧都是 seek(t) 函数中时间的纯函数。 2. 基于拍的节拍映射,B = 60/BPM,歌曲放置使其高潮落在第 8 拍。 3. 3D 盒子采用正交投影:每个面是用仿射变换绘制的 1440px 离屏画布,并根据法线进行着色。 4. 使用 ffmpeg 将视频片段裁剪为 30fps JPEG 序列,绘制 frame floor(t*30),并使用 ctx.filter 实现黑白效果。 5. 裁剪贴纸 PNG 并通过膨胀 alpha 通道添加模切边框。 6. 音效:每个事件都下载 SFX(每次选角时的快门声、滑动时的呼啸声、打字时的按键声),根据测量峰值定位。响度标准化至 -14 LUFS。 7. 使用 Playwright 以 60fps 渲染,每帧包含 8 个运动模糊子帧。扫描单帧弹出问题,然后将运动效果与参考视频对比(每秒硬跳次数、静止帧比例)。 </build> <gotchas> 每拍旋转一格的模式会显得卡顿:应持续旋转,并选择每个环的速度使其在最后一帧对齐同一模式。快速切换时 4 个子帧会产生重影,因此需使用 8 个。背景为大圆形填充的图层在向下滑动一帧高度后仍覆盖屏幕,因此在填充完成后应将其切换为全屏矩形。计数器读取的是帧时间而非子帧时间。圆盘必须在离开场景的同一摄像机变换内进行变形,否则会出现跳跃。 </gotchas> <start> 请向我询问输入内容,然后在渲染之前展示节拍映射表和 6 张静帧图(开场、盒子、简报、选角、手机、海报)。 </start>

VIDEO PREVIEW
视频预览
PROMPT
<inputs> Ask me for: my product's name (one lowercase word), a 4-word tagline, the 3-step story of what it does, a launch date and domain, a royalty-free song with a clear drop, 4 vertical talking-to-camera clips and 12 portrait photos. If I skip any, use the defaults: "castr", "ugc ads, cast by ai", write a brief → scan 1,000 creators → cast 4, Mixkit "Cat Walk" (129.6 BPM, drop at 29.7s), free Pexels clips and portraits, and transparent stickers from Pixabay (serum, mic, megaphone, vintage camera, spotlight, lips). </inputs> <direction> A 25 second square launch trailer, 1440x1440 at 60fps, loud poster style. Cobalt #2B3BFF, ink #0E0F1F, cream #F6E4C6, pink #FF7DC7, tangerine #FF5A1F. Archivo 900 extra-condensed for names, expanded for headlines, Geist and Geist Mono for labels. Op-art sunburst, scrolling waves, film grain. Real media only: the clips play inside the design, and the stickers get a white die-cut border and a soft shadow. Motion rules: the camera never stops (a slow 1.03-1.07 push on every scene), nothing pops in (letters rise through a mask line one by one), nothing snaps to the beat (patterns rotate continuously), swaps are carousel glides of about 0.55s, colour changes fade over about 0.35s, stickers ease in and then keep a slow sway. No full stops after the wordmark or any headline. Banned: beat-snapped rotations, pop-in slams, white flashes, crossfades between scenes, hard cuts, templates. </direction> <structure> 54 beats. The song starts 8 beats before its drop. Beats 0-8: a cobalt sunburst turns around a breathing cream disc. The wordmark types in with a gliding caret and the tagline pill rises. The disc floods the frame into the drop. Beat 8, the drop: the cream becomes the face of a 3D box and "ONE BRIEF" rises letter by letter. The camera pulls back to the box floating on waves. On beat 12 it turns to "1,000 CREATORS" (stacked, with outlined echoes), on beat 14 to "ZERO DMs". Beats 16-22: a whip to a dark desk. A tangerine "BRIEF #042" ticket types its rows (product, vibe, cast, due), stickers drift on, a polaroid of a real clip drops onto the corner, and a "NOW CASTING" stamp presses down on beat 20. Beats 22-34: the casting stage. A crowd of black and white portraits in an arc, a 3D stage block, and the creators gliding through like a carousel. Each plays live in a big disc in black and white, with their name in pink on the stage, their followers, and a MATCH % that counts up. One beat later a "CAST ✓" stamp lands and the clip fades to colour. A counter rolls 1/4 to 4/4. Beats 34-39: pink floods out of the last disc. The disc morphs into a phone screen (the clip keeps playing) and fans into 4 phones playing all 4 creators, with views counting up. "4 ADS" and "BY FRIDAY" rise. Beats 39-44, the music's break: the pink floor drops away and a cream "JOIN THE WAITLIST" ticket glides down onto the sunburst. On the pickup its stub tears off. Beats 44-54: the ticket body morphs into a poster arch. The wordmark rises in, then the tagline, then an info bar slides up in 3 blocks (date, numbers, domain) and a ticker runs round the frame edge. Then it all folds back into the opening disc, so the last frame is the first. </structure> <build> 1. One HTML canvas. Every frame is a pure function of time inside seek(t). 2. A beat map in beats, B = 60/BPM, with the song placed so its drop lands on beat 8. 3. The 3D box is an orthographic projection: each face is a 1440px offscreen canvas drawn with an affine transform and shaded by its normal. 4. Cut the clips to 30fps JPEG sequences with ffmpeg, draw frame floor(t*30), and do the black and white with ctx.filter. 5. Trim the sticker PNGs and add the die-cut border by dilating their alpha. 6. Sound: a downloaded SFX for every event (a shutter on every cast, whooshes on the glides, key clicks on the typing), each placed by its measured peak. Loudnorm to -14 LUFS. 7. Render with Playwright at 60fps with 8 motion-blur subframes. Scan for single-frame pops, then compare its motion against a reference video (hard jumps per second, share of still frames). </build> <gotchas> A pattern that rotates one notch per beat reads as stutter: rotate it continuously, and pick each ring's speed so it lands on the same pattern at the last frame. 4 subframes ghost on fast whips, so use 8. A layer whose background is a huge flood circle still covers the screen after sliding down one frame height, so switch it to a full-frame rect once it has flooded. Counters read the frame's time, not the subframe's. The disc must morph inside the same camera transform as the scene it leaves, or it jumps. </gotchas> <start> Ask me for the inputs, then show me the beat map and 6 stills (open, box, brief, casting, phones, poster) before you render. </start>
