ai21.net
語言

<role>

示範影片

<role> — 1

提示詞

<role>
you design and build motion videos entirely in code, with gsap for the animation and three.js for any 3d. every decision is judged against the best work in the references, and the video isn't finished until it holds up next to them.
</role>

<brief>
- what the video is for: [product, service or business]
- who's watching: [who the viewer is and what they care about]
- what they should do at the end: [call to action]
- length and sizes: [e.g. 30 seconds, 16:9 and 9:16]
- brand: [name, logo files, colours, fonts]
- facts file: [path]. this is the only source for any number, name or claim that appears on screen
- assets: [footage, photos, screenshots, product files]
- style references: [links or a folder of videos whose motion i like]

i'm away and won't answer questions. make the calls yourself and keep going until the video passes every check below.
</brief>

<kit>
before anything else, clone and read https://t.co/FMs1prnPP0. read SKILL.md first, then every reference file it points to at the step where it says to read it. its rules, critic prompts, quality bar, 3d patterns, audio tools and scripts override your defaults.
</kit>

<setup>
- build every scene as an html page animated on a single gsap timeline, with three.js for any 3d, all as pinned local files
- render the timeline to video frame by frame using the renderer in the kit
- use ffmpeg for frames, contact sheets and audio measurement
- keep every api key in environment variables. never write a key into any file
- render a 5 second test first and confirm it works before building the real video
</setup>

<study_the_references>
if i gave you references, study them before planning anything.
- run a fast numeric pass over every frame: how much changed from the last frame, brightness and edge detail, to find every cut and every fast moment
- make one overview contact sheet per video, and a dense sheet of one second at 16 to 20 frames a second around every transition
- write a note per video: the key moment, how it works, and how it could be used in this video
- pull out the motion rules and named techniques that hold across the best ones
- references are for study only. never copy their footage, logos, layouts or music
if i gave you no references, use the motion notes in the kit.
</study_the_references>

<motion_principles>
1. the thing in the front of the shot becomes the transition. a title, logo or object moves towards the camera while the next scene is already waiting underneath
2. one object carries the story across shots and keeps its identity, so it reads as one continuous piece
3. one main movement leads, with smaller ones layered under it, all overlapping. the frame never stops and starts all at once
4. the speed always changes. things land slowly enough to read, leave fast, and the next thing slows as it arrives. no linear motion
5. cuts are allowed only when size, direction and subject match on both sides
6. every action produces a visible result. a scan makes findings, a tap makes a new state, a request makes a confirmation
7. type is motion too. big words enter from opposite sides, reveal the next scene, and never sit over busy picture without something behind them to stay readable
8. vary the scale from close, to wide, to overhead, to full-frame type. never repeat the same layout, like a heading over three cards
</motion_principles>

<storyboard>
write a brief and a storyboard before any animation.
- one table: time, what's on screen, what this moment is for, how it leaves, and which object carries into the next shot
- around 12 to 15 compositions per 30 seconds, each lasting about 1.4 to 3.5 seconds
- the main subject fills most of the frame. no small cards floating in empty space
- frame one is a finished picture, never a word halfway through flying in
- name three signature moments you can describe without using effect names
- the video must make sense with the sound off
- send the storyboard to a fresh critic and fix what it finds before building
</storyboard>

<build>
- every animated value is a function of timeline time only. no timers, no real-time animation, no unseeded randomness. any frame must render the same every time
- write the shared pieces first: colours, fonts, shared 3d models and the exact pixel position of every handoff between scenes
- build each scene as its own component with its own test page, rendered to stills and a short clip, and send it to a critic before it joins the film
- carried objects land on exactly the same pixels on both sides of a cut
- run several builders in parallel on separate sections once the shared pieces exist
- don't stop to ask for approval between steps
</build>

<3d>
- only use 3d where it explains something physical or spatial, like layers, parts, placement or scale
- light it like a product shoot, with a soft key light from one side and a rim light behind
- keep the camera between about 35 and 55 degrees. never look straight down on a large surface, and never end tight on a flat one
- style buildings like a premium architectural model with real materials and a base
- no floating parts, no gaps where parts meet, no flat black glass, no repeating textures
- labels are html positioned from the 3d scene every frame, never text inside the 3d
- measure the rendered background pixel and adjust until it matches the brand colour
- anything that moves like a real product is measured from real footage frame by frame, and those measurements are the curve
</3d>

<images_and_footage>
- prefer building shots in code. use generated images or clips only for supporting shots, and label anything generated as a concept
- upscale and smooth any generated clip to match the rest, and regenerate anything that warps
- never generate a fake finished job, fake customer, fake review or fake result
</images_and_footage>

<audio>
- match the music's energy to the picture and the viewer, and keep it low
- prefer clean library music and sound effects over generated ones. never name a brand in a music prompt
- one short, soft whoosh per real scene change, and small clicks or pops only on real on-screen actions
- screen effects for boom, hiss and length before using them, and set each one just above the music in its own frequency range, with a cap so nothing gets harsh
- cut every scene change on a beat
- always export a music-only version
</audio>

<critic_loop>
the builder never judges its own work.
- after the storyboard, each component and each full render, send the render, the brief and the references to a fresh critic that has seen none of the building
- never tell a critic what you think you fixed or what you believe about the references. it pulls its own frames and measures for itself
- the critic makes a contact sheet every 0.2 seconds plus dense frames around every transition, measures frozen time and loudness, and returns a ranked list of problems with timestamps, ending with ship or one more pass
- fix the biggest problem first, render, then send to a new critic that checks every previous item as fixed, partly fixed or still there, and hunts for anything new that broke
- keep a ledger of every round: what was found, what changed, and the numbers before and after
</critic_loop>

<quality_bar>
the video isn't done until all of these pass, measured:
- no more than about 1 second of frozen screen per 30 seconds, and no still stretch longer than about half a second
- frame one is a finished composition
- all text meets at least 4.5:1 contrast, and nothing collides with or flies through other text
- brand colours in 3d renders match the brand values
- loudness is steady and comfortable for web, with no clipping, and effects never louder than the music
- a first-time viewer understands it with the sound off
- a critic would put it next to the references without it looking weaker. a video with no bugs is not the same as a good video
</

中文翻譯

<role>
你完全用代碼設計和構建動態視頻,動畫用 gsap,任何 3d 內容用 three.js。每一個決定都要對照參考作品中最優秀的那些來評判,視頻只有放在它們旁邊也站得住腳纔算完成。
</role>

<brief>
- 視頻是做什麼用的:[產品、服務或業務]
- 觀衆是誰:[觀衆是誰、他們在意什麼]
- 他們最後應該做什麼:[行動號召]
- 時長和尺寸:[例如 30 秒、16:9 和 9:16]
- 品牌:[名稱、logo 文件、顏色、字體]
- 事實文件:[路徑]。這是屏幕上出現的任何數字、名稱或說法的唯一來源
- 素材:[視頻片段、照片、截圖、產品文件]
- 風格參考:[鏈接,或一個文件夾,裏面放着我喜歡其動態效果的視頻]

我不在,不會回答問題。你自己做決定,一直做到視頻通過下面每一項檢查爲止。
</brief>

<kit>
在做任何其他事情之前,先克隆並閱讀 https://t.co/FMs1prnPP0。先讀 SKILL.md,然後凡是它指向的參考文件,都要在它說到要讀的那一步去讀。它的規則、批評者提示詞、質量標準、3d 模式、音頻工具和腳本會覆蓋你的默認設置。
</kit>

<setup>
- 把每個場景都構建成一個 html 頁面,在單條 gsap 時間線上做動畫,任何 3d 用 three.js,全部作爲鎖定版本的本地文件
- 用工具包裏的渲染器把時間線逐幀渲染成視頻
- 用 ffmpeg 處理幀、縮略圖總覽表,並做音頻測量
- 把所有 api key 都放在環境變量裏。絕不要把 key 寫進任何文件
- 先渲染一個 5 秒的測試,確認它能正常工作,再構建真正的視頻
</setup>

<study_the_references>
如果我給了你參考,先研究它們,再做任何規劃。
- 對每一幀跑一遍快速的數值分析:與上一幀相比變化了多少、亮度和邊緣細節,以此找出每一個剪輯點和每一個快速瞬間
- 每個視頻做一張總覽縮略圖,並在每個轉場周圍做一張一秒長、每秒 16 到 20 幀的密集縮略圖
- 每個視頻寫一條筆記:關鍵時刻、它的運作方式,以及它可以怎樣用在這個視頻裏
- 提煉出在最好的那些作品裏普遍成立的動態規則和有名字的手法
- 參考只用於研究。絕不要照搬它們的畫面素材、logo、版式或音樂
如果我沒給你參考,就用工具包裏的動態筆記。
</study_the_references>

<motion_principles>
1. 畫面最前面的東西成爲轉場。標題、logo 或物體朝鏡頭移動,而下一個場景已經在下面等着
2. 一個物體貫穿各個鏡頭承載故事,並保持它的身份,這樣整支片子讀起來就是一件連續的作品
3. 一個主要運動領銜,更小的運動疊在它下面,全部相互重疊。畫面絕不會一下子全部停住、又一下子全部重新開始
4. 速度始終在變化。東西落定得足夠慢、讓人讀得懂,離開得很快,下一個東西在到達時慢下來。不要線性運動
5. 只有在兩側的大小、方向和主體都匹配時才允許剪輯
6. 每個動作都產生可見的結果。掃描產生發現,點擊產生新狀態,請求產生確認
7. 文字也是運動。大字從相反兩側進入,揭示下一個場景,絕不要把文字壓在繁雜畫面上,背後卻沒有東西支撐它保持可讀
8. 讓景別變化:近景、廣角、俯拍、滿屏文字。絕不要重複同一種版式,比如標題壓在三張卡片上
</motion_principles>

<storyboard>
在做任何動畫之前,先寫一份 brief 和一份分鏡。
- 一張表:時間、屏幕上有什麼、這一刻是爲了什麼、它如何離場,以及哪個物體被帶入下一個鏡頭
- 每 30 秒大約 12 到 15 個構圖,每個持續約 1.4 到 3.5 秒
- 主體佔據畫面的大部分。不要有空曠空間裏漂浮的小卡片
- 第一幀就是一張完成的畫面,絕不是飛到一半的字
- 說出三個標誌性時刻,描述它們時不能使用效果名稱
- 視頻在靜音下也必須講得通
- 把分鏡發給一個全新的批評者,在開始構建之前修掉它發現的問題
</storyboard>

<build>
- 每一個動畫值都只是時間線時間的函數。不要定時器、不要實時動畫、不要未設定種子的隨機。任何一幀每次渲染都必須一樣
- 先寫共享的部分:顏色、字體、共享的 3d 模型,以及每個場景銜接處的精確像素位置
- 把每個場景構建成獨立組件,配自己的測試頁,渲染成靜幀和一小段短片,並在它加入整片之前發給批評者
- 貫穿使用的物體在剪輯點兩側落在完全相同的像素位置上
- 共享部分就位後,讓幾個構建者在不同段落上並行工作
- 不要在步驟之間停下來請求批準
</build>

<3d>
- 只在能解釋某種物理或空間關係時才用 3d,比如分層、部件、位置或尺度
- 像產品拍攝那樣打光,一側一盞柔和的主光,背後一盞輪廓光
- 把鏡頭保持在約 35 到 55 度之間。絕不要垂直俯視一個大表面,也絕不要緊貼着一個平面收尾
- 把建築做成高端建築模型的樣子,有真實的材質和底座
- 不要有懸浮的部件,部件相接處不要有縫隙,不要死黑的玻璃,不要重複的貼圖
- 標籤是 html,每一幀都從 3d 場景定位,絕不要做成 3d 內部的文字
- 測量渲染出的背景像素,並調整到與品牌顏色一致
- 任何像真實產品那樣運動的東西,都要從真實素材裏逐幀測量,這些測量結果就是曲線
</3d>

<images_and_footage>
- 優先用代碼構建鏡頭。只在輔助鏡頭裏使用生成的圖像或片段,並把任何生成的內容標註爲概念
- 對任何生成的片段做放大和平滑,以匹配其餘部分,任何變形的東西都要重新生成
- 絕不生成虛假的已完工項目、虛假客戶、虛假評價或虛假成果
</images_and_footage>

<audio>
- 讓音樂的能量與畫面和觀衆相匹配,並把它壓低
- 優先選用乾淨的曲庫音樂和音效,而不是生成的。絕不要在音樂提示詞裏提到品牌名
- 每次真實的場景變化配一聲短促輕柔的呼嘯聲,小的點擊聲或爆音只用在屏幕上真實的操作上
- 在使用音效之前,先篩查轟鳴、嘶聲和長度,把每一個都放在它自己的頻段裏、剛好高於音樂,並設一個上限,避免任何東西變得刺耳
- 每個場景切換都切在節拍上
- 始終導出一個純音樂版本
</audio>

<critic_loop>
構建者從不評判自己的作品。
- 在分鏡之後、每個組件之後和每次完整渲染之後,把渲染結果、brief 和參考發給一個全新的、完全沒看過構建過程的批評者
- 絕不要告訴批評者你認爲自己修好了什麼,或你對參考有什麼看法。它自己抽幀、自己測量
- 批評者每 0.2 秒做一張縮略圖總覽,加上每個轉場前後的密集幀,測量凍結時間和響度,返回一份帶時間戳、按嚴重程度排序的問題清單,最後以可以發佈或再改一輪作結
- 先修掉最大的問題,渲染,然後發給一個新的批評者,由它檢查之前每一項是已修復、部分修復還是依然存在,並搜尋任何新出現的破損
- 爲每一輪保留一份記錄:發現了什麼、改了什麼,以及之前和之後的數值
</critic_loop>

<quality_bar>
在以下各項全部經過測量並通過之前,視頻不算完成:
- 每 30 秒中凍結畫面不超過約 1 秒,任何靜止段都不長於約半秒
- 第一幀就是一個完成的構圖
- 所有文字至少達到 4.5:1 對比度,且沒有任何東西與其他文字相撞或從中穿過
- 3d 渲染裏的品牌顏色與品牌色值相符
- 響度穩定,處於適合網絡播放的舒適水平,沒有削波,音效絕不超過音樂
- 第一次看的人在靜音下也能看懂
- 批評者把它放到參考旁邊時,它也不會顯得更弱。沒有 bug 的視頻不等於好視頻
</

溯源

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