ai21.net
語言

<inputs>

示範影片

<inputs> — 1

提示詞

<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>

中文翻譯

<inputs>
向我詢問:我產品的名字(一個小寫單詞)、一句 4 個詞的標語、它做什麼的 3 步故事、上線日期和域名、一首有清晰 drop 的免版稅歌曲、4 段豎屏對鏡口播片段和 12 張肖像照。如果我跳過了任何一項,就用默認值:“castr”、“ugc ads, cast by ai”、寫 brief → 掃描 1,000 位創作者 → 挑選 4 位、Mixkit 的 “Cat Walk”(129.6 BPM,drop 在 29.7s)、Pexels 的免費片段和肖像照,以及來自 Pixabay 的透明貼紙(精華液、麥克風、擴音器、復古相機、聚光燈、嘴脣)。
</inputs>

<direction>
一支 25 秒的方形發佈預告片,1440x1440、60fps,張揚的海報風格。鈷藍 #2B3BFF、墨黑 #0E0F1F、奶油 #F6E4C6、粉 #FF7DC7、橘 #FF5A1F。名字用 Archivo 900 特窄體,標題用展開體,標籤用 Geist 和 Geist Mono。歐普藝術太陽光芒、滾動波浪、膠片顆粒。只用真實素材:片段在設計內部播放,貼紙加白色模切邊框和柔和陰影。
運動規則:鏡頭永不停下(每個場景都以 1.03-1.07 緩慢推近),沒有東西彈入(字母逐個穿過遮罩線升起),沒有東西跟着節拍卡點切換(圖案持續旋轉),切換是約 0.55s 的旋轉木馬式滑移,顏色變化在約 0.35s 內淡變,貼紙緩入後保持緩慢搖擺。字標或任何標題後面都不加句號。
禁止:卡節拍的旋轉、彈入式重擊、白閃、場景之間的交叉淡化、硬切、模板。
</direction>

<structure>
54 拍。歌曲在它的 drop 之前 8 拍開始。
第 0-8 拍:一輪鈷藍太陽光芒繞着一塊呼吸起伏的奶油圓盤旋轉。字標帶着滑動的光標逐字打出,標語膠囊升起。圓盤漫過畫面,進入 drop。
第 8 拍,drop:奶油色變成 3D 盒子的一個面,“ONE BRIEF” 逐字母升起。鏡頭拉遠到漂浮在波浪上的盒子。第 12 拍它轉向 “1,000 CREATORS”(堆疊,帶描邊回聲),第 14 拍轉向 “ZERO DMs”。
第 16-22 拍:甩鏡到一張深色桌子。一張橘色 “BRIEF #042” 票券把它的各行逐行打出(product、vibe、cast、due),貼紙飄入,一張真實片段的拍立得掉到角上,第 20 拍一枚 “NOW CASTING” 印章壓下。
第 22-34 拍:選角舞臺。弧形排列的一羣黑白肖像,一個 3D 舞臺方塊,創作者們像旋轉木馬一樣滑過。每個人都在一個大圓盤裏以黑白實時播放,他們的名字以粉色出現在舞臺上,還有他們的粉絲數,以及一個不斷累加的 MATCH %。一拍之後一枚 “CAST ✓” 印章落下,片段淡入彩色。一個計數器從 1/4 滾到 4/4。
第 34-39 拍:粉色從最後一個圓盤湧出。圓盤變成一塊手機屏幕(片段繼續播放),並展開成 4 部手機,播放全部 4 位創作者,播放量累加。“4 ADS” 和 “BY FRIDAY” 升起。
第 39-44 拍,音樂的 break:粉色地面墜落消失,一張奶油色 “JOIN THE WAITLIST” 票券滑落到太陽光芒上。在 pickup 處它的票根被撕下。
第 44-54 拍:票券主體變成海報拱門。字標升起,然後是標語,然後一條信息欄以 3 個塊滑上來(日期、數字、域名),一條滾動字幕沿畫面邊緣環繞跑動。然後一切折回開場的圓盤,讓最後一幀就是第一幀。
</structure>

<build>
1. 一個 HTML canvas。每一幀都是 seek(t) 內時間的純函數。
2. 一張以拍爲單位的節拍圖,B = 60/BPM,歌曲的擺放要讓它的 drop 落在第 8 拍。
3. 3D 盒子是正交投影:每個面都是一塊 1440px 的離屏 canvas,用仿射變換繪製,並按其法線着色。
4. 用 ffmpeg 把片段切成 30fps 的 JPEG 序列,繪製 frame floor(t*30),用 ctx.filter 做黑白。
5. 裁切貼紙 PNG,並通過膨脹它們的 alpha 加上模切邊框。
6. 聲音:每個事件配一個下載好的 SFX(每次選角一聲快門、滑移時風聲、打字時按鍵聲),每個都按它測得的峯值擺放。Loudnorm 到 -14 LUFS。
7. 用 Playwright 以 60fps、8 個運動模糊子幀渲染。掃描單幀跳變,然後把它的運動與一段參考視頻做對比(每秒硬跳數、靜止幀佔比)。
</build>

<gotchas>
每拍轉動一格的圖案看起來像卡頓:讓它持續旋轉,併爲每個圓環挑選速度,使其在最後一幀落在同樣的圖案上。4 個子幀在快速甩鏡時會有拖影,所以用 8 個。背景是巨大漫溢圓形的圖層,在下滑一個畫面高度之後仍然覆蓋屏幕,所以在它完成漫溢後把它切換成整幅矩形。計數器讀取的是幀的時間,而不是子幀的時間。圓盤必須在與它離開的那個場景相同的攝像機變換內變形,否則它會跳。
</gotchas>

<start>
先向我索要輸入,然後在渲染之前給我看節拍圖和 6 張靜幀(open、box、brief、casting、phones、poster)。
</start>

溯源

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