Skip to content

About

Image and video prompt reverse engineering: Visual DNA, reference consistency, style analysis, and structured image JSON.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Visual Reverse Engineer

跨工具通用的 Agent Skills——把图片或视频反向拆解成结构化的视觉描述,再重构出可复现原始视觉效果的提示词。

写一次,Claude Code / Codex / Cursor / Qoder / WorkBuddy / GitHub Copilot / Gemini CLI / Windsurf 都能用。


包含的技能

技能 输入 输出 适用场景
visual-reverse-engineer 图片或视频 VISUAL DNA + 图片/视频 Prompt + Negative Prompt 视频反推、一致性锁定、负面词
image-reverse-analyst 只做图片 风格分析 + 中文提示词 + 全英文 JSON 要结构化 JSON、要风格分析

怎么选:

  • 要 JSON、要风格分析、只处理图片 → image-reverse-analyst
  • 要 视频反推、要 REFERENCE LOCK MODE、要 Negative Prompt → visual-reverse-engineer

两个技能可以同时安装,按各自的 description 自动触发。


它解决什么问题

看到一张很喜欢的图,想让 AI 生成同款——但不知道该写什么提示词。

普通做法是让模型"描述这张图",得到"一个女孩站在窗边,光线很柔和"——这种描述没用,生成出来完全不像。

本仓库的技能做法是反推生成参数:

85mm 中长焦 · f/4–f/5.6 · 硬光来自右前 45° · 主体压左三分线占高 70%
· 无缝深红背景纸 · 4:5 竖版 · 硬边阴影 · 暖肤色对冷红背景

核心区别

普通描述器 本仓库
回答「看到了什么」 回答「这张画面是如何生成的」
参数随口编 焦段/光圈/灯位一律标 [inferred] / INFERRED 并给出推测依据
直接给 Prompt 先建分析结构,再从结构推导 Prompt
Negative 套固定词串 按参考图实际风险点动态生成
编造图上不存在的文字 看不清标 UNCERTAIN,没有就填 "None"

安装

三种方式,任选其一。

方式一:skills CLI(推荐)

npx skills add <sundny8>/visual-reverse-engineer

非交互式:

npx skills add <sundny8>/visual-reverse-engineer -g -y

方式二:npm

# 直接运行,不安装
npx visual-reverse-engineer install --all

# 或全局安装后使用(带短别名 vre)
npm install -g visual-reverse-engineer
vre install --all

本包自包含、无需联网,内置技能文件直接复制到目标目录。

vre list                      # 查看内置技能与本机 agent
vre install -a claude-code,cursor,qoder
vre install -p --to ./my-project   # 装到指定目录
vre uninstall --all

方式三:克隆仓库

git clone https://github.com/<sundny8>/visual-reverse-engineer.git
cd visual-reverse-engineer

# Node(零依赖)
node bin/cli.js install --all

# 或 Python 3.7+(零依赖,无需 Node)
python scripts/install.py --all

装到哪了

Agent 用户级(全局) 项目级
Claude Code ~/.claude/skills/ .claude/skills/
Codex CLI ~/.codex/skills/ .agents/skills/
Cursor ~/.cursor/skills/ .agents/skills/
Qoder ~/.qoder/skills/ .qoder/skills/
WorkBuddy ~/.workbuddy-ai/skills/ .workbuddy-ai/skills/
GitHub Copilot ~/.copilot/skills/ .agents/skills/
Gemini CLI ~/.gemini/skills/ .agents/skills/
Windsurf ~/.codeium/windsurf/skills/ .windsurf/skills/

Windows 上 ~ 即 C:\Users\<用户名>。安装后重启对应工具才会加载新技能。


使用

装好后不用记命令,直接上传图片或视频说需求:

反推这张图的提示词
这张图是什么风格?
提取这张图的 JSON
照着这张图写提示词,尽量一模一样,只把背景换成雪山
分析这段视频的运镜和节奏,给出 Seedance 可用的提示词
只要提示词,不用分析

输出模式一览

技能 模式 输出区块
image-reverse-analyst 固定三段 ① 风格分析 ② 中文图片提示词 ③ 全英文 JSON
visual-reverse-engineer 图片模式 视觉分析 / VISUAL DNA / 图片 Prompt / Negative Prompt
visual-reverse-engineer 视频模式 上述 4 个 + 人物动作 / 环境运动 / 运镜 / 焦点变化 / 镜头节奏 / 时间轴 / 连续性锁定
visual-reverse-engineer 只要提示词 仅 Prompt + Negative Prompt
visual-reverse-engineer 对比模式 逐图分析 + 对比表 + 融合 Prompt

七条核心原则

以下七条由 visual-reverse-engineer 完整实现;image-reverse-analyst 实现了其中第 1、2、3 条(以 OBSERVED / INFERRED / UNCERTAIN 三级标注的形式)。

# 原则 落地方式
1 反推而非描述 Prompt 里写光位角度、焦段区间、景深范围,不写「很美」「有氛围感」
2 先分析后生成 强制先输出分析结构(VISUAL DNA / 风格分析),Prompt 从结构推导
3 事实与推测分离 每项标 [observed] / [inferred],不可测参数必须标推测并附依据
4 最大化一致性 九级优先级:人物身份 > 构图 > 空间 > 镜头 > 光线 > 材质 > 色彩 > 风格 > 后期
5 REFERENCE LOCK MODE 十项锁定清单,只改用户指定项,并说明连带影响
6 视频连续性 逐项列出锁定清单 + 状态继承规则,禁止项写进 Negative
7 动态 Negative 扫描参考图实际风险元素逐项生成,没有的元素不加

关于第 3 条(最重要的一条)

焦段、光圈、快门、ISO、灯位、灯型、后期软件——这些物理上无法从单张画面确定。

两个技能都强制把它们标为推测并附依据:

焦段  [inferred] 85–105mm — 依据:面部无透视形变,鼻与耳的距离被压缩
光圈  [inferred] f/4–f/5.6 — 依据:面部纵深内保持清晰,只有发梢开始虚

写进 Prompt 时用约数或区间:

Correct:  shot on an 85mm lens, shallow depth of field around f/2
Wrong:    shot on an 85mm f/1.4 lens at 1/250s ISO 400

前者诚实,用户拿它能复现;后者编造,用户按它调永远调不出那张图。

并且两个技能都不会声称「这就是原始 Prompt」——图像是多对一的,不同 Prompt 可以生成相似画面,任何反推都只能给出高概率重建。


仓库结构

visual-reverse-engineer/
├── package.json                npm 包定义(bin: visual-reverse-engineer / vre)
├── bin/cli.js                  Node CLI 安装器(零依赖,通用版)
├── scripts/
│   ├── install.py              Python 安装器(零依赖,Node 的替代方案)
│   └── validate.js             技能规范校验(CI 也跑这个)
├── skills/
│   ├── visual-reverse-engineer/
│   │   ├── SKILL.md            主入口:工作流 + 硬性约束 + 输出契约
│   │   ├── README.md
│   │   └── references/         9 个参考文件,按需加载
│   └── image-reverse-analyst/
│       ├── SKILL.md            只做图片,固定三段式输出
│       ├── README.md
│       └── references/         8 个参考文件,按需加载
└── .github/workflows/validate.yml

参考文件

visual-reverse-engineer

文件 内容
analysis-dimensions.md 23 个分析维度与识别方法
visual-dna.md VISUAL DNA 十分区 + 九级优先级 + 标注规范
image-mode.md 图片模式输出规范
video-mode.md 视频模式七个新增区块
reference-lock.md REFERENCE LOCK MODE 十项锁定
negative-prompt.md 动态负面词生成流程与分类词库
output-format.md 四种输出模式与排版规范
examples.md 图片 + 视频两个完整范例
full-prompt.md 单段式提示词(给只吃 system prompt 的工具)

image-reverse-analyst

文件 内容
analysis-dimensions.md 十大维度(上):主体/构图/摄影/光影/色彩/材质
style-mood-symbolism.md 十大维度(下):风格/情绪/文字/象征
reverse-prompt.md 提示词重组 + 12 级优先级 + 空词替换表
json-schema.md JSON schema + 九条质量要求 + 常见错误
uncertainty-and-safety.md 三级可信度 + 安全替换对照表
output-format.md 三段式固定格式
examples.md 完整成品范例
full-prompt.md 单段式提示词(给只吃 system prompt 的工具)

设计原则

渐进式披露。 SKILL.md 只放工作流、硬性约束和输出契约;细节按主题拆进 references/,模型需要时才读。

工具无关。 不写任何单一 agent 的专有语法,脚本只用标准库。

双安装器。 Node CLI 给 npm 用户,Python 脚本给没装 Node 的人,行为一致。


兼容性说明

Skills 遵循共享的 Agent Skills 规范(SKILL.md + YAML frontmatter 的 name / description),主流工具通用。

本仓库的技能只依赖基础技能能力,不绑定任何高级特性,因此在所有支持 Skills 的工具里行为一致。

不支持 Skills 的工具

网页版大模型、自定义 GPT 等没有 Skills 机制。这些场合用各技能下的 references/full-prompt.md:整段复制粘贴到 system prompt 或角色设定里,功能等价。

需要多模态输入

两个技能都依赖用户上传图片(视频反推还需视频输入)才能工作。如果你用的工具不支持图片输入,技能无法触发——这种情况下可以先用文字把画面描述给模型,但还原度会明显下降。


相关技能

本仓库的两个技能独立可用,不需要任何其他技能。如果你还需要正向创作能力(从零生成提示词),可以搭配:

技能 输入 用途
image-prompt-director 一句话想法 正向创作:从零生成图片提示词
seedance-director 一句话想法 正向创作:从零生成 30 秒视频提示词
本仓库的两个技能 一张图 / 一段视频 逆向复现:从成品反推提示词

前两个是「无中生有」,本仓库是「照猫画虎」。


开发

npm test          # 等价于 node scripts/validate.js

校验会检查 frontmatter 完整性、name 与目录名是否一致、references/ 引用是否都存在、有没有混入 _test / __pycache__ 之类的垃圾。

CI 在 push 与 PR 时自动跑 Node 18/20/22 三版本矩阵 + Python 冒烟测试。

发布到 npm

# 先把 package.json 里的 repository / homepage / bugs 改成你的仓库地址
npm login
npm publish --access public

prepublishOnly 钩子会在发布前自动跑校验,不通过就发布不了。


License

MIT

About

Image and video prompt reverse engineering: Visual DNA, reference consistency, style analysis, and structured image JSON.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages