爆款视频反推提示词神器
功能
给一条爆款短视频(或一张封面图),反推出可直接用于 AI 视频生成的提示词。中英双语,按八大要素结构化输出。
核心能力
- 🎬 视频反推:抽帧 → 视觉理解 → 输出通用视频生成提示词
- 🖼️ 图片反推:封面图/单帧直接反推
- 🧠 镜头拆解:景别、机位、运镜、焦段、景深逐项判定
- 🌏 双语输出:中文版给人读,英文版直接投喂 Runway / 可灵 / 即梦 / Sora
- 📦 批量处理:本地视频批量反推,输出提示词清单
前置条件
网页版(免安装,推荐先用)
只需一个支持 File System / Canvas API 的现代浏览器(Chrome / Edge)。打开 assets/prompt-reverse.html 即可,拖视频进去就出结果。
命令行版
- Python 3.10+
- FFmpeg 已安装(用于抽帧与元数据读取)
- 最快方式(国内网络推荐):从 npmmirror 拉静态版,单文件免安装
bash curl -sL -o ffmpeg.exe.gz "https://registry.npmmirror.com/-/binary/ffmpeg-static/b6.0/ffmpeg-win32-x64.gz" gzip -d ffmpeg.exe.gz mkdir -p ~/.workbuddy/binaries/ffmpeg && mv ffmpeg.exe ~/.workbuddy/binaries/ffmpeg/
脚本会自动在此路径找到它,无需配置 PATH。 - Windows 其他方式:下载后把
bin目录加入 PATH - macOS:
brew install ffmpeg - 验证:
python scripts/reverse_prompt.py doctor - ffprobe 可选:缺失时脚本会自动改用 ffmpeg 输出解析元数据,功能不受影响
目录结构
baokuan-shipin-fantui-tishici/
├── SKILL.md ← 技能定义(本文件)
├── references/
│ └── prompt-framework.md ← 反推框架:八大要素、镜头/光影/风格词表、输出规范
├── assets/
│ └── prompt-reverse.html ← 网页版反推器(单文件,双击即用)
└── scripts/
└── reverse_prompt.py ← 命令行版:抽帧 + 输出结构化提示词
AI 操作指引
当用户提出反推需求时,按以下流程操作。
流程一:用户给了视频或图片文件(最常用)
这是本技能的主路径。 步骤:
- 定位文件:确认用户给的路径存在。如果用户只给了链接或描述,先请其提供本地文件。
- 抽帧:用 FFmpeg 抽取关键帧(视频)或直接读取(图片):
bash # 抽取 6 张均匀分布的关键帧 ffmpeg -i input.mp4 -vf "fps=1/2,scale=720:-1" -frames:v 6 frames/f_%02d.jpg -y # 或用脚本统一处理 python scripts/reverse_prompt.py frames <video_path> --count 6 - 看图:用 Read 工具逐张读取抽出的帧图片(Read 支持图片,多模态理解)。这一步是反推的核心,必须真的看图,不能靠文件名猜。
- 加载框架:读取
references/prompt-framework.md,按八大要素逐项判定。 - 输出提示词:按下方「输出格式」给用户,中英双语。
- 落盘(可选):如果用户要保存,写入
{输出目录}/{视频名}_提示词.txt。
流程二:用户要用网页版
引导用户打开 assets/prompt-reverse.html,或由 AI 直接把该文件 present 给用户。网页版在浏览器内抽帧后,需要把帧交给 AI 理解 —— 网页版内置了「帧导出」按钮,导出帧图后再走流程一。
流程三:批量反推
python scripts/reverse_prompt.py batch <视频目录> --out <输出目录>
脚本负责抽帧与建立任务清单;AI 再按帧逐条生成提示词,汇总成清单文件。
输出格式(必须遵守)
## 视频信息
文件名 / 时长 / 画幅比例 / 推断帧率
## 中文提示词
(120-200 字连贯段落,按 主体→动作→环境→镜头→光影→风格→节奏→参数 自然衔接)
## English Prompt
(逗号短语流,可直接投喂模型)
## 要素拆解
| 要素 | 内容 | 判定依据 |
|------|------|----------|
| 主体 | ... | 第2帧 |
| 动作 | ... | 第3-5帧 |
| 环境 | ... | 全片 |
| 镜头 | 景别/机位/运镜/焦段 | ... |
| 光影 | ... | ... |
| 风格 | ... | ... |
| 节奏 | ... | ... |
| 参数 | ... | 推断值 |
## 负向提示词
Negative: ...
## 复刻建议
- 想生成同类视频,建议…
- 需要调整的话,改这几个变量效果最明显…
关键约束
- 必须真的看图反推。 没看过帧就输出提示词等于编造,是本技能最严重的错误。
- 诚实标注推断。 焦段、帧率、光线方向都是从画面推断的,标「推断」二字。看不见的信息(品牌、地点、导演意图)不写。
- 中英双语都要给。 中文给用户读,英文给模型用,缺一不可。
- 不评价内容好坏,不评价博主。 只做技术性反向拆解。
- 画面是横屏就写横屏参数,竖屏就写竖屏,不要默认套竖屏。
输出产物
默认输出目录:用户指定的目录;未指定则输出到工作区 outputs/。
outputs/
├── 视频名_提示词.txt ← 单条视频的完整反推结果
└── 批量反推清单.xlsx ← 批量模式汇总(含文件名、中文提示词、英文提示词)
技术原理
- 抽帧:FFmpeg
fps滤镜按时间均匀抽帧,缩放到 720p 宽以控制图片体积、便于多模态读取。 - 音频(可选):如需理解口播带来的叙事节奏,可用 FFmpeg 提取音轨,交 ASR 转文字后辅助判断节奏与结构。
- 视觉理解:由 AI 多模态能力读取帧图,按
prompt-framework.md的八大要素逐项判定。 - 成文:按中文连贯段落 + 英文短语流双轨输出,英文版遵循「高权重在前」的逗号短语流写法。
注意事项
- FFmpeg 缺失时抽帧会失败,先用
ffmpeg -version自检。 - 视频过长(>3 分钟)时抽帧数量适当增加,否则容易漏掉运镜变化。
- 网页版抽帧在浏览器本地完成,视频不上传,隐私安全。
- 反推结果是「风格描述」而非「精确复现」,AI 视频生成本身有随机性。
- 涉及真人肖像的视频,反推结果仅用于技术学习,不得用于伪造他人形象。
常见问题
| 问题 | 解决方案 |
|---|---|
| "ffmpeg 不是内部或外部命令" | 跑 doctor 自检;缺失时按上面 npmmirror 方式装便携版 |
| 元数据显示"未知" | ffprobe 缺失所致,现已用 ffmpeg 输出兜底,重跑即可;仍失败则视频文件可能损坏 |
| 抽出的帧全是黑屏 | 视频开头有黑场,加 --skip 1 跳过首秒再抽 |
| 提示词感觉不对味 | 补抽更多帧(--count 12),重点看中段运镜;运镜是最容易漏的维度 |
| 网页版拖进去没反应 | 换 Chrome/Edge;或直接把视频路径给 AI 走命令行流程 |
| 英文提示词太长被截断 | 精简至 60 词以内,只保留前四个核心要素 |