帧锁定视频重制引擎(多智能体工作流)
来自 Wikiprompt,自由的提示词百科全书
帧锁定视频重制引擎(多智能体工作流) 一个全面的多智能体工作流,用于创建参考视频的帧锁定重制版,包含详细阶段、门控和数值验收标准。
提示词内容收藏
🌐
任务:为[产品]同步重制REF=[path/to/reference.mp4] = [一行:卖什么+优惠+价格]。与REF并排播放时明显帧锁定;单独播放时无人能看出它源自REF。保持完全一致(测量而非目测):每个剪辑帧、镜头长度、布局槽位、每帧元素大小+位置、入场/出场帧、缓动曲线、摄像机运动、打字节奏(每帧字符数)、光标路径、每帧过渡覆盖率%、每镜头亮度(REF暗处同样暗)、每次运动的模糊开关、音频命中时间、音乐跌落帧。替换其他一切:每张图片、物体、文字、颜色、纹理、UI镀铬、标志、字体。外观 = [外观,例如“页面#FDFDFB + 天空linear-gradient(180deg,#263F72,#769CC2),细白线稿20–35%,磨砂玻璃(白色30%→14%,背景模糊24px饱和度1.3,1px白边,阴影0 18px 50px rgba(10,22,50,.18)),Inter 600,一个强调色#2F6BFF”]。图片 = [我的真实作品帧/片段 | CC0/公有领域照片 | 代码绘制的原创角色]。禁止:3D建模道具、库存/生成人物、受版权保护的梗/角色/标志、紫色/品红/橙色作为品牌色、蓝底蓝配扫描线、假相机HUD、六边形散景、代码合成音频。
验收(全部数值化,全部报告;无表格不交付):
剪辑:与REF相差0帧。
每镜头:运动能量曲线(192x108灰度平均绝对帧差)与REF在镜头内互相关 → 峰值在滞后0 ±1帧且相关系数≥ 0.80。
每镜头:10张REF叠加在我们的帧上;关键元素边缘在帧的1%以内(x方向19px,y方向11px)。
美观:一位全新评审只看REF与我们的全分辨率画面,回答“在这一帧,我们的画面是否至少与REF一样美观精致?” → 每个分镜帧都回答“是”。
不可识别:同一位评审只看我们的画面,无法从任何帧中说出REF的品牌或产品。
流畅度(我们的完整影片):场景中无连续3帧冻结(差异< 0.03)的片段;少于5次抖动步进(连续运动帧的差异比> 2.2);除REF硬切外无差异> 25。
语音:每行在首词出现的帧±40 ms内开始;没有词在其上屏前150 ms以上被说出;每行一次连续录制(最长内部静音< 120 ms,除非REF如此);速度0.95–1.05。
声音:每个REF命中在±15 ms内;每个小提示在其频段内此刻≥ 3 dB;每行语音p10比音乐+音效高≥ 9 dB;-14 LUFS ±0.5,真实峰值≤ -1.0 dBTP(4倍过采样),限制器活跃< 2%样本;每个音乐拼接交叉淡化(拼接处跳变比≤曲目自身节拍跳变)。
阶段0 - 分析(暂不构建)
ffprobe fps/分辨率/时长。提取所有帧(0基):ref/full/fNNNN.jpg(原始分辨率)+ ref/audio.wav 48 kHz。1 fps和2 fps联系表。
剪辑:每帧平均绝对帧差峰值> 6倍局部中位数,每个通过查看f-1/f/f+1确认。
步进:在运动中找出与前一帧相同的帧(REF可能在30内以20 fps动画)。记录模式;我们的渲染为流畅60 fps,绝不复制步进。
SPEC.md,每类一个表格:镜头:id | f0 | f1 | 内容 | 亮度均值 | 过渡入 | 过渡出 | 摄像机
文字:文本 | 镜头 | 出现帧 | 稳定帧 | 基线左端x,y | 大写高度px | 字重 | 颜色
对象:槽位id | 镜头 | 入帧 | 稳定帧 | 出帧 | 每帧bbox(数组文件) | 缩放曲线 | 旋转 | 阴影
过渡:id | f0 | f1 | 每帧覆盖率%(数组) | 方向 | 边缘样式
打字:字段 | 首字符帧 | 每帧字符数(数组) | 光标闪烁周期
光标:每帧尖端xy(数组) | 按下帧 | 按下缩放曲线
摄像机:每帧scale/tx/ty(数组) | 每帧模糊
用numpy/OpenCV测量:对每个运动元素逐帧做模板匹配或墨迹bbox跟踪;每条轨迹保存为measure/<id>.json(帧 → x,y,w,h,opacity)。SPEC中的文字只是指南;ref/full + measure/ 才是真相。
音频:带词时间戳的STT → VO表:行 | 开始 | 结束 | 每个词的时间。音乐:BPM + 节拍相位(起始自相关)、跌落时间、跌落前近静音(长度)、每段响度(LUFS)、结束命中。音效:频谱通量起始点,按类型标注(嗖声:记录峰值时间而非开始;咔嗒;砰;轰;渐强;打字)。
SWAPS.md:REF槽位 → 我们的,同音节数/同宽度等级每词。规则:如果替换行比REF长,则时间调整以适配文字:将该镜头延长整数个音乐节拍(INS),其后所有内容平移INS,并在并排对比中在相同位置保持REF(轻微2%推近,绝不死帧)INS时长。绝不把更长的行塞进REF的槽位。将INS决策写入insert.json。
阶段1 - 引擎(先于任何代理,由你完成)
一个HTML页面,1920x1080。window.seekFrame(F)渲染任意帧,允许小数F,作为F的纯函数。禁止:定时器、Date、Math.random(使用种子哈希)、CSS过渡/动画、requestAnimationFrame。镜头注册SHOT({id, f0, f1, render(lf, F)})返回HTML。window.ready = true仅在document.fonts.ready且每个image decode()解析后。
core.js:缓动集(ease-out-cubic、ease-in-out-cubic、过冲≤ 8%的弹簧);kf(F, [[f, v]...], ease)使用单调三次样条穿过关键点(绝不分段线性:拐点会读作抖动);samples(F, track)读取measure/*.json并做样条插值;camera(inner, scale, tx, ty, origin, blur);方向模糊(SVG feGaussianBlur stdDeviation x,y来自速度);glass()、tile()、chip()、window()、card()、cursor()、textReveal()、glint(age, radius)(落地时12帧镜面扫掠);logo作为CSS遮罩以便任意填充;palette对象 - 所有颜色集中一处。
定位:每个运动元素使用transform: translate3d(x.xxpx, y.yypx, 0)带小数值。浏览器在缩放容器内的像素吸附会造成每两帧3px步进。
无死帧:每个保持都带摄像机推近/漂移≥ 0.25%/帧;光晕呼吸;结尾卡片推近直到淡出。
render.mjs(Playwright Chromium,deviceScaleFactor 1,在OS沙箱外运行):模式stills <frames> | compare <frames>(REF左 | 我们右,带标签表) | sub <F0> <F1> <workers>。每个worker一个浏览器进程(单浏览器内页面会串行化捕获:约65 vs 约450子帧/分钟)。用CDP Page.captureScreenshot捕获。打印页面错误。
运动模糊:每帧N个子帧,由页面自身速度估计决定(低于8px/帧时N=1,最高16;甩动时32),90°快门(展开0.25帧,居中)。在numpy中平均。硬切只在整帧上。
脚本:https://t.co/6oEK6pCkxx(冻结运行+抖动步进+大跳变)、https://t.co/mMZ99TvBh3(每镜头滞后/相关表)、https://t.co/ekkkOF28Sg(REF叠加在我们上,帧锁定)、https://t.co/8BkrahuZiR(平均子帧 → libx264 60 fps CRF 15 yuv420p bt709 + 混流;以及REF|我们3840x1080并排,REF音频静音)、https://t.co/nHE46DMJRg(不重渲染交换音频)。
阶段2 - 构建(按顺序的门禁;不跳过,不重排)门禁1 分镜:每镜头在其最重要帧的一张全分辨率静帧,REF|我们。生成一位全新评审(只看REF帧、我们的帧和任务+验收;绝不见构建者笔记)。它返回每帧:与REF一样美观(是/否)、可识别为REF(是/否)、空洞/平淡/廉价(是/否),并给出确切修复。一次性修复所有问题。记录在LEDGER.md(发现 | 帧 | 状态已修复/部分/未解决)。门禁2 组件实验室:4–6个最难的部分(主窗口/设备、大发光元素、聊天UI、卡片、结尾标记)各在独立测试页;3种尺寸静帧;评审通过;然后才集成。门禁3 镜头:拆分为连续组,每组一个代理,每个只写shots/<G>.js(IIFE,辅助函数前缀<G>_),绝不编辑core.js(向你请求)。每个代理获得BRIEF.md(任务、验收、替换规则、文件规则)、其SPEC章节、其measure/轨迹、核心API。每镜头循环:从measure/轨迹驱动每个运动元素 → 比较首/末帧、每个关键帧、每个过渡后2帧 → 对镜头做xcorr → 迭代直到滞后0 ±1且相关≥ 0.80。每次渲染调用≤ 15帧。报告表:镜头 | 帧 | 滞后 | 相关 | 冻结 | 抖动 | 最大边缘误差px | 备注。门禁4 音频(独立代理,从阶段0数据并行):
音乐:测量REF能量曲线;试听≥ 6首商业可用曲目(Mixkit/Pixabay;记录URL+许可)先看情绪(调性、亮度、流派),再看能量匹配。时间拉伸≤ 4%到REF BPM。剪辑使跌落落在REF跌落帧上,之前有REF的近静音,最终乐句在结尾标记结束。每次编辑/循环:同一节拍相位上15 ms等功率交叉淡化;验证无咔嗒。
音效:录音库或ElevenLabs声音生成,绝不用numpy。每个REF事件一个,按自身峰值/瞬态放置。擦除时嗖声、瓷砖玻璃般啪声、每打一个词按键声、发送/接收声、跌落前渐强、跌落和结尾标记的次低音轰声。
空间:在每个小提示的频率带内雕刻音乐(侧链/动态EQ),不只是提高提示。语音下平滑闪避音乐(-6至-12 dB,慢释放)。
语音:ElevenLabs(商业使用付费计划)。按音高/音色匹配REF行选声。每行一次连续自然录制;在首词帧开始;绝不剪切,绝不拉伸超出0.95–1.05,行内绝无“...”。若不合适:改写或重排画面时间(阶段0规则)。仅轻度处理(2:1压缩、温和去齿音、+1.5 dB临场感)。
母带达到验收数值;导出mix.wav、music_only.wav、stems/、LICENCES.md、cues.json(提示 | 画面帧 | 放置时间 | 峰值时间)。
阶段3 - 集成+验证
统一各组共享组件(一个光标、一个玻璃配方、一个标志)。2–3个并行块完整渲染,https://t.co/8BkrahuZiR,然后仅在最终混音写入后混流(编码器在开始时读一次wav;若混音改变则重新混流)。
运行https://t.co/6oEK6pCkxx、https://t.co/mMZ99TvBh3、https://t.co/ekkkOF28Sg。构建1 fps REF|我们联系表,以及每个组接缝处(最后2/最前2帧)的表。仔细看。修复漂移。仅重渲染改变的帧范围并拼接。
一位全新最终评审:完整影片只看我们(可识别?廉价?冻结?刺眼?)+ 并排(不同步?)+ 音频报告。一轮修复。若两位评审矛盾,停止迭代并向用户展示双方意见。
交付后:画面变更 → 仅重渲染改变范围并拼接;音频变更 → https://t.co/nHE46DMJRg,不重渲染。
陷阱(每一条都发生过)
只问“同步+不同”的评审让丑陋作品通过了12轮。始终问“在这一帧全分辨率下是否与REF一样美观”。
代码建模的3D对象 = 塑料CGI。蓝底蓝+扫描线+假REC HUD+六边形散景 = 垃圾。
手调运动即使静帧匹配也感觉像AI垃圾。测量每个元素。
960 px预览隐藏质量问题。以1920判断。
脚本更改后保持REF时间 → 语音仓促、文字滞后于语音、一行在1秒内闪过。
移动语音而不移动画面 → 语音盖过前一镜头。
逐词拆分语音追文字 → 句子破碎。TTS文本中“...” → 行中空隙。
硬音乐拼接 → 咔嗒。保护语音的闪避埋没小提示。
混音仍在写入时混流 → 视频中音频过期。
字体加载前measureText → 文字碰撞。像素吸附 → 抖动。
随机粒子无法匹配叠加;可见粒子由轨迹驱动。
绝不在未查看该镜头的REF|我们并打印其数值时声称匹配。
交付:remake.mp4(1920x1080 60 fps,带音频)、side-by-side.mp4(REF左,我们右,帧锁定)、SPEC.md、SWAPS.md、measure/、LEDGER.md、源码+脚本、audio/(mix、music_only、stems、cues.json、LICENCES.md),以及一份报告:验收表含每个数值(每镜头滞后/相关/边缘误差、冻结运行、抖动步进、语音偏移、提示偏移、响度、真实峰值、限制器%),外加与REF的每项剩余差异。
用法
此提示词专为 creative 设计。复制上方内容并粘贴到你常用的 AI 工具中。
为获得最佳效果,可将占位符(方括号或大写字母标示)替换为你的具体需求。
讨论
0 条评论